KR102248592B1 - 데이터 웨어하우징을 위한 장치 및 그 방법 - Google Patents

데이터 웨어하우징을 위한 장치 및 그 방법 Download PDF

Info

Publication number
KR102248592B1
KR102248592B1 KR1020200106527A KR20200106527A KR102248592B1 KR 102248592 B1 KR102248592 B1 KR 102248592B1 KR 1020200106527 A KR1020200106527 A KR 1020200106527A KR 20200106527 A KR20200106527 A KR 20200106527A KR 102248592 B1 KR102248592 B1 KR 102248592B1
Authority
KR
South Korea
Prior art keywords
data
search word
schedule management
management unit
unit
Prior art date
Application number
KR1020200106527A
Other languages
English (en)
Inventor
김진수
설지원
Original Assignee
(주)에오스와이텍
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)에오스와이텍 filed Critical (주)에오스와이텍
Priority to KR1020200106527A priority Critical patent/KR102248592B1/ko
Application granted granted Critical
Publication of KR102248592B1 publication Critical patent/KR102248592B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1858Parallel file systems, i.e. file systems supporting multiple processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 데이터 웨어하우징을 위한 장치 및 그 방법을 개시한다. 즉, 본 발명은 HPE의 하드웨어와 오픈 소스로 구성되는 소프트웨어를 이용해서 전용 데이터 웨어하우스 어플라이언스 포털로 접근하고, 단일 구조로 구성함으로써, 고객사의 지출 비용을 절감하고, 전체 시스템 운영의 효율성을 높이고, 고객사의 레퍼런스로 타고객사의 제안 및 도입을 기대할 수 있다.

Description

데이터 웨어하우징을 위한 장치 및 그 방법{Apparatus for data warehousing and method thereof}
본 발명은 데이터 웨어하우징을 위한 장치 및 그 방법에 관한 것으로서, 특히 HPE의 하드웨어와 오픈 소스로 구성되는 소프트웨어를 이용해서 전용 데이터 웨어하우스 어플라이언스 포털로 접근하고, 단일 구조로 구성하는 데이터 웨어하우징을 위한 장치 및 그 방법에 관한 것이다.
데이터 웨어하우스(Data Warehouse: DW) 시스템은 기업 등의 사용자가 다양한 운영 시스템의 데이터를 분석하기 위한 시스템이다. 상기 운영 시스템은 재고관리, 회계정보 및 영업 시스템과 같이 운영을 위한 소정의 기능을 지원하는데 반하여, 상기 데이터 웨어하우스는 다양한 운영 시스템에 의하여 생성된 데이터를 통합하여 분석할 수 있는 기능을 제공한다.
이러한 데이터 웨어하우스는 데이터 증가, 빠른 데이터 분석 등을 위해서 2-3년 주기로 장비를 추가로 구매해야 하고, 데이터 웨어하우스 시스템의 유지 및 보수를 위해 세트당 고가의 비용을 지급해야함에 따라 기업의 부담이 증가하고 있다.
한국공개특허 제10-2013-0091561호 [제목: 대용량 빌딩 에너지 정보 관리를 위한 데이터웨어하우스 구축 방법 및 장치]
본 발명의 목적은 HPE의 하드웨어와 오픈 소스로 구성되는 소프트웨어를 이용해서 전용 데이터 웨어하우스 어플라이언스 포털로 접근하고, 단일 구조로 구성하는 데이터 웨어하우징을 위한 장치 및 그 방법을 제공하는 데 있다.
본 발명의 실시예에 따른 데이터 웨어하우징을 위한 장치는 사용자 입력에 따른 검색어를 수신하는 대화형 인터프리터; 상기 검색어를 근거로 복수의 데이터 분석부에 대해 스케줄링을 설정하는 자원 스케줄 관리부; 및 상기 자원 스케줄 관리부에 의한 스케줄링에 따라, 복수의 서버에 각각 저장된 복수의 사용자 데이터를 가공하여 저장하고, 상기 저장된 복수의 사용자 데이터에서 상기 검색어에 대응하는 데이터를 추출하는 상기 복수의 데이터 분석부를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 대화형 인터프리터는, 파이썬(Python) 또는 자바 서버 페이지(Java Server Page: JSP) 기반의 주피터 노트북(Jupyter Notebook)으로 구성할 수 있다.
본 발명과 관련된 일 예로서 상기 자원 스케줄 관리부는, 잡트래커(Job Tracker)에서 발생하는 병목 현상을 제거하고 효율적인 리소스 사용을 위해서 얀(Yet Another Resource Negotiator: YARN)으로 구성할 수 있다.
본 발명과 관련된 일 예로서 상기 복수의 데이터 분석부는, 오픈소스를 이용하는 아파치 스파크2(Apache Spark2)로 구성할 수 있다.
본 발명과 관련된 일 예로서 상기 자원 스케줄 관리부는, 상기 복수의 데이터 분석부로부터 각각 전달되는 상기 검색어에 대응하는 복수의 데이터를 수신하고, 상기 수신된 상기 검색어에 대응하는 복수의 데이터 및 상기 검색어를 전달할 수 있다.
본 발명과 관련된 일 예로서 상기 대화형 인터프리터는, 상기 자원 스케줄 관리부로부터 전달되는 상기 검색어에 대응하는 복수의 데이터 및 상기 검색어를 표시할 수 있다.
본 발명과 관련된 일 예로서 상기 자원 스케줄 관리부로부터 전달되는 상기 검색어에 대응하는 복수의 데이터 및 상기 검색어를 분산 처리하는 분산 파일부를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 분산 파일부는, 병렬 구조로 데이터를 저장하고, 분산 처리를 수행하는 하둡 분산 파일 시스템(Hadoop Distributed File System: HDFS)으로 구성할 수 있다.
본 발명의 실시예에 따른 데이터 웨어하우징을 위한 방법은 대화형 인터프리터에 의해, 사용자 입력에 따른 검색어를 수신하는 단계; 자원 스케줄 관리부에 의해, 상기 검색어를 근거로 복수의 데이터 분석부에 대해 스케줄링을 설정하는 단계; 상기 복수의 데이터 분석부에 의해, 상기 자원 스케줄 관리부에 의한 스케줄링에 따라, 복수의 서버에 각각 저장된 복수의 사용자 데이터를 가공하여 저장하는 단계; 상기 복수의 데이터 분석부에 의해, 상기 저장된 복수의 사용자 데이터에서 상기 검색어에 대응하는 데이터를 추출하는 단계; 상기 자원 스케줄 관리부에 의해, 상기 복수의 데이터 분석부로부터 각각 전달되는 상기 검색어에 대응하는 복수의 데이터를 수신하는 단계; 상기 자원 스케줄 관리부에 의해, 상기 수신된 상기 검색어에 대응하는 복수의 데이터 및 상기 검색어를 상기 대화형 인터프리터 및 분산 파일부에 전달하는 단계; 및 상기 대화형 인터프리터에 의해, 상기 자원 스케줄 관리부로부터 전달되는 상기 검색어에 대응하는 복수의 데이터 및 상기 검색어를 표시하는 단계를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 분산 파일부에 의해, 상기 자원 스케줄 관리부로부터 전달되는 상기 검색어에 대응하는 복수의 데이터 및 상기 검색어를 분산 처리하는 단계를 더 포함할 수 있다.
본 발명은 HPE의 하드웨어와 오픈 소스로 구성되는 소프트웨어를 이용해서 전용 데이터 웨어하우스 어플라이언스 포털로 접근하고, 단일 구조로 구성함으로써, 고객사의 지출 비용을 절감하고, 전체 시스템 운영의 효율성을 높이고, 고객사의 레퍼런스로 타고객사의 제안 및 도입을 기대할 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 데이터 웨어하우징을 위한 장치의 구성을 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 데이터 웨어하우징을 위한 방법을 나타낸 흐름도이다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 본 발명의 실시예에 따른 데이터 웨어하우징을 위한 장치(100)의 구성을 나타낸 블록도이다.
도 1에 도시한 바와 같이, 데이터 웨어하우징을 위한 장치(100)는 하드웨어부(110), 대화형 인터프리터(120), 자원 스케줄 관리부(130), 데이터 분석부(140) 및 분산 파일부(150)로 구성된다. 도 1에 도시된 데이터 웨어하우징을 위한 장치(100)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 데이터 웨어하우징을 위한 장치(100)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 데이터 웨어하우징을 위한 장치(100)가 구현될 수도 있다.
또한, 상기 데이터 웨어하우징을 위한 장치(100)는 다른 단말들/서버들과의 통신 기능을 수행하기 위한 통신부(미도시), 다양한 정보 및 프로그램(또는 애플리케이션)을 저장하기 위한 저장부(미도시), 다양한 정보 및 프로그램 실행 결과를 표시하기 위한 표시부(미도시), 상기 다양한 정보 및 프로그램 실행 결과에 대응하는 음성 정보를 출력하기 위한 음성 출력부(미도시), 각 단말의 다양한 구성 요소 및 기능을 제어하기 위한 제어부(미도시) 등을 포함할 수 있다.
상기 하드웨어부(110)는 데이터 웨어하우스(Data Warehouse: DW)를 구성하기 위한 하드웨어를 포함한다. 여기서, 상기 데이터 웨어하우스는 정보(data)와 창고(warehouse)의 의미가 합성된 것으로, 데이터만이 아닌 분석 방법까지도 포함하여 조직 내 의사 결정을 지원하는 정보 관리 시스템이다. 또한, 상기 데이터 웨어하우스의 구성은 관리 하드웨어, 관리 소프트웨어, 추출/변환/정렬 도구, 데이터베이스 마케팅 시스템, 메타 데이터(meta data), 최종 사용자 접근 및 활용 도구 등으로 구성한다. 또한, 상기 데이터 웨어하우스는 병렬 서버를 이용하여, 하나의 검색 처리 요구를 분할하여 복수 프로세스로 병렬 처리함으로써 고속으로 검색 및 데이터를 가공할 수 있다. 또한, 상기 데이터 웨어하우스는 주체지향성(subject-orientated), 통합성(integrated), 비휘발성(nonvolatile), 시계열성(time-variant) 등의 특징을 갖는다. 여기서, 상기 주체지향성은 목표에 맞춰 데이터를 취합하고 분석하는 것으로, 예를 들어 '어느 과가 병원에 돈을 가장 많이 벌어들이는가?'라는 질문이 있다면, 그 질문에 답하기 위한 데이터를 모아서 분석하는 것이다. 또한, 상기 통합성은 데이터가 다양한 출처에서 다양한 형태로 발생하는데, 이를 한군데로 모으기 위해서는 자료 통합을 잘 하는 것이 중요하며, 변수명, 측정방법, 표시방법, 단위 등을 통합하는 것이다. 또한, 상기 비휘발성은 데이터가 쌓이는 속성으로, 새로 발생하는 데이터가 쌓이기만 하고, 기록을 변경하거나 삭제하는 경우는 흔하지 않은 것이다. 또한, 상기 시계열성은 오랜 기간 동안 데이터를 쌓은 뒤, 시간에 따른 변화를 분석하는 것이다.
또한, 상기 하드웨어부(110)는 HPE Synergy 장비, HPC 장비 등으로 컴퓨팅 노드를 구성한다. 이때, 상기 하드웨어부(110)는 8개의 노드와 연결할 수 있다. 여기서, 상기 HPE Synergy 장비는 컴퓨팅 8 노드, 3GHz 18core(36thread)*2, 320G 메모리, 400G SSD*2, 20G NIC 통신, 3.2T SSD*10, RAID0 - Usable 30T, Data 영역 각 node당 500G*7할당(iSCSI) 등의 사양으로 구성할 수 있다.
또한, 상기 하드웨어부(110)는 증설시 프레임(frame) 단위로 증설하도록 구성한다.
또한, 상기 하드웨어부(110)는 20G 인터커넥트(interconnect)로 복수의 서버(미도시)와 연결하도록 구성한다.
상기 대화형 인터프리터(120)는 사용자 인터페이스(User Interface: UI)를 제공(또는 표시)한다.
또한, 상기 대화형 인터프리터(120)는 파이썬(Python) 또는 자바 서버 페이지(Java Server Page: JSP) 기반의 주피터 노트북(Jupyter Notebook) 등으로 구성한다.
또한, 상기 대화형 인터프리터(120)는 상기 표시되는 사용자 인터페이스에서 사용자 입력(또는 사용자 선택/터치/제어)에 따른 검색어를 수신한다.
또한, 상기 대화형 인터프리터(120)는 상기 수신된 검색어 등을 자원 스케줄 관리부(130)에 전달(또는 전송)한다.
또한, 상기 대화형 인터프리터(120)는 앞서 전달된 검색어 등에 응답하여 상기 자원 스케줄 관리부(130)로부터 전달되는 해당 검색어에 대응하는 복수의 데이터, 상기 검색어 등을 수신한다. 여기서, 상기 데이터(또는 정보)는 상기 복수의 데이터 분석부(140)로부터 가공하여 저장된 복수의 사용자 데이터(또는 소스 데이터) 중에서 상기 검색어에 대응하여 추출된 데이터일 수 있다.
또한, 상기 대화형 인터프리터(120)는 상기 수신된 검색어에 대응하는 복수의 데이터, 상기 검색어 등을 상기 사용자 인터페이스를 통해 표시(또는 출력)한다.
상기 자원 스케줄 관리부(130)는 잡트래커(Job Tracker)에서 발생하는 병목 현상을 제거하고 효율적인 리소스 사용을 위해서, 얀(Yet Another Resource Negotiator: YARN) 등으로 구성한다.
또한, 상기 자원 스케줄 관리부(130)는 상기 대화형 인터프리터(120)로부터 전달되는 검색어 등을 수신한다.
또한, 상기 자원 스케줄 관리부(130)는 상기 수신된 검색어를 근거로 복수의 데이터 분석부(140)에 대해 스케줄링(또는 스케줄 관리)을 설정(또는 수행)한다.
또한, 상기 자원 스케줄 관리부(130)는 상기 설정된 스케줄링에 따라 상기 수신된 검색어를 근거로 복수의 데이터 분석부(140)에 대해 해당 검색어에 대응하는 데이터(또는 정보)의 수집(또는 가공 및 저장)을 요청(또는 명령/지시)한다.
또한, 상기 자원 스케줄 관리부(130)는 상기 복수의 데이터 분석부(140)로부터 각각 전달되는 해당 검색어에 대응하는 복수의 데이터를 수신(또는 수집)한다.
또한, 상기 자원 스케줄 관리부(130)는 상기 수신된(또는 수집된) 해당 검색어에 대응하는 복수의 데이터, 상기 검색어 등을 상기 대화형 인터프리터(120) 및 상기 분산 파일부(150)에 전달한다.
상기 복수의 데이터 분석부(140)는 복수의 아파치 스파크2(Apache Spark2) 등으로 구성한다.
또한, 상기 데이터 분석부(140)는 상용화되지 않은 오픈소스를 이용하며, 인 메모리 데이터베이스(In-Memory DB)로 빠른 데이터 처리를 제공하고, 반복 연산의 효율적인 처리를 수행하고, NVDIMM(Non Volatile DIMM)을 이용해서 메모리 성능을 향상하도록 구성한다.
또한, 상기 데이터 분석부(140)는 사물인터넷의 센서 데이터, SNS 데이터 등을 실시간으로 분석, 가공 및 처리한다.
또한, 상기 복수의 데이터 분석부(140) 각각은 상기 자원 스케줄 관리부(130)에 의한 스케줄링에 따라, 복수의 서버(미도시)에 각각 저장된(또는 관리 중인) 복수의 사용자 데이터(또는 소스 데이터)를 가공하여 저장한다.
또한, 상기 복수의 데이터 분석부(140) 각각은 상기 저장된(또는 가공하여 저장된) 복수의 사용자 데이터에서 해당 검색어에 대응하는 데이터를 추출한다.
또한, 상기 복수의 데이터 분석부(140) 각각은 상기 추출된 데이터(또는 해당 검색어에 대응하는 데이터)를 상기 자원 스케줄 관리부(130)에 전달(또는 전송)한다.
상기 분산 파일부(150)는 하둡 분산 파일 시스템(Hadoop Distributed File System: HDFS) 등으로 구성한다.
또한, 상기 분산 파일부(150)는 병렬 구조로 데이터를 저장하고, 분산 처리를 수행한다.
또한, 상기 분산 파일부(150)는 마스터의 네임노드에 오류나 고장이 발생하더라도 안정적으로 시스템을 운영할 수 있도록 네임 노드 이중화를 적용한다.
또한, 상기 분산 파일부(150)는 상기 자원 스케줄 관리부(130)로부터 전달되는 해당 검색어에 대응하는 복수의 데이터, 상기 검색어 등을 수신하고, 병렬 구조로 상기 수신된 복수의 데이터, 상기 검색어 등을 저장 및 분산 처리한다.
이와 같이, 상기 분산 파일부(150)는 상기 검색어, 상기 검색어에 대응하는 복수의 데이터들을 통합하고, 연관 관계를 가지는 데이터들 간에 참조 관계를 생성하는 데이터 웨어하우스의 기능을 수행한다.
또한, 이와 같이, HPE의 하드웨어와 오픈 소스로 구성되는 소프트웨어를 이용해서 전용 데이터 웨어하우스 어플라이언스 포털로 접근하고, 단일 구조로 구성할 수 있다.
이하에서는, 본 발명에 따른 데이터 웨어하우징을 위한 방법을 도 1 내지 도 2를 참조하여 상세히 설명한다.
도 2는 본 발명의 실시예에 따른 데이터 웨어하우징을 위한 방법을 나타낸 흐름도이다.
먼저, 대화형 인터프리터(120)는 사용자 인터페이스를 표시한다.
또한, 상기 대화형 인터프리터(120)는 상기 표시되는 사용자 인터페이스에서 사용자 입력(또는 사용자 선택/터치/제어)에 따른 검색어를 수신한다.
또한, 상기 대화형 인터프리터(120)는 상기 수신된 검색어 등을 자원 스케줄 관리부(130)에 전달(또는 전송)한다.
일 예로, 상기 대화형 인터프리터(120)에 포함된 파이썬(Python) 또는 자바 서버 페이지(Java Server Page: JSP) 기반의 주피터 노트북(Jupyter Notebook)은 사용자 인터페이스를 표시한다.
또한, 상기 주피터 노트북은 사용자 입력에 따른 '집 주소'를 포함하는 제 1 검색어를 수신하고, 상기 수신된 제 1 검색어(예를 들어 집 주소 포함)를 상기 자원 스케줄 관리부(130)에 전달한다(S210).
이후, 상기 자원 스케줄 관리부(130)는 상기 대화형 인터프리터(120)로부터 전달되는 검색어 등을 수신한다.
또한, 상기 자원 스케줄 관리부(130)는 상기 수신된 검색어를 근거로 복수의 데이터 분석부(140)에 대해 스케줄링(또는 스케줄 관리)을 설정(또는 수행)한다.
즉, 상기 자원 스케줄 관리부(130)는 잡트래커(Job Tracker)에서 발생하는 병목 현상을 제거하고 효율적인 리소스 사용을 위해서, 상기 복수의 데이터 분석부(140)에 대해 스케줄링을 설정한다.
또한, 상기 자원 스케줄 관리부(130)는 상기 설정된 스케줄링에 따라 상기 수신된 검색어를 근거로 복수의 데이터 분석부(140)에 대해 해당 검색어에 대응하는 데이터(또는 정보)의 수집을 요청(또는 명령/지시)한다.
일 예로, 상기 자원 스케줄 관리부(130)에 포함된 제 11 얀(Yet Another Resource Negotiator: YARN)은 상기 주피터 노트북으로부터 전달되는 제 1 검색어(예를 들어 집 주소 포함)를 수신하고, 상기 복수의 데이터 분석부(140)에 대해 스케줄링을 설정한다.
또한, 상기 제 11 얀은 상기 설정된 스케줄링에 따라 상기 복수의 데이터 분석부(140)에 대해 상기 제 1 검색어에 대응하는 데이터의 수집을 요청한다(S220).
이후, 상기 복수의 데이터 분석부(140) 각각은 상기 자원 스케줄 관리부(130)에 의한 스케줄링에 따라, 복수의 서버(미도시)에 각각 저장된(또는 관리 중인) 복수의 사용자 데이터(또는 소스 데이터)를 가공하여 저장한다.
또한, 상기 복수의 데이터 분석부(140) 각각은 상기 저장된(또는 가공하여 저장된) 복수의 사용자 데이터에서 해당 검색어에 대응하는 데이터를 추출한다.
또한, 상기 복수의 데이터 분석부(140) 각각은 상기 추출된 데이터(또는 해당 검색어에 대응하는 데이터)를 상기 자원 스케줄 관리부(130)에 전달(또는 전송)한다.
일 예로, 상기 복수의 데이터 분석부(140)에 각각 포함된 제 1 아파치 스파크2(Apache Spark2) 내지 제 5 아파치 스파크2는 상기 제 11 얀에 의한 스케줄에 따라, 제 1 서버 내지 제 100 서버에 각각 저장된 제 1 사용자 데이터 내지 제 500000 사용자 데이터를 각각 가공하여 저장한다. 이때, 상기 제 1 사용자 데이터 내지 제 500000 사용자 데이터는 이름, 주민등록번호(예를 들어 앞 6자리 및 뒤 첫번째 자리 포함), 집주소, 차량 번호 등을 포함한다.
또한, 상기 제 1 아파치 스파크2는 상기 저장된 제 1 사용자 데이터 내지 제 100000 사용자 데이터에서 상기 제 1 검색어(예를 들어 집 주소 포함)에 대응하는 제 1 데이터 내지 제 100000 데이터를 추출하고, 상기 제 2 아파치 스파크2는 상기 저장된 제 100001 사용자 데이터 내지 제 300000 사용자 데이터에서 상기 제 1 검색어에 대응하는 제 100001 데이터 내지 제 300000 데이터를 추출하고, 상기 제 3 아파치 스파크2는 상기 저장된 제 300001 사용자 데이터 내지 제 350000 사용자 데이터에서 상기 제 1 검색어에 대응하는 제 300001 데이터 내지 제 350000 데이터를 추출하고, 상기 제 4 아파치 스파크2는 상기 저장된 350001 사용자 데이터 내지 제 400000 사용자 데이터에서 상기 제 1 검색어에 대응하는 제 350001 데이터 내지 제 400000 데이터를 추출하고, 상기 제 5 아파치 스파크2는 상기 저장된 400001 사용자 데이터 내지 제 500000 사용자 데이터에서 상기 제 1 검색어에 대응하는 제 40001 데이터 내지 제 500000 데이터를 추출한다.
또한, 상기 제 1 아파치 스파크2는 상기 추출된 제 1 데이터 내지 제 100000 데이터를 상기 제 11 얀에 전달하고, 상기 제 2 아파치 스파크2는 상기 추출된 제 100001 데이터 내지 제 300000 데이터를 상기 제 11 얀에 전달하고, 상기 제 3 아파치 스파크2는 제 300001 데이터 내지 제 350000 데이터를 상기 제 11 얀에 전달하고, 상기 제 4 아파치 스파크2는 제 350001 데이터 내지 제 400000 데이터를 상기 제 11 얀에 전달하고, 상기 제 5 아파치 스파크2는 제 40001 데이터 내지 제 500000 데이터를 상기 제 11 얀에 전달한다(S230).
이후, 상기 자원 스케줄 관리부(130)는 상기 복수의 데이터 분석부(140)로부터 각각 전달되는 해당 검색어에 대응하는 복수의 데이터를 수신(또는 수집)한다.
또한, 상기 자원 스케줄 관리부(130)는 상기 수신된(또는 수집된) 해당 검색어에 대응하는 복수의 데이터, 상기 검색어 등을 상기 대화형 인터프리터(120) 및 분산 파일부(150)에 전달한다.
일 예로, 상기 제 11 얀은 상기 제 1 아파치 스파크2로부터 전달되는 제 1 데이터 내지 제 100000 데이터를 수신하고, 상기 제 2 아파치 스파크2로부터 전달되는 제 100001 데이터 내지 제 300000 데이터를 수신하고, 상기 제 3 아파치 스파크2로부터 전달되는 제 300001 데이터 내지 제 350000 데이터를 수신하고, 상기 제 4 아파치 스파크2로부터 전달되는 제 350001 데이터 내지 제 400000 데이터를 수신하고, 상기 제 5 아파치 스파크2로부터 전달되는 제 40001 데이터 내지 제 500000 데이터를 수신한다.
또한, 상기 제 11 얀은 상기 수신된 해당 제 1 검색어와 관련한 제 1 데이터 내지 제 500000 데이터, 상기 제 1 검색어 등을 상기 주피터 노트북 및 상기 분산 파일부(150)에 각각 전달한다(S240).
이후, 상기 대화형 인터프리터(120)는 상기 자원 스케줄 관리부(130)로부터 전달되는 해당 검색어에 대응하는 복수의 데이터, 상기 검색어 등을 수신하고, 상기 수신된 검색어에 대응하는 복수의 데이터, 상기 검색어 등을 표시(또는 출력)한다.
또한, 상기 분산 파일부(150)는 상기 자원 스케줄 관리부(130)로부터 전달되는 해당 검색어에 대응하는 복수의 데이터, 상기 검색어 등을 수신하고, 병렬 구조로 상기 수신된 복수의 데이터, 상기 검색어 등을 저장 및 분산 처리한다.
이와 같이, 상기 분산 파일부(150)는 상기 검색어, 상기 검색어에 대응하는 복수의 데이터들을 통합하고, 연관 관계를 가지는 데이터들 간에 참조 관계를 생성하는 데이터 웨어하우스의 기능을 수행한다.
일 예로, 상기 주피터 노트북은 상기 제 11 얀으로부터 전달되는 해당 제 1 검색어와 관련한 제 1 데이터 내지 제 500000 데이터, 상기 제 1 검색어 등을 수신하고, 상기 수신된 해당 제 1 검색어와 관련한 제 1 데이터 내지 제 500000 데이터, 상기 제 1 검색어 등을 표시한다.
또한, 상기 분산 파일부(150)에 포함된 하둡 분산 파일 시스템(Hadoop Distributed File System: HDFS)은 상기 제 11 얀으로부터 전달되는 해당 제 1 검색어와 관련한 제 1 데이터 내지 제 500000 데이터, 상기 제 1 검색어 등을 수신하고, 상기 수신된 해당 제 1 검색어와 관련한 제 1 데이터 내지 제 500000 데이터, 상기 제 1 검색어 등을 네임 노드 이중화를 통해 분산 처리한다(S250).
본 발명의 실시예는 앞서 설명된 바와 같이, HPE의 하드웨어와 오픈 소스로 구성되는 소프트웨어를 이용해서 전용 데이터 웨어하우스 어플라이언스 포털로 접근하고, 단일 구조로 구성하여, 고객사의 지출 비용을 절감하고, 전체 시스템 운영의 효율성을 높이고, 고객사의 레퍼런스로 타고객사의 제안 및 도입을 기대할 수 있다.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 데이터 웨어하우징을 위한 장치
110: 하드웨어부 120: 대화형 인터프리터
130: 자원 스케줄 관리부 1400: 데이터 분석부
150: 분산 파일부

