KR101731579B1 - 통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법 - Google Patents

통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법 Download PDF

Info

Publication number
KR101731579B1
KR101731579B1 KR1020160115196A KR20160115196A KR101731579B1 KR 101731579 B1 KR101731579 B1 KR 101731579B1 KR 1020160115196 A KR1020160115196 A KR 1020160115196A KR 20160115196 A KR20160115196 A KR 20160115196A KR 101731579 B1 KR101731579 B1 KR 101731579B1
Authority
KR
South Korea
Prior art keywords
relational
query language
query
graph data
plan
Prior art date
Application number
KR1020160115196A
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 KR1020160115196A priority Critical patent/KR101731579B1/ko
Application granted granted Critical
Publication of KR101731579B1 publication Critical patent/KR101731579B1/ko
Priority to US15/697,669 priority patent/US20180067987A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F17/30914
    • 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/2452Query translation
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2443Stored procedures
    • 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)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법에 관한 것이다. 본 발명에 따른 통합 질의 처리가 가능한 데이터베이스는 관계형 데이터와 그래프 데이터를 포함하는 데이터를 저장하는 저장부와; 그래프 데이터의 처리를 위한 그래프 질의 언어를 파이프라인 형태의 서브쿼리 연결방식에 의해 관계형 질의 언어의 처리를 위한 중간 단계의 구문인 관계형 대수로 변환하는 변환부와; 그래프 질의 언어가 입력되는 경우 입력된 상기 그래프 질의 언어를 상기 관계형 대수로 변환하도록 상기 변환부를 제어하는 제어부를 포함하는 것을 특징으로 한다. 이에 의하여, 하나의 데이터베이스 내에서 관계형 질의 언어와 그래프 질의 언어를 동시에 처리할 수 있고, 일반적인 질의처리 최적화 기법을 관계형 질의 언어와 그래프 질의 언어의 구별 없이 수행하여 질의 처리 성능을 향상시킬 수 있다.

Description

통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법 { DATABASE CAPABLE OF INTERGRATED QUERY PROCESSING AND DATA PROCESSING METHOD THEREOF }
본 발명은 통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법에 관한 것이다. 보다 상세하게는, 관계형 데이터베이스 내에서 그래프 질의언어를 입력받아 관계형 데이터 및 그래프 데이터에 대한 통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법에 관한 것이다.
데이터 처리장치는 입력된 데이터를 저장하고 가공하며, 사용자가 입력한 질의에 대응하는 결과를 출력한다. 특히, 입력된 데이터의 용량이 큰 경우 처리속도를 향상시키고 신뢰성 있는 결과를 얻기 위해 다양한 형태의 데이터베이스를 사용한다.
이러한 데이터베이스 중에서도 그래프 데이터베이스는 관계형 데이터베이스나 다른 형태의 데이터 테이블과 연결된 정형 구조의 데이터 모델 규칙을 준수하지 않는 반정형 데이터(SEMI-STRUCTURED DATA)를 처리하는 데에 최적화되어 소셜 데이터와, 추천, 지리공간 분석 등의 다양한 분야에 적용될 수 있다.
관계형 데이터베이스에 사용되는 관계형 데이터 모델의 경우 스키마를 정의하기 위해 엔티티의 정보를 기술하는 테이블을 생성하고 엔티티 간의 연결 정보를 저장하는 테이블을 별도로 만들어야 한다.
또한, 관계형 데이터 모델의 경우 질의 정의를 위해 이들 테이블에 대한 조인(Join) 연산을 기술하고 각 조인의 조건을 기술해야 하며, 복잡한 스키마의 경우 질의가 복잡해지고 조인 연산이 많아지는 문제가 있다.
이에 비해, 그래프 데이터베이스에 사용되는 그래프 데이터 모델은 테이블을 사용하지 않으면서 현실의 데이터를 그래프 자료구조의 형태에 의해 직관적으로 표현할 수 있고, 고정된 스키마를 필요로 하지 않으며 간단하게 질의문을 작성할 수 있는 장점을 가지고 있다.
그런데 이러한 관계형 데이터베이스와 그래프 데이터베이스는 기본적으로 데이터를 저장하기 위해 사용되는 구조 및 단위가 상이하고 이에 따라 질의언어도 상이하기 때문에 관계형 데이터베이스를 그래프 데이터베이스로 전환하거나 질의 언어를 변환하기 어려워 하나의 데이터베이스 내에서 관계형 질의 언어와 그래프 질의 언어를 동시에 처리하기 어려운 문제가 있다.
한국공개특허 제10-2004-63998호
따라서 본 발명은 하나의 데이터베이스 내에서 관계형 질의 언어와 그래프 질의 언어를 동시에 처리할 수 있는 통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 일반적인 질의처리 최적화 기법을 관계형 질의 언어와 그래프 질의 언어의 구별 없이 수행하여 질의 처리 성능을 향상시킬 수 있는 통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법을 제공하는 것을 목적으로 한다.
상기 목적은, 관계형 데이터와 그래프 데이터를 포함하는 데이터를 저장하는 저장부와; 그래프 데이터의 처리를 위한 그래프 질의 언어를 파이프라인 형태의 서브쿼리 연결방식에 의해 관계형 질의 언어의 처리를 위한 중간 단계의 구문인 관계형 대수로 변환하는 변환부와; 그래프 질의 언어가 입력되는 경우 입력된 상기 그래프 질의 언어를 상기 관계형 대수로 변환하도록 상기 변환부를 제어하는 제어부를 포함하는 것을 특징으로 하는 통합 질의 처리가 가능한 데이터베이스에 의해 달성된다.
상기 변환부는, 상기 그래프 질의 언어를 문법적인 구문의 구조체로 변환하는 파서부와; 상기 파서부에 의해 변환된 구조체를 질의 결과에 대해 가장 비용이 적게 소요되는 플랜으로 생성하는 플랜 생성부를 더 포함할 수 있다.
상기 플랜 생성부는, 상기 그래프 질의 언어를 관계형 대수로 매핑하고, 상기 그래프 질의 언어를 위한 연산자를 추가하는 논리적 플랜 생성부와; 상기 관계형 대수에 대해 동일한 결과를 만드는 복수 개의 플랜 중 가장 비용이 적게 소요되는 플랜을 생성하는 물리적 플랜 생성부를 더 포함할 수 있다.
상기 그래프 질의 언어는 속성 그래프 데이터 모델의 질의언어를 포함할 수 있다.
한편, 제어부가 관계형 데이터와 그래프 데이터를 포함하는 데이터를 저장부에 저장하는 단계; 상기 제어부가 상기 그래프 데이터의 처리를 위한 그래프 질의 언어를 입력받는 단계; 및 상기 제어부가 입력된 상기 그래프 질의 언어를 파이프라인 형태의 서브쿼리 연결방식에 의해 관계형 질의 언어의 처리를 위한 중간 단계의 구문인 관계형 대수로 변환하는 단계를 포함하는 것을 특징으로 하는 통합 질의 처리가 가능한 데이터베이스의 데이터 처리방법에 의해서도 상기 목적은 달성된다.
상기 그래프 질의 언어를 관계형 대수로 변환하는 단계는, 상기 입력부에 의해 입력된 질의 언어를 문법적인 구문의 구조체로 변환하는 단계; 및 상기 변환된 구조체를 질의 결과에 대해 가장 비용이 적게 소요되는 플랜으로 생성하는 단계를 더 포함할 수 있다.
상기 변환된 구조체를 플랜으로 생성하는 단계는, 상기 그래프 질의 언어를 관계형 대수로 매핑하고, 상기 그래프 질의 언어를 위한 연산자를 추가하는 논리적 플랜 생성단계; 및 상기 관계형 대수에 대해 동일한 결과를 만드는 복수 개의 플랜 중 가장 비용이 적게 소요되는 플랜을 생성하는 물리적 플랜 생성단계를 더 포함할 수 있다.
상기 그래프 질의 언어는 속성 그래프 데이터 모델의 질의언어를 포함할 수 있다.
본 발명에 따른 통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법에 의하면, 하나의 데이터베이스 내에서 관계형 질의 언어와 그래프 질의 언어를 동시에 처리할 수 있다.
또한, 본 발명에 따른 통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법에 의하면, 일반적인 질의처리 최적화 기법을 관계형 질의 언어와 그래프 질의 언어의 구별 없이 수행하여 질의 처리 성능을 향상시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 데이터베이스의 구성을 도시한 블록도이며,
도 2는 본 발명의 일실시예에 따른 데이터베이스에서 사용되는 통합 질의문을 도시한 도면이며,
도 3은 본 발명의 일실시예에 따른 데이터베이스에서 그래프 질의 언어를 관계형 데이터의 처리를 위한 관계형 질의 언어로 변환하는 과정을 설명하기 위한 도면이며,
도 4a 및 도 4b는 본 발명의 일실시예에 따른 데이터베이스에서 논리적 플랜을 생성하는 과정을 설명하기 위한 도면이며,
도 5는 본 발명의 일실시예에 따른 데이터베이스에서 그래프 질의 언어의 각 구문을 서브쿼리 형태로 인식시키기 위한 과정을 설명하기 위한 도면이며,
도 6은 본 발명에 따른 데이터베이스의 데이터 처리방법을 도시한 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법에 대해 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 데이터베이스의 구성을 도시한 블록도이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 데이터베이스는 저장부(10)와, 변환부(20)와, 제어부(30)를 포함한다.
저장부(10)는 관계형 데이터와 그래프 데이터를 저장한다. 관계형 데이터는 공지의 관계형 데이터베이스(Relational Database Management System; RDBMS)의 스키마에 따라 테이블 형태로 저장부(10)에 저장되며, 그래프 데이터는 정점과, 간선과, 정점 및 간선에 대한 프로퍼티를 포함하는 4개의 엔터티(Entity)가 저장부(10)에 저장된다. 여기서 관계형 데이터의 경우 고정된 크기의 블록 구조로 저장부(10)에 저장되며, 그래프 데이터의 경우 종류에 따라 저장부(10)에 데이터를 저장하는 구조가 달라질 수 있다.
변환부(20)는 제어부(30)의 제어에 의해 그래프 데이터의 처리를 위한 그래프 질의 언어를 파이프라인 형태의 서브쿼리 연결방식에 의해 관계형 질의 언어의 처리를 위한 중간 단계의 구문인 관계형 대수로 변환한다.
구체적으로, 변환부(20)는 관계형 질의 언어를 관계형 대수(relational algebra)라는 수학적 연산으로 변환하고, 그래프 질의 언어 역시 관계형 질의 언어와 동일하게 관계형 대수로 변환한다. 따라서 그래프 질의 언어를 관계형 질의 언어 내에 서브쿼리 형태로 임베디드하여 문법적으로 서로 다른 관계형 질의 언어와 그래프 질의 언어를 혼용하여 통합적인 질의문을 작성할 수 있다.
여기서, 본 발명의 일실시예에 따른 관계형 질의 언어는 SQL(Structured Query Language)를 포함하며, 그래프 질의 언어는 속성 그래프 데이터 모델에 대한 질의 언어를 포함할 수 있다. 속성 그래프 데이터 모델(Property Graph Data Model)은 그래프 데이터를 구성하는 정점(Node)과 간선(Edge)에 키와 그 밸류값의 쌍(<key, value> pair)을 정의할 수 있는 특징을 가진다. 속성 그래프 데이터 모델의 질의 언어의 대표적인 예로는 사이퍼(Cypher)가 있다.
한편, 본 발명에 따른 저장부(10)는 관계형 데이터베이스 내에 그래프 데이터를 저장하기 위해 정점과, 간선 및 정점과 간선의 배열인 경로(Path)를 테이블의 열(Column)로 사용할 수 있다.
제어부(30)는 그래프 질의 언어가 입력되는 경우 입력된 그래프 질의 언어를 관계형 질의 언어의 처리를 위한 중간 단계의 구문인 관계형 대수로 변환하도록 변환부(20)를 제어한다. 본 발명에 따른 제어부(30)는 마이컴 및 이를 구동하기 위한 소프트웨어 또는 데이터베이스에 임베디드 가능한 소프트웨어 등으로 구현될 수 있다.
이로써, 본 발명에 따른 통합 질의 처리가 가능한 데이터베이스는 그래프 질의 언어 처리를 위한 별도의 모듈 없이도 기존의 관계형 질의 처리 엔진을 이용하여 통합 질의 처리가 가능하다.
도 2는 본 발명의 일실시예에 따른 데이터베이스에서 사용되는 통합 질의문을 도시한 도면이다.
도 2에 도시된 바와 같이, 본 발명에 따른 데이터베이스에서 사용되는 통합 질의문은 관계형 질의 언어와 그래프 질의 언어를 동시에 혼용하여 사용한다.
여기서, MATCH (a)-[:like]->(b)의 질의 결과가 관계형 테이블이므로 SQL과 같은 관계형 질의 언어에서 테이블을 참조할 수 있는 FROM 구문 내에 서브 쿼리의 형태로 그래프 질의 언어를 사용할 수 있다.
또한, 도 2에서와 같이 그래프 질의 언어를 구문 그대로 관계형 질의 언어 내에서 사용하여 MATCH를 처리한 결과를 리턴하는 것뿐만 아니라, MATCH->CREATE의 질의 언어와 같이 MATCH를 처리한 결과를 CREATE 절에서 사용하며, 테이블을 참조하는 읽기(READ) 등의 질의 처리와 데이터 삽입(INSERT) 등의 데이터 조작이 혼용된 형태의 질의 처리도 가능하다.
도 3은 본 발명의 일실시예에 따른 데이터베이스에서 그래프 질의 언어를 관계형 데이터의 처리를 위한 관계형 질의 언어로 변환하는 과정을 설명하기 위한 도면이다.
일반적으로 그래프 질의 언어는 다양한 연산을 수행하기 위한 구문을 구성요소로 한다. 예를 들어, ‘RETURN’은 최종 질의 결과를 정의하고, ‘MATCH’는 주어진 패턴에 매칭되는 결과를 찾는다. 그리고 ‘OPTIONAL MATCH’는 관계형 질의 언어인 SQL의 ‘outer join’과 유사한 기능의 연산을 수행한다. 그래프 질의 언어는 하나의 질의에서 이러한 복수 개의 구문을 체인 형태로 연결하여 사용할 수 있다.
이렇게 연결된 그래프 질의 언어의 구문들은 데이터를 파이프라인 형태로 전송하며, 각 구문들은 이전 구문의 입력 데이터를 읽어들여 정해진 작업을 수행한 후 다음 구문에게 데이터를 전달하는 방식으로 질의 처리를 수행하며, 구문에 정의된 작업에 따라 결과 데이터의 타입이나 개수가 결정된다.
도 3을 참조하여 구체적으로 설명하면, 5개의 구문으로 구성된 그래프 질의문이며, MATCH (a)-[]->(b)의 연산결과를 다음 구문인 CREATE (a)-[]->(c)에 전송하고, 그 결과를 MATCH (b)<-[]-(d)에 전송하며, 또 그 결과를 CREATE (c)-[]->(d)에 반영한 다음 a와, b와, c와, d의 이름을 조회할 수 있다.
여기서, 본 발명에 따른 변환부(20)는 입력된 질의 언어를 문법적인 구문의 구조체로 변환하는 파서부(21)와, 파서부(21)에 의해 변환된 구조체를 질의 결과에 대해 가장 비용이 적게 소요되는 플랜으로 생성하는 플랜 생성부(22)를 더 포함할 수 있다.
파서부(21)는 그래프 질의 언어의 문법을 인식하도록 키워드가 추가되어 새로운 데이터 타입의 인식이 가능하며, 그래프 질의 언어를 포함한 질의 언어를 하나의 문법적인 구문의 구조체로 변환한다.
플랜 생성부(22)는 파서부(21)에 의해 변환된 구조체를 질의 결과에 대해 가장 비용이 적게 소요되는 플랜으로 생성한다. 이하에서는 플랜생성부(22)에 의해 플랜이 생성되는 과정을 설명한다.
도 4a 및 도 4b는 본 발명의 일실시예에 따른 데이터베이스에서 플랜생성부(22)에 의해 플랜이 생성되는 과정을 설명하기 위한 도면이다. 도 4a 및 도 4b에 도시된 바와 같이, 본 발명에 따른 데이터베이스는 그래프 질의 언어를 문법적 구문으로 분석한 구조체를 질의 최적화를 위한 중간 형태의 구문으로 생성한다. 구체적으로, 본 발명에 따른 플랜생성부(22)는 관계형 대수(relational algebra) 형태의 플랜을 생성하고, 이에 따라 참조하고자 하는 테이블이나 열(Column) 등이 실제로 존재하는지 여부와, 데이터 처리에 필요한 권한이 있는지 여부 등을 확인한다. 이는 통합 질의 처리를 위한 논리적 플랜으로 볼 수 있다.
도 4a를 참조하여 본 발명에 따른 플랜생성부(22)의 동작을 구체적으로 설명하면 먼저 플랜생성부(22)는 해당 질의문을 문법적으로 분석하여 SELECT와, FROM과, WHERE로 구분하고, 참조하고자 하는 테이블 T1과 T2 및 그 테이블의 name, accountID 열이 존재하는지 여부와 데이터 처리에 필요한 권한이 있는지 확인한다.
다음으로, 플랜생성부(22)는 생성된 관계형 대수에 대해 다른 순서 또는 다른 방법에 의해 동등한 처리결과를 만들 수 있는 복수 개의 플랜을 생성하고, 생성된 각 플랜이 조인(JOIN)이나 소트(SORT) 등의 다양한 알고리즘 중 어떠한 알고리즘에 의해 수행되는지 비용 예측을 통해 선택한다. 이로써, 동등한 결과를 가지는 여러 플랜 중 가장 비용이 적게 소요되는 플랜을 선택하며, 이는 통합 질의 처리를 위한 물리적 플랜으로 볼 수 있다.
즉, 도 4b에 도시된 바와 같이, 문법적 분석 후 T1의 id와 T2의 ownerID가 일치하는 T1의 name과 T2의 accountID를 조회하기 위해 조인(JOIN) 연산을 수행하는 것이 가장 비용이 적게 소요되는 플랜으로 선택하여 T1과 T2에 대해 조인 연산을 수행한다.
한편, 본 발명에 따른 플랜생성부(22)는 하나의 질의 내에서 다른 질의를 중첩시키는 서브쿼리가 있는 경우 논리적 플랜 내에 다른 논리적 플랜을 중첩하여 생성하고 이를 다시 하나의 논리적 플랜으로 만드는 과정을 추가적으로 수행하는 것도 가능하다. 도 5는 본 발명에 따른 데이터베이스가 FROM 절에서 서브쿼리를 사용하여 질의 처리를 수행하는 과정을 도시한 도면이다. 도 5에 도시된 바와 같이, 이러한 그래프 질의 처리에 대해 그래프 질의 언어를 관계형 대수로 매핑하고, 그래프 질의 언어를 위한 연산자를 추가하는 논리적 플랜이 생성 가능하며, 생성된 논리적 플랜 중 필터는 서브쿼리로 푸쉬다운을 수행하여 좀더 효율적인 논리적 플랜을 생성할 수 있다.
도 5를 참조하여 구체적으로 설명하면, T1의 id와 T2의 ownerID가 일치하며 T2의 year가 2016인 T1의 name과 T2의 accountID를 조회하기 위해, 조인 연산의 수행 전 T2의 year가 2016인 데이터 필터링을 수행하고, account 테이블에서도 T2의 year가 2016인 데이터 필터링을 수행하여 좀더 효율적인 플랜을 생성하게 된다.
이렇게 본 발명에 따른 데이터베이스는 여러 개의 구문을 파이프라인 형태로 연결하여 사용할 수 있는 특징을 가지는 그래프 질의 언어를 관계형 질의문에 혼용하여 사용함으로써, 질의문을 손쉽게 작성하면서도 질의 처리의 성능향상을 가져올 수 있다.
도 6은 본 발명에 따른 통합 질의 처리가 가능한 데이터베이스의 데이터 처리방법을 도시한 흐름도이다.
먼저, 제어부(30)가 관계형 데이터와 그래프 데이터를 포함하는 데이터를 저장부(10)에 저장한다(S10). 상술한 바와 같이, 관계형 데이터는 관계형 데이터베이스의 스키마에 따라 테이블 형태로 저장부(10)에 저장되며, 그래프 데이터는 정점과, 간선과, 정점 및 간선에 대한 프로퍼티를 포함하는 4개의 엔터티가 저장부(10)에 저장된다.
다음으로, 제어부(20)는 데이터의 처리를 위한 질의 언어를 입력받는다(S20).
그리하여 제어부(30)는 관계형 질의 구문 내에 그래프 질의 언어가 포함되어 있는 경우, 변환부(20)에 의해 그래프 질의 언어를 파이프라인 형태의 서브쿼리 연결방식에 의해 관계형 대수로 변환한다(S30).
여기서, 단계 S30은 그래프 질의 언어를 문법적인 구문의 구조체로 변환하는 단계와, 변환된 구조체를 질의 결과에 대해 가장 비용이 적게 소요되는 플랜으로 생성하는 단계를 더 포함할 수 있다.
그리고 변환된 구조체를 플랜으로 생성하는 단계는, 그래프 질의 언어를 관계형 대수로 매핑하고, 그래프 질의 언어를 위한 연산자를 추가하는 논리적 플랜 생성단계와, 관계형 대수에 대해 동일한 결과를 만드는 복수 개의 플랜 중 가장 비용이 적게 소요되는 플랜을 생성하는 물리적 플랜 생성단계를 더 포함할 수 있다.
즉, 본 발명에 따른 데이터베이스의 데이터 처리방법은 그래프 질의 언어를 관계형 질의 언어의 처리를 위한 중간 단계의 구문인 관계형 대수로 변환함으로써 관계형 질의 구문 내에 동시에 혼용이 가능하여 관계형 질의 언어와 그래프 질의 언어를 하나의 질의문으로 기술할 수 있다. 이로써 본 발명에 따른 데이터베이스는 하나의 데이터베이스 내에서 관계형 질의 언어와 그래프 질의 언어를 통합적으로 사용하면서 일반적인 질의처리 최적화 기법을 관계형 질의 언어와 그래프 질의 언어의 구별 없이 수행되도록 할 수 있다.
이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.
10 : 저장부 20 : 변환부
30 : 제어부

Claims (8)

  1. 관계형 데이터베이스의 스키마에 따라 테이블 형태로 저장되는 관계형 데이터와, 정점과, 간선과, 정점 및 간선에 대한 프로퍼티를 포함하는 4개의 엔터티 형태로 저장되는 그래프 데이터를 포함하는 데이터를 저장하는 저장부와;
    그래프 데이터의 처리를 위한 속성 그래프 데이터 모델에 대한 질의 언어를 파이프라인 형태의 서브쿼리 연결방식에 의해 관계형 질의 언어의 처리를 위한 중간 단계의 구문인 관계형 대수로 변환하는 변환부와;
    상기 속성 그래프 데이터 모델에 대한 질의 언어와 관계형 질의 언어가 혼용되는 통합적인 질의문이 입력되는 경우 입력된 질의문 내의 상기 속성 그래프 데이터 모델에 대한 질의 언어를 문법적인 구문의 구조체로 변환하고 상기 질의문 내에 포함된 상기 속성 그래프 데이터 모델에 대한 질의 언어를 상기 관계형 대수로 변환하도록 상기 변환부를 제어하는 제어부를 포함하는 것을 특징으로 하는 통합 질의 처리가 가능한 데이터베이스.
  2. 제1항에 있어서,
    상기 변환부는,
    상기 속성 그래프 데이터 모델에 대한 질의 언어를 문법적인 구문의 구조체로 변환하는 파서부와;
    상기 파서부에 의해 변환된 구조체를 질의 결과에 대해 가장 비용이 적게 소요되는 플랜으로 생성하는 플랜 생성부를 더 포함하는 것을 특징으로 하는 통합 질의 처리가 가능한 데이터베이스.
  3. 제2항에 있어서,
    상기 플랜 생성부는,
    상기 속성 그래프 데이터 모델에 대한 질의 언어를 상기 관계형 대수로 매핑하고, 상기 속성 그래프 데이터 모델에 대한 질의 언어를 위한 연산자를 추가하는 논리적 플랜 생성부와;
    상기 관계형 대수에 대해 동일한 결과를 만드는 복수 개의 플랜 중 가장 비용이 적게 소요되는 플랜을 생성하는 물리적 플랜 생성부를 더 포함하는 것을 특징으로 하는 통합 질의 처리가 가능한 데이터베이스.
  4. 삭제
  5. 제어부가 관계형 데이터베이스의 스키마에 따라 테이블 형태로 저장되는 관계형 데이터와, 정점과, 간선과, 정점 및 간선에 대한 프로퍼티를 포함하는 4개의 엔터티 형태로 저장되는 그래프 데이터를 포함하는 데이터를 저장부에 저장하는 단계;
    상기 제어부가 속성 그래프 데이터 모델에 대한 질의 언어와 관계형 질의 언어가 혼용되는 통합적인 질의문을 입력받는 단계; 및
    상기 질의문이 입력되는 경우 상기 제어부가 입력된 질의문 내의 상기 속성 그래프 데이터 모델에 대한 질의 언어를 문법적인 구문의 구조체로 변환하고 상기 질의문 내에 포함된 상기 속성 그래프 모델에 대한 질의 언어를 파이프라인 형태의 서브쿼리 연결방식에 의해 관계형 질의 언어의 처리를 위한 중간 단계의 구문인 관계형 대수로 변환하는 단계를 포함하는 것을 특징으로 하는 통합 질의 처리가 가능한 데이터베이스의 데이터 처리방법.
  6. 제5항에 있어서,
    상기 속성 그래프 데이터 모델에 대한 질의 언어를 관계형 대수로 변환하는 단계는,
    상기 입력된 속성 그래프 데이터 모델에 대한 질의 언어를 문법적인 구문의 구조체로 변환하는 단계; 및
    상기 변환된 구조체를 질의 결과에 대해 가장 비용이 적게 소요되는 플랜으로 생성하는 단계를 더 포함하는 것을 특징으로 하는 통합 질의 처리가 가능한 데이터베이스의 데이터 처리방법.
  7. 제6항에 있어서,
    상기 변환된 구조체를 플랜으로 생성하는 단계는,
    상기 속성 그래프 데이터 모델에 대한 질의 언어를 관계형 대수로 매핑하고, 상기 속성 그래프 데이터 모델에 대한 질의 언어를 위한 연산자를 추가하는 논리적 플랜 생성단계; 및
    상기 관계형 대수에 대해 동일한 결과를 만드는 복수 개의 플랜 중 가장 비용이 적게 소요되는 플랜을 생성하는 물리적 플랜 생성단계를 더 포함하는 것을 특징으로 하는 통합 질의 처리가 가능한 데이터베이스의 데이터 처리방법.
  8. 삭제
KR1020160115196A 2016-09-07 2016-09-07 통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법 KR101731579B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160115196A KR101731579B1 (ko) 2016-09-07 2016-09-07 통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법
US15/697,669 US20180067987A1 (en) 2016-09-07 2017-09-07 Database capable of integrated query processing and data processing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160115196A KR101731579B1 (ko) 2016-09-07 2016-09-07 통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법

Publications (1)

Publication Number Publication Date
KR101731579B1 true KR101731579B1 (ko) 2017-05-12

Family

ID=58739947

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160115196A KR101731579B1 (ko) 2016-09-07 2016-09-07 통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법

Country Status (2)

Country Link
US (1) US20180067987A1 (ko)
KR (1) KR101731579B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102125010B1 (ko) * 2020-03-17 2020-06-19 김명훈 데이터베이스 전환 분석 시스템 및 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496335B2 (en) * 2017-06-30 2019-12-03 Intel Corporation Method and apparatus for performing multi-object transformations on a storage device
US11144583B2 (en) * 2017-08-12 2021-10-12 Fulcrum 103, Ltd. Method and apparatus for the conversion and display of data
US11989178B2 (en) 2020-10-26 2024-05-21 Oracle International Corporation Efficient compilation of graph queries including complex expressions on top of sql based relational engine
US11507579B2 (en) 2020-10-26 2022-11-22 Oracle International Corporation Efficient compilation of graph queries involving long graph query patterns on top of SQL based relational engine
US11567932B2 (en) * 2020-10-26 2023-01-31 Oracle International Corporation Efficient compilation of graph queries on top of SQL based relational engine
CN112416962A (zh) * 2020-11-06 2021-02-26 北京偶数科技有限公司 数据查询方法、装置以及存储介质
US11500868B2 (en) 2021-01-29 2022-11-15 Oracle International Corporation Efficient identification of vertices and edges for graph indexes in an RDBMS
US11921785B2 (en) 2022-01-25 2024-03-05 Oracle International Corporation Inline graph algorithm execution with a relational SQL engine
US20230401192A1 (en) * 2022-06-13 2023-12-14 The Toronto-Dominion Bank Systems and methods for optimizing data processing in a distributed computing environment
CN116108245B (zh) * 2023-03-31 2023-06-30 支付宝(杭州)信息技术有限公司 图数据查询方法和查询引擎

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101525529B1 (ko) * 2014-09-30 2015-06-05 주식회사 비트나인 데이터 처리장치 및 그 데이터 매핑방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002027551A2 (en) * 2000-08-01 2002-04-04 Nimble Technology, Inc. Nested conditional relations (ncr) model and algebra
US7797304B2 (en) * 2006-03-20 2010-09-14 Microsoft Corporation Extensible query language with support for rich data types
US8260803B2 (en) * 2010-09-23 2012-09-04 Hewlett-Packard Development Company, L.P. System and method for data stream processing
US10089367B2 (en) * 2013-01-04 2018-10-02 PlaceIQ, Inc. Expediting pattern matching queries against time series data
US20150019530A1 (en) * 2013-07-11 2015-01-15 Cognitive Electronics, Inc. Query language for unstructed data
US9805079B2 (en) * 2014-08-22 2017-10-31 Xcalar, Inc. Executing constant time relational queries against structured and semi-structured data
US20170068891A1 (en) * 2015-09-04 2017-03-09 Infotech Soft, Inc. System for rapid ingestion, semantic modeling and semantic querying over computer clusters
US11120020B2 (en) * 2015-12-04 2021-09-14 Oracle International Corporation Optimal index selection in polynomial time
US10521775B2 (en) * 2016-04-18 2019-12-31 R3 Ltd. Secure processing of electronic transactions by a decentralized, distributed ledger system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101525529B1 (ko) * 2014-09-30 2015-06-05 주식회사 비트나인 데이터 처리장치 및 그 데이터 매핑방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102125010B1 (ko) * 2020-03-17 2020-06-19 김명훈 데이터베이스 전환 분석 시스템 및 방법

Also Published As

Publication number Publication date
US20180067987A1 (en) 2018-03-08

Similar Documents

Publication Publication Date Title
KR101731579B1 (ko) 통합 질의 처리가 가능한 데이터베이스 및 그 데이터 처리방법
US8156134B2 (en) Using different groups of query graph transform modules to generate execution plans for queries for different database types
US6240406B1 (en) System and method for optimizing queries with aggregates and collection conversions
US6510422B1 (en) Cost based materialized view selection for query optimization
US8429151B2 (en) Highly adaptable query optimizer search space generation process
US9009140B2 (en) Optimization of database query
Becker et al. Rule-based optimization and query processing in an extensible geometric database system
US6466931B1 (en) Method and system for transparently caching and reusing query execution plans efficiently
US8965918B2 (en) Decomposed query conditions
US7343370B2 (en) Plan generation in database query optimizers through specification of plan patterns
US20140101130A1 (en) Join type for optimizing database queries
US11468061B2 (en) Incremental simplification and optimization of complex queries using dynamic result feedback
US10102248B2 (en) Join type for optimizing database queries
US6836770B2 (en) Method for transforming SQL queries
CN105718593A (zh) 一种数据库查询优化方法及***
JPH1125096A (ja) データベースをサーチする方法およびコンピュータシステム
KR20030047889A (ko) 데이터베이스 질의를 자동으로 생성하는 시스템 및 방법
CN101984439A (zh) 基于子查询实现数据源xml查询***优化的方法
Bruno et al. Polynomial heuristics for query optimization
Unbehauen et al. Accessing relational data on the web with sparqlmap
US20110082856A1 (en) System and method for optimizing queries
WO2011106006A1 (en) Optimization method and apparatus
Hölsch et al. Optimization of nested queries using the nf2 algebra
Zhou et al. A learned query rewrite system
Saveliev Implementation of generalized relational algebraic operations with AsterixDB BDMS

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: 20200220

Year of fee payment: 4