KR101512647B1 - 질의처리엔진을 선택하는 방법 - Google Patents

질의처리엔진을 선택하는 방법 Download PDF

Info

Publication number
KR101512647B1
KR101512647B1 KR1020130124835A KR20130124835A KR101512647B1 KR 101512647 B1 KR101512647 B1 KR 101512647B1 KR 1020130124835 A KR1020130124835 A KR 1020130124835A KR 20130124835 A KR20130124835 A KR 20130124835A KR 101512647 B1 KR101512647 B1 KR 101512647B1
Authority
KR
South Korea
Prior art keywords
query
processing engine
query processing
execution
evaluation
Prior art date
Application number
KR1020130124835A
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 KR1020130124835A priority Critical patent/KR101512647B1/ko
Application granted granted Critical
Publication of KR101512647B1 publication Critical patent/KR101512647B1/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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation

Landscapes

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

Abstract

질의처리엔진을 선택하는 방법을 개시한다.
복수의 질의처리엔진(Query Process Engine)을 포함하는 데이터 처리 시스템에서, 질의(Query)를 수신하는 과정; 상기 질의를 수행할 상기 복수의 질의처리엔진을 평가하는 질의처리엔진 평가 과정; 상기 질의처리엔진 과정에서 평가한 결과로 선택된 상기 질의처리엔진에 상기 질의를 전달하는 과정; 및 상기 선택된 질의처리엔진이 상기 질의를 수행하는 질의 수행 과정을 포함하는 것을 특징으로 하는 질의처리엔진 선택 방법을 제공한다.

Description

질의처리엔진을 선택하는 방법 {Method For Choosing Query Processing Engine}
본 발명은 복수의 질의처리엔진을 포함하는 데이터 처리 시스템에서 질의를 처리할 질의처리엔진을 선택하는 방법에 관한 것이다.
이하에 기술되는 내용은 단순히 본 실시예와 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아님을 밝혀둔다.
PC(Personal Computer), 모바일 장치 및 인터넷의 이용이 일상화되면서 IT 사업자가 처리해야 하는 데이터양은 기하급수적으로 증가하고 있다. 사용자가 제작하는 UCC(User Created Contents), SNS(Social Network Service) 데이터는 데이터 증가 속도 뿐 아니라 형태와 질에서도 기존과 다른 양상을 보이고 있다. 따라서 이와 같이 다양하고 방대한 규모의 데이터는 기업이나 국가의 미래 경쟁력을 좌우하는 중요한 요소로 활용될 수 있다. 과거에도 대규모 데이터를 분석하고 의미 있는 정보를 찾아내려는 시도는 있었지만, 현재의 빅데이터(BigData) 환경은 과거와 비교해 데이터양과 다양성 측면에서 과거와는 비교할 수 없을 정도가 되었다.
최근에 등장한 빅데이터 처리 시스템으로 하둡(Hadoop)은 구글(Google)의 GFS(Google File System)을 기반으로 인터넷 환경에서 HTML, TEXT 등의 다양한 대규모의 비정형 데이터를 처리할 수 있도록 개발되어 왔다. 하둡은 HDFS(Hadoop Distributed File System)와 HDFS에서 관계형 데이터베이스(Relational Database)에서 사용하는 SQL(Structured Query Language)과 같은 질의를 처리하는 엔진을 포함한다. 빅데이터를 처리하는 시스템에 질의를 하여 결과를 얻기까지 수 일 이상이 소요되는 것이 일반적이다. HDFS에서 질의를 처리하는 엔진으로 Tajo, Impala, Hive, MapReduce 등 다양하게 개발되어 있지만, 각 질의처리엔진(Query Process Engine)에 따라 각자의 특성을 가지고 있어 같은 질의를 수행하더라도 질의처리엔진에 따라 결과를 얻기까지 수행시간, 수행하는 데 필요한 자원에 있어 많은 차이를 보이고 있다. 따라서 질의에 따라 적합한 질의처리엔진을 선택하는 방법이 문제된다.
본 실시예는, 데이터를 처리하는 시스템이 복수의 질의처리엔진을 사용하는 경우, 질의처리엔진을 선택하는 방법을 제공하는 데 주된 목적이 있다.
본 실시예의 일 측면에 의하면, 복수의 질의처리엔진(Query Process Engine)을 포함하는 데이터 처리 시스템에서, 질의(Query)를 수신하는 과정; 상기 질의를 수행할 상기 복수의 질의처리엔진을 평가하는 질의처리엔진 평가 과정; 상기 질의처리엔진 과정에서 평가한 결과로 선택된 상기 질의처리엔진에 상기 질의를 전달하는 과정; 및 상기 선택된 질의처리엔진이 상기 질의를 수행하는 질의 수행 과정을 포함하는 것을 특징으로 하는 질의처리엔진 선택 방법을 제공한다.
또한, 본 실시예의 다른 측면에 의하면, 질의를 수신하고 복수의 질의처리엔진 중 어느 하나의 질의처리엔진을 선택하는 질의처리엔진 선택부; 상기 질의에 대한 히스토리 정보를 저장하는 질의히스토리로그; 상기 질의를 수행하는 자원을 할당하는 동적자원할당부; 및 복수의 데이터노드를 포함하는 데이터 저장부를 포함하는 것을 특징으로 하는 질의처리엔진 선택 장치를 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 질의처리엔진이 수신한 질의와 동일, 유사 또는 복수의 질의를 결합하여 동일하거나 동일하다고 평가되는 과거 수행했던 질의에 대한 히스토리 정보, 질의 요청을 받은 당시의 시스템 상황, 각 질의처리엔진의 질의의 실행계획을 평가하여 빅데이터를 처리하기 위한 복수의 질의처리엔진 중에서 가장 효율적인 엔진을 선정하는 방법을 제공할 수 있다. 빅데이터를 처리하는데 소요되는 시간은 질의처리엔진에 따라 수행시간의 차이가 매우 커서 질의에 따라 적합한 엔진을 선택하는 것이 중요한 문제인데, 본 발명의 실시예에 따르면 최적의 질의처리엔진을 선택할 수 있다.
수신된 질의와 질의히스토리로그에 남아 있는 과거 수행했던 질의 중 질의가 동일하고 사용 가능한 시스템 상황이 동일하다면 히스토리 기반의 평가를 수행하고, 만약, 히스토리 정보가 전혀 없다면 질의처리엔진(Query Processing Engine)으로부터 질의에 대한 실행계획(Explain Plan)을 제공받아 실행계획을 평가한다. 또한 질의를 수신할 당시의 시스템 상황이 변경되었거나 및 히스토리 기반 평가만으로 최적의 엔진을 평가하기 곤란한 경우 히스토리 기반 평가와 실행계획 기반 평가를 가중하여 평가하는 하이브리드 평가를 할 수 있다. 이와 같은 평가를 거쳐 최적의 질의처리엔진을 선정한다면 질의를 수행하는 시간을 최대한 단축시킬 수 있다.
또한 본 실시예에 의하면, 동적자원할당부(Dynamic Resource Allocator)는 자원(Resource)을 요청한 시점에 사용 가능한 최대한의 자원을 할당하지만, 질의를 수행하고 있는 도중에, 수행 중인 질의 보다 우선순위가 높은 질의 요청을 받는 경우에는 질의를 수행하는 자원을 재조정할 수 있다. 동적자원할당부는 자원의 활용이 낮은 경우 자원을 회수할 수 있고, 질의를 수행하는 데 할당되는 자원의 최대 또는 최소의 범위를 지정할 수 있는 효과가 있다.
도 1은 HDFS(Hadoop Distributed File System)의 구성도이다.
도 2는 본 실시예에 따른 복수의 질의처리엔진을 포함하는 빅데이터 처리 시스템의 구성도이다.
도 3는 본 실시예에 따른 질의처리엔진을 선택하는 과정의 순서도이다.
도 4는 본 실시예에 따른 동적으로 자원을 할당하는 과정의 순서도이다.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 실시예에서는 하둡(Hadoop) 및 HDFS(Hadoop Distributed File System) 기반으로 설명하지만, 데이터를 저장하는 구조는 이에 한정되지 않는다. 빅데이터를 처리하는 시스템으로는 GFS(Google File System)와 MapReduce 등 다양한 시스템이 있을 수 있고, 본 발명의 기술적 사상은 빅데이터를 처리하는 특정 시스템에 한정되지 않는다.
도 1은 HDFS(Hadoop Distributed File System)의 구성도이다.
HDFS(Hadoop Distributed File System)은 하둡 분산 파일 시스템으로 빅데이터를 처리하기 위해 수집된 대용량의 데이터를 여러 서버에 나눠서 저장하도록 하는 기술이다. HDFS는 네임노드(NameNode)(110)와 데이터노드(120)로 구성된다. 네임노드(110)는 데이터노드(DataNode)에 저장되는 실제 파일의 메타(Meta) 정보를 저장하는 곳으로 실제 데이터가 저장되는 곳은 아니다. 네임노드(110)는 네임노드(마스터)(112)와 네임노드(세컨더리)(114)로 구성되는데, 네임노드(세컨더리)(114)는 네임노드(마스터)(112)에 장애가 발생하면 네임노드(마스터)(112)를 대신하여 사용하거나 네임노드(마스터)(112)를 복구하기 위해 사용한다.
데이터노드(120)의 구성원인 데이터노드01(121), 데이터노드02(122), 데이터노드03(123), 데이터노드04(124), 데이터노드05(125)는 실제 데이터가 저장되는 공간으로 네트워크로 연결된 서버 또는 스토리지이다. 네임노드(110)에는 데이터노드(120)에 저장된 파일과 실제로 저장된 데이터노드(120)의 정보를 가지고 있다. 응용프로그램이나 사용자가 파일에 접근하고자 할 때에는 네임노드(110)에서 파일이 저장된 데이터노드(120)를 찾아 접근하게 된다.
도 2는 본 실시예에 따른 복수의 질의처리엔진을 포함하는 빅데이터 처리 시스템의 구성도이다.
사용자, 응용프로그램 등의 클라이언트(Client)가 빅데이터(BigData) 처리 시스템(200)에 질의(Query) 요청을 하면, 빅데이터 처리 시스템(200)의 질의처리엔진 선택부(210)는 질의 요청을 수신하고, 동적자원할당부(220)에 하둡 클러스터(Hadoop Cluster)의 메모리 사용량, CPU 점유율 등을 포함하는 자원(Resource) 정보를 요청하여 이를 수신하며, 질의히스토리로그(230)으로부터 수신된 질의에 대한 히스토리 정보를 획득한다. 다만, 자원 정보는 메모리 사용량, CPU 점유율 정보에만 한정되지 않는다. 질의리스토리로그(230)는 질의, 질의 수행 시간, 질의 수행에 사용한 메모리양, CPU 점유율 정보를 포함하는 자원 정보를 보관하고 있다. 질의처리엔진 선택부(210)은 질의 히스토리 정보, 빅데이터 처리 시스템의 자원 현황 및 각 질의처리엔진별 질의 실행계획 등을 평가하여 질의처리엔진부(240)에서 최적의 질의처리엔진을 선택한다. 질의처리엔진 선택부(210)에서 질의처리엔진부(240)에 포함된 복수의 질의처리엔진 중 최적의 질의처리엔진을 선정하는 방법에 대해서는 도 3에서 상세하게 설명한다.
하둡 클러스터 기반의 질의처리엔진으로는 타조(Tajo)(242), 임팔라(Impala)(244), 하이브(Hive)(246), 맵리듀스(MapReduce), 에이치베이스(HBase), 피그(Pig) 등으로 다양하다. 그러나, 각 엔진들은 각각의 고유한 특징을 포함하고 있어 특정 질의에 대해 엔진에 따라 수행 시간의 차이가 매우 크다. 빅데이터(BigData) 처리 시스템에서 배치로 데이터를 처리하여 결과를 생성하는데 수 일이 소요되는 것이 일반적이다. 따라서, 질의에 따라 적합한 질의처리엔진을 선택하는 것은 중요한 문제이다.
동적자원할당부(220)는 하둡 클러스트의 시스템 자원 정보를 모니터링하고 있다가 질의처리엔진 선택부(210)에서 요청하면 전달하고, 질의를 수행할 질의처리엔진에 시스템 자원을 할당하여 질의가 수행되도록 한다. 또한, 질의가 수행되고 있는 도중에 새로운 질의 요청이 오면 자원을 재할당할 수 있다. 도 4에서 시스템 자원을 할당하는 방법에 대해서 상세하게 설명한다.
질의를 수행하도록 선택된 질의처리엔진은 동적자원할당부(220)에서 자원을 할당 받아 실제 데이터를 저장하고 있는 하둡 클러스터(250)의 데이터를 처리하여 질의 결과를 생성하고, 그 결과를 질의처리엔진 선택부(210)에 전달하고 질의처리엔진 선택부는 다시 클라이언트에 전달한다. 동적자원할당부(220)는 질의가 실행되는 도중 하둡 클러스터(250)로부터 시스템의 자원 정보를 보고 받는다. 하둡 클러스터(250)는 도 1의 HDFS를 구성하는 네임노드(110)와 데이터노드(120)으로 구성될 수 있다.
질의처리엔진은 질의 수행을 완료하면 질의, 질의 수행시간, 질의 수행에 사용된 메모리 사용량, CPU 점유율을 포함하는 자원 정보를 질의히스토리로그(230)에 저장한다.
본 발명의 실시예에 따른 빅데이터 처리 시스템(200)은 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 태블릿(Tablet), 개인 휴대 단말기(PDA: Personal Digital Assistant), 게임 콘솔, 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV, 미디어 플레이어 등과 같은 사용자 단말기를 포함할 수 있고, 사용자 단말기는 빅데이터 처리 시스템(200)의 일부일 수 있다. 본 발명의 실시예에 따른 빅데이터 처리 시스템(200)은 응용 서버와 서비스 서버 등 서버 단말기일 수 있다. 본 발명의 실시예에 따른 빅데이터 처리 시스템(200)은 각기 (i) 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, (ii) 프로그램을 실행하기 위한 데이터를 저장하기 위한 메모리, (iii) 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다. 적어도 일 실시예에 따르면, 메모리는 램(Random Access Memory: RAM), 롬(Read Only Memory: ROM), 플래시 메모리, 광 디스크, 자기 디스크, 솔리드 스테이트 디스크(Solid State Disk: SSD) 등의 컴퓨터로 판독 가능한 기록/저장매체일 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 명세서에 기재된 동작과 기능을 하나 이상 선택적으로 수행하도록 프로그램될 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 전체 또는 부분적으로 특정한 구성의 주문형반도체(Application Specific Integrated Circuit: ASIC) 등의 하드웨어로써 구현될 수 있다.
도 3는 본 실시예에 따른 질의처리엔진을 선택하는 과정의 순서도이다.
도 3은 클라이언트가 빅데이터 처리 시스템(200)에 질의를 요청하면 질의를 수신한 빅데이터 처리 시스템(200)이 질의를 처리하기에 적합한 질의처리엔진을 선택하는 과정을 설명한다. 질의처리엔진 선택부(210)은 질의를 수신하고(S310) 질의히스토리로그로부터 수신된 질의와 동일한 질의가 과거에 수행된 적이 있다면 그 히스토리 정보 또는 수신된 질의와 동일하다고 평가할 수 있는 유사한 질의나 질의를 결합하여 수신된 질의와 동일하거나 동일하다고 평가된 질의에 대한 히스토리 정보를 획득한다(S320). 히스토리 정보는 질의, 질의 수행시간, 질의 수행에 사용된 메모리양, CPU 점유율 등의 포함하는 자원에 관한 정보이지만, 열거된 항목에 한정되는 않는다. 질의처리엔진 선택부(210)는 동적자원할당부(220)로부터 질의 수행을 위해 사용 가능한 자원 정보를 수신한다.
수신된 질의와 동일한 질의, 유사한 질의, 복수의 질의를 결합하여 수신된 질의와 동일하거나 동일하다고 평가된 질의가 과거에 수행된 적이 없다면 히스토리 기반 평가를 할 수 없으므로 히스토리 존재 여부에 대해 판단한다(S340).
만약, 히스토리가 존재하지 않아 히스토리 기반의 평가를 수행할 수 없다면 질의처리엔진 선택부(210)는 질의처리엔진부(240)의 각 질의처리엔진에 질의를 전달하고 질의에 대한 실행계획(Explain Plan 또는 Execution Plain)을 요청하여 수신한다(S350). 질의처리엔진 선택부(210)는 각 엔진의 실행계획에서 질의를 수행하기 위한 수행 단계의 수, 분산 처리 할 수 있는 연산의 수를 평가하는 실행계획 기반 평가를 수행하여(S355) 수행 단계가 적고, 분산 처리가 많은 질의처리엔진을 선정한다.
질의히스토리로그에 수신된 질의에 대한 히스토리 정보가 있어, 히스토리 기반의 평가를 하게 되는 경우에는 히스토리 기반으로만 평가하여도 최적의 질의처리엔진을 선정할 수 있는지, 그것만으로는 부족하여 실행계획 평가도 함께 이루어지는 하이브리드 기반 평가를 수행할지 여부를 판단한다(S360). 수신된 질의와 동일한 질의가 이미 수행된 적이 있어 질의히스토리로그(230)에 남고 있고, 사용 가능한 리소스 정보도 동일하거나 동일하다고 평가될 수 있다면 다시 실행계획을 평가할 필요는 없을 것이다. 질의에 대한 히스토리 로그가 없는 최초 상태에서는 실행계획을 기반으로 평가하였기 때문이다. 따라서 이 경우에는 히스토리 기반으로 평가를 수행한다(S370).
그러나 동일한 질의에 대한 로그 기록이 있다하더라도 사용 가능한 자원의 상태에 변경이 있거나, 동일한 질의에 대한 평가는 없지만, 유사한 질의를 수행한 기록이 있거나 복수의 질의를 결합하여 동일하거나 동일하다고 평가할 수 있는 질의에 대한 히스토리 로그가 있는 경우에는 히스토리 기반으로만 평가하여 최적의 질의처리엔진을 선정하기에는 부족하다. 따라서 이 경우에는 하이브리드(Hybrid) 평가를 수행한다(S380). 하이브리드 평가는(S380)는 히스토리 기반 평가의 질의의 수행시간과 실행계획 기반 평가의 질의 수행 단계의 수 및 질의에서 분산 처리가 가능한 연산의 수를 가중하여 평가한다.
히스토리 기반 평가, 실행계획 기반 평가, 하이브리드 평가를 통해 복수의 질의처리엔진 중에서 가장 최적의 질의처리엔진을 선정한다(S390).
도 4는 본 실시예에 따른 동적으로 자원을 할당하는 과정의 순서도이다.
질의처리엔진 선택부(210)에서 질의처리엔진부(240) 중 질의를 수행할 질의처리엔진을 선정하면 질의처리엔진은 질의를 수신하고(S410), 동적자원할당부(220)에 질의 수행을 위한 자원을 요청한다(S420).
한편, 도 1의 데이터노드(120)에서 각 데이터노드(데이터노드01(121),…, 데이터노드(125))는 각 데이터노드가 가진 CPU의 수와 동일한 수의 선점용 프로세스(Preemptive Resource Occupier)를 포함한다. 선점용 프로세스는 자원을 선점하기 위한 프로세스이다. 동적자원할당부(210)는 자원 할당 요청을 수신하면 가능한 최대의 선점용 프로세스를 할당하여 사용 가능한 최대의 자원을 질의처리엔진에게 할당하여 질의를 수행할 수 있도록 한다.
자원을 할당 받은 질의처리엔진은 질의를 수행하는데(S430), 질의처리엔진이 질의를 수행하는 도중, 질의처리엔진 선택부(210)가 새로운 질의를 수신하고, 질의를 처리할 질의처리엔진을 선정한 후 동적자원할당부(220)에 자원을 요청하는 경우, 수행할 질의에 대한 우선순위 등의 요소에 따라 질의를 수행할 자원을 재조정할 필요가 발생한다. 동적자원할당부(220)는 데이터노드(120)의 선점용 프로세스로부터 사용 중인 자원 정보를 보고 받아 활용률이 낮은 경우에 선점용 프로세스를 회수하여 자원 할당을 재조정한다(S432). 질의처리엔진은 질의 수행의 종료 여부를 판단하여(S434) 질의 수행이 종료되면 질의 수행 히스토리 정보를 질의히스토리로그(230)에 저장한다(S440). 히스토리 정보에는 질의 내용, 질의 수행시간, 질의 수행에 사용된 메모리양, CPU 점유율을 포함하지만, 이에 한정되지 않는다. 질의처리엔진이 질의 수행을 완료하고 결과를 생성하여 결과를 질의처리엔진 선택부에 전달한다(S460).
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
110 네임노드 120 데이터노드
200 빅데이터 처리 시스템 210 질의처리엔진 선택부
220 동적자원할당부 230 질의히스토리로그
240 질의처리엔진부 250 하둡 클러스터