Claims (10)

  1. HPE Synergy 장비 및 HPC 장비 중 적어도 하나를 포함하여 컴퓨팅 노드를 구성하는 하드웨어부;
    사용자 입력에 따른 검색어를 수신하고, 파이썬(Python) 또는 자바 서버 페이지(Java Server Page: JSP) 기반의 주피터 노트북(Jupyter Notebook)으로 구성하는 대화형 인터프리터;
    상기 검색어를 근거로 복수의 데이터 분석부에 대해 스케줄링을 설정하고, 잡트래커(Job Tracker)에서 발생하는 병목 현상을 제거하고 효율적인 리소스 사용을 위해서 얀(Yet Another Resource Negotiator: YARN)으로 구성하는 자원 스케줄 관리부;
    상기 자원 스케줄 관리부에 의한 스케줄링에 따라, 복수의 서버에 각각 저장된 복수의 사용자 데이터를 가공하여 저장하고, 상기 저장된 복수의 사용자 데이터에서 상기 검색어에 대응하는 데이터를 추출하고, 오픈소스를 이용하는 아파치 스파크2(Apache Spark2)로 구성하는 상기 복수의 데이터 분석부; 및
    상기 자원 스케줄 관리부로부터 전달되는 상기 검색어에 대응하는 복수의 데이터 및 상기 검색어를 분산 처리하는 분산 파일부를 포함하며,
    상기 하드웨어부는,
    증설시 프레임 단위로 증설하도록 구성하고, 20G 인터커넥트(interconnect)로 복수의 서버와 연결하도록 구성하며,
    상기 자원 스케줄 관리부는,
    상기 복수의 데이터 분석부로부터 각각 전달되는 상기 검색어에 대응하는 복수의 데이터를 수신하고, 상기 수신된 상기 검색어에 대응하는 복수의 데이터 및 상기 검색어를 전달하며,
    상기 대화형 인터프리터는,
    상기 자원 스케줄 관리부로부터 전달되는 상기 검색어에 대응하는 복수의 데이터 및 상기 검색어를 표시하며,
    상기 데이터 분석부는,
    오픈소스를 이용하며, 빠른 데이터 처리 제공을 위해서 인 메모리 데이터베이스(In-Memory DB)로 구성하고, 메모리 성능 향상을 위해서 NVDIMM(Non Volatile DIMM)로 구성하며,
    상기 분산 파일부는,
    상기 검색어 및 상기 검색어에 대응하는 복수의 데이터를 통합하고, 연관 관계를 가지는 데이터들 간에 참조 관계를 생성하고, 병렬 구조로 데이터를 저장하고, 분산 처리를 수행하는 하둡 분산 파일 시스템(Hadoop Distributed File System: HDFS)으로 구성하고, 마스터의 네임노드에 오류나 고장이 발생하더라도 안정적으로 시스템을 운영할 수 있도록 네임 노드 이중화를 적용하는 것을 특징으로 하는 데이터 웨어하우징을 위한 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 하드웨어부에 의해, HPE Synergy 장비 및 HPC 장비 중 적어도 하나를 포함하여 컴퓨팅 노드를 구성하는 단계;
    대화형 인터프리터에 의해, 사용자 입력에 따른 검색어를 수신하는 단계;
    자원 스케줄 관리부에 의해, 상기 검색어를 근거로 복수의 데이터 분석부에 대해 스케줄링을 설정하는 단계;
    상기 복수의 데이터 분석부에 의해, 상기 자원 스케줄 관리부에 의한 스케줄링에 따라, 복수의 서버에 각각 저장된 복수의 사용자 데이터를 가공하여 저장하는 단계;
    상기 복수의 데이터 분석부에 의해, 상기 저장된 복수의 사용자 데이터에서 상기 검색어에 대응하는 데이터를 추출하는 단계;
    상기 자원 스케줄 관리부에 의해, 상기 복수의 데이터 분석부로부터 각각 전달되는 상기 검색어에 대응하는 복수의 데이터를 수신하는 단계;
    상기 자원 스케줄 관리부에 의해, 상기 수신된 상기 검색어에 대응하는 복수의 데이터 및 상기 검색어를 상기 대화형 인터프리터 및 분산 파일부에 전달하는 단계;
    상기 대화형 인터프리터에 의해, 상기 자원 스케줄 관리부로부터 전달되는 상기 검색어에 대응하는 복수의 데이터 및 상기 검색어를 표시하는 단계; 및
    상기 분산 파일부에 의해, 상기 자원 스케줄 관리부로부터 전달되는 상기 검색어에 대응하는 복수의 데이터 및 상기 검색어를 분산 처리하는 단계를 포함하며,
    상기 하드웨어부는,
    증설시 프레임 단위로 증설하도록 구성하고, 20G 인터커넥트로 복수의 서버와 연결하도록 구성하며,
    상기 자원 스케줄 관리부는,
    상기 복수의 데이터 분석부로부터 각각 전달되는 상기 검색어에 대응하는 복수의 데이터를 수신하고, 상기 수신된 상기 검색어에 대응하는 복수의 데이터 및 상기 검색어를 전달하고, 잡트래커에서 발생하는 병목 현상을 제거하고 효율적인 리소스 사용을 위해서 얀(YARN)으로 구성하며,
    상기 대화형 인터프리터는,
    파이썬 또는 자바 서버 페이지 기반의 주피터 노트북으로 구성하고, 상기 자원 스케줄 관리부로부터 전달되는 상기 검색어에 대응하는 복수의 데이터 및 상기 검색어를 표시하며,
    상기 데이터 분석부는,
    오픈소스를 이용하며, 빠른 데이터 처리 제공을 위해서 인 메모리 데이터베이스로 구성하고, 메모리 성능 향상을 위해서 NVDIMM로 구성하고, 오픈소스를 이용하는 아파치 스파크2로 구성하며,
    상기 분산 파일부는,
    상기 검색어 및 상기 검색어에 대응하는 복수의 데이터를 통합하고, 연관 관계를 가지는 데이터들 간에 참조 관계를 생성하고, 병렬 구조로 데이터를 저장하고, 분산 처리를 수행하는 하둡 분산 파일 시스템(HDFS)으로 구성하고, 마스터의 네임노드에 오류나 고장이 발생하더라도 안정적으로 시스템을 운영할 수 있도록 네임 노드 이중화를 적용하는 것을 특징으로 하는 데이터 웨어하우징을 위한 방법.
  10. 삭제
KR1020200106527A 2020-08-24 2020-08-24 데이터 웨어하우징을 위한 장치 및 그 방법 KR102248592B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200106527A KR102248592B1 (ko) 2020-08-24 2020-08-24 데이터 웨어하우징을 위한 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200106527A KR102248592B1 (ko) 2020-08-24 2020-08-24 데이터 웨어하우징을 위한 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR102248592B1 true KR102248592B1 (ko) 2021-05-06

Family

ID=75916203

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200106527A KR102248592B1 (ko) 2020-08-24 2020-08-24 데이터 웨어하우징을 위한 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102248592B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130091561A (ko) 2012-02-08 2013-08-19 한국전자통신연구원 대용량 빌딩 에너지 정보 관리를 위한 데이터웨어하우스 구축 방법 및 장치
KR20150112357A (ko) * 2014-03-27 2015-10-07 (주)시엠아이코리아 센서 데이터 처리 시스템 및 방법
KR20170090114A (ko) * 2016-01-28 2017-08-07 주식회사 아임클라우드 빅데이터 기반의 스마트 팩토리 분석시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130091561A (ko) 2012-02-08 2013-08-19 한국전자통신연구원 대용량 빌딩 에너지 정보 관리를 위한 데이터웨어하우스 구축 방법 및 장치
KR20150112357A (ko) * 2014-03-27 2015-10-07 (주)시엠아이코리아 센서 데이터 처리 시스템 및 방법
KR20170090114A (ko) * 2016-01-28 2017-08-07 주식회사 아임클라우드 빅데이터 기반의 스마트 팩토리 분석시스템 및 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
김상락 외 2인. 하둡 기반의 통합설비 모니터링시스템 설계 및 구현 사례 연구. Journal of the Korean Institute of Industrial Engineers Vol. 40, No. 1, pp. 34-42, 2014.02. *
김정준 외 3인, 신뢰성 빅데이터 플렛폼의 연구, 한국인터넷방송통신학회논문지, 제19권 제6호, 2016.12.31, 225-230페이지. 1부.* *
홍성은 외 3인, 제플린을 이용한 빅데이터 사전분석에 관한 연구, 한국통신학회 학술대회논문집, 2016.11, 258-259페이지. 1부.* *

