KR101812452B1 - 클라우드 서비스에서의 질의 처리 수행 방법 및 이를 이용하는 장치 - Google Patents

클라우드 서비스에서의 질의 처리 수행 방법 및 이를 이용하는 장치 Download PDF

Info

Publication number
KR101812452B1
KR101812452B1 KR1020170099846A KR20170099846A KR101812452B1 KR 101812452 B1 KR101812452 B1 KR 101812452B1 KR 1020170099846 A KR1020170099846 A KR 1020170099846A KR 20170099846 A KR20170099846 A KR 20170099846A KR 101812452 B1 KR101812452 B1 KR 101812452B1
Authority
KR
South Korea
Prior art keywords
query
plan
execution
jobs
performance
Prior art date
Application number
KR1020170099846A
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 KR1020170099846A priority Critical patent/KR101812452B1/ko
Application granted granted Critical
Publication of KR101812452B1 publication Critical patent/KR101812452B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F17/30979
    • 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/2455Query execution
    • G06F17/30477

Landscapes

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

Abstract

본 발명은 질의 처리 수행 방법 및 이를 이용하는 장치에 관한 것으로서, 본 발명에 따른 질의 처리 수행 방법은, 데이터에 대한 질의를 수신하는 단계, 질의를 처리하기 위한 복수의 수행 계획을 생성하는 단계, 복수의 수행 계획 중 잡(job)의 수가 최소인 수행 계획을 선택하는 단계 및 잡의 수가 최소인 수행 계획에 따라 질의의 처리를 수행하는 단계를 포함함으로써, 질의 처리를 보다 효율적으로 수행할 수 있다.

Description

클라우드 서비스에서의 질의 처리 수행 방법 및 이를 이용하는 장치 {METHOD FOR EXECUTING PROCESSING OF QUERIES IN CLOUD SERVICES AND APPARATUS USING THE SAME}
본 발명은 질의 처리 수행 방법 및 이를 이용하는 장치에 관한 것으로서, 보다 상세하게는 가장 적은 비용이 소모되는 수행 계획을 선택하는 질의 처리 수행 방법 및 이를 이용하는 장치에 관한 것이다.
최근 클라우스 서비스를 이용한 각종 컨텐츠의 사용이 이루어지고 있다. 클라우스 서비스란 사진, 문서, 동영상 등 각종 컨텐츠를 개인 PC가 아닌 클라우스 서버에 저장한 뒤 인터넷으로 클라우스 서버에 접속하여 노트북, 스마트폰 등 다양한 기기로 이용할 수 있는 서비스를 의미할 수 있다. 사용자는 인터넷에 접속하기만 하면 저장한 소프트웨어 및 데이터를 클라우스 서비스를 통하여 이용할 수 있다.
나아가 클라우드에 존재하는 데이터의 양이 증가함에 따라 빅데이터 환경이 형성되고 있다. 데이터에 대한 질의는 빅데이터에 대한 질의로 발전함에 따라 질의를 효율적으로 처리하기 어려운 문제점이 존재한다. 질의를 구성하는 세부 질의의 다양성은 커지고, 질의를 수행하기 위한 방법의 유형은 증가되고 있다.
질의의 처리를 수행하는데 소요되는 시간 및 비용은 질의를 처리하는 수행 계획이 포함하는 잡(job)의 수가 줄어들수록 감소될 수 있다. 그러나, 기존의 질의 처리 수행 방법은 하나의 잡에서 하나의 조인(join)만을 수행할 수 있으므로, 질의의 처리를 수행하는데 소요되는 시간 및 자원 사용량을 줄이지 못하는 문제점이 존재한다.
이에 본 발명이 해결하고자 하는 과제는 잡의 수가 최소인 수행 계획을 선택하여 질의 응답 수행 시간을 최소화할 수 있는 질의 처리 수행 방법 및 이를 이용하는 장치를 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 과제는 하나의 잡에서 복수의 조인을 동시에 수행하여 질의 처리 수행 시간을 최소화할 수 있는 질의 처리 수행 방법 및 이를 이용하는 장치를 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 질의 처리 수행 방법은, 데이터에 대한 질의를 수신하는 단계, 질의를 처리하기 위한 복수의 수행 계획을 생성하는 단계, 복수의 수행 계획 중 잡(job)의 수가 최소인 수행 계획을 선택하는 단계 및 잡의 수가 최소인 수행 계획에 따라 질의의 처리를 수행하는 단계를 포함한다.
본 발명의 다른 특징에 따르면, 질의는, 시공간 데이터에 대한 질의일 수 있다.
본 발명의 또 다른 특징에 따르면, 수행 계획은, 수행 계획을 구성하는 각각의 잡에서 복수의 조인(join)이 동시에 수행될 수 있다.
본 발명의 또 다른 특징에 따르면, 잡의 수가 최소인 수행 계획을 선택하는 단계는, 잡이 포함하는 복수의 조인 중에서 변수 중 하나인 제1 변수가 포함된 조인에 대해서, 조인에 포함된 제1 변수를 제외한 나머지 변수의 수를 계산하는 단계 및 나머지 변수의 수가 가장 적은 조인을 우선적으로 수행하는 수행 계획을 선택하는 단계를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 잡의 수가 최소인 수행 계획을 선택하는 단계 후, 질의의 처리를 수행하는 단계 전, 잡의 수가 최소인 수행 계획이 복수인 경우, 잡의 수가 최소인 수행 계획 중 우선순위 규칙에 따라 최적 수행 계획을 선택하는 단계를 더 포함하며, 질의의 처리를 수행하는 단계는, 최적 수행 계획에 따라 질의의 처리를 수행하는 단계일 수 있다.
본 발명의 또 다른 특징에 따르면, 최적 수행 계획을 선택하는 단계는, 조인을 구성하는 세부 질의의 수 및 변수의 수 중 적어도 하나를 기초로 수행될 수 있다.
본 발명의 또 다른 특징에 따르면, 우선순위 규칙에 따라 최적 수행 계획을 선택하는 단계는, 데이터에 대한 통계 데이터를 기초로 수행될 수 있다.
본 발명의 또 다른 특징에 따르면, 통계 데이터는, 질의를 구성하는 세부 질의의 목적어, 세부 질의의 주어, 데이터의 종류 , 데이터의 그룹화된 정도, 데이터가 분산 저장되는 노드의 수 및 데이터가 분산 저장되는 블록의 수 중 하나 이상에 대한 통계 데이터를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 우선순위 규칙에 따라 최적 수행 계획을 선택하는 단계는, 잡의 수가 최소인 수행 계획 중 수행 계획의 소요시간 또는 자원 사용량이 적은 수행 계획을 선택하는 단계를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 우선순위 규칙에 따라 최적 수행 계획을 선택하는 단계는, 질의를 구성하는 세부 질의 중, 시공간 연산자가 포함된 세부 질의, 정렬되어 있는 세부 질의, 데이터의 종류의 개수가 적은 세부 질의, 데이터의 그룹화된 정도가 큰 세부 질의 및 변수의 수가 적은 세부 질의 중 어느 하나의 세부 질의에 높은 우선순위를 부여하는 단계를 더 포함할 수 있다.
질의 처리 수행 장치는, 데이터에 대한 질의를 수신하도록 구성된 통신부, 질의를 처리하기 위한 복수의 수행 계획을 생성하고, 복수의 수행 계획 중 잡의 수가 최소인 수행 계획을 선택하고, 수행 계획에 따라 질의의 처리를 수행하도록 구성된 제어부를 포함한다.
본 발명의 다른 특징에 따르면, 질의는, 시공간 데이터에 대한 질의일 수 있다.
본 발명의 또 다른 특징에 따르면, 수행 계획은, 수행 계획을 구성하는 각각의 잡에서 복수의 조인을 동시에 수행할 수 있다.
본 발명의 또 다른 특징에 따르면, 제어부는, 잡의 수가 최소인 수행 계획을 선택할 때, 잡이 포함하는 복수의 조인 중에서 변수 중 하나인 제1 변수가 포함된 조인에 대해서, 조인에 포함된 제1 변수를 제외한 나머지 변수의 수를 계산하고, 나머지 변수의 수가 가장 적은 조인을 우선적으로 수행하는 수행 계획을 선택하도록 더 구성될 수 있다.
본 발명의 또 다른 특징에 따르면, 제어부는, 복수의 수행 계획 중 잡의 수가 최소인 수행 계획을 선택한 후, 수행 계획에 따라 질의의 처리를 수행하기 전, 잡의 수가 최소인 수행 계획이 복수인 경우, 잡의 수가 최소인 수행 계획 중 우선순위 규칙에 따라 최적 수행 계획을 선택하도록 더 구성되며, 수행 계획에 따라 질의의 처리를 수행할 때, 최적 수행 계획에 따라 질의의 처리를 수행하도록 더 구성될 수 있다.
본 발명의 또 다른 특징에 따르면, 제어부는, 최적 수행 계획을 선택할 때, 조인를 구성하는 세부 질의의 수 및 변수의 수를 기초로 수행할 수 있다.
본 발명의 또 다른 특징에 따르면, 제어부는, 우선순위 규칙에 따라 최적 수행 계획을 선택할 때, 데이터에 대한 통계 데이터를 기초로 수행하도록 더 구성되며, 통계 데이터는, 질의를 구성하는 세부 질의의 목적어, 세부 질의의 주어, 데이터의 분포도, 데이터가 분산 저장되는 노드의 수 중 하나 이상에 대한 통계 데이터를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 제어부는, 우선순위 규칙에 따라 최적 수행 계획을 선택할 때, 잡의 수가 최소인 수행 계획 중 계획의 소요시간 또는 자원 사용량이 적은 수행 계획을 선택하도록 더 구성될 수 있다.
본 발명의 또 다른 특징에 따르면, 제어부는, 우선순위 규칙에 따라 최적 수행 계획을 선택할 때, 질의를 구성하는 세부 질의 중, 시공간 연산자가 포함된 세부 질의, 정렬되어 있는 세부 질의, 분포도가 좁은 세부 질의, 변수의 수가 적은 세부 질의 중 어느 하나의 세부 질의에 높은 우선순위를 부여하도록 더 구성될 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
본 발명은 잡의 수가 최소인 수행 계획에 따라 질의 처리를 수행함으로써, 질의를 처리하는데 소요되는 시간 및 필요한 자원을 감소시킬 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 질의 처리 수행 장치와 사용자 디바이스의 관계를 설명하기 위한 개략도이다.
도 2는 본 발명의 일 실시예에 따른 질의 처리 수행 장치의 개략적인 구성을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 질의 처리 수행 방법을 설명하기 위한 순서도이다.
도 4a 내지 도 4d는 일 실시예에 따른 질의 처리 수행 방법을 설명하기 위한 개략도이다.
도 5는 본 발명의 다른 실시예에 따른 질의 처리 수행 방법을 설명하기 위한 순서도이다.
도 6a 내지 도 6d는 본 발명의 다른 실시예에 따른 질의 처리 수행 방법을 설명하기 위한 개략도이다.
도 7a 내지 도 7c는 시공간 데이터에 대한 질의에 따른 질의의 처리 수행 시간에 대한 그래프이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 본 명세서 상에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우 '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성 요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.
구성 요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않는다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 질의 처리 수행 장치와 사용자 디바이스의 관계를 설명하기 위한 개략도이다.
도 1을 참조하면, 질의 처리 수행 장치(100)는 수신한 데이터에 대한 질의의 처리를 수행하기 위한 수행 계획을 생성하고, 수행 계획에 따라 질의의 처리를 수행하는 장치이다. 질의는 복수개의 세부 질의를 포함할 수 있는 데이터에 대한 질의를 의미하며, 수행 계획은 복수개의 세부 질의의 처리를 수행하는 순서에 대한 계획을 의미한다. 질의 처리 수행 장치(100)는 질의의 처리를 수행하기 위하여 복수개의 수행 계획을 생성할 수 있고, 복수개의 수행 계획 중 질의의 처리를 수행하는 데에 소모되는 비용이 가장 적은 수행 계획을 선택하여 질의의 처리를 수행할 수 있다.
사용자 디바이스(200)는 질의 처리 수행 장치(100)에 질의를 송신하고, 질의의 처리 수행 결과를 수신하는 장치이다. 즉, 질의 처리 수행 장치(100)는 사용자 디바이스(200)로부터 질의를 수신할 수 있고, 질의의 처리를 수행할 수 있다. 또한 사용자 디바이스(200)는 질의 처리 수행 장치(100)가 생성한 질의 수행 결과를 수신할 수 있다. 이때, 사용자 디바이스(200)는 질의 처리 수행 장치(100)와 유선 또는 무선으로 통신할 수 있다. 사용자 디바이스(200)는 도 1에 도시된 바와 같이 데스크탑일 수 있으나, 이에 제한되지 않는 다양한 컴퓨팅 장치일 수 있다.
도 2는 본 발명의 일 실시예에 따른 질의 처리 수행 장치의 개략적인 구성을 도시한 블록도이다.
도 2를 참조하면, 질의 처리 수행 장치(100)는 통신부(110) 및 제어부(120)를 포함할 수 있다.
질의 처리 수행 장치(100)의 통신부(110)는 질의 처리 수행 장치(100)와 외부 기기 사이에서 정보를 송신하거나 수신할 수 있다. 구체적으로, 통신부(110)는 사용자 디바이스(200)로부터 데이터에 대한 질의를 수신할 수 있다. 또한, 통신부(110)는 사용자 디바이스(200)에게 질의의 처리를 수행한 결과를 송신할 수 있다.
질의 처리 수행 장치(100)의 제어부(120)는 질의 처리 수행 장치(100)에서 다양한 기능을 수행할 수 있다. 구체적으로, 제어부(120)는 통신부(110)로부터 질의에 대한 정보를 전달받을 수 있고, 질의를 처리하기 위한 복수의 수행 계획을 생성하고, 복수의 수행 계획 중 잡(job)의 수가 최소인 수행 계획을 선택할 수 있다. 잡이란 질의가 포함하는 복수의 세부 질의 중 일부 세부 질의의 처리의 수행을 의미한다. 즉, 복수의 세부 질의는 모두 동시에 처리되지 않을 수 있으며, 복수의 세부 질의 중 적어도 하나의 세부 질의는 하나의 잡으로 동시에 처리될 수 있다. 따라서, 질의의 처리의 수행 계획은 복수의 잡을 포함할 수 있다. 제어부(120)는 잡의 수가 최소인 수행 계획에 따라 질의의 처리를 수행할 수 있다. 또한, 제어부(120)는 잡의 수가 최소인 수행 계획을 선택할 때, 질의를 구성하는 세부 질의의 수 및 변수의 수를 기초로 잡의 수가 최소인 수행 계획을 선택할 수 있다. 이때, 변수란 세부 질의가 포함하는 변수를 의미한다. 제어부(120)는 잡의 수가 최소인 수행 계획이 복수인 경우, 우선순위 규칙에 따라 최적 수행 계획을 선택할 수 있고, 최적 수행 계획에 따라 질의의 처리를 수행할 수 있다. 이때, 최적 수행 계획이란, 잡의 수가 최소인 수행 계획이 복수인 경우, 복수의 잡의 수가 최소인 수행 계획 중 질의의 처리를 수행하는데 소모되는 비용이 가장 적은 수행 계획을 의미한다. 즉, 제어부(120)는 우선순위 규직에 따라 최적 수행 계획을 선택할 때, 잡의 수가 최소인 수행 계획 중 계획의 소요시간 또는 자원 사용량이 적은 수행 계획을 선택할 수 있다.
질의 처리 수행 장치(100)의 구성은 이에 제한되지 않으며, 질의 처리 수행 장치(100)의 기능을 수행하기 위해 필요한 다른 구성들, 예를 들어, 저장부, 메모리, 인터페이스 장치, 입력부, 출력부가 추가적으로 포함될 수 있다.
또한, 질의 처리 수행 장치(100)의 통신부(110) 및 제어부(120)는 데이터 및 신호를 서로 교환할 수 있다. 즉, 질의 처리 수행 장치(100)의 각각의 구성 요소는 다른 구성 요소로부터 데이터 및 신호를 전달 받을 수 있으며, 이를 처리한 결과 데이터 및 신호를 다른 구성 요소로 전달할 수 있다. 구체적으로, 통신부(110)는 사용자 디바이스(200)로부터 수신한 질의를 제어부(120)로 전달할 수 있다. 또한, 제어부(120)는 질의의 처리를 수행한 결과를 통신부(110)로 전달할 수 있다. 질의 처리 수행 장치(100)의 각 구성 요소의 데이터 및 신호의 교환은 이에 제한되지 않으며, 필요에 따라 다양한 방법으로 교환이 이루어질 수 있다.
도 3은 본 발명의 일 실시예에 따른 질의 처리 수행 방법을 설명하기 위한 순서도이다. 도 4a 내지 도 4d는 일 실시예에 따른 질의 처리 수행 방법을 설명하기 위한 개략도이다. 설명의 편의를 위해 도 1 내지 도 2를 참조하여 설명한다.
먼저, 질의 처리 수행 장치(100)는 데이터에 대한 질의를 수신한다(S100). 질의 처리 수행 장치(100)의 통신부(110)는 사용자 디바이스(200)로부터 데이터에 대한 질의를 수신할 수 있다. 데이터에 대한 질의는 시공간 데이터에 대한 질의일 수 있다. 시공간 데이터에 대한 질의는 시간 및 공간 정보가 포함된 질의로서, 시간 데이터 및 공간 데이터를 포함할 수 있다. 통신부(110)는 데이터에 대한 질의를 제어부(120)에 전달할 수 있다.
도 4a를 참조하면, 질의 처리 수행 장치(100)는 사용자 디바이스(200)로부터 도 4a에 도시된 것과 같은 시공간 데이터에 대한 질의를 수신할 수 있다. 구체적으로, 도시된 시공간 데이터에 대한 질의는 a1에서 a7까지의 7개의 복수의 세부 질의를 포함할 수 있다. 세부 질의는 복수의 변수를 포함할 수 있다. 예를 들면, 세부 질의 a1은 변수 X를 포함하고, 세부 질의 a2는 변수 Z를 포함하며, 세부 질의 a3는 변수 V를 포함할 수 있다. 또한, 세부 질의 a4는 변수 X 및 변수 Y를 포함하고, 세부 질의 a5는 변수 Y 및 변수 Z를 포함하며, 세부 질의 a6는 변수 Y 및 변수 W를 포함하며, 세부 질의 a7은 변수 W 및 변수 V를 포함할 수 있다.
이어서, 질의 처리 수행 장치(100)는 질의를 처리하기 위한 복수의 수행 계획을 생성한다(S110). 구체적으로, 질의 처리 수행 장치(100)의 제어부(120)는 질의를 처리하기 위한 복수의 수행 계획을 생성할 수 있다. 수행 계획이란 질의의 처리를 수행하기 위한 계획을 의미한다. 수행 계획은 질의가 포함하는 복수의 세부 질의의 처리를 수행하는 순서에 대한 계획을 의미할 수 있다. 예를 들면, 제어부(120)는 a1 내지 a7의 7개의 세부 질의의 처리를 수행하는 순서를 결정하여 수행 계획을 생성할 수 있다.
도 4b 내지 도 4d를 참조하면, 제어부(120)가 생성한 복수의 수행 계획을 확인할 수 있다. 제어부(120)는 도 4b 내지 도 4d 각각에 도시된 각각 상이한 3개의 수행 계획을 생성할 수 있으며, 즉, 도 4b에 대응하는 제1 수행 계획, 도 4c에 대응하는 제2 수행 계획 및 도 4d에 대응하는 제3 수행 계획을 생성할 수 있다.
도 4b를 참조하면, 제어부(120)는 제1 수행 계획을 생성할 수 있다. 제1 수행 계획은 잡 1, 잡 2 및 잡 3의 3개의 잡을 포함할 수 있다. 잡은 복수의 세부 질의 중 일부 세부 질의의 처리의 수행을 의미한다. 이때, 잡은 복수의 조인을 포함할 수 있다. 조인이란, 동일한 변수를 포함하는 복수의 세부 질의를 동일한 변수를 기준으로 수행하는 것을 의미한다. 예를 들면, 제1 수행 계획의 잡 1은 조인 1, 조인 2 및 조인 3을 포함할 수 있다. 조인 1은 변수 X를 기준으로 세부 질의 a1 및 세부 질의 a4를 함께 수행할 수 있다. 즉, 세부 질의 a1 및 세부 질의 a4는 동일한 변수로서 변수 X를 포함하기에 하나의 조인인 조인 1로 수행될 수 있다. 이와 같이, 조인 2는 변수 Z를 기준으로 세부 질의 a2 및 세부 질의 a5를 함께 수행하며, 조인 3은 변수 V를 기준으로 세부 질의 a3 및 세부 질의 a7을 함께 수행할 수 있다. 이어서, 제1 수행 계획의 잡 2는 잡 1의 결과를 기초로 수행될 수 있다. 즉, 잡 2는 잡 1이 포함하는 조인 1 및 조인 2의 결과를 기초로 수행될 수 있다. 잡 2는 조인 4를 포함할 수 있으며, 조인 4는 변수 Y를 기초로 조인 1의 결과, 조인 2의 결과 및 세부 질의 a6를 함께 수행할 수 있다. 조인 1의 결과, 조인 2의 결과 및 세부 질의 a6는 변수 Y를 모두 포함하기에 조인 4에서 변수 Y를 기준으로 함께 수행될 수 있다. 이어서, 제1 수행 계획의 잡 3은 잡 1 및 잡 2의 결과를 기초로 수행될 수 있다. 즉, 잡 3은 잡 1이 포함하는 조인 3의 결과 및 잡 2가 포함하는 조인 4의 결과를 기초로 수행될 수 있다. 잡 3은 조인 5를 포함할 수 있으며, 조인 5는 변수 W를 기초로 조인 4의 결과 및 조인 3의 결과를 함께 수행할 수 있다.
이때, 제어부(120)는 잡에서 복수의 조인을 동시에 수행할 수 있다. 구체적으로, 수행 계획은 복수의 잡을 포함할 수 있으며, 복수의 잡 각각은 복수의 조인을 포함할 수 있다. 잡을 수행함에 있어, 제어부(120)는 잡이 포함하는 복수의 조인 각각을 하나의 조인씩 순서대로 수행하는 것이 아니라, 하나의 잡이 포함하는 복수의 조인 모두를 동시에 수행할 수 있다. 즉, 하나의 잡에 포함된 복수의 조인은 동시에 수행될 수 있다. 예를 들면, 도 4b에 도시된 제1 수행 계획의 경우, 잡 1이 포함하는 조인 1, 조인 2 및 조인 3은 동시에 수행될 수 있다. 본 발명의 일 실시예에 따른 질의 처리 수행 방법 및 이를 수행하는 장치는, 하나의 잡이 포함하는 복수의 조인을 동시에 수행함으로써, 질의의 처리를 수행하는데 소요되는 시간을 줄일 수 있다. 구체적으로, 복수의 잡이 수행됨에 있어, 상위 잡은 하위 잡을 수행한 결과를 기초로 수행될 수 있다. 예를 들면, 제1 수행 계획에 있어, 상위 잡인 잡 2는 하위 잡인 잡 1을 수행한 결과를 기초로 수행될 수 있다. 즉, 잡 2의 조인 4는 잡 1의 조인 1 및 조인 2를 수행한 결과를 기초로 수행될 수 있다. 따라서, 하위 잡에 포함된 복수의 조인을 모두 수행한 경우에만 상위 잡을 수행할 수 있다. 하위 잡이 복수의 조인을 포함하는 경우, 복수의 조인 각각을 순서대로 수행하는데 소요되는 시간은 복수의 조인 모두를 동시에 수행하는데 소요되는 시간보다 길 수 있다. 따라서, 하나의 잡에 포함된 복수의 조인을 동시에 수행하는 경우, 전체 질의의 처리를 수행하는데 소요되는 시간은 감소할 수 있다. 따라서, 본 발명의 일 실시예에 따른 질의 처리 수행 방법 및 이를 이용하는 장치(100)는 수행 계획을 구성하는 각각의 잡에서 복수의 조인을 동시에 수행함으로써, 질의의 처리를 수행하는데 소요되는 시간을 줄일 수 있고, 이에, 질의의 처리를 보다 효율적으로 수행할 수 있는 효과가 있다.
도 4c를 참조하면, 제어부(120)는 제2 수행 계획을 생성할 수 있다. 제2 수행 계획은 잡 1, 잡 2 및 잡 3의 3개의 잡을 포함할 수 있다. 구체적으로, 제2 수행 계획의 잡 1은 조인 1을 포함할 수 있다. 조인 1은 변수 Y 및 변수 W를 기준으로 세부 질의 a4, 세부 질의 a5, 세부 질의 a6, 세부 질의 a7을 함께 수행할 수 있다. 이어서, 제2 수행 계획의 잡 2는 잡 1의 결과를 기초로 수행될 수 있다. 잡 2는 조인 2를 포함할 수 있으며, 조인 2는 변수 X 및 변수 Z를 기초로 조인 1의 결과, 세부 질의 a1 및 세부 질의 a2를 함께 수행할 수 있다. 조인 1의 결과, 세부 질의 a1 및 세부 질의 a2는 변수 X 및 변수 Z를 모두 포함하기에 조인 2에서 변수 X 및 변수 Z를 기준으로 함께 수행될 수 있다. 이어서, 제2 수행 계획의 잡 3은 잡 2의 결과를 기초로 수행될 수 있다. 즉, 잡 3은 잡 2가 포함하는 조인 2의 결과를 기초로 수행될 수 있다. 잡 3은 조인 3를 포함할 수 있으며, 조인 3는 변수 V를 기초로 조인 2의 결과 및 세부 질의 a3을 함께 수행할 수 있다.
도 4d를 참조하면, 제어부(120)는 제3 수행 계획을 생성할 수 있다. 제3 수행 계획은 잡 1 및 잡 2를 포함할 수 있다. 구체적으로, 제3 수행 계획은 잡 1은 조인 1, 조인 2 및 조인 3을 포함할 수 있다. 조인 1은 변수 X를 기준으로 세부 질의 a1 및 세부 질의 a4를 함께 수행할 수 있다. 또한, 조인 2은 변수 Z를 기준으로 세부 질의 a2 및 세부 질의 a5를 함께 수행할 수 있다. 그리고, 조인 3은 변수 V 및 변수 W를 기준으로 세부 질의 a3, 세부 질의 a6 및 세부 질의 a7를 함께 수행할 수 있다. 이어서, 제3 수행 계획의 잡 2는 잡 1의 결과를 기초로 수행될 수 있다. 잡 2는 조인 4를 포함할 수 있으며, 조인 4는 변수 Y를 기준으로 조인 1의 결과, 조인 2의 결과 및 조인 3의 결과를 함께 수행할 수 있다.
도 4b 내지 도 4d에 도시된 제1 수행 계획 내지 제3 수행 계획은 모두 도 4a에 도시된 동일한 시공간 데이터에 대한 질의의 처리를 수행하기 위한 수행 계획일 수 있다. 도 4a에 도시된 질의의 처리를 수행하기 위한 수행 계획은 제1 수행 계획 내지 제3 수행 계획에 제한되지 않으며, 질의 처리 수행 장치(100)는 제1 수행 계획 내지 제3 수행 계획과 상이한 다양한 다른 수행 계획을 생성할 수도 있다.
이어서, 질의 처리 수행 장치(100)는 복수의 수행 계획 중 잡의 수가 최소인 수행 계획을 선택한다(S120). 구체적으로, 질의 처리 수행 장치(100)의 제어부(120)는 생성한 복수의 수행 계획 중 잡의 수가 최소인 수행 계획을 선택할 수 있다. 각각의 수행 계획은 복수의 잡을 포함할 수 있으며, 각각의 수행 계획이 포함하는 잡의 수는 상이할 수 있다. 예를 들면, 제1 수행 계획의 경우, 잡 1, 잡 2 및 잡 3을 포함하는 바, 잡의 수는 3개 이다. 또한, 제2 수행 계획의 경우, 잡 1, 잡 2 및 잡 3을 포함하는 바, 잡의 수는 3개 이다. 그리고, 제3 수행 계획의 경우, 잡 1 및 잡 2를 포함하는 바, 잡의 수는 2개 이다. 제1 수행 계획 내지 제3 수행 계획 중 잡의 수가 최소인 수행 계획은 잡의 수가 2개인 제2 수행 계획이다. 따라서, 질의 처리 수행 장치(100)는 복수의 수행 계획 중 잡의 수가 최소인 제3 수행 계획을 선택할 수 있다.
이때, 제어부(120)는 잡의 수가 최소인 수행 계획을 선택함에 있어, 조인이 포함하는 변수의 수에 기초하여 잡의 수가 최소인 수행 계획을 선택할 수 있다. 구체적으로, 변수 중 하나인 제1 변수를 포함하는 조인에 있어, 조인이 포함하는 변수 중 제1 변수를 제외한 나머지 변수의 수에 따라 잡의 수가 최소인 수행 계획이 선택될 수 있다. 구체적으로, 질의 처리 수행 장치(100)는 제1 변수가 포함된 조인에 대해서, 조인에 포함된 제1 변수를 제외한 나머지 변수의 수를 계산할 수 있다. 질의 처리 수행 장치(100)는 잡의 수가 최소인 수행 계획을 선택함에 있어, 계산된 나머지 변수의 수가 가장 적은 조인을 우선적으로 수행하는 수행 계획을 선택할 수 있다. 질의 처리 수행 장치(100)는 생성한 수행 계획의 잡의 수를 계산하는데 많은 시간을 소모할 수 있다. 따라서, 질의 처리 수행 장치(100)는 잡의 수가 최소인 수행 계획을 선택할 때, 잡의 수를 계산하지 않고 계산된 나머지 변수의 수가 가장 적은 조인을 우선적으로 수행하는 수행 계획을 잡의 수가 최소인 수행 계획으로 선택할 수 있다. 예를 들면, 도 4c에 도시된 제2 수행 계획의 잡 1에 포함된 조인 1은 변수 X 및 변수 W를 기준으로 세부 질의의 처리를 수행한다. 또한, 도 4d에 도시된 제3 수행 계획의 잡 1에 포함된 조인 3은 변수 X 및 변수 W를 기준으로 세부 질의의 처리를 수행한다. 이때, 제어부(120)는 제2 수행 계획의 조인 1 및 제3 수행 계획의 조인 3에 대하여 변수 X 및 변수 W를 제외한 나머지 변수의 수를 계산할 수 있다. 제2 수행 계획의 조인 1에 포함된 변수 X 및 변수 W를 제외한 나머지 변수는 변수 X, 변수 Z 및 변수 V이다. 제3 수행 계획의 조인 3에 포함된 변수 X 및 변수 W를 제외한 나머지 변수는 변수 Y이다. 따라서, 제어부(120)는 제2 수행 계획의 조인 1에 포함된 변수 X 및 변수 W를 제외한 나머지 변수의 수를 3이라고 계산하고, 제3 수행 계획의 조인 3에 포함된 변수 X 및 변수 W를 제외한 나머지 변수의 수를 1이라고 계산할 수 있다. 이에, 질의 처리 수행 장치(100)는 나머지 변수의 수가 1로 더 적은 도 4d에 도시된 제3 수행 계획은 잡의 수가 최소인 수행 계획으로 선택할 수 있다. 따라서, 질의 처리 수행 장치(100)는 잡의 수가 최소인 수행 계획을 선택함에 있어, 계산된 나머지 변수의 수가 가장 적은 조인을 우선적으로 수행하는 수행 계획을 선택할 수 있고, 이에, 잡의 수를 계산하지 않고도 잡의 수가 최소인 수행 계획을 선택할 수 있다.
이어서, 질의 처리 수행 장치(100)는 잡의 수가 최소인 수행 계획에 따라 질의의 처리를 수행한다(S130). 구체적으로, 질의 처리 수행 장치(100)의 제어부(120)는 선택된 잡의 수가 최소인 수행 계획에 따라 질의의 처리를 수행할 수 있다. 예를 들면, 제어부(120)는 잡의 수가 최소인 수행 계획으로 도 4d에 도시된 제3 수행 계획을 선택할 수 있다. 따라서, 제어부(120)는 제3 수행 계획으로 도 4a에 도시된 질의의 처리를 수행할 수 있다. 제어부(120)는 제3 수행 계획으로 수행한 질의에 대한 결과를 생성할 수 있으며, 통신부(110)로 질의의 처리를 수행한 결과를 전달할 수 있다. 이에, 통신부(110)는 사용자 디바이스(200)로 질의의 처리를 수행한 결과를 송신할 수 있다.
본 발명의 일 실시예에 따른 질의 처리 수행 방법 및 이를 이용하는 장치(100)는 잡의 수가 최소인 질의 수행 계획을 선택하여 질의의 처리를 수행함으로써, 질의의 처리를 수행하는 성능을 향상시킬 수 있다. 구체적으로, 질의 처리 수행 장치(100)는 복수의 수행 계획 중 잡의 수가 최소인 수행 계획을 선택하고, 잡의 수가 최소인 수행 계획에 따라 질의의 처리를 수행할 수 있다. 이때, 잡의 수는 질의 처리 성능에 큰 영향을 줄 수 있다. 즉, 잡의 수가 증가하는 경우, 질의를 처리하는데 소요되는 시간 및 비용은 증가될 수 있다. 따라서, 질의 수행 계획에 포함된 잡의 수는 질의 처리 성능을 좌우할 수 있다. 또한, 조인에 의하여 복수의 세부 질의의 처리를 수행하는 경우, 조인을 수행한 결과는 다음 조인을 수행하기 위해 노드를 통하여 전달될 수 있다. 이때, 조인을 수행한 결과인 중간 결과를 전달하는 과정에서 네트워크 트래픽이 발생할 수 있다. 이러한 네트워크 트래픽은 빅데이터를 처리하는 질의에서 더욱 증가할 수 있다. 따라서, 조인을 수행한 결과인 중간 결과의 양이 줄어들 경우, 질의 처리 성능은 증가될 수 있다. 이때, 잡의 수가 최소인 수행 계획은, 수행 계획에 따라 질의의 처리를 수행하는 과정에서 생성되는 중간 결과의 양이 적을 수 있다. 즉, 수행 계획에 포함된 잡의 수가 증가할수록 수행 계획에 따라 질의의 처리를 수행하는 과정에서 생성되는 중간 결과의 양은 증가할 수 있고, 이에, 질의의 처리를 수행하는데 소요되는 시간은 증가될 수 있다. 따라서, 본 발명의 일 실시예에 따른 질의 처리 수행 방법 및 이를 이용하는 장치(100)는 복수의 수행 계획을 생성하고, 잡의 수가 최소인 수행 계획을 선택하여 이를 이용하여 질의의 처리를 수행함으로써, 잡의 수 및 조인을 수행한 중간 결과의 수를 줄일 수 있다. 따라서, 질의를 처리하는 과정에서 소요되는 시간 및 비용을 줄일 수 있고, 이에, 질의 처리 성능을 향상시킬 수 있다.
나아가, 질의 처리 수행 장치(100)는 하나의 잡에서 하나의 조인만을 수행하는 것이 아니라, 하나의 잡에서 복수의 조인을 동시에 수행함으로써, 질의 처리 성능을 더욱 개선할 수 있다. 하나의 잡에서 하나의 조인만을 수행하는 경우, 하나의 잡에서 복수의 조인을 동시에 수행하는 경우보다 질의의 처리를 수행하기 위한 전체 잡의 수는 증가할 수 있다. 따라서, 하나의 잡에서 하나의 조인만을 수행하는 경우, 질의의 처리를 수행하는데 소요되는 시간 및 비용은 증가될 수 있으며, 이에, 질의 처리 성능은 저하될 수 있다. 이와 달리, 본 발명의 일 실시예에 따른 질의 처리 수행 방법 및 이를 이용하는 장치(100)는 수행 계획을 구성하는 각각의 잡에서 복수의 조인을 동시에 수행함으로써, 질의 처리 성능을 개선할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 질의 처리 수행 방법을 설명하기 위한 순서도이다. 도 6a 내지 도 6d는 본 발명의 다른 실시예에 따른 질의 처리 수행 방법을 설명하기 위한 개략도이다. 설명의 편의를 위해 도 1 내지 도 6d를 참조하여 설명한다
먼저, 질의 처리 수행 장치(100)는 데이터에 대한 질의를 수신한다(S200). 질의 처리 수행 장치(100)가 데이터에 대한 질의를 수신하는 단계(S200)는 도 3에서 설명한 단계(S100)와 실질적으로 동일하다. 따라서, 중복되는 설명은 생략한다. 도 6a를 참조하면, 도시된 시공간 데이터에 대한 질의는 b1에서 b6까지의 6개의 복수의 세부 질의를 포함할 수 있다. 세부 질의는 복수의 변수를 포함할 수 있다. 예를 들면, 세부 질의 b1은 변수 X를 포함하고, 세부 질의 b2는 변수 Y를 포함하며, 세부 질의 b3는 변수 Z를 포함할 수 있다. 또한, 세부 질의 b4는 변수 X 및 변수 Y를 포함하고, 세부 질의 b5는 변수 Y 및 변수 Z를 포함하며, 세부 질의 b6는 변수 Z 를 포함할 수 있다.
이어서, 질의 처리 수행 장치(100)는 질의를 처리하기 위한 복수의 수행 계획을 생성한다(S210). 질의 처리 수행 장치(100)가 복수의 수행 계획을 생성하는 단계(S210)는 도 3에서 설명한 단계(S110)와 실질적으로 동일하다. 따라서, 중복되는 설명은 생략한다. 질의 처리 수행 장치(100)의 제어부(120)는 b1 내지 b6의 6개의 세부 질의의 처리를 수행하는 순서를 결정하여 수행 계획을 생성할 수 있다.
도 6b 내지 도 6d를 참조하면, 제어부(120)가 생성한 복수의 수행 계획을 확인할 수 있다. 제어부(120)는 도 6b 내지 도 6d 각각에 도시된 각각 상이한 3개의 수행 계획을 생성할 수 있으며, 즉, 도 6b에 대응하는 제1 수행 계획, 도 6c에 대응하는 제2 수행 계획 및 도 6d에 대응하는 제3 수행 계획을 생성할 수 있다.
도 6b를 참조하면, 제어부(120)는 제1 수행 계획을 생성할 수 있다. 제1 수행 계획은 잡 1 및 잡 2의 2개의 잡을 포함할 수 있다. 제1 수행 계획의 잡 1은 조인 1 및 조인 2를 포함할 수 있다. 조인 1은 변수 X를 기준으로 세부 질의 b1 및 세부 질의 b4의 처리를 함께 수행할 수 있다. 조인 2는 변수 Z를 기준으로 세부 질의 b3, 세부 질의 b5 및 세부 질의 b6의 처리를 함께 수행할 수 있다. 이어서, 제1 수행 계획의 잡 2는 잡 1의 결과를 기초로 수행될 수 있다. 즉, 잡 2는 잡 1이 포함하는 조인 1 및 조인 2의 결과를 기초로 수행될 수 있다. 잡 2는 조인 3을 포함할 수 있으며, 조인 3은 변수 Y를 기초로 조인 1의 결과, 조인 2의 결과 및 세부 질의 b2의 처리를 함께 수행할 수 있다.
도 6c를 참조하면, 제어부(120)는 제2 수행 계획을 생성할 수 있다. 제2 수행 계획은 잡 1 및 잡 2의 2개의 잡을 포함할 수 있다. 제2 수행 계획의 잡 1은 조인 1을 포함할 수 있다. 조인 1은 변수 X 및 변수 Y를 기준으로 세부 질의 b1, 세부 질의 b2, 세부 질의 b4 및 세부 질의 b5를 함께 수행할 수 있다. 이어서, 제2 수행 계획의 잡 2는 잡 1의 결과를 기초로 수행될 수 있다. 즉, 잡 2는 잡 1이 포함하는 조인 1의 결과를 기초로 수행될 수 있다. 잡 2는 조인 2을 포함할 수 있으며, 조인 2은 변수 Z를 기초로 조인 1의 결과, 세부 질의 b3 및 세부 질의 b6의 처리를 함께 수행할 수 있다.
도 6d를 참조하면, 제어부(120)는 제3 수행 계획을 생성할 수 있다. 제3 수행 계획은 잡 1 및 잡 2의 2개의 잡을 포함할 수 있다. 제3 수행 계획의 잡 1은 조인 1을 포함할 수 있다. 조인 1은 변수 Y 및 변수 Z를 기준으로 세부 질의 b2, 세부 질의 b3, 세부 질의 b4, 세부 질의 b5 및 세부 질의 b6의 처리를 함께 수행할 수 있다. 이어서, 제3 수행 계획의 잡 2는 잡 1의 결과를 기초로 수행될 수 있다. 즉, 잡 2는 잡 1이 포함하는 조인 1의 결과를 기초로 수행될 수 있다. 잡 2는 조인 2을 포함할 수 있으며, 조인 2은 변수 X를 기초로 조인 1의 결과 및 세부 질의 b1의 처리를 함께 수행할 수 있다.
이어서, 질의 처리 수행 장치(100)는 복수의 수행 계획 중 잡의 수가 최소인 수행 계획을 선택한다(S220). 질의 처리 수행 장치(100)가 잡의 수가 최소인 수행 계획을 선택하는 단계(S220)는 도 3에 도시된 단계(S120)와 실질적으로 동일하다. 따라서, 중복되는 설명은 생략한다. 질의 처리 수행 장치(100)의 제어부(120)는 잡의 수가 최소인 수행 계획으로서 제1 수행 계획, 제2 수행 계획 및 제3 수행 계획을 선택할 수 있다. 제1 수행 계획의 잡의 수, 제2 수행 계획의 잡의 수 및 제3 수행 계획의 잡의 수는 모두 2개이기 때문에, 제어부(120)는 잡의 수가 최소인 수행 계획으로서 생성한 모든 수행 계획을 선택할 수 있다. 이와 달리, 도 3 내지 도 4d에서 설명한 바와 같이, 잡의 수가 최소인 수행 계획이 단수인 경우, 제어부(120)는 하나의 수행 계획만을 잡의 수가 최소인 수행 계획으로 선택할 수 있다.
이어서, 질의 처리 수행 장치(100)는 잡의 수가 최소인 수행 계획이 단수인지 선택한다(S230). 즉, 질의 처리 수행 장치(100)의 제어부(120)는 잡 수가 최소인 수행 계획의 수를 계산할 수 있으며, 잡의 수가 최소인 수행 계획이 단수인지 복수인지를 결정할 수 있다.
이어서, 잡의 수가 최소인 수행 계획이 단수인 경우, 질의 처리 수행 장치(100)는 잡의 수가 최소인 수행 계획에 따라 질의의 처리를 수행한다(S240). 질의 처리 수행 장치(100)가 잡의 수가 최소인 수행 계획에 따라 질의의 처리를 수행하는 단계는 도 3에서 설명한 단계(S130)와 실질적으로 동일하다. 따라서, 중복되는 설명은 생략한다. 도 6a 내지 도 6d의 경우, 잡의 수가 최소인 수행 계획인 복수인 경우이기 때문에, 해당되는 단계(S240)는 수행되지 않는다.
한편, 잡의 수가 최소인 수행 계획이 복수인 경우, 질의 처리 수행 장치(100)는 잡의 수가 최소인 수행 계획 중 우선순위 규칙에 따라 최적 수행 계획을 선택한다(S250). 이어서, 질의 처리 수행 장치(100)는 최적 수행 계획에 따라 질의의 처리를 수행한다(S260). 도 4b 내지 도 4d에서 복수의 수행 계획과 달리, 도 6b 내지 도 6d에서 복수의 수행 계획의 경우, 잡의 수가 최소인 수행 계획은 복수개이다. 이 경우, 질의 처리 수행 장치(100)의 제어부(120)는 도 6b 내지 도 6d에 도시된 제1 수행 계획 내지 제3 수행 계획 중 최적 수행 계획을 우선순위 규칙에 따라 선택할 수 있다. 최적 수행 계획이란, 데이터에 대한 질의의 처리를 수행함에 있어, 비용 및 시간이 가장 적게 소요되는 수행 계획을 의미한다. 또한, 우선순위 규칙은 잡의 수가 최소인 수행 계획 중 최적 수행 계획을 선택하는 규칙을 의미한다.
구체적으로, 제어부(120)는 최적 수행 계획을 선택함에 있어, 조인을 구성하는 세부 질의의 수 및 변수의 수 중 적어도 하나를 기초로 최적 수행 계획을 선택할 수 있다. 구체적으로, 질의 처리 수행 장치(100)는 세부 질의의 수가 작은 조인을 포함하는 수행 계획을 최적 수행 계획으로 선택할 수 있다. 예를 들면, 도 6b의 제1 수행 계획의 경우, 조인 1은 2개의 세부 질의를 포함하며, 조인 2는 3개의 세부 질의를 포함한다. 또한, 도 6c의 제2 수행 계획의 조인 1은 4개의 세부 질의를 포함한다. 그리고, 도 6d의 제3 수행 계획의 조인 1은 5개의 세부 질의를 포함한다. 따라서, 조인이 포함하는 세부 질의의 수가 가장 작은 수행 계획은 제1 수행 계획이다. 따라서, 질의 처리 수행 장치(100)는 제1 수행 계획을 최적 수행 계획으로 선택할 수 있다.
다양한 실시예에서, 질의 처리 수행 장치(100)는 조인을 구성하는 변수의 수가 적은 수행 계획을 최적 수행 계획으로 선택할 수 있다. 예를 들면, 도 6b의 제1 수행 계획의 조인 1 및 조인 2의 변수는 각각 변수 X 및 변수 Z로서, 변수의 수는 모두 1개이다. 도 6c의 제2 수행 계획의 조인 1의 변수는 변수 X 및 변수 Y로서, 변수의 수는 2개 이다. 도 6d의 제3 수행 계획의 조인 1의 변수는 변수 Y 및 변수 Z로서, 변수의 수는 2개이다. 따라서, 질의 처리 수행 장치(100)는 조인의 구성하는 변수의 수가 1개로 가장 적은 제1 수행 계획을 최적 수행 계획으로 선택할 수 있다. 그러나, 질의 처리 수행 장치(100)가 변수의 수를 기초로 최적 수행 계획을 선택하는 방법은 이제 제한되지 않으며, 조인을 구성하는 변수의 수가 많은 수행 계획을 최적 수행 계획으로 선택할 수도 있다. 구체적으로, 질의 처리 수행 장치(100)는 변수의 수가 많은 제2 수행 계획 및 제3 수행 계획 중, 세부 질의의 수가 가장 적은 제2 수행 계획을 최적 수행 계획으로 선택할 수도 있다. 즉, 조인을 구성하는 세부 질의의 수 및 변수의 수를 기초로 최적 수행 계획을 선택하는 방법은 다양할 수 있다.
본 발명의 다른 실시예에 따른 질의 처리 수행 방법 및 이를 이용하는 장치(100)는 조인을 구성하는 세부 질의의 수 및 변수의 수 중 적어도 하나를 기초로 최적 수행 계획을 선택함으로써, 질의의 처리를 수행하는데 소요되는 시간 및 비용을 감소시키고, 질의 처리 성능을 보다 향상시킬 수 있다. 구체적으로, 조인을 구성하는 세부 질의의 수 및 변수의 수는 조인을 수행하는 성능에 큰 영향을 미칠 수 있다. 따라서, 잡의 수가 최소인 수행 계획이 복수인 경우, 복수의 잡의 수가 최소인 수행 계획이 포함하는 세부 질의의 수 및 변수의 수를 기준으로 최적 수행 계획을 선택할 경우, 질의 처리 성능을 향상시킬 수 있다.
또한, 다양한 실시예에서, 질의 처리 수행 장치(100)는 데이터에 대한 통계 데이터를 기초로 우선순위 규칙에 따라 최적 수행 계획을 선택할 수 있다. 통계 데이터는 질의가 포함할 수 있는 데이터에 대한 통계 정보를 의미한다. 질의 처리 수행 장치(100)는 통계 데이터를 기초로 복수의 수행 계획 중에서 각각의 수행 계획이 포함하는 조인을 수행하는데 소요되는 비용 및 시간이 가장 적은 수행 계획을 선택할 수 있다. 구체적으로, 통계 데이터는 질의를 구성하는 세부 질의의 목적어, 세부 질의의 주어, 질의에 포함된 데이터의 종류, 데이터의 그룹화된 정도, 데이터가 분산 저장되는 노드의 수 및 데이터가 분산 저장되는 블록의 수 중 하나 이상에 대한 통계 데이터를 포함할 수 있다. 세부 질의의 목적어 및 세부 질의의 주어는 세부 질의를 구성하는 문장에 있어 목적어 및 주어의 역할을 하는 데이터를 의미할 수 있다. 질의에 포함된 데이터의 종류는 예를 들면, 시간 데이터, 공간 데이터 및 시공간 데이터일 수 있으며, 이에 제한되지 않는다. 데이터의 그룹화된 정도는 질의에 포함된 데이터가 그룹화되어 저장된 정도를 의미할 수 있다. 데이터가 분산 저장되는 노드의 수 및 분산 저장되는 블록의 수는, 질의에 포함된 데이터가 저장되어 있는 데이터 베이스에 접근하는 경우 통과되는 노드 또는 블록의 수를 의미할 수 있다. 또한, 통계 데이터는 질의 처리 수행 장치(100)에 저장되어 있을 수 있으며, 이와 달리 질의 처리 수행 장치(100)와 다른 별개의 데이터 베이스에 저장되어 있을 수 있다. 통계 데이터가 별개의 데이터 베이스에 저장되어 있는 경우, 질의 처리 수행 장치(100)는 통계 데이터가 저장된 데이터 베이스로부터 질의의 처리를 수행하는데 필요한 통계 데이터를 수신하고 이를 이용하여 최적 수행 계획을 선택할 수 있다.
본 발명의 다양한 실시예에 따른 질의 처리 수행 방법 및 이를 이용하는 장치(100)는 통계 데이터를 기초로 최적 수행 계획을 선택함으로써, 질의 처리 성능을 보다 개선시킬 수 있다. 구체적으로, 질의 처리 수행 장치(100)는 질의에 포함된 데이터에 대한 통계 자료인 통계 데이터를 이용하여, 질의의 처리를 수행하는데 소요되는 시간 및 비용을 보다 정확하게 계산할 수 있다. 예를 들면, 데이터에 대한 질의의 경우, 질의에 포함된 목적어 및 주어를 찾는 조건을 포함하는 경우가 많을 수 있다. 따라서, 질의 처리 수행 장치(100)는 질의가 포함할 수 있는 목적어 및 주어에 대한 통계 자료를 통계 데이터를 통하여 획득하여, 이를 이용하여 보다 정확하게 최적 수행 계획을 선택할 수 있다. 따라서, 본 발명의 다른 실시예에 따른 질의 처리 수행 방법 및 이를 이용하는 장치(100)는 질의가 포함할 수 있는 다양한 데이터에 관한 통계 자료를 통계 데이터에서 획득하여 최적 수행 계획을 선택함으로써, 질의 처리 성능을 높일 수 있다.
한편, 질의 처리 수행 장치(100)는 우선순위 규칙에 따라 최적 수행 계획을 선택함에 있어, 수행 계획의 소요시간 또는 자원 사용량이 적은 수행 계획을 최적 수행 계획으로 선택할 수 있다. 구체적으로, 질의 처리 수행 장치(100)는 복수의 수행 계획 중 수행 계획의 소요시간 또는 자원 사용량이 적은 수행 계획을 최적 수행 계획으로 선택하는 우선순위 규칙을 이용하여 최적 수행 계획을 선택할 수 있다. 수행 계획의 소요시간은 수행 계획을 이용하여 질의의 처리를 수행하는데 소요되는 시간을 의미하며, 자원 사용량은 수행 계획을 이용하여 질의의 처리를 수행하는데 소요되는 자원의 양을 의미한다. 또한, 질의 처리 수행 장치(100)는 세부 질의 중 시공간 연산자가 포함된 세부 질의, 정렬되어 있는 세부 질의, 데이터의 종류의 개수가 적은 세부 질의, 데이터의 그룹화된 정도가 큰 세부 질의 및 변수의 수가 적은 세부 질의 중 어느 하나의 세부 질의에 높은 우선순위를 부여함으로서 최적 수행 계획을 선택할 수 있다. 시공간 연산자가 포함된 세부 질의는 세부 질의에 포함된 연산자가 시간 데이터 및 공간 데이터에 대한 연산자인 세부 질의를 의미한다. 시공간 데이터에 대한 질의의 경우, 질의 처리 수행 장치(100)는 시공간 연산자가 포함된 세부 질의를 더 빠르게 처리할 수 있다. 따라서, 시공간 연산자가 포함된 세부 질의는 수행 계획의 소요시간 또는 자원 사용량이 더 적을 수 있다. 따라서, 시공간 연산자가 포함된 세부 질의는 높은 우선순위가 부여될 수 있다. 정렬되어 있는 세부 질의는 세부 질의를 구성하는 데이터 및 연산자가 정렬되어 있는 세부 질의를 의미한다. 질의 처리 수행 장치(100)가 질의의 처리를 수행함에 있어, 세부 질의가 정렬되어 있는 경우, 질의의 처리의 수행에 소요되는 시간 및 비용은 감소될 수 있다. 따라서, 질의 처리 수행 장치(100)는 세부 질의가 정렬되어 있는 경우, 세부 질의에 더 높은 우선순위를 부여할 수 있다. 데이터의 종류의 개수가 적은 세부 질의는 세부 질의를 구성하는 데이터의 종류에 있어, 데이터의 종류의 수가 적은 세부 질의를 의미한다. 세부 질의는 다양한 종류의 데이터를 포함할 수 있다. 예를 들면, 세부 질의는 시간 데이터, 공간 데이터 등을 포함할 수 있다. 질의 처리 수행 장치(100)가 시간 데이터만을 포함하는 세부 질의의 처리를 수행하는데 소요되는 시간은 시간 데이터 및 공간 데이터 모두를 포함하는 세부 질의의 처리를 수행하는데 소요되는 시간보다 더 적을 수 있다. 따라서, 질의 처리 수행 장치(100)는 데이터의 종류의 수가 적은 세부 질의에 더 높은 우선순위를 부여할 수 있다. 데이터의 그룹화된 정도가 큰 세부 질의는 세부 질의에 포함된 데이터에 있어, 데이터가 더 적은 규모로 그룹화되어 저장되어 있는 세부 질의를 의미한다. 질의 처리 수행 장치(100)는 작은 규모의 그룹에 존재하는 데이터를 검색하는 경우보다 큰 규모의 그룹에 존재하는 데이터를 검색할 때 많은 시간을 소모할 수 있다. 따라서, 질의 처리 수행 장치(100)는 데이터가 그룹화된 정도가 큰 세부 질의에 더 큰 우선순위를 부여할 수 있다. 변수의 수가 적은 세부 질의는 세부 질의가 포함하는 변수의 수가 적은 세부 질의를 의미한다. 질의 처리 수행 장치(100)는 변수의 수가 적은 경우 세부 질의의 처리를 수행하는데 소요되는 시간을 줄일 수 있다. 따라서, 질의 처리 수행 장치(100)는 변수의 수가 적은 세부 질의에 더 높은 우선순위를 부여할 수 있다.
본 발명의 다른 실시예에 따른 질의 처리 수행 방법 및 이를 이용하는 장치(100)는 수행 계획의 소요시간 또는 자원 사용량이 적은 수행 계획을 최적 수행 계획으로 선택함으로써, 질의의 처리를 수행하는 성능을 향상시킬 수 있다. 구체적으로, 수행 계획의 소요시간 및 자원 사용량이 적은 수행 계획의 경우, 해당 수행 계획을 이용하여 질의의 처리를 수행하는데 소요되는 비용이 적을 수 있다. 나아가, 시공간 연산자가 포함된 세부 질의, 정렬되어 있는 세부 질의, 데이터의 종류의 개수가 적은 세부 질의, 데이터의 그룹화된 정도가 큰 세부 질의 및 변수의 수가 적은 세부 질의의 경우, 이를 포함하는 질의의 처리를 수행하는데 소요되는 시간 및 비용이 적을 수 있다. 따라서, 질의 처리 수행 장치(100)는 이러한 세부 질의에 높은 우선순위를 부여하고, 이러한 세부 질의를 먼저 수행하는 수행 계획을 최적 수행 계획으로 선택할 수 있다. 이에, 질의 처리 수행 장치(100)는 질의의 처리를 수행하는데 소요되는 시간 및 자원 사용량을 줄일 수 있으며, 나아가, 질의 처리 성능을 향상시킬 수 있다.
도 7a 내지 도 7c는 시공간 데이터에 대한 질의에 따른 질의 처리 수행 시간에 대한 그래프이다.
도 7a 내지 도 7c를 참조하면, 그래프의 가로축은 상이한 조건을 갖는 데이터에 대한 질의이며, 그래프의 세로축은 질의의 처리를 수행하는데 소요된 시간을 의미한다. 질의는 시공간 빅데이터에 대한 질의로서 LUBM(Lehigh University Benchmark) 10k로 생성한 1억개의 시공간 데이터로 약 22GB정도이다. LUBM은 최소 140만개(25GB)의 세부 질의에서 최대 138억개(2.5TB)의 세부 질의를 생성할 수 있다. 질의 1 내지 질의 6은 데이터 베이스에 저장되어 있는 특정 시공간 데이터에 대한 검색을 수행하는 질의로서, 각각 상이한 변수의 수 및 세부 질의의 수를 갖는다. 구체적으로, 질의 1은 1개의 변수 및 2개의 세부 질의를 포함하며, 질의 2는 1개의 변수 및 5개의 세부 질의를 포함한다. 또한 질의 3은 2개의 변수 및 4개의 세부 질의를 포함하며, 질의 4는 2개의 변수 및 5개의 세부 질의를 포함한다. 그리고, 질의 5는 3개의 변수 및 6개의 세부 질의를 포함하며, 질의 6은 3개의 변수 및 6개의 세부 질의를 포함한다.
실시예에 따른 질의 처리 수행 장치는 도 3 내지 도 4d에서 설명한 본 발명의 다른 실시예에 따른 질의 처리 수행 장치로서, 우선순위 규칙에 따라 최적 수행 계획을 선택할 수 있는 장치이다. 비교예 1에 따른 질의 처리 수행 장치는 H2RDF+를 이용한 질의 처리 수행 장치며, 비교예 2에 따른 질의 처리 수행 장치는 HadoopRDF를 이용한 질의 처리 수행 장치다. 비교예 3에 따른 질의 처리 수행 장치는 우선순위 규칙에 따라 최적 수행 계획을 선택하지 않는 질의 처리 수행 장치다. 소프트웨어 사양으로 운영체제는 Ubuntu 14.04 버전을 사용하였으며, 개발도구는 Hadoop 1.2.1 버전, HBase 0.94.27 버전, JTS Library 1.7 버전을 사용하였다.
도 7a를 참조하면, 실시예, 비교예 1 및 비교예 2에 따른 질의 처리 수행 장치의 질의 1 내지 질의 4에 대한 질의 처리 수행 시간을 확인할 수 있다. 구체적으로, 실시예에 따른 질의 처리 수행 장치의 질의 처리 수행 시간이 비교예 1에 따른 질의 처리 수행 장치에 비해 22~48% 더 적고, 비교예 2에 따른 질의 처리 수행 장치에 비해 45~72% 더 적은 것을 알 수 있다. 실시예에 따른 질의 처리 수행 장치의 경우, 변수의 수가 2 이하인 질의인 질의 1 내지 질의 4를 수행하기 위하여 한 개의 잡을 갖는 수행 계획을 생성할 수 있다. 따라서, 실시예에 따른 질의 처리 수행 장치의 경우, 질의 1, 질의 2, 질의 3 및 질의 4의 질의 처리 수행 시간이 비교예 1 및 비교예 2에 따른 질의 처리 수행 장치에 비해 작으며, 더 높은 질의 처리 성능을 나타낸다.
도 7b를 참조하면, 실시예, 비교예 1 및 비교예 2에 따른 질의 처리 수행 장치의 질의 5 및 질의 6에 대한 질의 처리 수행 시간을 확인할 수 있다. 구체적으로, 실시예에 따른 질의 처리 수행 장치의 질의 처리 수행 시간이 비교예 1에 따른 질의 처리 수행 장치에 비해 11~22% 더 적고, 비교예 2에 따른 질의 처리 수행 장치에 비해 62~65% 더 적은 것을 알 수 있다. 실시예에 따른 질의 처리 수행 장치의 경우, 변수의 수가 3인 질의 5 및 질의 6를 수행하기 위하여 두 개의 잡을 갖는 수행 계획을 생성할 수 있다. 따라서, 실시예에 따른 질의 처리 수행 장치의 경우, 질의 5 및 질의 6의 질의 처리 수행 시간이 비교예 1 및 비교예 2 에 따른 질의 처리 수행 장치에 비해 작으며, 더 높은 질의 처리 성능을 나타낸다.
도 7c를 참조하면, 실시예 및 비교예 3에 따른 질의 처리 수행 장치의 질의 1 및 질의 6에 대한 질의 처리 수행 시간을 확인할 수 있다. 구체적으로, 실시예에 따른 질의 처리 수행 장치의 질의 처리 수행 시간이 비교예 3에 따른 질의 처리 수행 장치에 비해 13~15% 적은 것을 알 수 있다. 실시예에 따른 질의 처리 수행 장치는 앞서 설명한 우선순위 규칙에 따라 최적 수행 계획을 선택할 수 있으며, 최적 수행 계획에 따라 질의의 처리를 수행할 수 있다. 이와 달리, 비교예 3 에 따른 질의 처리 수행 장치는 우선순위 규칙을 적용하지 않으며, 최적 수행 계획을 선택하지 않는다. 도 7c에 도시된 그래프를 통하여 우선순위 규칙에 따라 최적 수행 계획을 선택하고 최적 수행 계획에 따라 질의의 처리를 수행할 수 있는 실시예에 따른 질의 처리 수행 장치가 비교예 3에 따른 질의 처리 수행 장치보다 빠르게 질의의 처리를 수행한다는 것을 확인 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 질의 처리 수행 장치
110: 통신부
120: 제어부
200: 사용자 디바이스

Claims (19)

  1. 데이터에 대한 질의를 수신하는 단계;
    상기 질의를 처리하기 위한 복수의 수행 계획을 생성하는 단계;
    상기 복수의 수행 계획 중 잡(job)의 수가 최소인 수행 계획을 선택하는 단계; 및
    상기 잡의 수가 최소인 수행 계획에 따라 상기 질의의 처리를 수행하는 단계를 포함하며,
    상기 잡의 수가 최소인 수행 계획을 선택하는 단계는,
    상기 잡이 포함하는 복수의 조인 중에서 변수 중 하나인 제1 변수가 포함된 조인에 대해서,
    상기 조인에 포함된 상기 제1 변수를 제외한 나머지 변수의 수를 계산하는 단계; 및
    상기 나머지 변수의 수가 가장 적은 조인을 우선적으로 수행하는 수행 계획을 선택하는 단계를 포함하는, 질의 처리 수행 방법.
  2. 제1항에 있어서,
    상기 질의는, 시공간 데이터에 대한 질의인, 질의 처리 수행 방법.
  3. 제1항에 있어서,
    상기 수행 계획은, 상기 수행 계획을 구성하는 각각의 잡에서 복수의 조인(join)이 동시에 수행되는, 질의 처리 수행 방법.
  4. 삭제
  5. 데이터에 대한 질의를 수신하는 단계;
    상기 질의를 처리하기 위한 복수의 수행 계획을 생성하는 단계;
    상기 복수의 수행 계획 중 잡(job)의 수가 최소인 수행 계획을 선택하는 단계; 및
    상기 잡의 수가 최소인 수행 계획에 따라 상기 질의의 처리를 수행하는 단계를 포함하며,
    상기 잡의 수가 최소인 수행 계획을 선택하는 단계 후, 상기 질의의 처리를 수행하는 단계 전,
    상기 잡의 수가 최소인 수행 계획이 복수인 경우,
    상기 잡의 수가 최소인 수행 계획 중 우선순위 규칙에 따라 최적 수행 계획을 선택하는 단계를 더 포함하며,
    상기 질의의 처리를 수행하는 단계는,
    상기 최적 수행 계획에 따라 상기 질의의 처리를 수행하는 단계인, 질의 처리 수행 방법.
  6. 제5항에 있어서,
    상기 최적 수행 계획을 선택하는 단계는,
    조인을 구성하는 세부 질의의 수 및 변수의 수 중 적어도 하나를 기초로 수행되는, 질의 처리 수행 방법.
  7. 제5항에 있어서,
    상기 우선순위 규칙에 따라 최적 수행 계획을 선택하는 단계는,
    상기 데이터에 대한 통계 데이터를 기초로 수행되는, 질의 처리 수행 방법.
  8. 제7항에 있어서,
    상기 통계 데이터는,
    상기 질의를 구성하는 세부 질의의 목적어, 상기 세부 질의의 주어, 상기 데이터의 종류 , 상기 데이터의 그룹화된 정도, 상기 데이터가 분산 저장되는 노드의 수 및 상기 데이터가 분산 저장되는 블록의 수 중 하나 이상에 대한 통계 데이터를 포함하는, 질의 처리 수행 방법.
  9. 제5항에 있어서,
    상기 우선순위 규칙에 따라 최적 수행 계획을 선택하는 단계는,
    상기 잡의 수가 최소인 수행 계획 중 상기 수행 계획의 소요시간 또는 자원 사용량이 적은 수행 계획을 선택하는 단계를 포함하는, 질의 처리 수행 방법.
  10. 제9항에 있어서,
    상기 우선순위 규칙에 따라 최적 수행 계획을 선택하는 단계는,
    상기 질의를 구성하는 세부 질의 중,
    시공간 연산자가 포함된 세부 질의, 정렬되어 있는 세부 질의, 상기 데이터의 종류의 개수가 적은 세부 질의, 상기 데이터의 그룹화된 정도가 큰 세부 질의 및 변수의 수가 적은 세부 질의 중 어느 하나의 세부 질의에 높은 우선순위를 부여하는 단계를 더 포함하는, 질의 처리 수행 방법.
  11. 데이터에 대한 질의를 수신하도록 구성된 통신부;
    상기 질의를 처리하기 위한 복수의 수행 계획을 생성하고,
    상기 복수의 수행 계획 중 잡의 수가 최소인 수행 계획을 선택하고,
    상기 수행 계획에 따라 상기 질의의 처리를 수행하도록 구성된 제어부를 포함하며,
    상기 제어부는,
    상기 잡의 수가 최소인 수행 계획을 선택할 때,
    상기 잡이 포함하는 복수의 조인 중에서 변수 중 하나인 제1 변수가 포함된 조인에 대해서,
    상기 조인에 포함된 상기 제1 변수를 제외한 나머지 변수의 수를 계산하고,
    상기 나머지 변수의 수가 가장 적은 조인을 우선적으로 수행하는 수행 계획을 선택하도록 더 구성된, 질의 처리 수행 장치.
  12. 제11항에 있어서,
    상기 질의는, 시공간 데이터에 대한 질의인, 질의 처리 수행 장치.
  13. 제11항에 있어서,
    상기 수행 계획은, 상기 수행 계획을 구성하는 각각의 잡에서 복수의 조인을 동시에 수행하는, 질의 처리 수행 장치.
  14. 삭제
  15. 데이터에 대한 질의를 수신하도록 구성된 통신부;
    상기 질의를 처리하기 위한 복수의 수행 계획을 생성하고,
    상기 복수의 수행 계획 중 잡의 수가 최소인 수행 계획을 선택하고,
    상기 수행 계획에 따라 상기 질의의 처리를 수행하도록 구성된 제어부를 포함하며,
    상기 제어부는,
    상기 복수의 수행 계획 중 잡의 수가 최소인 수행 계획을 선택한 후,
    상기 수행 계획에 따라 상기 질의의 처리를 수행하기 전,
    상기 잡의 수가 최소인 수행 계획이 복수인 경우,
    상기 잡의 수가 최소인 수행 계획 중 우선순위 규칙에 따라 최적 수행 계획을 선택하도록 더 구성되며,
    상기 수행 계획에 따라 상기 질의의 처리를 수행할 때,
    상기 최적 수행 계획에 따라 상기 질의의 처리를 수행하도록 더 구성된, 질의 처리 수행 장치.
  16. 제15항에 있어서,
    상기 제어부는,
    상기 최적 수행 계획을 선택할 때,
    조인을 구성하는 세부 질의의 수 및 변수의 수를 기초로 수행하는, 질의 처리 수행 장치.
  17. 제15항에 있어서,
    상기 제어부는,
    상기 우선순위 규칙에 따라 최적 수행 계획을 선택할 때,
    상기 데이터에 대한 통계 데이터를 기초로 수행하도록 더 구성되며,
    상기 통계 데이터는,
    상기 질의를 구성하는 세부 질의의 목적어, 상기 세부 질의의 주어, 상기 데이터의 분포도, 상기 데이터가 분산 저장되는 노드의 수 중 하나 이상에 대한 통계 데이터를 포함하는, 질의 처리 수행 장치.
  18. 제15항에 있어서,
    상기 제어부는,
    상기 우선순위 규칙에 따라 최적 수행 계획을 선택할 때,
    상기 잡의 수가 최소인 수행 계획 중 상기 계획의 소요시간 또는 자원 사용량이 적은 수행 계획을 선택하도록 더 구성된, 질의 처리 수행 장치.
  19. 제18항에 있어서,
    상기 제어부는,
    상기 우선순위 규칙에 따라 최적 수행 계획을 선택할 때,
    상기 질의를 구성하는 세부 질의 중,
    시공간 연산자가 포함된 세부 질의, 정렬되어 있는 세부 질의, 분포도가 좁은 세부 질의, 변수의 수가 적은 세부 질의 중 어느 하나의 세부 질의에 높은 우선순위를 부여하도록 더 구성된, 질의 처리 수행 장치.
KR1020170099846A 2017-08-07 2017-08-07 클라우드 서비스에서의 질의 처리 수행 방법 및 이를 이용하는 장치 KR101812452B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170099846A KR101812452B1 (ko) 2017-08-07 2017-08-07 클라우드 서비스에서의 질의 처리 수행 방법 및 이를 이용하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170099846A KR101812452B1 (ko) 2017-08-07 2017-08-07 클라우드 서비스에서의 질의 처리 수행 방법 및 이를 이용하는 장치

Publications (1)

Publication Number Publication Date
KR101812452B1 true KR101812452B1 (ko) 2018-01-30

Family

ID=61070464

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170099846A KR101812452B1 (ko) 2017-08-07 2017-08-07 클라우드 서비스에서의 질의 처리 수행 방법 및 이를 이용하는 장치

Country Status (1)

Country Link
KR (1) KR101812452B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532227A (zh) * 2019-08-23 2019-12-03 广东浪潮大数据研究有限公司 作业数量查询方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532227A (zh) * 2019-08-23 2019-12-03 广东浪潮大数据研究有限公司 作业数量查询方法及装置

Similar Documents

Publication Publication Date Title
US12130811B2 (en) Task-execution planning using machine learning
US11675785B2 (en) Dynamic asynchronous traversals for distributed graph queries
US10942925B1 (en) Database query processing using a pruning index
US9367344B2 (en) Optimized assignments and/or generation virtual machine for reducer tasks
US10628417B2 (en) Physical planning of database queries using partial solutions
US20150149435A1 (en) Limiting Plan Choices For Database Queries Using Plan Constraints
US9813490B2 (en) Scheduled network communication for efficient re-partitioning of data
US20150149436A1 (en) Rewrite Constraints For Database Queries
WO2013080152A1 (en) Dynamically configurable placement engine
US10554782B2 (en) Agile hostpool allocator
US8161485B2 (en) Scheduling jobs in a plurality of queues and dividing jobs into high and normal priority and calculating a queue selection reference value
KR20160141675A (ko) 고효율 부정확 컴퓨팅 스토리지 장치
US20240338366A1 (en) Dynamic database pipeline scheduler
CN106817236A (zh) 虚拟网络功能的配置方法和装置
CN108605017A (zh) 查询计划和操作感知通信缓冲区管理
AU2020380362B2 (en) System and methods for querying and updating databases
JP2015069577A (ja) 情報処理システム、管理装置制御プログラム及び情報処理システムの制御方法
US20150261860A1 (en) Predicate execution in shared distributed computing environment
JP5108011B2 (ja) バス接続されたコンシューマとプロデューサとの間でのメッセージ・フローを削減するためのシステム、方法、およびコンピュータ・プログラム
KR101812452B1 (ko) 클라우드 서비스에서의 질의 처리 수행 방법 및 이를 이용하는 장치
CN117234745B (zh) 一种面向异构计算平台的数据库负载均衡方法及装置
WO2015055502A2 (en) Method of partitioning storage in a distributed data storage system and corresponding device
Cokuslu et al. Resource allocation for query processing in grid systems: a survey
CN114240632A (zh) 批量作业执行方法、装置、设备、介质和产品
US20210377718A1 (en) Pattern affinity for discovery

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20170807

PA0201 Request for examination
PA0302 Request for accelerated examination

Patent event date: 20170919

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20170807

Patent event code: PA03021R01I

Comment text: Patent Application

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20171110

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20171215

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20171219

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20171219

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20201019

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20211206

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20231004

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20241002

Start annual number: 8

End annual number: 8