Claims (18)

  1. 복수의 질의처리엔진(Query Process Engine)을 포함하는 데이터 처리 시스템에서,
    질의(Query)를 수신하는 과정;
    상기 질의를 수행할 상기 복수의 질의처리엔진을 평가하는 질의처리엔진 평가 과정;
    상기 질의처리엔진 평가 과정에서 평가한 결과로 선택된 상기 질의처리엔진에 상기 질의를 전달하는 과정; 및
    상기 선택된 질의처리엔진이 상기 질의를 수행하는 질의 수행 과정
    을 포함하되, 상기 질의처리엔진 평가 과정은, 상기 복수의 질의처리엔진으로부터 실행계획(Explain Plan)을 수신하는 과정; 상기 실행계획에서 상기 질의의 수행 단계의 수 및 상기 질의의 분산 실행 가능한 연산의 수를 추출하는 과정; 및 상기 수행 단계의 수와 상기 분산 실행 가능한 연산의 수를 비교하여 상기 복수의 질의처리엔진 중 어느 하나를 선택하는 과정을 포함하는 것을 특징으로 하는 질의처리엔진 선택 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 질의처리엔진 평가 과정은,
    상기 실행계획을 기반으로 평가하는 실행계획 기반 평가 과정을 포함하는 것을 특징으로 하는 질의처리엔진 선택 방법.
  5. 삭제
  6. 제 4 항에 있어서,
    상기 실행계획 기반 평가 과정은,
    상기 질의와 동일한 질의, 유사한 질의, 복수의 질의를 결합하여 상기 질의와 동일하거나 동일하다고 평가된 질의에 대한 히스토리 정보가 없는 경우 실행계획 기반 평가를 수행하는 것을 특징으로 하는 질의처리엔진 선택 방법.
  7. 복수의 질의처리엔진을 포함하는 데이터 처리 시스템에서,
    질의를 수신하는 과정;
    상기 질의를 수행할 상기 복수의 질의처리엔진을 평가하는 질의처리엔진 평가 과정;
    상기 질의처리엔진 평가 과정에서 평가한 결과로 선택된 상기 질의처리엔진에 상기 질의를 전달하는 과정; 및
    상기 선택된 질의처리엔진이 상기 질의를 수행하는 질의 수행 과정
    을 포함하되, 상기 질의처리엔진 선택 과정은, 히스토리 기반 평가의 질의의 수행시간과 실행계획 기반 평가의 질의의 수행 단계의 수 및 질의의 분산 실행 가능한 연산의 수를 가중하여 평가하는 하이브리드(Hybrid) 평가 과정을 포함하는 것을 특징으로 하는 질의처리엔진 선택 방법.
  8. 제 7 항에 있어서,
    상기 하이브리드 평가 과정은,
    히스토리 정보에 포함된 정보가 상기 질의와 유사한 질의, 복수의 질의를 결합하여 상기 질의와 동일하거나 동일하다고 평가된 질의이거나 동일한 질의라고 하더라도 자원 정보가 유사하지 않은 경우, 상기 하이브리드 평가를 수행하는 것을 특징으로 하는 질의처리엔진 선택 방법.
  9. 제 7 항에 있어서,
    상기 질의 수행 과정은 동적자원할당부(Dynamic Resource Allocator)로부터 원(Resource)을 할당받는 과정을 포함하는 것을 특징으로 하는 질의처리엔진 선택 방법.
  10. 제 9 항에 있어서,
    상기 동적자원할당부는 데이터를 저장하고 있는 복수의 데이터노드(DataNode)에서 자원을 점유하고 있는 선점용 프로세스를 할당하는 것을 특징으로 하는 질의처리엔진 선택 방법.
  11. 제 10 항에 있어서,
    상기 선점용 프로세스의 수는 상기 데이터노드의 CPU의 수와 동일한 것을 특징으로 하는 질의처리엔진 선택 방법.
  12. 제 9 항에 있어서,
    상기 동적자원할당부는 상기 질의처리엔진에 할당된 선점용 프로세스를 회수 할 수 있는 것을 특징으로 하는 질의처리엔진 선택 방법.
  13. 제 9 항에 있어서,
    상기 동적자원할당부는 상기 질의처리엔진에 할당할 선점용 프로세스의 최소 수, 최대 수 및 상기 질의처리엔진이 할당된 상기 선점용 프로세스를 사용할 수 있는 최소 시간, 최대 시간에 관한 정보를 포함하는 것을 특징으로 하는 질의처리엔진 선택 방법.
  14. 복수의 질의처리엔진을 포함하는 데이터 처리 시스템에서,
    질의를 수신하는 과정;
    상기 질의를 수행할 상기 복수의 질의처리엔진을 평가하는 질의처리엔진 평가 과정;
    상기 질의처리엔진 평가 과정에서 평가한 결과로 선택된 상기 질의처리엔진에 상기 질의를 전달하는 과정; 및
    상기 선택된 질의처리엔진이 상기 질의를 수행하는 질의 수행 과정
    을 포함하되, 상기 질의 수행 과정은 상기 질의의 수행 시간, 상기 질의의 수행에 사용한 메모리 정보 및 CPU 정보를 포함하는 상기 질의의 히스토리 정보를 질의히스토리로그에 저장하는 과정을 포함하는 질의처리엔진 선택 방법.
  15. 삭제
  16. 삭제
  17. 질의를 수신하고 복수의 질의처리엔진 중 어느 하나의 질의처리엔진을 선택하는 질의처리엔진 선택부;
    상기 질의에 대한 히스토리 정보를 저장하는 질의히스토리로그;
    상기 질의를 수행하는 자원을 할당하는 동적자원할당부; 및
    복수의 데이터노드를 포함하는 데이터 저장부
    를 포함하되, 상기 질의처리엔진 선택부는 상기 복수의 질의처리엔진으로부터 실행계획(Explain Plan)을 수신하고, 상기 실행계획에서 상기 질의의 수행 단계의 수 및 상기 질의의 분산 실행 가능한 연산의 수를 추출하며, 상기 수행 단계의 수와 상기 분산 실행 가능한 연산의 수를 비교하여 상기 복수의 질의처리엔진 중 어느 하나를 선택하는 실행계획 기반 평가부를 포함하는 것을 특징으로 하는 질의처리엔진 선택 장치.
  18. 질의를 수신하고 복수의 질의처리엔진 중 어느 하나의 질의처리엔진을 선택하는 질의처리엔진 선택부;
    상기 질의에 대한 히스토리 정보를 저장하는 질의히스토리로그;
    상기 질의를 수행하는 자원을 할당하는 동적자원할당부; 및
    복수의 데이터노드를 포함하는 데이터 저장부
    를 포함하되, 상기 질의처리엔진 선택부는 히스토리 기반 평가의 질의의 수행시간과 실행계획 기반 평가의 질의의 수행 단계의 수 및 질의의 분산 실행 가능한 연산의 수를 가중하여 평가하는 하이브리드 평가부를 포함하는 것을 특징으로 하는 질의처리엔진 선택 장치.
KR1020130124835A 2013-10-18 2013-10-18 질의처리엔진을 선택하는 방법 KR101512647B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130124835A KR101512647B1 (ko) 2013-10-18 2013-10-18 질의처리엔진을 선택하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130124835A KR101512647B1 (ko) 2013-10-18 2013-10-18 질의처리엔진을 선택하는 방법

Publications (1)

Publication Number Publication Date
KR101512647B1 true KR101512647B1 (ko) 2015-04-16

Family

ID=53053348

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130124835A KR101512647B1 (ko) 2013-10-18 2013-10-18 질의처리엔진을 선택하는 방법

Country Status (1)

Country Link
KR (1) KR101512647B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10606851B1 (en) * 2018-09-10 2020-03-31 Palantir Technologies Inc. Intelligent compute request scoring and routing
WO2022065561A1 (ko) * 2020-09-28 2022-03-31 주식회사 마인즈랩 문자열의 의도 분류 방법 및 컴퓨터 프로그램

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293723A (ja) * 2006-04-26 2007-11-08 Hitachi Information Systems Ltd データベース管理システム及び管理方法
KR20100071613A (ko) * 2008-12-19 2010-06-29 윤대일 유에스엔(usn) 미들웨어 질의 처리 로드 밸런싱 시스템 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293723A (ja) * 2006-04-26 2007-11-08 Hitachi Information Systems Ltd データベース管理システム及び管理方法
KR20100071613A (ko) * 2008-12-19 2010-06-29 윤대일 유에스엔(usn) 미들웨어 질의 처리 로드 밸런싱 시스템 및 그 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10606851B1 (en) * 2018-09-10 2020-03-31 Palantir Technologies Inc. Intelligent compute request scoring and routing
WO2022065561A1 (ko) * 2020-09-28 2022-03-31 주식회사 마인즈랩 문자열의 의도 분류 방법 및 컴퓨터 프로그램

Similar Documents

Publication Publication Date Title
US11487771B2 (en) Per-node custom code engine for distributed query processing
US20180144025A1 (en) Map-reduce job virtualization
Zaharia et al. Delay scheduling: a simple technique for achieving locality and fairness in cluster scheduling
Mehta et al. Decentralized content aware load balancing algorithm for distributed computing environments
Wang et al. MapReduce across distributed clusters for data-intensive applications
US11620289B1 (en) Data-driven query-execution scheduling
CN104750690B (zh) 一种查询处理方法、装置及***
US11468079B1 (en) Partitioning to support invocation of external table functions on multiple batches of input rows
Alshammari et al. H2hadoop: Improving hadoop performance using the metadata of related jobs
Mathiya et al. Apache hadoop yarn parameter configuration challenges and optimization
US11216421B2 (en) Extensible streams for operations on external systems
Shabeera et al. Optimising virtual machine allocation in MapReduce cloud for improved data locality
Shabeera et al. Bandwidth-aware data placement scheme for Hadoop
KR101512647B1 (ko) 질의처리엔진을 선택하는 방법
Salehian et al. Comparison of spark resource managers and distributed file systems
WO2016092604A1 (ja) データ処理システムおよびデータアクセス方法
Zhu et al. Optimal bandwidth allocation for web crawler systems with time constraints
Abdi et al. The Impact of Data Replicatino on Job Scheduling Performance in Hierarchical data Grid
US11593310B2 (en) Providing writable streams for external data sources
Win et al. An efficient big data analytics platform for mobile devices
US20150263958A1 (en) Load balancing apparatus and method
Prasad et al. Performance Analysis of Schedulers to Handle Multi Jobs in Hadoop Cluster.
CN104537081A (zh) 文件管理***和方法
US10313438B1 (en) Partitioned key-value store with one-sided communications for secondary global key lookup by range-knowledgeable clients
JP6020014B2 (ja) 分散データストア管理装置、分散並列処理実行装置、分散並列処理システム、分散データストア管理方法、分散並列処理実行方法、および、コンピュータ・プログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180403

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 5