Similar Documents

Publication Publication Date Title
US10127146B2 (en) Systems and methods to identify and classify performance bottlenecks in cloud based applications
US9104572B1 (en) Automated root cause analysis
CN107895011B (zh) 会话信息的处理方法、系统、存储介质和电子设备
CN111666490A (zh) 基于kafka的信息推送方法、装置、设备及存储介质
CN111459986B (zh) 数据计算系统及方法
CN103838867A (zh) 日志处理方法和装置
CN111143286B (zh) 一种云平台日志管理方法及系统
CN107025256B (zh) 用于减少基于云的服务的重新激活时间的方法和系统
US20200089586A1 (en) Cognitively triggering recovery actions during a component disruption in a production environment
CN112527848B (zh) 基于多数据源的报表数据查询方法、装置、系统及存储介质
CN110874272A (zh) 资源配置方法及装置、计算机可读存储介质、电子设备
US20230106106A1 (en) Text backup method, apparatus, and device, and computer-readable storage medium
Kunanets et al. Advanced technologies of big data research in distributed information systems
US20210133195A1 (en) Dynamic access paths
CN114844792A (zh) 基于lua语言的动态监控方法、装置、设备及存储介质
US20210209115A1 (en) Data ingestion with spatial and temporal locality
Lytvyn et al. Development of Intellectual System for Data De-Duplication and Distribution in Cloud Storage.
KR102248592B1 (ko) 데이터 웨어하우징을 위한 장치 및 그 방법
US10545677B2 (en) Volatile account identification and isolation and resource management in distributed data storage systems
CN110471730A (zh) 基于Echarts的展示方法、系统、大屏系统和介质
US20230342369A1 (en) Data processing method and apparatus, and electronic device and storage medium
US11061736B2 (en) Multiple parallel reducer types in a single map-reduce job
US9479448B2 (en) Methods for improved provisioning of information technology resources and devices thereof
CN113360558A (zh) 数据处理方法、数据处理装置、电子设备及存储介质
CN114217875A (zh) 处理订单的方法、装置、设备及存储介质

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant