KR100656528B1 - 영역-합 질의를 위한 동적 업데이트 큐브와 하이브리드질의 검색방법 - Google Patents

영역-합 질의를 위한 동적 업데이트 큐브와 하이브리드질의 검색방법 Download PDF

Info

Publication number
KR100656528B1
KR100656528B1 KR1020020002337A KR20020002337A KR100656528B1 KR 100656528 B1 KR100656528 B1 KR 100656528B1 KR 1020020002337 A KR1020020002337 A KR 1020020002337A KR 20020002337 A KR20020002337 A KR 20020002337A KR 100656528 B1 KR100656528 B1 KR 100656528B1
Authority
KR
South Korea
Prior art keywords
sum
cube
query
data
mbr
Prior art date
Application number
KR1020020002337A
Other languages
English (en)
Other versions
KR20030022663A (ko
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 KR1020020002337A priority Critical patent/KR100656528B1/ko
Priority to US10/120,535 priority patent/US7177854B2/en
Publication of KR20030022663A publication Critical patent/KR20030022663A/ko
Application granted granted Critical
Publication of KR100656528B1 publication Critical patent/KR100656528B1/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
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • 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/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • 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
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/958Data cubes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

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

Abstract

본 발명은 영역-합 질의를 위한 동적 업데이트 큐브에 관한 것으로서, 더 상세하게는 기업에서 의사결정을 위해 널리 사용하는 영역-합 질의를 효과적으로 지원하기 위해 다차원 인덱스 구조의 △-트리를 이용한 동적 업데이터 큐브와, 프리픽스-합 큐브 및 동적 업데이터 큐브를 이용하여, OLAP(On-Line Analytic Processing)질의에 대해 정확한 해와 근사 해를 구하는 하이브리드 질의 검색방법에 관한 것이다.
본 발명은 질의 시간을 적절히 유지하면서 업데이트 시간을 줄이는 효율적인 알고리즘을 제안하는데, 이를 위해 △-트리로 불리는 인덱싱 구조를 사용한다. 덧붙여서 OLAP 질의의 전체 비용을 줄이기 위해 정확한 값 또는 근사 값을 구하는 하이브리드 질의 검색방법을 제안하는 것을 특징으로 하는 것이다.
데이터베이스, OLAP, 데이터 큐브, 프리픽스-합, 델타트리

Description

영역-합 질의를 위한 동적 업데이트 큐브와 하이브리드 질의 검색방법 {Dynamic Update Cube and Hybrid Queries Search Method for Range-Sum Queries}
도 1의 (a)는 종래 2차원에 대한 6 ×8 데이터 큐브 해당 데이터이고 (b)는 6 ×8 데이터 큐브 해당 데이터의 프리픽스-합 큐브 피씨(PC)의 데이터 표,
도 2는 종래 프리픽스-합 큐브를 이용하여 부분 영역-합 질의의 결과값을 구하는 방법을 도시한 과정도,
도 3은 본 발명 동적 업데이트 큐브의 기본 개념도,
도 4는 본 발명 △-트리의 구조의 블록도,
도 5의 (a) 및 (b)는 본 발명 데이터 큐브와 동적 업데이트 큐브에서의 영역-합 질의를 과정을 나타낸 데이터 및 구성도,
도 6의 (a)는 본 발명 동적 업데이트 큐브이고 (b)는 이 동적 업데이트 큐브에 대응하는 △-트리의 구성도,
도 7은 도 6의 (b)에 도시된 △-트리의 임의의 셀의 데이터가 변경될 때, 상기 △-트리 업데이트 과정을 도시한 블록도,
도 8은 본 발명 △-트리의 레벨 i 에서의 MBR들과 질의 MBR을 도시한 블록 도,
도 9는 본 발명 질의 MBR을 재조정하는 과정을 도시한 구성도,
도 10은 본 발명 3차원에서 질의 수행 성능을 도시한 그래프,
도 11은 본 발명 차원이 각각 3차원, 4차원, 5차원일 때, 질의 수행 성능을 도시한 그래프,
도 12는 본 발명 변경된 셀의 데이터값을 △-트리에 삽입하는 성능을 도시한 그래프,
도 13의 (a)는 본 발명 데이터가 유니폼(Uniform)하게 분포하고 차원이 4이면서 데이터 수가 10,000일때의 근사 해를 구하는 성능 그래프이고 (b)는 에러율을 도시한 그래프,
도 14의 (a)는 본 발명 데이터가 유니폼(Uniform)하게 분포하고 차원이 4이면서 데이터 수가 50,000일 때 근사 해를 구하는 성능 그래프이고 (b)는 에러율을 도시한 그래프,
도 15의 (a)는 본 발명 데이터가 유니폼(Uniform)하게 분포하고 차원이 2,3,4,5이면서 테이터 수가 50,000일때의 근사해를 구하는 성능 그래프이고, (b)는 에러율을 도시한 그래프,
도 16의 (a)는 본 발명 데이터가 지프(Zipf)하게 분포하고 차원이 2,3,4이고 데이터의 수가 50,000일 때 차원을 2에서 4 차원까지 변화시켰을 때의 성능 그래프이고, (b)는 에러율을 도시한 그래프.
본 발명은 영역-합 질의를 위한 동적 업데이트 큐브에 관한 것으로서, 더 상세하게는 기업에서 의사결정을 위해 널리 사용하는 영역-합 질의를 효과적으로 지원하기 위해 다차원 인덱스 구조의 △-트리를 이용한 동적 업데이터 큐브와, 프리픽스-합 큐브를 이용하여, OLAP(On-Line Analytic Processing)질의에 대해 정확한 해와 근사 해를 구하는 하이브리드 질의 검색방법에 관한 것이다.
일반적으로 OLAP(On-Line Analytic Processing)는 분석가에게 정보의 다양한 뷰(view)를 엑세스할 수 있도록 하여, 데이터의 군집(aggregation)에 대한 안목을 가지게 하는 데이터베이스 기술의 범주에 속하며, 이것은 종종 애트리뷰트의 다양한 상세 수준에서의 요약된 데이터와 애트리뷰트의 다양한 조합을 필요로 하는 것이다.
전형적인 OLAP 응용으로는 생산효율, 이익, 판매 프로그램, 영업 캠페인의 효과 및 판매 예측과 생산 능력 등을 들 수 있으며, 다양한 OLAP 응용분야 중에서 흔히 데이터 큐브로 알려진 다차원 데이터베이스(MMDB)를 위한 데이터 모델이 점점 중요해지고 있는 것이 현재 추세인 것이다.
상기 데이터 큐브는 이러한 데이터베이스에서 애트리뷰터의 부분집합으로부터 만들어지는데 어떤 애트리뷰터는 메이저 애트리뷰터 즉, 그것의 값이 관심의 대상이 되는 애트리뷰터로 선택되고 나머지 애트리뷰터는 차원(dimensions) 또는 함 수 애트리뷰터(functional attributes)로 선택되어지며 메이저 애트리뷰터는 이러한 차원에 따라서 군집(aggregated) 되어 지는 것이다.
예를 들어, 자동차 판매회사에서 사용되는 데이터 큐브를 고려해보자. 데이터 큐브의 차원이 모델명(MODEL_NO), 년도(YEAR), 지역(REGION), 칼라(COLOR) 즉, 4차원이고, 메이저 애트리뷰터가 판매량(AMOUNT_OF_SALES)이라고 가정해 보자. 이때, 모델명(MODEL_NO)은 30 개이고, 년도(YEAR)는 1990부터 2001년, 지역(REGION)은 40개 지역, 그리고 칼라(COLOR)는 화이트(white), 레드(red), 옐로우(yellow), 블루(blue), 그레이(gray), 블랙(black)을 가진다고 하자. 그러면, 데이터 큐브는 30 ×12 ×40 ×6의 셀을 가지며, 각각의 셀은 4개의 함수 애트리뷰터 즉, 모델명, 년도, 지역, 칼라로 만들어진 조합에 대한 판매량을 메이저 애트리뷰터로 가지게 되는 것이다.
데이터 큐브는 유용한 영역-합 질의(range-sum query)라고 불리는 데이터 상에서의 분석 툴을 제공하며, 이는 질의 영역 내의 메이저 애트리뷰트에 군집 연산을 적용하여 행해지는 것이다.
대표적인 예로, '지난 1995년부터 2000년 사이에 빨간색을 가진 모든 모델에 대해 서울에서 판매된 자동차의 총 대수는 얼마인가?'를 들 수 있다. 이 같은 형태의 영역-합을 얻기 위한 질의는 매우 흔하며, 해당 질의에 대해 사용자와 상호작용을 요구하는 OLAP 응용에 대해 그 응답시간은 매우 중요한 것이다.
상기의 영역-합 질의를 처리하는 직접적인 방법(direct method)은 데이터 큐브 자체를 엑세스하는 것이다.
그러나, 그것은 영역-합을 얻기 위해 너무 많은 셀을 엑세스해야 하는 어려움이 있으며 이때 엑세스해야 할 셀의 수는 질의에 의해 정의된 서브 큐브의 크기에 비례하게 되는 것이다.
이러한 직접적인 처리방법을 개선하고, 검색 효율을 증가시키기 위해서 프리픽스-합 큐브(prefix-sum cube : PC)를 사용하는 프리픽스-합 방법(prefix sum method)이 제안되었으며 이 프리픽스-합 방법은 검색비용을 줄이는데 초점을 두고 있는 것이다.
현재의 기업 환경은 큐브내의 데이터 요소가 다이나믹하게 변경되고 있으며, 그와 같은 환경에서 응답시간은 큐브의 검색시간뿐만 아니라 업데이트 시간에 의해서도 영향을 받게 되는 것이다.
따라서, 이 프리픽스-합 방법을 개선하여 업데이트 시간을 줄이기 위한 연구들이 제안되었으며 이러한 방법을 살펴보면 RPC(relative prefix-sum cube)와 같은 부가적인 데이터 구조를 사용하여 PC 상에서의 업데이트 증식(update propagation)을 최소화하는 것이다.
그러나, 이러한 접근은 어느 정도까지는 업데이트 증식을 줄여서 업데이트 속도가 개선되기는 하였으나, RPC도 프리픽스-합 큐브(PC)를 조금 변형한 것이기 때문에 업데이트 속도가 충분히 개선되지는 않았으며, 더군다나 업데이트의 속도를 개선시키기 위해 검색효율이 떨어지는 문제점이 발생하게 되는 것이다.
따라서, 많은 OLAP 응용에서 검색 효율의 희생을 최소화하면서 업데이트 성능을 개선하는 방안이 중요한 쟁점이 되고 있다.
상기에서 설명한 바와 같이 종래에는 OLAP 데이터 큐브 상에서의 질의를 언급하는 다양한 접근방법이 제안되었다.
논문 "C. Ho, R. Agrawal, N. Megido, R. Srikant, Range queries in OLAP Data Cubes, Proceedings of ACM SIGMOD Int'l Conference on Management of Data, 1997, pp. 73-88.(이하, HAMS97이라 함)"에서, 프리픽스-합 방법이라 불리는 데이터 큐브에서 영역-합 질의를 계산하는 세련된 알고리즘을 제시하였는데 이 프리픽스-합 방법은 데이터 큐브의 많은 프리픽스-합들을 미리 계산하여 실시간에 임의의 질의를 처리하는 데에 사용하자는 것이다.
그러나 이 프리픽스-합 방법은 질의에 응답하는 시간은 단축시킬 수 있으나, 큐브 내의 데이터 값이 바뀔 때 프리픽스-합 큐브를 관리하는 데 비용이 많이 드는 문제점이 발생하는 것이다.
프리픽스-합 큐브에서 업데이트 증식을 감소시키기 위하여, 논문 "S. Geffner, D. Agrawal, A. El Abbadi, T. Smith, Relative prefix sums: an efficient approach for quering dynamic OLAP Data Cubes, Proceedings of Int'l Conference on Data Engineering, Australia,1999, pp. 328-335.(이하, GAES99라 함)"에는 RPC(relative prefix-sum cube)를 사용한 방법이 제안되었는데 이 방법은 프리픽스 방법과 직접적인 방법 사이에서 질의와 업데이트간의 비용 균형을 맞추기 위한 노력인데 그러나, 이 방법은 업데이트 비용이 지수적으로 증가하기 때문에 고차원과 대용량의 데이터 큐브에서는 비현실적인 문제점을 갖게 되는 것이다
이를 개선하기 위하여 논문 "C.-Y. Chan, Y. E. Ioannidis, Hierarchical cubes for range-sum queries, Proceedings of Int'l Conference on Very Large Data Bases, Scotland, 1999, pp. 675-686.(이하, CI99라 함)"에서는, 두 개의 직각차원에 기초한 HC(Hierarchical Cubes)로 불리는 새로운 형태의 큐브를 제안하고 있는데 이 논문 CI99의 HBC(Hierarchical Band Cube)는 위의 논문 GAES99에 의해 제안된 알고리즘보다 상당히 더 좋은 커리-업데이트 트레이드오프(trade-off)를 가지는데 그러나, 이 방법은 고층 레벨의 추상적인 큐브를 저층 레벨의 구체적인 큐브로의 인덱싱 메핑을 구현하기에 너무 복잡한 단점이 있는 것이다.
또한, 최근에는 논문 "S. Geffner, D. Agrawal, A. El Abbadi, The Dynamic Data Cube, Proceedings of Int'l Conference on Extending Database Technology, Germany, 2000, pp.237-253.(이하, GAE00이라 함)"에는 프리픽스-합 큐브를 리컬시브하게 분해해서(decomposite) 얻어지는 동적 데이터 큐브(Dynamic Data Cube)가 제안되었는데 이 논문 GAE00에서는 데이터 큐브의 각 차원이 같은 크기를 가진다고 가정으로 이러한 분해 기술에 의해 트리 구조 만들었다.
그러나 앞에서 제시한 카-세일과 같이 실제적인 환경에서, 데이터 큐브는 각 차원의 크기가 각각 다르기 때문에 프리픽스-합 큐브를 분해할 때 각 차원의 크기가 각각 다르면 트리의 균형을 유지하기가 무척 어려우며 데이터 큐브가 고차원 대용량이면 실행 오버헤드를 초래하게 되는 등 문제점이 발생하게 되는 것이다.
본 발명은 상기와 같은 종래기술의 문제점을 해결하기 위하여 이루어진 것으 로 인덱싱 구조인 △-트리를 이용하여 프리픽스-합 방식의 이점을 취하면서도 업데이트 비용도 줄일 수 있는 효율적인 동적 업데이트 큐브를 제공하고자 하는데 그 목적이 있는 것이다.
또한 본 발명의 또 다른 목적은, OLAP 영역-합 질의에 대하여, 프리픽스-합 큐브와 동적 업데이트 큐브(△-트리)를 동시에 사용하여 근사 결과(해) 또는 정확한 결과(해)를 검색하여 질의 처리시간이 향상되는 하이브리드 질의 검색방법을 제공하기 위한 것이며, 상기 동적 업데이트 큐브는, 다차원의 데이터 큐브의 임의의 데이터가 변경되면, 원 데이터값과 변경된 데이터값과의 차이값을 △-트리 계층적 구조로 저장하는 것이다.
또한, 본 발명에 따른 질의 검색방법은, 데이터 큐브를 프리픽스-합 큐브와, △-트리 계층적 구조의 동적 업데이트 큐브로 나누어 관리하며, 상기 프리픽스-합 큐브로부터 질의 영역의 영역-합을 구하고, 동적 업데이트 큐브로부터 상기 질의 영역의 영역-합을 구하여 두 값을 더하여 결과 값을 얻는 것이다.
상기 목적을 달성하기 위해 △-트리로 불리는 인덱싱 구조를 사용하여 업데이트 증식을 엄청나게 줄일 수 있는 효율적인 알고리즘을 제안한다, R-트리 이후로 많은 다차원 인덱싱 구조들이 제안되었으며, △-트리는 데이터 큐브의 변경된 값들을 저장하고 효율적인 질의 처리를 지원하기 위해 R*-트리를 변형한 것으로 업데이트 비용은 많이 감소시키면서 전통적인 프리픽스-합 방법의 장점을 이용하여 상당한 검색 효율을 얻을 수 있도록 함은 물론 게다가 의사결정시스템과 같은 현재의 많은 기업 응용에서 정확한 해를 얻기 위해서는 수많은 시행착오 단계들이 있는데 이것은 영역-합 질의가 너무 많이 실행되어 결국 심각한 질의 비용을 유발시키게 되는데 그래서 때때로 의사결정을 지원하기 위해서 정확한 해보다는 빠른 추정치를 얻을 수 있는 편리함을 제공하는 것이 중요하다. 따라서 본 발명에서는 의사 결정의 정보를 수집하기 위한 전체적인 질의 비용을 감소시키기 위해 근사해 또는 정확한 해를 제공할 수 있는 하이브리드 방법(hybrid method)을 제안하는 것이다.
첨부된 도면을 참조로 하여 본 발명의 구성 및 작용을 상세히 설명하면 다음과 같다.
본 발명의 한 실시예에 따른 영역-합 질의를 위한 동적 업데이트 큐브와 하이브리드 질의 검색방법을 보다 상세하게 설명하기로 한다.
본 발명에 따른 영역-합 질의를 위한 동적 업데이트 큐브와 하이브리드 질의 검색방법을 설명하기에 앞서, 본 발명에서 제안하는 방법과 밀접한 관계에 있는 프리픽스-합 큐브에 대해 설명하면 다음과 같다.
프리픽스-합 방법에서는 데이터 큐브 A와 같은 크기의 프리픽스-합 큐브 PC(prefix-sum cube)가 사용되며, PC에는 A로부터 미리 계산된 다양한 프리픽스-합(prefix-sum)을 저장한다. PC의 각 셀은 데이터 큐브의 각 셀을 포함한 그 셀까지의 모든 합을 저장한다.
도 1은 일반적인 6 ×8 데이터 큐브의 일 예와 해당 데이터 큐브의 프리픽스-합 큐브(PC)를 도시한다. PC[4,6]는 A[0,0]에서 A[4,6] 범위내의 모든 셀을 합한 값을 가진다. 따라서, 데이터 큐브 A의 전체의 합은 마지막 셀 PC[5,7] 에 저장된다. 차원의 집합 D = {1, 2 , ... , d} 이고, ni가 각 차원에 있는 셀의 수를 나타낼 때, 논문 HAMS97에서는 미리 계산된 프리픽스-합을 저장하기 위해
Figure 112002001224757-pat00001
개의 부가적인 셀을 필요로 하는 방법을 제안하였다. 이 방법은 임의의 영역-합을 구하기 위해서 2d 의 적절한 프리픽스-합을 사용하여 2d-1 의 스텝만으로 계산 가능하다.
명시적으로, 0 ≤ xi < ni 이고, i ∈ D 인 모든 xi 와 i 에 대하여 프리픽스-합은 아래 수학식 1과 같다.
Figure 112002001224757-pat00002
예를 들면, d가 2이면 0 ≤ x < n1 이고, 0 ≤ y < n2 에 대하여 프리픽스-합은 아래 수학식 2와 같다.
Figure 112002001224757-pat00003
도 1은 2차원에 대한 데이터 큐브 A[x1, x2]와 그에 대응하는 프리픽스 PC[x1, x2]를 표시한다. 프리픽스-합 방법은 매우 강력하여 데이터 큐브의 크기에 상관없이 상수시간에 영역-합 질의를 처리할 수 있다.
아래의 수학식 3은 데이터 큐브 A의 임의의 영역-합을 프리픽스-합 큐브 중에서 2d 개의 적절한 요소를 이용하여 계산하는 식을 표시하며 다음과 같다.
Figure 112002001224757-pat00004
여기서,
Figure 112002001224757-pat00005
이고, j ∈ D 이다.
위의 수학식 3에서 왼편은 A의 영역 질의를 명시하고, 오른편은 2d 개의 더하기 항으로 구성되며, 각각의 항은 모든 s(i) 의 곱에 의해 결정되는 '+' 또는 '-' 부호를 가지는 프리픽스-합 큐브로 구성된다. 표기의 편리성을 위해 임의의 j(j ∈ D)에 대하여, xj = -1 이면 PC[x1, x2, ... , xd]=0 이라고 한다.
예를 들어, d = 2일 때 영역-합 Sum(l1:h1, l2:h2)은 다음의 계산으로 구할 수 있다. 즉, PC[h1, h2] - PC[h1, l2-1] - PC[l1-1, h2] + PC[l1-1, l2-1] 이다. 도 1에서 설명한 바와 같이 영역-합 Sum(1:4, 2:6) 은 다음의 식으로부터 유도될 수 있다. PC[4,6] - PC[0,6] - PC[4,1] + PC[0,1] = 150 - 34 - 33 + 9 = 102 이 다. 이를 기하학적으로 표현하면 도 2와 같다. 즉, 질의 영역 E에서의 데이터 큐브의 합은, 영역 A에서 영역 B와 영역 C를 빼고, 여기서 이중 감산된 영역 D를 더함으로써, 구할 수 있다.
월드 와이드 웹(WWW)과 같은 인터넷 기술이 도래하면서, 장소와 시간에 구애받지 않고 OLAP 서버를 사용할 수 있게 되었다. 사용자들은 지리적으로 넓게 퍼져 있으며 수많은 사용자들은 동시에 대규모의 OLAP 서버를 사용하길 원할 것이다. 이러한 환경에서 동시에 질의 처리와 동적인 데이터 업데이트를 할려고 할 때 성능이 이슈(issue)가 된다.
더군다나 PC에 기초한 이전의 방법들에 있어서 만일 사용자들의 질의가 업데이트 처리 때문에 변경되어야 될 셀을 하나라도 포함한다면 사용자들의 많은 질의가 블락(block)되어진다. 그렇지 않으면 잘못된 질의 결과를 만들어 낼 것이다.
즉, 하나의 업데이트 오퍼레이션이 많은 질의들을 블락되도록 만들 수가 있다. 그러므로, 업데이트 비용이 높을 경우 이러한 블락킹이 OLAP 서버의 전체 성능을 감소시킬 것은 명백하다.
OLAP 서버는 의사결정 프로세스을 지원하는 시스템으로 널리 사용된다. 많은 사용자들은 그들이 어떤 결정에 도달할 때까지 그들의 관심과 관련된 수많은 질의를 실행한다. 만일 모든 질의가 정확한 값을 요구한다면 고비용의 실행시간을 초래하며 OLAP 서버에 큰 부담을 주게 된다.
반대로 모든 질의에 근사 해가 응답되어 진다면 많은 사용자들은 부정확한 결과로 혼동을 주게 될 것이다.
그래서 본 발명에서는 근사 해를 사용하여 관심있는 부분을 찾아 질의의 범위를 줄인 후에 질의 범위 내에서 정확한 해를 구하는 하이브리드 방법을 제안한다.
또한, 다이나믹한 OLAP 환경에서 데이터 큐브 셀은 자주 바뀌기 때문에 프리픽스-합 큐브(PC)를 업데이트하는 비용이 매우 커진다. 따라서 본 발명에서는 변경된 셀들을 프리픽스-합 큐브(PC)에 직접 저장하지 않고 '동적 업데이트 큐브'라는 가상 큐브에 저장하여 관리하며 사용자로부터 영역-합 질의가 입력되면, PC와 동적 업데이트 큐브에 동시에 접근하여 해당 질의를 처리하는 것이다.
데이터 큐브가 조밀(dense) 또는 느슨(sparse)하든지 간에 프리픽스-합 큐브는 항상 조밀(dense)하다. 반면에 동적 업데이트 큐브는 느슨(sparse)하다. 왜냐하면 동적 업데이트 큐브는 데이터 큐브의 변경된 셀들의 값만을 포함하기 때문이다.
즉, 도 3에 도시된 바와 같이 데이터 큐브가 느슨(sparse)하더라도 프리픽스-합 큐브(PC)는 데이터 큐브 셀 들의 누적된 합들을 저장하기 때문에 항상 조밀(dense)하다. 도 3 (a)의 '×'는 변경된 셀을 나타내며, (c)에서 '△'는 변경된 셀의 차이를 나타낸다. 즉, △ = xnew - xold 이다. 동적 업데이트 큐브는 △값만을 저장하므로 항상 느슨(sparse)하다.
상기 동적 업데이트 큐브 셀의 위치는 다차원 공간의 점으로 표현될 수 있다. 따라서, 이러한 셀들은 '△-트리'로 불리는 다차원 인덱스 구조에 저장된다.
공간적으로 서로 이웃에 위치한 셀들은 이에 대응하는 MBR(minimum bounding rectangle)에 클러스터링 된다. △-트리를 검색할 때 △-트리의 겹치지 않는 MBR 들은 효율적으로 잘려나간다. 자세한 것은 다음에 후술하기로 하고, 동적 업데이트 큐브 셀의 위치와 △ 값은 △-트리에 저장된다.
본 발명은 다음을 구현한다. 첫째, 프리픽스-합 큐브는 조밀(dense)하고 동적 업데이트 큐브는 느슨(sparse)하기 때문에, 데이터 큐브가 바뀔 때마다 프리픽스-합 큐브를 직접 업데이트하지 않고 대신에 데이터 큐브의 변경된 정보를 △-트리에 저장하여 △-트리를 관리한다.
이것은 업데이트 비용을 줄여주고 프리픽스-합 방식에서 발생되는 업데이트 증식(update propagation) 문제를 해결한다.
둘째, 영역-합 질의를 처리할 때 △-트리를 부분적으로 검색함으로 근사 해를 얻는다. 즉, △-트리의 루트부터 리프 노드까지 검색하는 대신 레벨 i 의 내부 노드까지 수행하여 근사해를 계산한다.
셋째, 데이터 큐브의 셀이 바뀔 때마다 △-트리의 크기는 증가한다. △-트리가 너무 커지면 검색과 업데이트의 비용이 많아지는 문제점이 발생한다. 따라서 본 발명에서는 △-트리에 저장된 모든 정보를 주별, 월별 또는 어떤 임계치에 맞추어서 주기적으로 프리픽스-합 큐브에 반영한다. 이를 벌크 업데이트(bulk updates)라고 한다.
첫째, 데이터 큐브의 변경된 정보를 △-트리에 저장하여 △-트리를 관리하는 기술을 살펴본다.
먼저, △-트리의 구조와 생성과정에 대해 살펴보면 다음과 같다.
△-트리는 R*-트리와 동일한 생성과정으로 생성된다. 처음에 △-트리는 단지 하나의 디렉토리 노드 즉, 루트 노드를 가진다.
데이터 큐브 셀이 업데이트될 때마다 데이터 큐브 셀의 현재와 과거의 값의 차(△)와 그 셀의 위치 정보가 △-트리에 저장된다. △-트리는 아래와 같이 정형화된다.
즉, 디렉토리 노드가 (L1, L2, ... , Ln) 을 포함할 때, Li 는 i번째 자식 노드 Ci 에 관한 튜플(tuple)이고, 각 튜플은 (Σ△, M, cpi, MBRi)의 형태를 가지는 것이다.
Ci가 디렉토리 노드(데이터 노드)일 때 Σ△는 Ci의 모든 Σ△(△)값의 합이다. cpi 는 Ci 의 주소이고, MBRi 는 Ci 에 있는 모든 엔트리들을 감싸는 MBR 이다. M은 (μ1, μ2, ..., μd)의 형태를 가지는 데, 여기서 d는 차원이고 μ j는 MBRi 의 j번째 차원의 평균 위치로서,
Figure 112002001224757-pat00006
이다.
여기서,
Figure 112002001224757-pat00007
이고, f(k1, k2, ..., kd)는 MBRi에 있는 업데이트 위치 (k1, k2, ..., kd)의 값이다. 여기서, kj 값의 범위는 1≤kj≤nj 이고, nj 는 MBRi 의 j 번째 차원의 파티션 수이다.
데이터 큐브는 레벨이 0 이고 (D1, D2, ..., Dn)를 포함한다. 여기서 D i 는 i 번째 데이터 엔트리에 관한 튜플이며, (Pi, △i)의 형태를 가진다. Pi는 포지션 인텍스이며, △i 는 변경된 셀 값의 차이이다.
Σ△를 사용하는 목적은 영역-합 질의 빠른 근사 해를 구하기 위한 것이고, M을 사용하는 목적은 근사 테크닉을 개선하기 위한 것이다.
본 발명에서는 영역-합 질의에 답하기 위해서 PC 와 △-트리를 모두 사용한다. PC 에는 가장 최근에 벌크 업데이트(bulk updated)된 정보들을 포함하며 △-트리에는 그 후에 업데이트된 정보들을 포함한다. 공간적으로 서로 인접한 업데이트된 셀들은 그에 대응하는 MBR로 클러스터링된다.
도 5는 데이터 큐브와 동적 업데이트 큐브에서의 영역-합 질의를 도시한 도면이다.
도 5의 (a)에서 '*'로 표시된 셀은 도 1 (a)의 데이터 큐브로부터 가장 최근에 업데이트된 셀을 표시한다. 도 5의 (b)는 동적 업데이트 큐브의 가장 낮은 레벨에 있는 각 MBR 들은 PC 에 아직 반영되지 않은 셀들은 포함하며, 이것은 도 5의 (b)와 같다.
영역-합 질의 Q = (l1:h1, l2:h2, ..., ld:hd )가 주어지면, 이 Q의 해를 구하기 위해 PC와 △-트리를 같이 사용한다. Sum(Q)는 질의 Q의 결과를 돌려주는 함수이고, PC_sum(Q)는 PC로부터 계산된 결과값을 돌려주는 함수, 그리고 △_sum(Q)는 △-트리로부터 구한 결과값을 돌려주는 함수라고 가정한다. 그러면 질의 Q에 대한 해는 아래의 수학식 4와 같다.
Figure 112002001224757-pat00008
도 5에 도시된 바와 같은 데이터 큐브에 대해 영역-합 질의 Q 에 대한 해를 PC 와 △-트리를 이용하여 구하는 방법을 설명하면 다음과 같다.
영역-합 질의 Q는 도 5 (a)의 데이터 큐브로부터 2 ≤x ≤5, 4 ≤y ≤7 영역의 합을 구하는 질의인 경우, sum(2:5, 4:7) = PC_sum(2:5, 4:7) + △_sum(2:5, 4:7) 이다. 함수 PC_sum(2:5, 4:7)은 상술한 수학식 3으로부터 즉시 계산될 수 있다.
다음, 함수 △_sum(2:5, 4:7)의 결과값은 다음과 같이 계산된다. △-트리를 검색할 때 루트노드를 맨 처음 방문하며, 루트노드의 각 엔트리에 대해 MBRQ(여기서, MBRQ는 질의 Q의 MBR)와 MBRT(여기서, MBRT는 노드 T의 MBR)의 공간적인 관계(spatial relationship)를 조사한다.
함수 △_sum(Q)는 다음과 같이 구한다. 깊이 우선으로 루트부터 시작해서 △-트리에 있는 모든 노드에 대해, 노드의 각 엔트리의 MBRT 와 MBRQ 사이에 관계를 조사하여, 격리, 포함, 또는 교차 동작을 수행한다.
격리 동작의 경우, 질의 Q와 무관한 MBRT 엔트리의 서브 트리는 플루닝(pruning)된다. 포함 동작의 경우, 질의 Q와 연관된 MBRT 엔트리의 Σ△는 해에 더해진다. 이때, Σ△는 이 엔트리에 대해서 정확한 값을 갖고 있기 때문에 더 이상 서브 트리를 탐색할 필요가 없다.
교차 동작의 경우, 영역-합의 정확한 해를 얻기 위해서는 MBRT에 속하는 모든 자식 MBR을 평가할 필요가 있다. 그러나, 영역-합의 근사 해를 얻기 위해서는 MBRT 에 연관된 Σ△의 근사값을 계산하여 해에 더한다. 어떻게 근사 해를 얻는 가에 대한 자세한 설명은 후술하기로 한다. 이 엔트리 아래의 서브 트리에 대해서 알고리즘 △_sum() 가 리컬시브하게 수행된다.
여기서, MBRQ 와 MBRT 사이의 관계(Relationship) 수학식 5와 같이 정형화된다.
Figure 112002001224757-pat00009
도 6에 도시된 바와 같이 영역-합 질의 Q(2:5, 4:7)가 주어질 때, MBR1은 격리, MBR2 는 교차, 그리고 MBR3은 포함 관계이다. 그러므로, 함수 △_sum(2:5, 4:7)의 해는 8이며, 함수 Sum(2:5, 4:7)를 수학식 6과 같이 완성된다.
Figure 112002001224757-pat00010
지금부터는 이 데이터 큐브의 셀의 변경된 값에 따라 PC를 업데이트(update)하는 방법을 설명한다.
데이터 큐브 안의 셀의 값이 변경되면 PC는 변경하지 않고 대신 △-트리 안의 적절한 위치에 있는 값을 변경한다.
데이터 큐브의 셀의 값이 변경되면 △-트리에 어떻게 영향을 주는지 알아보자. 업데이트 요청은 (P, △)의 형태로 주어진다. 여기서, P는 위치 인덱스이고 △는 변경된 셀의 이전값과의 차이이다. 업데이트의 첫 번째 단계는 업데이트될 서브트리를 찾는 것이다.
업데이트될 서브트리를 선택하는 작업은 R*-트리에서와 동일하다. 즉, 업데이트될 서브트리를 반복적으로 찾아서 업데이트 요청이 반영될 데이터 노드를 최종적으로 선택한다. 데이터 노드가 한번 지정되면 그 노드 안에 위치 P의 데이터 엔트리가 있는지 검사한다. 이때, 그 노드의 위치 P가 존재할 경우와 존재하지 않을 경우가 있다.
위치 P가 존재할 경우에는 데이터 엔트리 (P, △OLD)에 업데이트 하는 경우이다. 여기서, △OLD는 P 위치의 현재의 △ 값이다. △ 값은 △OLD에 더해진다. 그리고, 트리에 있는 모든 데이터 노드의 조상 노드들에 대해서 (Σ△)ancestor = (Σ△)ancestor + △ 을 수행한다. 여기서, (Σ△)ancestor 는 데이터 노드의 조상 노드의 Σ△이다. 이러한 과정이 루트 노드까지 반복된다.
다음, 위치 P가 존재하지 않은 경우에는, 데이터 엔트리 (P, △)가 노드의 끝에 추가된다. 또한, 데이터 노드의 모든 조상 노드에 대해서 (Σ△)ancestor = (Σ△)ancestor + △를 수행한다. 때때로 삽입 과정 중에 데이터 노드 안의 데이터 엔트리의 개수가 한도를 초과하는 경우에는 오버플로우가 발생할 수 있다. 이 경우에는 노드가 두 개의 노드로 분리되는데, R*-트리의 삽입/분리 알고리즘이 그대로 적용될 수 있다. R*-트리의 삽입/분리 알고리즘에 대한 자세한 사항은 논문 [N. Beckmann, H. Kriegel, R. Schneider, and B. Seeger, The R*-tree: an efficient and robust access method for points and rectangles, Proceedings of ACM SIGMOD Int'l Conference on Management of Data, New Jersey, 1990, pp. 322-331.] 에 상세하게 기술되어 있는 바, 이를 참조하기로 한다. 노드 S가 S1 과 S2로 분리된다고 가정하면, S1 과 S2의 부모 노드의 Σ△를 다시 계산하여야 할 필요가 있다. S1 과 S2의 부모 노드의 변경된 Σ△는 모든 조상 노드들에 대해서 루트 노드까지 반영된다.
예를 들어, 도 5의 (a)에서 셀 A[2,3]의 값이 4에서 6으로 변경되었을 때 갱신과정, 즉 갱신 요청([2,3], 2)을 △-트리에 반영하는 과정을 살펴보면 도 7을 참조하여 설명하면 다음과 같다. 먼저, 루트 노드에서 엔트리(<0:5,0:3>, 12)가 선 택된다. 트리를 아래로 탐색해 내려가면서 중간 노드에 있는 엔트리(<2:3,1:3>, 4)가 선택된다. 위치 [2,3]에 있는 데이터 엔트리는 엔트리(<2:3,1:3>, 4)가 가리키는 노드안에 있으므로, 데이터 노드 [2,3]의 변경값 2와 이전 값 1이 더해져서 모두 3이 된다. 데이터 노드의 값을 변경한 후에 조상 노드들의 값들은 각각 (<2:3,1:3>, 4)에서 (<2:3,1:3>, 6)로, (<0:5,0:3>, 12)에서 (<0:5,0,3>, 14)로 바뀐다.
상술한 바와 같은 본 발명에 따른 동적 업데이터 큐브는 종래의 방법들에 비해 상당한 효율성을 제공한다. 즉, △-트리 안에 한 개의 셀을 갱신하는 시간 복잡도는 O(logNu)이다. 여기서, Nu 는 변경된 셀들의 개수이다. 일반적으로 데이터 큐브의 전체 셀의 개수에 비해서 변경된 셀의 개수는 매우 적다. 복잡도 O(logNu)는 트리에서 하나의 패스로 내려가며 탐색하는 길이에 해당한다. 아래의 표 1은 여러 가지 방법들의 복잡도를 비교한 표이다. 여기서, N = nd 이고 n 은 각 차원에 있는 셀들의 개수이다. 표 1에서 보는 바와 같이 동적 업데이트 큐브의 크기는 원래의 데이터 큐브의 크기에 비해서 매우 작기 때문에, 즉 Nu << N이기 때문에 본 발명에 따른 방법이 종래의 방법에 비해 성능이 월등히 좋음을 알 수 있다.
Figure 112002001224757-pat00011
아래의 표 2는 위의 표 1를 이용하여 차원(d)이 2, 4, 8일 때와 각 차원의 크기가 101 과 102 일 때, 여러 가지 방법들의 갱신 비용에 대한 비교 결과를 표시한다. 예를 들면 d = 4 이고, n = 102일 때, 데이터 큐브의 전체 크기 N = nd 은 108 이다. 이때 △-트리의 팬아웃(fan-out)이 10이라고 가정한다. 즉, 복잡도를 구하는 식에서 log의 밑수가 10이다. 대개의 경우에 Nu 은 N의 1% 정도라고 생각된다. 따라서, Nu 가 N의 0.1%, 1%, 10% 인 경우에 대해서 결과치를 표시한다.
Figure 112002001224757-pat00012
다음, 하이브리드 질의방법에 대해 설명하면 다음과 같다.
실제 OLAP 환경에서 사용자들은 대개 대화식 질의를 반복 실행하여 경향이나 패턴 또는 특이한 데이터 변화들을 찾고자 한다. 이때에는 최대한 빠르게 응답을 받기 위해서 근사값의 결과를 원할 수도 있다.
본 발명에서는 질의의 전체 실행 비용을 줄이기 위해서 근사 결과와 정확한 결과를 혼합한 하이브리드 방법을 제안한다.
이것은 의사 결정 지원시스템과 같이 시간이 많이 걸리는 정확한 결과보다는 근사 결과라도 빨리 얻기를 원하는 응용들에서 큰 장점이 된다. 따라서, 본 발명에서는 근사 기법을 제안하고 이 방법이 어떻게 적은 추가 실행 비용으로도 근사값의 에러를 줄일 수 있는지를 설명한다.
구간 합 질의을 수행할 때, △-트리를 부분적으로 검색하면 근사 결과를 얻을 수 있다. 즉, 루트에서 하위 노드를 검색할 때, 단말 노드까지 가지 않고 내부 노드까지만 검색한다. 영역-합 질의의 결과에 관련된 MBR들은 포함된 MBR 또는 교차된 MBR 등, 두 가지 부류이다. 포함된 MBR 은 MBRi(i=1,...,m)(여기서, m은 포함된 MBR의 개수)라 하고, 교차된 MBR 은 MBRj(j=m+1,...,n)(여기서, n-m은 교차된 MBR의 개수)라 한다.
도 8은 △-트리의 레벨 i 에서의 MBR들과 질의 MBR을 도시한 도면으로서, 본 발명에 따른 근사화된 값을 구하는 과정을 설명하기 위해 도시한 도면이다. MBR 1과 MBR 2는 포함된 MBR들이며, MBR 3, MBR 4, MBR 5는 교차된 MBR들이다. (Σ△)i (i=1,...,m)를 i번째 포함된 MBR의 Σ△ 값이라고 하자. 그리고, (Σ△)j (j=m+1,...,n)는 각 교차된 MBR의 Σ△ 값이라고 하자. 그러면 △-트리의 레벨 i 에서의 구간 합 질의의 결과는 아래 수학식 7로 근사된다.
Figure 112002001224757-pat00013
또한, 본 발명에서는 근사 기법을 개선시키기 위해 평균 위치들의 목록을 사용한다. 즉, 좀 더 정확한 근사 결과를 얻기 위해서 질의의 영역을 재조정한다. 그리고 질의 영역을 재조정하지 않고 구한 근사값과, 재조정하고 구한 근사값의 차이값을 사용하여 더 검색하여야 하는 노드를 결정한다.
이를 보다 상세하게 설명하면 다음과 같다.
즉, 도 9에서, 교차되는 영역은 (0:x, y:L2)이다. μ1, μ2 을 계산하고 좀더 정확한 근사값을 얻기 위해 영역을 재조정한다. 노드의 좌우변을 생각하자[0, μ1]은 노드에 포함된 데이터들의 반을 포함하고 있다. 데이터들이 균일하게 분포되어 있고 μ1이 평균 위치일 때, [0,x]안의 데이터들을 포함하는 [0,α]의 α를 구한다.
그러면,
Figure 112002001224757-pat00014
로부터
Figure 112002001224757-pat00015
의 식을 구할 수 있다. 따라서, 0:x 는 0:
Figure 112002001224757-pat00016
로 재조정된다. y:L2 의 재조정도 비슷한 방법을 사용하는데,
Figure 112002001224757-pat00017
:L2 로 된다. 그리고, 재조정하여 구한 근사값과 재조정하지 않고 구한 근사값과의 차이를 사용하여 다음 하위 레벨에서 검색해야 되는 노드를 찾는다. 즉, 다른 것들보다 차이값이 큰 노드들을 선택한다.
레벨 i 안의 교차되는 노드들을 검색할 때, 큰 차이를 갖는 레벨 i의 노드들을 레벨 i-1까지 검색하면 추가 비용을 약간만 들이고도 에러를 상당히 줄일 수 있다.
상술한 바와 같은 본 발명의 성능을 실험한 결과를 설명하면 다음과 같다. 본 발명에 따른 방법은 PC와 △-트리를 함께 사용하는 방법이다. 즉, 업데이트는 △-트리 만을 사용하고 주기적으로 PC에 반영해 주기 때문에 이 실험에서는 △-트리로의 업데이트 성능을 측정한다. 질의 성능에 대해서는 PC와 △-트리를 함께 고려하고, 질의 정확도에 대해서는 △-트리 만으로 실험한다. 질의 성능을 측정할 때에는 페이지 엑세스 횟수와 시간으로서 측정한다. △-트리는 R*-트리를 수정하여 구현하는데, 트리의 깊이를 깊게 하여 근사값을 구할 수 있도록 하기 위하여 노드의 크기를 600바이트로 제한한다. 사용한 데이터는 Uniform 데이터와 Zipf 데이터를 사용하는데, Zipf 데이터의 z 파라미터는 차원에 관계없이 일정한 값을 준다(z=0.9). 데이터의 차원은 2, 3, 4, 5차원의 데이터를 사용한다. 그리고, 각 차원의 크기(cardinality)는 2차원일 때 1024, 3차원일 때 512, 4차원일 때 128, 5차원일 때 64로 한다. △-트리에 들어가는 데이터의 갯수는 1만개에서 5만개로 하고, 질의 선택률(selectivity)의 크기에 따라서 3가지의 질의를 사용한다. 이 3가 지 질의는 large(=0.1), medium(=0.05), small(=0.01)이다. 모든 실험은 메인 메모리 256M, 10G 하드디스크를 갖춘 Sun Untra II 웍스테이션에서 실험한 것이며, 실험 결과의 오차는 백분율 오차를 사용하고 30개의 질의를 실행시킨 결과의 평균을 구한다.
도 10은 3차원에서 질의 크기가 large, medium, small일 때, 질의 수행 성능을 도시한 그래프이다. 도 11은 medium 크기의 질의를 각각 3차원, 4차원, 5차원 데이터에 대해 실행시킨 결과를 도시한 그래프이다. 질의 수행 시에 △-트리의 데이터 노드인 레벨 0까지 검색한 경우로서 질의의 결과값이 정확한 경우이다. 성능은 수행 시간으로 측정하는데, 3차원인 경우에는 1초 미만의 빠른 수행 시간을 보여주고 있다.
도 12는 변경된 셀의 값을 △-트리에 삽입하는 성능을 보여준다. X축은 기존에 △-트리에 들어 있는 데이터의 개수이고, Y축은 1개의 값을 삽입할 때 방문되는 페이지의 개수를 보여주는데 이는 △-트리의 깊이와 일치한다. 도면에서 알 수 있는 바와 같이 성능은 O(logNu)이다. 여기서, Nu는 변경된 셀의 개수이다.
도 13은 Uniform 분포 데이터에서 차원=4, 질의 크기=large, medium, small, 데이터 수=10000일 때, 근사 해를 구하는 성능 및 에러율을 도시한 그래프도이다.
즉, 4차원의 Uniform한 데이터 10000개가 △-트리에 저장되어 있는 상태에서 질의 수행을 근사기법을 적용하였을 때의 성능과 에러율을 보여준다. X축의 값은 근사방법을 수행한 트리의 레벨을 나타낸다. 여기서, 단말 노드인 데이터 노드의 레벨이 0 이고 하나 상위의 노드는 아래 노드보다 1 만큼 큰 값을 가진다. 근사 레벨이 0 이라는 것은 데이터 노드까지 검색한다는 의미이며, 1, 2는 각각 레벨 1, 2의 노드까지 검색한다는 것을 의미한다.
근사 레벨이 0.4(=0.6 ×0 + 0.4 ×1)라는 것은 레벨 1의 노드 중에서 40%의 노드는 레벨 1까지 검색 하고, 60%의 노드는 레벨 0까지 검색한다는 것을 의미한다. 유사하게 근사레벨이 1.7(=0.3×1 + 0.7×2)이라는 것은 레벨 2의 노드 중에서 70%의 노드는 레벨 2까지 검색하고 30%의 노드는 레벨 1의 노드까지 검색한다는 의미이다. 이때, 근사값의 차가 큰 노드에 대해서 검색이 한 레벨 더 행해진다. 도 13에서 보여 주는 바와 같이 근사레벨을 점점 높이면 검색되는 페이지와 시간이 급격히 감소하고, 상대적으로 에러율은 조금씩 증가한다. 따라서, 근사레벨을 적절히 높이면 허용 가능한 정도의 에러율 안에서 매우 큰 성능의 향상을 얻을 수 있다.
도 14는 도 13과 동일 조건하에서 데이터의 개수를 50000으로 늘린 경우를 도시한다. 여기서는 △-트리에 데이터의 수가 늘어날수록 에러율은 감소하나 반면에 질의 성능은 감소한다.
도 15는 Uniform한 데이터 분포에서 데이터의 수가 50000, 질의 크기는 large, 그리고 차원은 2에서 5차원까지 변화시키면서 성능과 에러율을 보여주는 도면이다. 도 16은 Zipf 분포 데이터에서 데이터의 수가 50000일 때 차원을 2에서 4 차원까지 변화시켰을 때의 성능과 에러율을 도시한 그래프이다.
위에서 양호한 실시예에 근거하여 이 발명을 설명하였지만, 이러한 실시예는 이 발명을 제한하려는 것이 아니라 예시하려는 것이다. 이 발명이 속하는 분야의 숙련자에게는 이 발명의 기술사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능함이 자명할 것이다. 그러므로, 이 발명의 보호범위는 첨부된 청구범위에 의해서만 한정될 것이며, 위와 같은 변화예나 변경예 또는 조절예를 모두 포함하는 것으로 해석되어야 할 것이다.
이상과 같이 본 발명에 의하면, 검색 효율은 그대로 유지하면서 데이터 큐브의 갱신 비용을 획기적으로 줄이도록 설계된 동적 업데이트 큐브를 이용하는데, 이 동적 업데이트 큐브는 △-트리라는 계층 자료구조를 이용한다. 이 동적 업데이트 큐브를 이용하면 일부 변경되는 데이터 큐브를 프리픽스-합 큐브에 직접 적용하지 않고 동적 업데이트 큐브에 갱신하기 때문에 갱신 비용을 최소화할 수 있다.
또한, 이 동적 업데이트 큐브의 계층 트리 구조를 이용하여 OLAP 질의에 대해, 정확한 결과 뿐만 아니라 근사 결과를 검색하는 하이브리드 방법을 이용하는데, 이 하이브리드 방법에 의하면 전체 질의 수행비용을 줄일 수 있다. 이 근사 결과 검색방법은 의사 결정 지원시스템과 같이 근사 결과라도 빨리 보기를 원하는 다양한 많은 응용에서 매우 유용한 방법으로서, 갱신 복잡도는 O(log Nu)이다. 여기서 Nu는 데이터 큐브에서 변경된 셀의 개수이다.
이러한 본 발명은 여러가지 차원과 크기의 질의에 대해서 다양한 실험을 행하였는 바, 질의와 업데이트 효율성, 근사 결과의 정확성과 효율성이 매우 우수하며, 하이브리드 방법을 사용하면 근사값의 에러를 합리적인 수준에서 유지하면서도 질의 속도는 획기적으로 감소시킬 수는 효과가 있는 발명인 것이다.

Claims (7)

  1. 데이터 큐브와 동일한 크기를 가지며 상기 데이터 큐브의 각 셀까지의 누적된 합을 상기 데이터 큐브에 대응되는 각각의 셀에 저장하는 프리픽스-합 큐브를 이용하여 영역-합 질의에 대한 결과를 컴퓨터 상에서 검색하는 방법에 있어서,
    (1) 상기 데이터 큐브 셀의 값이 바뀔 때에 상기 프리픽스-합 큐브를 직접 업데이트하는 대신에 상기 데이터 큐브의 변경된 정보를 저장하는 다차원 인덱스 구조인 △-트리를 이용하는 동적 업데이트 큐브를 생성하는 단계;
    (2) 상기 데이터 큐브 셀이 업데이트될 때마다 상기 데이터 큐브 셀의 현재와 과거의 값의 차(△)와 상기 셀의 위치 정보를 상기 △-트리에 저장하는 단계;
    여기에서 상기 △-트리의 디렉토리 노드가 (L1, L2, ... , Ln) 을 포함할 때, Li 는 i번째 자식 노드 Ci 에 관한 튜플(tuple)이고, 각 튜플은 (Σ△, M, cpi, MBRi)의 형태를 가지며, Σ△는 Ci가 디렉토리 노드(데이터 노드)일 때 Ci 의 모든 Σ△(△)값의 합이고, cpi 는 Ci 의 주소이고, MBRi는 Ci 에 있는 모든 엔트리들을 감싸는 MBR(Minimum Bounding Rectangle)이며, M은(μ1, μ2, ..., μd)를 가지는 데, 여기서 d는 차원이고 μj는 MBRi의 j번째 평균위치로서,
    Figure 112006052273920-pat00037
    이고,
    Figure 112006052273920-pat00038
    이며,
    f(k1, k2, ..., kd)는 MBRi에 있는 업데이트 위치 (k1, k2, ..., kd)의 값이고, kj 값의 범위는 1≤kj≤nj이며, nj 는 MBRi의 j 번째 차원의 파티션 수이며, 데이터 큐브는 레벨이 0이고 (D1, D2, ..., Dn)를 포함하는데, 여기서 Di 는 i 번째 데이터 엔트리에 관한 튜플이며, (Pi, △i)의 형태를 가지고, Pi는 포지션 인텍스이며, △i 는 변경된 셀 값의 차이임.
    (3) 영역-합 질의가 주어지면, 상기 프리픽스-합 큐브로부터 질의 영역의 영역-합인 PC_sum(Q)를 구하고, 상기 동적 업데이트 큐브로부터 상기 질의 영역의 영역-합인 △_sum(Q)를 구하며, 상기 두 개의 영역-합 값을 더하여 영역-합 질의의 해인 Sum(Q)를 구하는 단계;
    를 포함하여 이루어지는 것을 특징으로 하는 동적 업데이트 큐브를 이용한 영역-합 질의의 처리방법.
  2. 제1항에 있어서, 상기 단계 (3)에서 동적 업데이트 큐브로부터 상기 질의 영역의 영역-합을 구하기 위하여 △-트리를 검색할 때, 루트노드를 맨 처음 방문하고 상기 루트노드의 각 엔트리에 대해 MBRQ(여기서, MBRQ는 영역-합 질의 Q의 MBR)와 MBRT(여기서, MBRT는 노드 T의 MBR)의 공간적인 관계를 조사하여, 영역-합 질의 Q와 무관한 MBRT 엔트리의 서브 트리는 플루닝(pruning)시키고, 영역-합 질의 Q에 전체가 포함되는 MBRT 엔트리의 Σ△는 해에 더하며, 영역-합 질의 Q에 일부가 포함되는 MBRT 엔트리는 이에 속하는 모든 자식 MBR을 평가하여 정확한 해를 계산하는 것을 특징으로 하는 동적 업데이트 큐브를 이용한 영역-합 질의의 처리방법.
  3. 제1항에 있어서,
    (4) 상기 △-트리에 저장된 모든 정보를 사전에 정하여진 기간에 따라 주기적으로 프리픽스-합 큐브에 반영하는 단계;
    를 더 포함하여 이루어지는 것을 특징으로 하는 동적 업데이트 큐브를 이용한 영역-합 질의의 처리방법.
  4. 제1항에 있어서, 상기 단계 (2)에서 데이터 큐브 안의 셀의 값이 변경됨에 따라 동적 업데이트 큐브의 △-트리를 업데이트하기 위한 요청은 위치 인덱스를 나타내는 P와 변경된 셀의 이전값과의 차이를 나타내는 △로 표현되는 (P, △)의 형태로 주어지고, 업데이트될 서브트리를 선택하기 위하여 업데이트될 서브트리를 반복적으로 찾아 업데이트 요청이 반영될 데이터 노드를 최종적으로 선택하고, 데이터 노드가 한번 지정되면 그 노드 안에 위치 P의 데이터 엔트리가 있는지 검사하며, 위치 P가 존재할 경우에는 데이터 엔트리 (P, △OLD)의 △OLD(여기에서, △OLD는 P 위치의 현재의 △ 값)에 △ 값을 더하여 업데이트 한 후에 트리에 있는 모든 데이터 노드의 조상 노드들에 대해서 (Σ△)ancestor = (Σ△)ancestor + △ 을 루트 노드까지 반복하여 수행(여기서, (Σ△)ancestor 는 데이터 노드의 조상 노드의 Σ△)하되, 위치 P가 존재하지 않은 경우에는 데이터 엔트리 (P, △)를 노드의 끝에 추가하고 상기 데이터 노드의 모든 조상 노드에 대해서 (Σ△)ancestor = (Σ△)ancestor + △를 수행하는 것을 특징으로 하는 동적 업데이트 큐브를 이용한 영역-합 질의의 처리방법.
  5. 제1항에 있어서, 상기 단계 (3)에서 동적 업데이트 큐브로부터 상기 질의 영역의 영역-합에 대한 근사 결과를 구하기 위하여 △-트리를 검색할 때, 루트노드를 맨 처음 방문하고 상기 루트노드의 하위 노드 중 단말 노드 대신에 레벨 i의 내부 노드까지만 검색하여 계산하는 것을 특징으로 하는 동적 업데이트 큐브를 이용한 영역-합 질의의 처리방법.
  6. 제5항에 있어서, 상기 레벨 i의 내부 노드까지의 영역-합 질의에 대한 근사 결과는
    Figure 112006052273920-pat00039
    (여기에서 포함된 MBR은 MBRi(i=1,...,m; m은 포함된 MBR의 개수)이고, 교차된 MBR은 MBRj(j=m+1,...,n; n-m은 교차된 MBR의 개수)이며, (Σ△)i (i=1,...,m)를 i번째 포함된 MBR의 Σ△ 값이고, (Σ△)j (j=m+1,...,n)는 각 교차된 MBR의 Σ△ 값이며, PC_sum(Q)는 프리픽스-합 큐브로부터 계산된 결과값을 돌려주는 함수임)
    에 의하여 계산되는 것을 특징으로 하는 동적 업데이트 큐브를 이용한 영역-합 질의의 처리방법.
  7. 제6항에 있어서,
    (4) 영역-합 질의에 대한 근사 결과의 정확도를 높이기 위하여 질의의 영역을 재조정하여 근사값을 계산하고, 질의의 영역을 재조정하여 구한 근사값과 재조정하지 않고 구한 근사값과의 차이를 사용하여 다음 하위 레벨에서 검색해야 되는 노드를 찾되, 다른 노드들보다 차이가 큰 노드들을 선택하여 계산하는 단계;
    를 더 포함하여 이루어지는 것을 특징으로 하는 동적 업데이트 큐브를 이용한 영역-합 질의의 처리방법.
KR1020020002337A 2001-09-10 2002-01-15 영역-합 질의를 위한 동적 업데이트 큐브와 하이브리드질의 검색방법 KR100656528B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020020002337A KR100656528B1 (ko) 2001-09-10 2002-01-15 영역-합 질의를 위한 동적 업데이트 큐브와 하이브리드질의 검색방법
US10/120,535 US7177854B2 (en) 2001-09-10 2002-04-09 Dynamic update cube and hybrid query search method for range-sum queries

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020010055489 2001-09-10
KR20010055489 2001-09-10
KR1020020002337A KR100656528B1 (ko) 2001-09-10 2002-01-15 영역-합 질의를 위한 동적 업데이트 큐브와 하이브리드질의 검색방법

Publications (2)

Publication Number Publication Date
KR20030022663A KR20030022663A (ko) 2003-03-17
KR100656528B1 true KR100656528B1 (ko) 2006-12-12

Family

ID=26639331

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020002337A KR100656528B1 (ko) 2001-09-10 2002-01-15 영역-합 질의를 위한 동적 업데이트 큐브와 하이브리드질의 검색방법

Country Status (2)

Country Link
US (1) US7177854B2 (ko)
KR (1) KR100656528B1 (ko)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7672924B1 (en) * 2001-08-09 2010-03-02 Teradata Us, Inc. Systems and methods for generating information from a data collection to support decision-making
US8090730B2 (en) * 2001-12-04 2012-01-03 University Of Southern California Methods for fast progressive evaluation of polynomial range-sum queries on real-time datacubes
US7415457B2 (en) * 2002-04-26 2008-08-19 Oracle International Corporation Using a cache to provide cursor isolation
US8868544B2 (en) * 2002-04-26 2014-10-21 Oracle International Corporation Using relational structures to create and support a cube within a relational database system
US8001112B2 (en) * 2002-05-10 2011-08-16 Oracle International Corporation Using multidimensional access as surrogate for run-time hash table
US7447687B2 (en) * 2002-05-10 2008-11-04 International Business Machines Corporation Methods to browse database query information
US7603300B2 (en) * 2002-11-18 2009-10-13 Sap Aktiengesellschaft Collection and analysis of trading data in an electronic marketplace
US7584192B2 (en) * 2002-11-18 2009-09-01 Sap Aktiengesellschaft Collection and analysis of document traffic in an electronic marketplace
KR100718586B1 (ko) * 2002-11-25 2007-05-16 한국과학기술원 웹 상의 이질적인 이미지 데이터베이스들을 선택하기 위한복합추정 방법 및 이를 이용한 검색 시스템
US7716167B2 (en) * 2002-12-18 2010-05-11 International Business Machines Corporation System and method for automatically building an OLAP model in a relational database
US7953694B2 (en) * 2003-01-13 2011-05-31 International Business Machines Corporation Method, system, and program for specifying multidimensional calculations for a relational OLAP engine
US6961733B2 (en) 2003-03-10 2005-11-01 Unisys Corporation System and method for storing and accessing data in an interlocking trees datastore
US20040193633A1 (en) * 2003-03-28 2004-09-30 Cristian Petculescu Systems, methods, and apparatus for automated dimensional model definitions and builds utilizing simplified analysis heuristics
US7895191B2 (en) 2003-04-09 2011-02-22 International Business Machines Corporation Improving performance of database queries
US8516004B2 (en) * 2003-09-19 2013-08-20 Unisys Corporation Method for processing K node count fields using an intensity variable
US20060101018A1 (en) 2004-11-08 2006-05-11 Mazzagatti Jane C Method for processing new sequences being recorded into an interlocking trees datastore
US7831615B2 (en) * 2003-10-17 2010-11-09 Sas Institute Inc. Computer-implemented multidimensional database processing method and system
US7606828B2 (en) * 2003-11-18 2009-10-20 Sap Ag Delta-mechanism for integration of OLAP-based planning and reporting
US7340471B2 (en) * 2004-01-16 2008-03-04 Unisys Corporation Saving and restoring an interlocking trees datastore
US7424470B2 (en) * 2004-05-11 2008-09-09 Sap Ag Local data repository generation
US7707143B2 (en) * 2004-06-14 2010-04-27 International Business Machines Corporation Systems, methods, and computer program products that automatically discover metadata objects and generate multidimensional models
US20050283494A1 (en) * 2004-06-22 2005-12-22 International Business Machines Corporation Visualizing and manipulating multidimensional OLAP models graphically
US7480663B2 (en) * 2004-06-22 2009-01-20 International Business Machines Corporation Model based optimization with focus regions
US7593923B1 (en) 2004-06-29 2009-09-22 Unisys Corporation Functional operations for accessing and/or building interlocking trees datastores to enable their use with applications software
US7213041B2 (en) 2004-10-05 2007-05-01 Unisys Corporation Saving and restoring an interlocking trees datastore
US7716241B1 (en) 2004-10-27 2010-05-11 Unisys Corporation Storing the repository origin of data inputs within a knowledge store
US7908240B1 (en) 2004-10-28 2011-03-15 Unisys Corporation Facilitated use of column and field data for field record universe in a knowledge store
US7499932B2 (en) * 2004-11-08 2009-03-03 Unisys Corporation Accessing data in an interlocking trees data structure using an application programming interface
US7676477B1 (en) 2005-10-24 2010-03-09 Unisys Corporation Utilities for deriving values and information from within an interlocking trees data store
US7348980B2 (en) 2004-11-08 2008-03-25 Unisys Corporation Method and apparatus for interface for graphic display of data from a Kstore
US20070162508A1 (en) * 2004-11-08 2007-07-12 Mazzagatti Jane C Updating information in an interlocking trees datastore
US7587410B2 (en) * 2005-03-22 2009-09-08 Microsoft Corporation Dynamic cube services
US7409380B1 (en) 2005-04-07 2008-08-05 Unisys Corporation Facilitated reuse of K locations in a knowledge store
US7130534B1 (en) * 2005-04-21 2006-10-31 Agilent Technologies, Inc. Gas chromatograph having a radiant oven for analytical devices
US7389301B1 (en) 2005-06-10 2008-06-17 Unisys Corporation Data aggregation user interface and analytic adapted for a KStore
JP4670496B2 (ja) * 2005-06-14 2011-04-13 住友電気工業株式会社 光受信器
US8935273B2 (en) * 2005-06-23 2015-01-13 International Business Machines Corporation Method of processing and decomposing a multidimensional query against a relational data source
US20070214153A1 (en) * 2006-03-10 2007-09-13 Mazzagatti Jane C Method for processing an input particle stream for creating upper levels of KStore
US20080275842A1 (en) * 2006-03-20 2008-11-06 Jane Campbell Mazzagatti Method for processing counts when an end node is encountered
US20070220069A1 (en) * 2006-03-20 2007-09-20 Mazzagatti Jane C Method for processing an input particle stream for creating lower levels of a KStore
US7734571B2 (en) * 2006-03-20 2010-06-08 Unisys Corporation Method for processing sensor data within a particle stream by a KStore
US7689571B1 (en) 2006-03-24 2010-03-30 Unisys Corporation Optimizing the size of an interlocking tree datastore structure for KStore
US8238351B2 (en) * 2006-04-04 2012-08-07 Unisys Corporation Method for determining a most probable K location
US7676330B1 (en) 2006-05-16 2010-03-09 Unisys Corporation Method for processing a particle using a sensor structure
US8072903B2 (en) * 2006-05-30 2011-12-06 Genband Us Llc Methods, systems, and computer program products for performing range-based directory number (DN) screening
US7856431B2 (en) * 2006-10-24 2010-12-21 Merced Systems, Inc. Reporting on facts relative to a specified dimensional coordinate constraint
KR100789966B1 (ko) * 2006-11-22 2008-01-02 인하대학교 산학협력단 공간데이터 분포를 고려한 공간 엔트로피 기반의 의사결정트리 구축방법
US7765216B2 (en) * 2007-06-15 2010-07-27 Microsoft Corporation Multidimensional analysis tool for high dimensional data
US8407686B2 (en) 2007-09-07 2013-03-26 Ebay Inc. Method and system for problem notification and processing
US7814372B2 (en) 2007-09-07 2010-10-12 Ebay Inc. Method and system for exception detecting and alerting
US8051075B2 (en) * 2007-09-24 2011-11-01 Merced Systems, Inc. Temporally-aware evaluative score
US7890494B2 (en) * 2007-10-31 2011-02-15 Yahoo! Inc. System and/or method for processing events
US8005818B2 (en) * 2008-03-31 2011-08-23 Business Objects, S.A. Apparatus and method for maintaining metadata version awareness during set evaluation for OLAP hierarchies
US8204901B2 (en) * 2009-09-02 2012-06-19 International Business Machines Corporation Generating query predicates for processing multidimensional data
US8356027B2 (en) * 2010-10-07 2013-01-15 Sap Ag Hybrid query execution plan generation and cost model evaluation
US8856764B2 (en) * 2011-01-25 2014-10-07 International Business Machines Corporation Distributed static analysis of computer software applications
EP2490135A1 (en) * 2011-02-21 2012-08-22 Amadeus S.A.S. Method and system for providing statistical data from a data warehouse
US8676801B2 (en) 2011-08-29 2014-03-18 Sas Institute Inc. Computer-implemented systems and methods for processing a multi-dimensional data structure
US8938416B1 (en) * 2012-01-13 2015-01-20 Amazon Technologies, Inc. Distributed storage of aggregated data
KR101393864B1 (ko) * 2012-10-17 2014-05-12 인하대학교 산학협력단 질의 영역과 노드 간의 포함 관계를 이용한 r-트리 계열의 계층형 색인 구조의 범위질의 병렬 가속화 방법
US9921769B2 (en) 2014-06-19 2018-03-20 Cohesity, Inc. Making more active use of a secondary storage system
CN104199821B (zh) * 2014-07-08 2017-06-20 浙江大学城市学院 一种基于概要结构的流数据立方体构建方法
CN108388603B (zh) * 2018-02-05 2022-05-17 中国科学院信息工程研究所 基于Spark框架的分布式概要数据结构的构建方法及查询方法
CN110263038B (zh) * 2019-06-11 2021-06-15 中国人民大学 一种基于分组向量的哈希多表连接实现方法
US11537634B2 (en) * 2021-03-30 2022-12-27 Netapp, Inc. Methods for hierarchical propagation in tree structures and devices thereof
US11561935B2 (en) * 2021-06-17 2023-01-24 Netapp, Inc. Methods for ensuring correctness of file system analytics and devices thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799300A (en) * 1996-12-12 1998-08-25 International Business Machines Corporations Method and system for performing range-sum queries on a data cube
US5926820A (en) * 1997-02-27 1999-07-20 International Business Machines Corporation Method and system for performing range max/min queries on a data cube
US6094651A (en) * 1997-08-22 2000-07-25 International Business Machines Corporation Discovery-driven exploration of OLAP data cubes
KR20010035263A (ko) * 2001-01-30 2001-05-07 안종선 웹 기반 다차원 정보 분석 서비스 방법 및 시스템
KR20020012339A (ko) * 2000-08-07 2002-02-16 김종현 온라인 분석처리툴을 이용한 고객정보 분석 시스템 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5890151A (en) * 1997-05-09 1999-03-30 International Business Machines Corporation Method and system for performing partial-sum queries on a data cube
US20030018623A1 (en) * 2001-07-18 2003-01-23 International Business Machines Corporation System and method of query processing of time variant objects

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799300A (en) * 1996-12-12 1998-08-25 International Business Machines Corporations Method and system for performing range-sum queries on a data cube
US5926820A (en) * 1997-02-27 1999-07-20 International Business Machines Corporation Method and system for performing range max/min queries on a data cube
US6094651A (en) * 1997-08-22 2000-07-25 International Business Machines Corporation Discovery-driven exploration of OLAP data cubes
KR20020012339A (ko) * 2000-08-07 2002-02-16 김종현 온라인 분석처리툴을 이용한 고객정보 분석 시스템 및 방법
KR20010035263A (ko) * 2001-01-30 2001-05-07 안종선 웹 기반 다차원 정보 분석 서비스 방법 및 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
논문 OLAP 환경에서 다중점 MAX/MIN Queries in OLAP Enviornment. 2000.03.15 *
논문OLAP에서 MAX-of- SUM 질의의 효율적인 처리 기법.2000.00.00 *

Also Published As

Publication number Publication date
US20030093424A1 (en) 2003-05-15
US7177854B2 (en) 2007-02-13
KR20030022663A (ko) 2003-03-17

Similar Documents

Publication Publication Date Title
KR100656528B1 (ko) 영역-합 질의를 위한 동적 업데이트 큐브와 하이브리드질의 검색방법
US8996502B2 (en) Using join dependencies for refresh
Beckmann et al. A revised R*-tree in comparison with related index structures
Dunkel et al. Data organization and access for efficient data mining
US5926820A (en) Method and system for performing range max/min queries on a data cube
Whang et al. A linear-time probabilistic counting algorithm for database applications
Witkowski et al. Spreadsheets in RDBMS for OLAP
String Indexing techniques for queries on nested objects
Chun et al. Dynamic update cube for range-sum queries
US6470344B1 (en) Buffering a hierarchical index of multi-dimensional data
US6405198B1 (en) Complex data query support in a partitioned database system
US8010887B2 (en) Implementing versioning support for data using a two-table approach that maximizes database efficiency
US7007039B2 (en) Method of building multidimensional workload-aware histograms
US7571182B1 (en) Emulation of a balanced hierarchy from a nonbalanced hierarchy
US20030195898A1 (en) Multidimensional disk clustering scheme for query processing and maintenance in relational databases
Siqueira et al. The SB-index and the HSB-index: efficient indices for spatial data warehouses
Jürgerns et al. Tree based indexes versus bitmap indexes: A performance study
Riedewald et al. pCube: Update-efficient online aggregation with progressive feedback and error bounds
Albrecht et al. Management of multidimensional aggregates for efficient online analytical processing
Srivastava et al. TBSAM: An access method for efficient processing of statistical queries
Kriegel et al. Interval sequences: An object-relational approach to manage spatial data
Bertino et al. The indispensability of dispensable indexes
Yao et al. Selection of file organization using an analytic model
Ivanova et al. Multidimensional models: constructing data CUBE.
Hardwick et al. Using a relational database as an index to a distributed object database in engineering design systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20101201

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20111129

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee