KR20160047239A - 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법 및 장치 - Google Patents

혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법 및 장치 Download PDF

Info

Publication number
KR20160047239A
KR20160047239A KR1020140143399A KR20140143399A KR20160047239A KR 20160047239 A KR20160047239 A KR 20160047239A KR 1020140143399 A KR1020140143399 A KR 1020140143399A KR 20140143399 A KR20140143399 A KR 20140143399A KR 20160047239 A KR20160047239 A KR 20160047239A
Authority
KR
South Korea
Prior art keywords
column
query
page
list
tree
Prior art date
Application number
KR1020140143399A
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 KR1020140143399A priority Critical patent/KR20160047239A/ko
Priority to US14/920,399 priority patent/US20160117350A1/en
Publication of KR20160047239A publication Critical patent/KR20160047239A/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/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

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

Abstract

본 발명은 데이터베이스 시스템에서 데이터 저장관리 기술에 관한 것으로서, 보다 상세하게는 OLAP/OLTP 혼합 워크로드 처리를 위한 데이터 저장 기술에 관한 것이다. 본 발명의 일 면에 따른 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치는 입력된 각 질의에 대한 컬럼 접근 정보를 생성하는 질의 처리기; 입력된 각 질의가 접근하는 페이지 정보와 상기 컬럼 접근 정보를 이용하여 페이지 별 질의 패턴 정보를 생성하는 페이지 모니터링 모듈; 상기 페이지 별 질의 패턴 정보에 컬럼그룹 선택을 위한 트리 기반의 알고리즘을 적용하여, 각 페이지를 구성할 컬럼그룹이 선택된 페이지 컬럼그룹 정보를 생성하는 페이지 레이아웃 관리기; 및 상기 페이지 컬럼그룹 정보에 기초하여 페이지를 컬럼그룹 단위로 생성하고 데이터를 저장하는 데이터 저장 관리기를 포함한다.

Description

혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법 및 장치{THE COLUMN GROUP SELECTION METHOD FOR STORING DATEA EFFICIENTLY IN THE MIXED OLAP/OLTP WORKLOAD ENVIRONMENT}
본 발명은 데이터베이스 시스템에서 데이터 저장관리 기술에 관한 것으로서, 보다 상세하게는 OLAP/OLTP 혼합 워크로드 처리를 위한 데이터 저장 기술에 관한 것이다.
데이터베이스 시스템은 처리 대상에 따라 OLTP(Online Transaction Processing) 시스템과 OLAP(Online Analytical Processing) 시스템으로 구분되어 발전되고 있다. 하지만 데이터베이스 시장에서 OLTP와 OLAP를 동시에 처리하려는 요구가 증가됨에 따라 혼합 워크로드를 처리하기 위한 데이터베이스 시스템이 산업계와 학계를 중심으로 발전하고 있다.
산업계에서는 데이터베이스 시스템 내에 OLTP 데이터베이스 엔진과 OLAP 데이터베이스 엔진을 별로도 구성함으로써, OLAP과 OLAP 워크로드를 처리하는 방향으로 발전하고 있는데 대표적인 하이브리드 데이터베이스 시스템으로 SAP의 HANA 시스템을 예로 들 수 있다.
학계에서는 아직 초기 단계이기는 하지만 별도의 전용 데이터베이스 엔진을 제공하지 않고 하나의 데이터베이스 엔진이 OLAP과 OLTP 워크로드를 처리할 수 있는 시스템을 연구하는데 초점을 두고 있는데, 대표적인 시스템으로 HYRISE 시스템이 있다.
혼합 워크로드를 처리하기 위한 시스템의 특징은 동적 페이지 저장 모델을 지원하는 것이다. 기존의 데이터베이스 시스템들은 정적 페이지 저장 모델인 NSM(N-ary Storage Model)을 기반으로 하고 있다. NSM 모델은 데이터를 레코드 단위로 저장하기 때문에 OLTP 워크로드를 처리하는데 있어서는 좋은 성능을 보이지만 대량의 데이터를 대상으로 특정 컬럼들에 접근하는 OLAP 워크로드 처리에는 좋은 성능을 보이기가 어렵다.
OLAP 워크로드를 효율적으로 처리하기 위해 컬럼 스토어(column store)가 개발되었다. 컬럼 스토어는 데이터를 레코드 단위로 저장하지 않고 컬럼 단위로 데이터를 분할하여 저장하는 시스템으로, OLAP 워크로드 처리에 좋은 성능을 보인다.
레코드 단위로 저장하는 기존의 데이터베이스 시스템-이를 로우 스토어(row store)라고 한다-와 컬럼 스토어는 모두 데이터 저장 모델이 정적 페이지 저장 모델을 기반으로 하고 있다. 따라서 일단 페이지 저장 모델이 결정되면 더 이상 변경되지 않고 정의된 페이지 모델에 데이터를 저장한다.
이와 같은 정적 페이지 저장 모델은 특정 질의 패턴에는 좋은 성능을 보일 수 있지만, 질의 패턴이 일정치 않은 다양한 워크로드를 처리할 경우에는 일정한 성능을 나타내기가 어렵다.
따라서 혼합 워크로드를 효율적으로 처리하기 위해서는 워크로드의 특성을 반영할 수 있는 동적 페이지 저장 모델이 필요하다. 동적 페이지 저장 모델은 처리하고자 하는 워크로드를 분석하여 워크로드의 특성에 맞게 주기적으로 페이지 내 컬럼 그룹을 재구성하여 데이터를 저장한다. 따라서, 동적 페이지 저장 모델은 보다 효율적으로 사용자 질의를 처리할 수 있다.
일반적으로 동적 페이지 저장 모델은 Data Morphing 페이지 모델을 기반으로 한다. Data Morphing 페이지 모델은 비용 모델(cost model)과 컬럼그룹 선택 알고리즘인 Hill-Climb 알고리즘을 제안함으로써 동적으로 페이지를 저장할 수 있는 방법을 제시하였다.
하지만 Data Morphing에서 제안하는 컬럼그룹 선택 알고리즘은 후보 기반의 알고리즘(Candidate-based algorithm)이기 때문에 테이블을 구성하는 컬럼의 수에 비례하여 연산량이 기하급수적으로 증가한다. 이 때문에 수백개의 컬럼으로 구성되는 OLAP 데이터베이스의 경우에는 적용하기가 어렵다는 문제점을 가진다.
HYRISE 시스템은 관계형 데이터베이스 시스템은 아니지만 컬럼그룹으로 분할하여 데이터를 저장하기 위해 컬럼그룹 선택 알고리즘을 제안하고 있다. HYRISE 시스템은 시스템 내에 적용된 컬럼그룹 선택 알고리즘이 Data Morphing의 컬럼그룹 선택 알고리즘보다 좋은 성능을 보인다고 말하고 있지만 HYRISE 시스템의 컬럼그룹 선택 알고리즘 역시 후보 기반의 알고리즘이기 때문에 테이블을 구성하는 컬럼의 수가 증가할 경우 Data Morphing 알고리즘과 동일한 문제점을 가지고 있다.
본 발명은 상술한 종래 기술의 문제점을 해결하기 위하여, 동적 페이지 저장 모델에서 컬럼그룹을 선택하는데 있어서 트리 기반의 알고리즘을 적용함으로써, 컬럼그룹 선택시의 연산 비용을 효율적으로 감소시킬 수 있는 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 면에 따른 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치는 입력된 각 질의에 대한 컬럼 접근 정보를 생성하는 질의 처리기; 입력된 각 질의가 접근하는 페이지 정보와 상기 컬럼 접근 정보를 이용하여 페이지 별 질의 패턴 정보를 생성하는 페이지 모니터링 모듈; 상기 페이지 별 질의 패턴 정보에 컬럼그룹 선택을 위한 트리 기반의 알고리즘을 적용하여, 각 페이지를 구성할 컬럼그룹이 선택된 페이지 컬럼그룹 정보를 생성하는 페이지 레이아웃 관리기; 및 상기 페이지 컬럼그룹 정보에 기초하여 페이지를 컬럼그룹 단위로 생성하고 데이터를 저장하는 데이터 저장 관리기를 포함한다.
상기 페이지 레이아웃 관리기는, 입력된 각 질의가 접근하는 컬럼들에 대한 질의 별 컬럼 리스트를 생성하고, 상기 컬럼 리스트를 구성하는 각 컬럼들에 상기 입력된 각 질의가 접근한 접근 빈도수를 연산한다.
또한, 상기 페이지 레이아웃 관리기는, 상기 컬럼 리스트를 구성하는 각 컬럼들의 접근 빈도수를 기 설정된 임계 빈도수와 비교하고, 비교 결과 상기 접근 빈도수가 상기 임계 빈도수 이상이 되는 컬럼들을 접근 빈도수 순으로 배열한 기준 컬럼 리스트를 생성한다.
또한, 상기 페이지 레이아웃 관리기는, 상기 질의 별 컬럼 리스트를 구성하는 컬럼들을 상기 기준 컬럼 리스트를 기반으로 순서대로 배열하고, 상기 질의 별 컬럼 리스트에서 상기 기준 컬럼 리스트에 없는 컬럼들을 삭제한 순서화된 컬럼 리스트를 질의 별로 생성한다.
또한, 상기 페이지 레이아웃 관리기는, 질의 별로 생성된 상기 순서화된 컬럼 리스트를 구성하는 컬럼들을, 루트 노드를 중심으로 적어도 하나 이상의 부모 노드와 자식 노드에 배치한 컬럼 트리를 생성한다.
또한, 상기 페이지 레이아웃 관리기는, 질의 별로 생성된 상기 순서화된 컬럼 리스트를 구성하는 컬럼들을 접근 빈도수 순으로 상기 부모 노드 및 상기 자식 노드에 배치한다.
또한, 상기 페이지 레이아웃 관리기는 상기 컬럼 트리에서 동일한 컬럼명을 가진 상기 부모 노드 혹은 상기 자식 노드를 연결 리스트(linked list)로 연결한다.
또한, 상기 페이지 레이아웃 관리기는, 상기 컬럼 트리를 구성하는 각 노드를 식별하기 위한 대표 노드의 컬럼명과, 상기 대표 노드의 주소정보를 포함하는 컬럼 헤더 테이블을 생성한다.
또한, 상기 페이지 레이아웃 관리기는, 상기 컬럼 트리를 기반으로, 상기 컬럼 트리를 구성하는 각 컬럼이 구성할 수 있는 컬럼 패턴과, 해당 컬럼 패턴에 상기 입력된 각 질의가 접근한 접근 빈도수를 포함하는 조건 패턴 기준(conditional pattern base)을 각 컬럼 별로 생성한다.
또한, 상기 페이지 레이아웃 관리기는, 상기 조건 패턴 기준의 각 조건 패턴 기준을 기반으로 새로운 컬럼 트리 생성 및 새로운 조건 패턴 기준 생성 프로세스를 더 이상 컬럼 트리를 생성할 수 없을 때까지 반복 실시하여, 각 조건 패턴 기준 별로 최종 컬럼 트리를 생성한다.
또한, 상기 페이지 레이아웃 관리기는, 상기 각 조건 패턴 기준 별로 생성된 상기 최종 컬럼 트리를 기반으로, 가능한 모든 컬럼그룹 조합을 생성하고, 각 컬럼그룹 조합에 대한 비용모델을 연산한 후, 비용모델이 최소가 되는 컬럼그룹 조합을 선택한다.
본 발명의 다른 면에 따른 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법은, (a) 입력된 각 질의에 대한 컬럼 접근 정보를 생성하는 단계; (b) 입력된 각 질의가 접근하는 페이지 정보와 상기 컬럼 접근 정보를 이용하여 페이지 별 질의 패턴 정보를 생성하는 단계; (c) 상기 페이지 별 질의 패턴 정보에 컬럼그룹 선택을 위한 트리 기반의 알고리즘을 적용하여, 각 페이지를 구성할 컬럼그룹이 선택된 페이지 컬럼그룹 정보를 생성하는 단계; 및 (d) 상기 페이지 컬럼그룹 정보에 기초하여 페이지를 컬럼그룹 단위로 생성하고 데이터를 저장하는 단계를 포함한다.
본 발명의 또 다른 면에 따른 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법은 (a) 입력된 각 질의가 접근하는 컬럼들에 대한 질의 별 컬럼 리스트를 생성하고, 상기 컬럼 리스트를 구성하는 각 컬럼들에 상기 입력된 각 질의가 접근한 접근 빈도수를 연산하는 단계; (b) 상기 컬럼 리스트를 구성하는 각 컬럼들의 접근 빈도수를 기 설정된 임계 빈도수와 비교하고, 비교 결과 상기 접근 빈도수가 상기 임계 빈도수 이상이 되는 컬럼들을 접근 빈도수 순으로 배열한 기준 컬럼 리스트를 생성하는 단계; (c) 상기 질의 별 컬럼 리스트를 구성하는 컬럼들을 상기 기준 컬럼 리스트를 기반으로 순서대로 배열하고, 상기 질의 별 컬럼 리스트에서 상기 기준 컬럼 리스트에 없는 컬럼들을 삭제한 순서화된 컬럼 리스트를 질의 별로 생성하는 단계; (d) 질의 별로 생성된 상기 순서화된 컬럼 리스트를 구성하는 컬럼들을, 루트 노드를 중심으로 적어도 하나 이상의 부모 노드와 자식 노드에 배치한 컬럼 트리를 생성하는 단계; (e) 상기 컬럼 트리를 기반으로, 상기 컬럼 트리를 구성하는 각 컬럼이 구성할 수 있는 컬럼 패턴과, 해당 컬럼 패턴에 상기 입력된 각 질의가 접근한 접근 빈도수를 포함하는 조건 패턴 기준(conditional pattern base)을 각 컬럼 별로 생성하는 단계; (f) 상기 조건 패턴 기준의 각 조건 패턴 기준을 기반으로 새로운 컬럼 트리 생성 및 새로운 조건 패턴 기준 생성 프로세스를 더 이상 컬럼 트리를 생성할 수 없을 때까지 반복 실시하여, 각 조건 패턴 기준 별로 최종 컬럼 트리를 생성하는 단계; 및 (g)상기 각 조건 패턴 기준 별로 생성된 상기 최종 컬럼 트리를 기반으로, 가능한 모든 컬럼그룹 조합을 생성하고, 각 컬럼그룹 조합에 대한 비용모델을 연산한 후, 비용모델이 최소가 되는 컬럼그룹 조합을 선택하는 단계를 포함한다.
이상 상술한 바와 같은 본 발명에 따르면, 데이터베이스 시스템에서 동적으로 페이지를 구성하는데 있어서, 트리 기반의 알고리즘을 적용하여 컬럼그룹을 선택하기 때문에 계산비용을 현저히 줄일 수 있는 이점이 있다.
이상 상술한 바와 같은 본 발명에 따르면, 데이터베이스 시스템에서 동적으로 페이지를 구성하는데 있어서, 트리 기반의 알고리즘을 적용하여 컬럼그룹을 선택하기 때문에 계산비용을 현저히 줄일 수 있는 이점이 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 기재에 의해 정의된다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자 이외의 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가급적 동일한 부호를 부여하고 또한 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명의 실시예에 따른 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치를 도시한 블록구성도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치는 질의 처리기(100), 페이지 모니터링 모듈(200), 페이지 레이아웃 관리기(300), 데이터 저장 관리기(400)를 포함한다.
질의 처리기(100)는 데이터베이스 시스템에 입력된 질의(SQL)에 대한 컬럼 접근 정보를 생성한다.
페이지 모니터링 모듈(200)은 상기 질의 처리기(100)로부터 상기 컬럼 접근 정보를 전달받고, 데이터 저장 관리기(400)로부터 입력된 각 질의가 접근하는 페이지 정보를 전달받아 페이지 별 질의 패턴 정보를 생성하고, 이를 페이지 레이아웃 관리기(300)에 전달한다.
페이지 레이아웃 관리기(300)는 상기 페이지 별 질의 패턴 정보에 기반하여 각 페이지를 구성할 컬럼그룹이 선택된 페이지 컬럼그룹 정보를 생성한다.
페이지 레이아웃 관리기(300)는 상기 페이지 컬럼그룹 정보에 기초하여 페이지를 컬럼그룹 단위로 생성하고 데이터를 저장한다.
레코드 단위로 데이터를 저장하는 종래의 데이터베이스 시스템은 질의 처리기와 데이터 저장 관리기를 통해 데이터를 처리하지만, 본 발명의 실시예에 따른 데이터베이스 시스템은 페이지를 동적으로 저장하기 위한 페이지 모니터링 모듈과 페이지 레이아웃 관리기를 추가 구성됨으로써, 워크로드를 분석하고 주기적으로 컬럼그룹을 생성하여, 이를 데이터 저장관리기에 전달한다는 점에서 특징이 있다.
또한, 본 발명의 실시예에 따른 데이터베이스 시스템은 상기 페이지 레이아웃 관리기에서 컬럼그룹을 선택할 때, 트리 기반의 알고리즘을 적용하기 때문에 계산비용을 현저히 줄일 수 있다는 점에서 특징이 있다.
도 2에는 본 발명의 실시예에 따라 상기 페이지 레이아웃 관리기에서 페이지 모니터링 정보에 기초하여 페이지 컬럼그룹 정보를 생성한 예가 도시된다.
도 2에 도시된 바와 같이, 상기 페이지 레이아웃 관리기(300)에서 페이지 컬럼그룹 정보를 생성하기 위해서는 페이지 모니터링 정보가 필요하다. 여기서, 페이지 모니터링 정보는 페이지 별로 각 질의가 접근한 컬럼에 대한 정보를 포함한다. 예컨대, page 1에서 q1 질의는 a,b,c 컬럼에, q2 질의는 b,c,d 컬럼에 접근한 사실 정보가 페이지 모니터링 정보로 제공된다.
상기 페이지 레이아웃 관리기(300)는 상기 페이지 모니터링 정보에 기반하여 질의가 접근하는 빈도수가 높은 컬럼그룹을 선택한다. 이때, 비용 모델(cost model) 연산 및 컬럼그룹 선택 알고리즘이 적용되며, 본 발명의 실시예에서는 상기 컬럼그룹 선택 알고리즘이 트리 기반의 자료구조인 것을 특징으로 한다.
이하, 도 3 내지 도 9를 참조하여 본 발명의 실시예에 따라 상기 페이지 레이아웃 관리기(300)에서 컬럼그룹 정보를 생성하는 과정을 살펴본다.
도 3은 도 1의 페이지 레이아웃 관리기에서 페이지 컬럼그룹 정보를 생성하는 과정을 도시한 순서도이다.
도 3을 참조하면, 페이지 레이아웃 관리기(300)는 입력된 각 질의가 접근하는 컬럼들에 대한 질의 별 컬럼 리스트를 생성하고, 상기 컬럼 리스트를 구성하는 각 컬럼들에 상기 입력된 각 질의가 접근한 접근 빈도수를 연산한다(S100).
다음으로, 페이지 레이아웃 관리기(300)는 상기 컬럼 리스트를 구성하는 각 컬럼들의 접근 빈도수를 기 설정된 임계 빈도수와 비교하고, 비교 결과 상기 접근 빈도수가 상기 임계 빈도수 이상이 되는 컬럼들을 접근 빈도수 순으로 배열한 기준 컬럼 리스트(ordered column list)를 생성한다(S200).
본 발명의 실시예에서는 질의가 접근하는 빈도수가 높은 컬럼들만 관심의 대상이 되므로 일정한 임계 값(threshold) 이하의 접근 빈도수를 갖는 컬럼들은 기준 컬럼 리스트에서 삭제된다. 따라서, 기준 컬럼 리스트에는 접근 빈도수가 가장 높은 컬럼을 시작으로 순차적으로 컬럼들이 저장된다.
도 4는 도 3의 기준 컬럼 리스트 생성 단계에서 기준 컬럼 리스트가 생성된 예를 도시한다.
예컨대, 질의q1은 a, b, c 컬럼에 접근하였고, 질의q5는 c, d, e, g, h 컬럼에 접근하였다고 가정하면, 질의 q1에 대해서는 {a, b, c} 컬럼 리스트가 생성되고, 질의(500)에 대해서는 {c, d, e, g, h} 컬럼 리스트가 생성된다.
위와 같은 방법으로, 특정 페이지 내의 모든 질의(q1 , q2, ...) 각각에 대해 컬럼 리스트가 생성되고, 컬럼 리스트를 구성하는 모든 컬럼 별로 질의(q1 , q2, ...)가 접근한 빈도수가 연산된다. 컬럼 리스트는 빈도순대로 정렬되고 만약 임계값을 기준으로 임계값 이상의 요소만 리스트에 남기고 나머지 요소들은 컬럼 리스트에서 삭제한다.
예컨대, 기준 컬럼 리스트를 생성하기 위해 기 설정된 임계 기준 값을 20이라고 가정하면, 접근 빈도수가 20이상으로 연산된 컬럼은 a, b, c, e, f, g가 될 것이고, 그 결과 접근 빈도수가 가장 높은 a 컬럼을 시작으로 b, c, e, f, g 순으로 {a, b, c, e, f, g} 기준 컬럼 리스트가 생성된다.
다음으로, 페이지 레이아웃 관리기(300)는 상기 질의 별 컬럼 리스트를 구성하는 컬럼들을 상기 기준 컬럼 리스트를 기반으로 순서대로 배열하고, 상기 질의 별 컬럼 리스트에서 상기 기준 컬럼 리스트에 없는 컬럼들을 삭제한 순서화된 컬럼 리스트를 질의 별로 생성한다(S300).
도 5는 도 3의 순서화된 컬럼 리스트 생성 단계에서 각 질의에 대해 순서화된 컬럼 리스트가 생성된 예를 도시한다.
예컨대, 질의 q4에 대해 {a, b, c, e, g, m} 컬럼 리스트가 생성되고, S200 단계에서 {a, b, c, e, f, g} 기준 컬럼 리스트가 생성되었다고 가정하자.
이때, 상기 { a, b, c, e, g, m } 컬럼 리스트에서 기준 컬럼 리스트에 없는 m 컬럼은 삭제되고, 나머지 a, b, c, e, g 컬럼은 상기 기준 컬럼 리스트를 기반으로 순서화되어 {f,c,a,m,p}와 같은 순서화된 컬럼 리스트가 생성될 것이다.
전술한 과정은 나머지 질의에도 그대로 적용되고, 그 결과 도 5에 도시된 바와 같은 순서화된 컬럼 리스트가 각 질의 별로 생성된다.
다음으로, 페이지 레이아웃 관리기(300)는 질의 별로 생성된 상기 순서화된 컬럼 리스트를 구성하는 컬럼들을, 루트 노드를 중심으로 적어도 하나 이상의 부모 노드와 자식 노드에 배치한 컬럼 트리를 생성한다(S400).
컬럼 트리는 루트 노드를 중심으로 접근 빈도수가 높은 컬럼을 부모 노드에 배치하고, 이를 기준으로 다음 접근 빈도수를 갖는 컬럼을 자식 노드에 배치하는 방식으로 생성된다.
또한, 컬럼 트리에서 동일한 컬럼명을 가진 부모 노드 혹은 자식 노드는 연결 리스트(linked list)로 연결되어, 동일한 컬럼명을 가진 컬럼 노드(부모 노드 및 자식 노드를 통칭)를 순차적으로 검색할 수 있게 한다.
또한, 페이지 레이아웃 관리기(300)는 상기 컬럼 트리를 구성하는 각 컬럼 노드를 식별하기 위한 대표 노드의 컬럼명과, 상기 대표 노드의 주소정보를 포함하는 컬럼 헤더 테이블을 생성한다.
도 6은 도 3의 컬럼 트리 생성 단계에서 순서화된 컬럼 리스트에 기초하여 컬럼 트리가 생성된 예를 도시한다.
예컨대, 도 5의 순서화된 컬럼 리스트에서 a 컬럼이 최선에 배치된 경우의 수는 50이고, a,b,c 순으로 배치된 경우의 수는 30이고, a, b, c, e 순으로 배치된 경우의 수는 20이다. 이 경우, 도 6에 도시된 바와 같이 빈도수가 가장 높은 f 컬럼은 루트 노드를 중심으로 최상위 부모 노드에 배치되고, 그 다음으로 b, c 컬럼이 a 컬럼에 대한 자식 노드로 배치된다.
다음으로, 페이지 레이아웃 관리기(300)는 상기 컬럼 트리를 기반으로, 상기 컬럼 트리를 구성하는 각 컬럼이 구성할 수 있는 컬럼 패턴과, 해당 컬럼 패턴에 상기 입력된 각 질의가 접근한 접근 빈도수를 포함하는 조건 패턴 기준(conditional pattern base)을 각 컬럼 별로 생성한다(S500).
조건 패턴 기준은 각 컬럼들이 주어졌을 때 구성할 수 있는 컬럼 리스트와 빈도수로 구성된다. 도 7은 도 3의 조건 패턴 기준 생성 단계에서 각 컬럼들이 구성할 수 있는 컬럼 리스트와 빈도수가 생성된 예를 도시한다.
예컨대, f 컬럼에 대한 조건 패턴 기준을 생성하는 예를 설명하면, S400 단계에서 생성된 컬럼 트리에서 f 컬럼과 동시에 구성될 수 있는 컬럼은 a, b, c, e 이거나, a, b, c 이거나 혹은 b, c이다.
a, b, c, e의 경우 f와 동시에 접근할 수 있는 빈도의 수는 5이기 때문에 임계값보다 작게되어 더이상 계산하지 않는다. a, b, c의 경우에는 f와 동시에 접근할 수 있는 빈도의 수가 20이기 때문에 f 조건 트리를 생성할 수 있다.
다음으로, 페이지 레이아웃 관리기(300)는 기준 컬럼 리스트를 구성하는 모든 컬럼들에 대해 조건 패턴 기준을 다시 컬럼 트리로 생성하고(S600), 이에 기반하여 다시 조건 패턴 기준을 모든 컬럼들에 대해 생성한다. 이러한 작업은 더 이상 컬럼 트리가 생성될 수 없을 때까지 반복된다(S700).
즉, 페이지 레이아웃 관리기(300)는 상기 조건 패턴 기준의 각 조건 패턴 기준을 기반으로 새로운 컬럼 트리 생성 및 새로운 조건 패턴 기준 생성 프로세스를 더 이상 컬럼 트리를 생성할 수 없을 때까지 반복 실시한다. 이에 따라, 각 조건 패턴 기준 별로 최종 컬럼 트리가 생성된다.
이러한 반복 작업을 통해 최종적으로 접근 빈도수가 높은 컬럼 집합을 추출할 수 있다. 도 8은 도 3의 조건 패턴 기준을 대상으로 컬럼 트리를 생성하는 단계에서 m조건 패턴 기준으로부터 추출된 컬럼 그룹의 예를 도시한다.
다음으로, 페이지 레이아웃 관리기(300)는 상기 각 조건 패턴 기준 별로 생성된 상기 최종 컬럼 트리를 기반으로, 가능한 모든 컬럼그룹 조합을 생성하고, 각 컬럼그룹 조합에 대한 비용모델을 연산한 후, 비용모델이 최소가 되는 컬럼그룹 조합을 선택한다(S800).
도 9는 도 3의 컬럼그룹 정보를 생성하는 단계에서 생성 가능한 컬럼 그룹 조합 중에서 비용모델이 최소가 되는 컬럼그룹 조합을 생성하는 과정을 도시한다.
도 9를 참조하면, 페이지 레이아웃 관리기(300)는 컬럼그룹들이 생성할 수 있는 모든 조합에 대해 비용모델을 연산한다. 그 중 비용모델이 최소가 되는 조합이 최종 컬럼그룹 조합으로 선택된다.
이와 같이 트리 자료구조를 기반으로 접근 빈도수가 높은 컬럼들을 대상으로 컬럼그룹을 생성하고, 비용모델을 적용함으로써 최적의 컬럼그룹이 선택될 수 있다. 따라서, 기존의 후보 기반의 컬럼그룹 생성시의 계산 비용을 효과적으로 줄일 수 있다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구의 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 입력된 각 질의에 대한 컬럼 접근 정보를 생성하는 질의 처리기;
    입력된 각 질의가 접근하는 페이지 정보와 상기 컬럼 접근 정보를 이용하여 페이지 별 질의 패턴 정보를 생성하는 페이지 모니터링 모듈;
    상기 페이지 별 질의 패턴 정보에 컬럼그룹 선택을 위한 트리 기반의 알고리즘을 적용하여, 각 페이지를 구성할 컬럼그룹이 선택된 페이지 컬럼그룹 정보를 생성하는 페이지 레이아웃 관리기; 및
    상기 페이지 컬럼그룹 정보에 기초하여 페이지를 컬럼그룹 단위로 생성하고 데이터를 저장하는 데이터 저장 관리기
    를 포함하는 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치.
  2. 제1항에 있어서, 상기 페이지 레이아웃 관리기는,
    입력된 각 질의가 접근하는 컬럼들에 대한 질의 별 컬럼 리스트를 생성하고, 상기 컬럼 리스트를 구성하는 각 컬럼들에 상기 입력된 각 질의가 접근한 접근 빈도수를 연산하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치.
  3. 제2항에 있어서, 상기 페이지 레이아웃 관리기는,
    상기 컬럼 리스트를 구성하는 각 컬럼들의 접근 빈도수를 기 설정된 임계 빈도수와 비교하고, 비교 결과 상기 접근 빈도수가 상기 임계 빈도수 이상이 되는 컬럼들을 접근 빈도수 순으로 배열한 기준 컬럼 리스트를 생성하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치.
  4. 제3항에 있어서, 상기 페이지 레이아웃 관리기는,
    상기 질의 별 컬럼 리스트를 구성하는 컬럼들을 상기 기준 컬럼 리스트를 기반으로 순서대로 배열하고, 상기 질의 별 컬럼 리스트에서 상기 기준 컬럼 리스트에 없는 컬럼들을 삭제한 순서화된 컬럼 리스트를 질의 별로 생성하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치.
  5. 제4항에 있어서, 상기 페이지 레이아웃 관리기는,
    질의 별로 생성된 상기 순서화된 컬럼 리스트를 구성하는 컬럼들을, 루트 노드를 중심으로 적어도 하나 이상의 부모 노드와 자식 노드에 배치한 컬럼 트리를 생성하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치.
  6. 제4항에 있어서, 상기 페이지 레이아웃 관리기는,
    질의 별로 생성된 상기 순서화된 컬럼 리스트를 구성하는 컬럼들을 접근 빈도수 순으로 상기 부모 노드 및 상기 자식 노드에 배치하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치.
  7. 제4항에 있어서, 상기 페이지 레이아웃 관리기는,
    상기 컬럼 트리에서 동일한 컬럼명을 가진 상기 부모 노드 혹은 상기 자식 노드를 연결 리스트(linked list)로 연결하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치.
  8. 제4항에 있어서, 상기 페이지 레이아웃 관리기는,
    상기 컬럼 트리를 구성하는 각 노드를 식별하기 위한 대표 노드의 컬럼명과, 상기 대표 노드의 주소정보를 포함하는 컬럼 헤더 테이블을 생성하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치.
  9. 제4항에 있어서, 상기 페이지 레이아웃 관리기는,
    상기 컬럼 트리를 기반으로, 상기 컬럼 트리를 구성하는 각 컬럼이 구성할 수 있는 컬럼 패턴과, 해당 컬럼 패턴에 상기 입력된 각 질의가 접근한 접근 빈도수를 포함하는 조건 패턴 기준(conditional pattern base)을 각 컬럼 별로 생성하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치.
  10. 제9항에 있어서, 상기 페이지 레이아웃 관리기는,
    상기 조건 패턴 기준의 각 조건 패턴 기준을 기반으로 새로운 컬럼 트리 생성 및 새로운 조건 패턴 기준 생성 프로세스를 더 이상 컬럼 트리를 생성할 수 없을 때까지 반복 실시하여, 각 조건 패턴 기준 별로 최종 컬럼 트리를 생성하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치.
  11. 제10항에 있어서, 상기 페이지 레이아웃 관리기는,
    상기 각 조건 패턴 기준 별로 생성된 상기 최종 컬럼 트리를 기반으로, 가능한 모든 컬럼그룹 조합을 생성하고, 각 컬럼그룹 조합에 대한 비용모델을 연산한 후, 비용모델이 최소가 되는 컬럼그룹 조합을 선택하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택장치.
  12. (a) 입력된 각 질의에 대한 컬럼 접근 정보를 생성하는 단계;
    (b) 입력된 각 질의가 접근하는 페이지 정보와 상기 컬럼 접근 정보를 이용하여 페이지 별 질의 패턴 정보를 생성하는 단계;
    (c) 상기 페이지 별 질의 패턴 정보에 컬럼그룹 선택을 위한 트리 기반의 알고리즘을 적용하여, 각 페이지를 구성할 컬럼그룹이 선택된 페이지 컬럼그룹 정보를 생성하는 단계; 및
    (d) 상기 페이지 컬럼그룹 정보에 기초하여 페이지를 컬럼그룹 단위로 생성하고 데이터를 저장하는 단계
    를 포함하는 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법.
  13. 제12항에 있어서, 상기 (c) 단계는,
    입력된 각 질의가 접근하는 컬럼들에 대한 질의 별 컬럼 리스트를 생성하고, 상기 컬럼 리스트를 구성하는 각 컬럼들에 상기 입력된 각 질의가 접근한 접근 빈도수를 연산하는 단계와,
    상기 컬럼 리스트를 구성하는 각 컬럼들의 접근 빈도수를 기 설정된 임계 빈도수와 비교하고, 비교 결과 상기 접근 빈도수가 상기 임계 빈도수 이상이 되는 컬럼들을 접근 빈도수 순으로 배열한 기준 컬럼 리스트를 생성하는 단계를 포함하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법.
  14. 제13항에 있어서, 상기 (c) 단계는,
    상기 질의 별 컬럼 리스트를 구성하는 컬럼들을 상기 기준 컬럼 리스트를 기반으로 순서대로 배열하고, 상기 질의 별 컬럼 리스트에서 상기 기준 컬럼 리스트에 없는 컬럼들을 삭제한 순서화된 컬럼 리스트를 질의 별로 생성하는 단계와,
    질의 별로 생성된 상기 순서화된 컬럼 리스트를 구성하는 컬럼들을 접근 빈도수 순으로 적어도 하나 이상의 부모 노드와 자식 노드에 배치한 컬럼 트리를 생성하는 단계를 더 포함하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법.
  15. 제14항에 있어서, 상기 (c) 단계는,
    상기 컬럼 트리를 기반으로, 상기 컬럼 트리를 구성하는 각 컬럼이 구성할 수 있는 컬럼 패턴과, 해당 컬럼 패턴에 상기 입력된 각 질의가 접근한 접근 빈도수를 포함하는 조건 패턴 기준(conditional pattern base)을 각 컬럼 별로 생성하는 단계와,
    상기 조건 패턴 기준의 각 조건 패턴 기준을 기반으로 새로운 컬럼 트리 생성 및 새로운 조건 패턴 기준 생성 프로세스를 더 이상 컬럼 트리를 생성할 수 없을 때까지 반복 실시하여, 각 조건 패턴 기준 별로 최종 컬럼 트리를 생성하는 단계를 더 포함하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법.
  16. 제15항에 있어서, 상기 (c) 단계는,
    상기 각 조건 패턴 기준 별로 생성된 상기 최종 컬럼 트리를 기반으로, 가능한 모든 컬럼그룹 조합을 생성하고, 각 컬럼그룹 조합에 대한 비용모델을 연산한 후, 비용모델이 최소가 되는 컬럼그룹 조합을 선택하여 상기 페이지 컬럼그룹 정보를 생성하는 단계를 더 포함하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법.
  17. (a) 입력된 각 질의가 접근하는 컬럼들에 대한 질의 별 컬럼 리스트를 생성하고, 상기 컬럼 리스트를 구성하는 각 컬럼들에 상기 입력된 각 질의가 접근한 접근 빈도수를 연산하는 단계;
    (b) 상기 컬럼 리스트를 구성하는 각 컬럼들의 접근 빈도수를 기 설정된 임계 빈도수와 비교하고, 비교 결과 상기 접근 빈도수가 상기 임계 빈도수 이상이 되는 컬럼들을 접근 빈도수 순으로 배열한 기준 컬럼 리스트를 생성하는 단계;
    (c) 상기 질의 별 컬럼 리스트를 구성하는 컬럼들을 상기 기준 컬럼 리스트를 기반으로 순서대로 배열하고, 상기 질의 별 컬럼 리스트에서 상기 기준 컬럼 리스트에 없는 컬럼들을 삭제한 순서화된 컬럼 리스트를 질의 별로 생성하는 단계;
    (d) 질의 별로 생성된 상기 순서화된 컬럼 리스트를 구성하는 컬럼들을, 루트 노드를 중심으로 적어도 하나 이상의 부모 노드와 자식 노드에 배치한 컬럼 트리를 생성하는 단계;
    (e) 상기 컬럼 트리를 기반으로, 상기 컬럼 트리를 구성하는 각 컬럼이 구성할 수 있는 컬럼 패턴과, 해당 컬럼 패턴에 상기 입력된 각 질의가 접근한 접근 빈도수를 포함하는 조건 패턴 기준(conditional pattern base)을 각 컬럼 별로 생성하는 단계;
    (f) 상기 조건 패턴 기준의 각 조건 패턴 기준을 기반으로 새로운 컬럼 트리 생성 및 새로운 조건 패턴 기준 생성 프로세스를 더 이상 컬럼 트리를 생성할 수 없을 때까지 반복 실시하여, 각 조건 패턴 기준 별로 최종 컬럼 트리를 생성하는 단계; 및
    (g) 상기 각 조건 패턴 기준 별로 생성된 상기 최종 컬럼 트리를 기반으로, 가능한 모든 컬럼그룹 조합을 생성하고, 각 컬럼그룹 조합에 대한 비용모델을 연산한 후, 비용모델이 최소가 되는 컬럼그룹 조합을 선택하는 단계
    를 포함하는 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법.
  18. 제17항에 있어서, 상기 (d) 단계는,
    질의 별로 생성된 상기 순서화된 컬럼 리스트를 구성하는 컬럼들을 접근 빈도수 순으로 상기 부모 노드 및 상기 자식 노드에 배치하는 단계를 포함하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법.
  19. 제17항에 있어서, 상기 (d) 단계는,
    상기 컬럼 트리에서 동일한 컬럼명을 가진 상기 부모 노드 혹은 상기 자식 노드를 연결 리스트(linked list)로 연결하는 단계를 포함하는 것인 혼합 워크로드처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법.
  20. 제17항에 있어서, 상기 (d) 단계는,
    상기 컬럼 트리를 구성하는 각 노드를 식별하기 위한 대표 노드의 컬럼명과, 상기 대표 노드의 주소정보를 포함하는 컬럼 헤더 테이블을 생성하는 단계를 포함하는 것인 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법.
KR1020140143399A 2014-10-22 2014-10-22 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법 및 장치 KR20160047239A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140143399A KR20160047239A (ko) 2014-10-22 2014-10-22 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법 및 장치
US14/920,399 US20160117350A1 (en) 2014-10-22 2015-10-22 Column group selection method and apparatus for efficiently storing data in mixed olap/oltp workload environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140143399A KR20160047239A (ko) 2014-10-22 2014-10-22 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법 및 장치

Publications (1)

Publication Number Publication Date
KR20160047239A true KR20160047239A (ko) 2016-05-02

Family

ID=55792156

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140143399A KR20160047239A (ko) 2014-10-22 2014-10-22 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법 및 장치

Country Status (2)

Country Link
US (1) US20160117350A1 (ko)
KR (1) KR20160047239A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10606565B2 (en) * 2017-01-31 2020-03-31 Stackery, Inc. Visual devops systems and methods
US11615061B1 (en) * 2018-08-03 2023-03-28 Amazon Technologies, Inc. Evaluating workload for database migration recommendations

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
LU91726B1 (en) * 2010-09-10 2012-03-12 Univ Saarland A method of storing and accessing data in a database system

Also Published As

Publication number Publication date
US20160117350A1 (en) 2016-04-28

Similar Documents

Publication Publication Date Title
US8219564B1 (en) Two-dimensional indexes for quick multiple attribute search in a catalog system
US10007699B2 (en) Optimized exclusion filters for multistage filter processing in queries
US9141666B2 (en) Incremental maintenance of range-partitioned statistics for query optimization
US8423569B2 (en) Decomposed query conditions
US20130151535A1 (en) Distributed indexing of data
US8209322B2 (en) Table elimination technique for group-by query optimization
US9171041B1 (en) RLE-aware optimization of SQL queries
US8135702B2 (en) Eliminating unnecessary statistics collections for query optimization
CN105550225A (zh) 索引构建方法、查询方法及装置
US20200250192A1 (en) Processing queries associated with multiple file formats based on identified partition and data container objects
EP3913494A1 (en) Data compression techniques
JP6418431B2 (ja) 効率的な1対1結合のための方法
US20230161765A1 (en) System and method for disjunctive joins using a lookup table
US20120246189A1 (en) Comparing histograms
CN114090695A (zh) 分布式数据库的查询优化的方法和装置
US11599540B2 (en) Query execution apparatus, method, and system for processing data, query containing a composite primitive
KR20160047239A (ko) 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법 및 장치
US11615086B2 (en) System and method for disjunctive joins
KR20180077830A (ko) 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치
US9378229B1 (en) Index selection based on a compressed workload
US8943058B1 (en) Calculating aggregates of multiple combinations of a given set of columns
Burdakov et al. Predicting SQL Query Execution Time with a Cost Model for Spark Platform.
Oktavia et al. Evaluation of sub query performance in SQL server
KR20170128666A (ko) 질의 처리 방법 및 시스템
EP4150476A1 (en) Database management system and method for graph view selection for relational-graph database

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination