KR101226476B1 - P2p olap 시스템 - Google Patents

P2p olap 시스템 Download PDF

Info

Publication number
KR101226476B1
KR101226476B1 KR1020100109951A KR20100109951A KR101226476B1 KR 101226476 B1 KR101226476 B1 KR 101226476B1 KR 1020100109951 A KR1020100109951 A KR 1020100109951A KR 20100109951 A KR20100109951 A KR 20100109951A KR 101226476 B1 KR101226476 B1 KR 101226476B1
Authority
KR
South Korea
Prior art keywords
client
index
server
server node
cube
Prior art date
Application number
KR1020100109951A
Other languages
English (en)
Other versions
KR20120048354A (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 KR1020100109951A priority Critical patent/KR101226476B1/ko
Publication of KR20120048354A publication Critical patent/KR20120048354A/ko
Application granted granted Critical
Publication of KR101226476B1 publication Critical patent/KR101226476B1/ko

Links

Images

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (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)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)

Abstract

본 발명은 Peer-to-Peer OLAP을 위한 인덱스 구조 및 시스템 구성에 관한 것이다. 본 발명에 따르면, N 단계 구조의 혼합형 P2P 구조로서 리소스 효율 및 관리측면에서 효율적이며, 일정한 수의 클라이언트-서버 노드와 캐시가 확보되면 메모리 DB 클러스터링 구조가 가능하여 성능의 극대화를 할 수 있게 된다. 또한, LAN 환경과 WAN 환경, 그리고 WAN 환경에서도 지역적인 위상관계와 부서에 따른 위상관계 고려로 물리적인 인접노드 뿐만 아니라 관심 비즈니스 영역 유사도 까지를 고려한 논리적 인접노드를 찾을 수 있게 된다. 그리고, 데이터의 시계열적인 특성을 활용하여 과거에 취합된 큐브 데이터를 재활용하고 분석질의 요청 시 대부분의 데이터를 P2P 노드에서 처리하고, 최근 데이터만을 데이터웨어하우스 서버에 요청함으로써, 데이터웨어하우스 서버에 부하를 적게 주면서 분석질의의 응답속도를 빠르게 할 수 있게 된다. 뿐만 아니라, 인덱스의 불균형을 보정시키는 별도의 장치를 두어, 효율성을 극대화하였다.

Description

P2P OLAP 시스템{Peer-to-Peer OLAP system}
본 발명은 Peer-to-Peer OLAP을 위한 인덱스 구조 및 시스템 구성에 관한 것으로, 더욱 상세하게는 ROLAP의 유연성 및 확정성에 MOLAP의 속도상의 이점을 제공하기 위하여, 클라이언트의 큐브 캐시를 관리 가능한 Peer-to-Peer로 공유할 수 있는 시스템과 이와 같은 시스템의 최적화된 인덱스 구조에 관한 것이다.
최근의 상용 OLAP(Online analytical processing) 시스템은 대부분 MOLAP(Multidimensional Online Analytical Processing) 및 ROLAP(Relational Online Analytical Processing)를 동시에 제공하고 있으며, 각각의 성격을 동시에 가지고 있는 하이브리드 OLAP 시스템도 지원하고 있다. 그러나, 기업의 데이터의 성격에 따라 MOLAP이나 ROLAP으로 구분하여 사용되는 경향이 있으며, 금융권 및 보험사와 같은 고객의 수와 트랜잭션이 많은 대기업들의 OLAP은 ROLAP으로 이루어지는 경향이 있다. 이러한 경향은 MOLAP에서 수백만 개의 레코드를 가지고 차원이 많은 스타 스키마의 모든 조합을 실체화하기에는 너무나 많은 저장공간이 필요하기 때문이다. 이로 인하여, ROLAP이 MOLAP에 비하여 속도가 느림에도 불구하고, 대기업 위주로 보편적으로 사용되고 있다.
ROLAP은 Materialized view 및 Bit Map Index 등 자체적으로 성능 개선을 위한 메커니즘이 존재한다. 그러나, 차원이 많고 데이터가 방대한 경우 많은 부하가 집중되는 문제점이 있다. 또한, 모든 집계 큐브 조합에 대하여 Materialized view를 만드는 것은 너무나 많은 저장공간을 필요로 하는 어려움이 있다. 따라서, 종래 ROLAP 환경에서의 분석질의는 수분에서 수십분의 시간이 소요되는 한계점이 있다. 또한, 일정한 시간이 흐르고 나면, 해당 DB 캐시가 사라져, 다시 동일한 시간이 소요되는 문제점이 있다.
본 발명의 목적은, ROLAP의 유연성 및 확정성에 MOLAP의 속도상의 이점을 제공하기 위하여, 클라이언트의 큐브 캐시를 관리 가능한 Peer-to-Peer로 공유할 수 있는 시스템과 이와 같은 시스템의 최적화된 인덱스 구조를 제공할 수 있도록 하는, Peer-to-Peer OLAP을 위한 인덱스 구조 및 시스템 구성을 제공함에 있다.
상기 목적을 달성하기 위한 P2P OLAP 시스템은, 인덱스서버 노드 및 상기 인덱스서버 노드가 관리하는 클라이언트-서버 노드를 포함하는 P2P OLAP 시스템에 있어서, 상기 인덱스서버 노드는, 분석질의를 수신하고, 상기 클라이언트서버-노드가 가진 큐브에 관한 제1Layer인덱스 및 제2Layer인덱스를 포함하는 인덱스를 관리하며, 상기 인덱스로부터 상기 분석질의를 만족하는 큐브를 가지는 클라이언트-서버 노드를 독출하여 전달하는 것을 특징으로 한다.
바람직하게는, 상기 클라이언트-서버 노드에 의해 관리되고, 상기 인덱스서버 노드에 분석질의를 요청하고, 상기 분석질의를 만족하는 큐브를 가지는 클라이언트-서버 노드로부터 상기 분석질의 결과를 수신하는 클라이언트 노드를 더 포함한다.
또한, 상기 제1Layer인덱스는,상기 클라이언트-서버 노드가 가진 큐브의 위상관계를 트리 형태로 인덱싱하는 것을 특징으로 한다.
또한, 상기 제2Layer인덱스는, 상기 클라이언트-서버 노드가 가진 큐브의 논리적, 물리적 인접성을 쿼드트리(Quadtree) 형태로 인덱싱하는 것을 특징으로 한다.
또한, 상기 제2Layer인덱스는, 상기 큐브의 시계열을 구간트리(Interval tree) 형태로 인덱싱하고, 상기 쿼드트리와 양방향으로 링크하는 것을 특징으로 한다.
또한, 상기 쿼드트리는, 균형 유지를 위하여 1회 혹은 그 이상의 선처리를 하는 것을 특징으로 한다.
또한, 상기 클라이언트-서버 노드는, 자신이 가지는 큐브에 관한 제3Layer인덱스를 관리하는 것을 특징으로 한다.
또한, 상기 제3Layer인덱스는, 자체 메모리 쿼리 메커니즘을 이용하는 것을 특징으로 한다.
본 발명에 따르면, N 단계 구조의 혼합형 P2P 구조로서 리소스 효율 및 관리측면에서 효율적이며, 일정한 수의 클라이언트-서버 노드와 캐시가 확보되면 메모리 DB 클러스터링 구조가 가능하여 성능의 극대화를 할 수 있게 된다. 또한, LAN 환경과 WAN 환경, 그리고 WAN 환경에서도 지역적인 위상관계와 부서에 따른 위상관계 고려로 물리적인 인접노드 뿐만 아니라 관심 비즈니스 영역 유사도 까지를 고려한 논리적 인접노드를 찾을 수 있게 된다. 그리고, 데이터의 시계열적인 특성을 활용하여 과거에 취합된 큐브 데이터를 재활용하고 분석질의 요청 시 대부분의 데이터를 P2P 노드에서 처리하고, 최근 데이터만을 데이터웨어하우스 서버에 요청함으로써, 데이터웨어하우스 서버에 부하를 적게 주면서 분석질의의 응답속도를 빠르게 할 수 있게 된다.
도 1은 P2P OLAP 시스템의 구조도이다.
도 2는 큐브의 위상관계에 대한 트리 형태의 인덱스 구조도이다.
도 3은 큐브의 논리적, 물리적 인접성에 관한 쿼드트리 형태의 인덱스 구조도이다.
도 4는 쿼드트리 균형 유지를 위한 선처리에 관한 도이다.
도 5는 쿼드트리 균형 유지를 위한 선처리에 관한 예시도이다.
도 6은 큐브의 시계열에 관한 구간트리 형태의 인덱스 구조도이다.
도 7은 쿼드트리 형태의 인접성 인덱스와 구간트리 형태의 시계열 인덱스간의 양방향 링크가 가능한 인덱스에 관한 구조도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
본 발명은 중앙 관리가 가능한 N단계 혼합형 P2P 시스템으로 구성된다.
P2P 기술은 구조적 P2P(Structured P2P)와 비구조적 P2P(Unstructured P2P)로 나눌 수 있다.
구조적 P2P는 데이터의 해쉬키(Hash Key)와 시스템에 참여한 노드의 아이디를 하나의 주소 공간으로 매핑하여 데이터와 노드를 함께 하나의 주소 공간에 두고 관리하는 분산 해쉬 테이블(Distributed Hash Table, 이하 DHT) 방식 P2P 알고리즘을 주로 사용하고 있다. 비구조적 P2P에 비하여 데이터가 노드에 균일하게 분산된다는 장점이 있고, 시스템의 신뢰도가 높아지며, 부하분산(Load Balancing) 측면에서 장점이 있다. 그러나, DHT 방식 P2P는 해쉬 테이블을 이용하여 동적으로 노드를 관리하므로 파일을 잘게 쪼개어 블록 단위로 파일의 위치를 빨리 접근하는 데 적절하나, 범위질의를 수행하거나 복잡한 조합의 다차원 질의를 수행하는 데에는 한계점이 있다.
비구조적 P2P는 분산 P2P와 중앙 집중형 P2P, 혼합형 P2P(Hybrid P2P)로 나눌 수 있다. 분산 P2P는 중앙서버 역할을 하는 서버가 없으므로 전체 네트워크 부하를 증가시킬 수 있는 단점이 있다. 중앙 집중형 P2P는 중앙서버에 의존적이고, 중앙 서버에 부하가 집중될 수 있다는 단점이 있는 반면, 관리가 편하고 복잡한 질의 처리가 가능하다는 장점이 있다. 혼합형 P2P는 중앙 집중형 P2P의 부하 집중에 따른 단점을 해소하며, 인덱스 정보가 소수의 노드에서 관리되므로 두 가지의 장점을 결합한 형태이다.
본 발명은, 클라이언트 노드(300) 및 클라이언트-서버 노드(200)가 데이터웨어하우스 서버에 최초로 분석질의를 요청하는 경우, 분석질의에 대한 결과 큐브보다 한 단계 위의 집계 큐브를 요청하여 데이터를 수신한다. 따라서, 최초 응답 시간을 단축할 수 있으며, P2P 노드간 공유 큐브의 파일 사이즈를 최소화 할 수 있다. 즉, 데이터웨어하우스 서버 팩트 테이블(Fact table)의 크기가 천문학적으로 크다 할지라도, P2P 노드간 주고받는 큐브의 크기는 작은 상태를 유지할 수 있다. 이때, 상세조회는 drill through 요청으로 분리하는 기법을 통해, 상세 단위 전달은 피하면서 상세조회가 가능하게 된다.
본 발명의 인덱스서버 노드(100) 및 클라이언트-서버 노드(200)는 종료 전 해당 캐시 큐브 및 인덱스를 디스크에 메모리 상태 그대로 직렬화하여 저장하였다가 프로그램이 재 가동되는 경우 디스크에서 읽어와 메모리로 역직렬화하는 과정을 통해 그대로 재 로드할 수 있다.
P2P OLAP 시스템 구성에 관한 도 1을 참조하면, 본 발명은 인덱스서버 노드(100), 클라이언트-서버 노드(200) 및 클라이언트 노드(300)를 포함한다.
인덱스서버 노드(100)는 인덱스서버 노드(100)가 관리하는 클라이언트-서버 노드(200)가 가지는 큐브에 관하여 제1Layer인덱스와 제2Layer인덱스를 포함하는 인덱스를 관리한다. 인덱스서버 노드(100)는 클라이언트-서버 노드(200)나 클라이언트 노드(300)로부터 분석질의를 수신하고, 인덱스를 이용하여 분석질의를 만족하는 큐브를 가지는 클라이언트-서버 노드(200)를 독출하여 클라이언트-서버 노드(200)나 클라이언트 노드(300)에 전달한다.
인덱스서버 노드(100)는 도 1a에 도시된 바와 같이, 단일의 서버로 구성될 수 있다.
다른 실시예로서, 도 1b에 도시된 바와 같이, 인덱스서버 노드(100)를 클라우드 시스템으로 확장하는 것도 가능하다. 인덱스서버 노드(100)의 깊이가 다단계로 확장하는 경우, 특별한 하드웨어적 준비없이 바로 인스턴스 확장을 통해 물리적 확장을 꾀할 수 있으며, 사용료는 쓴 만큼만 지불해도 되기 때문이다. 또한 클라우드 시스템 하에서 단계를 확장한 후에도, 각 인덱스서버 노드(100)에 대하여 스타 스키마별 수평적 확장이 가능하며, 부하가 걸리는 일부 스타 스키마 및 상위 단계 인덱스서버 노드(100)에 대하여 수직적 확장이 용이하기 때문이다.
클라이언트-서버 노드(200)는 클라이언트이면서 서버 역할을 수행한다. 클라이언트-서버 노드(200)는 자신이 가지는 큐브에 관한 제3Layer인덱스를 관리한다. 또한, 클라이언트-서버 노드(200)는 다른 클라이언트-서버 노드(200)나 클라이언트 노드(300)로부터 분석질의를 수신하고, 분석질의 결과를 전달한다.
클라이언트 노드(300)는 클라이언트-서버 노드(200)에 관리되며, 인덱스서버 노드(100)에 분석질의를 요청한다. 클라이언트 노드(300)는 분석질의를 만족하는 큐브를 가지는 클라이언트-서버 노드(200)로부터 분석질의 결과를 수신한다.
본 발명은 3개의 Layer인덱스로 구성된다. 인덱스서버 노드(100)는 2개의 Layer인덱스로 구성되며, 클라이언트-서버 노드(200)는 1개의 Layer인덱스로 구성된다. 복수개의 Layer인덱스가 존재하는 이유는 서로 다른 여러 성능 개선 요소를 모두 해결하기 위함이다. 각 Layer인덱스 간의 상하 관계를 명확하게 하여 인덱스를 복합적으로 연동시키지 않고 Layer인덱스를 나눈 이유는 추후 서버 부하를 고려할 때, Layer인덱스 단위로 층을 구분할 수 있는 여지를 부여하기 위함이다.
상술한 바와 같이, 본 발명은 중앙 관리가 가능한 N단계 혼합형 P2P 시스템으로 구성된다. N은 전제하고 있는 여러 특성을 고려한 3개의 Layer인덱스 메모리 크기에 따라 N단계의 깊이가 유동적으로 결정됨을 의미한다. N의 최소값은 2이며, 이 경우 인덱스서버 노드(100)와 클라이언트-서버 노드(200)로 구성된다.
큐브의 위상관계에 대한 트리 형태의 인덱스 구조에 관한 도 2를 참조하면, 본 발명에 따른 인덱스서버 노드(100)의 제1Layer인덱스는 클라이언트-서버 노드(200)가 가진 큐브의 위상관계를 트리 형태(110)로 인덱싱한다.
차원이 N인 큐브 구조에 대한 서브 큐브의 개수는 2N 개이다. 그러나, 차원 위상관계를 포함하면, 큐브의 개수는 훨씬 늘어나며, 포함관계 네트워크 또한 훨씬 복잡해진다. 이러한 정보가 인덱스 레벨에서 관리되는 경우 최우선적으로 데이터웨어하우스 서버에 분석질의를 요청하기 전에 상위 큐브를 가지고 있는 클라이언트-서버 노드(200)가 존재하는지 검색하며, 본 발명에서는 제1Layer인덱스가 이와 같은 과정을 수행한다.
그러나, 자료구조가 네트워크 형태(111)인 경우 복수개의 상위 노드가 검색되는 경우, 상위 노드 선별의 문제가 발생하며, 큐브 사이즈가 작은 상위 노드에서의 조회가 유리하므로 상위 노드를 큐브 사이즈가 작은 노드로 한정하는 것이 바람직하다.
따라서, 제1Layer인덱스는 복잡한 집계 데이터 큐브의 격자를 트리 형태(110)로 정렬하고 있는 인덱스 구조로서, 최적의 상위 큐브를 찾아줄 수 있다.
큐브의 논리적, 물리적 인접성에 관한 쿼드트리 형태의 인덱스 구조에 관한 도 3을 참조하면, 본 발명에 따른 인덱스서버 노드(100)의 제2Layer인덱스는, 클라이언트-서버 노드(200)가 가진 큐브의 논리적, 물리적 인접성을 쿼드트리(Quadtree) 형태(120)로 인덱싱한다.
P2P의 특성상 클라이언트-서버 노드(200)의 가용 시간 및 사용 데이터의 물리적, 논리적 인접성에 대한 고려는 자원 절약 및 성능 측면에서 매우 중요한 고려사항이다. 글로벌 기업의 경우 국가 단위로 물리적 거리가 떨어진 경우, 시차로 인하여 근무시간에 차이가 생겨 클라이언트-서버 노드(200)의 가용 시간에 영향을 미치기 때문이다. 클라이언트-서버 노드(200)가 가용한 경우라도, 서울에서 제주도 간의 P2P 데이터 전송보다는 서울에서 서울로의 데이터 전송이 일반적으로 네트워크 자원을 덜 소요하면서 빠른 응답을 기대할 수 있다.
물리적 위치 정보를 2차원 정보가 아닌 우편번호나 부점코드 등 1차원 정보로 관리하고, 이러한 1차원 정보의 정렬을 위해 B+tree로서 인덱싱하는 경우, 순서 정렬의 정보만 있을 뿐, 물리적 인접성의 정도를 파악할 수 없다.
본 발명은, 물리적 인접성 정보와 논리적 인접성 정보에 관한 2차원 정보를 관리한다. 이러한 물리적, 논리적 인접성에 관한 2차원 정보는 쿼드트리(Quadtree), B+tree, R tree, R+tree, R*tree, kd-tree 형태 등으로 인덱싱할 수 있다. 물리적 인접성 정보는 위치 등에 관한 것일 수 있으며, 논리적 인접성 정보는 부서 유사도 등에 관한 것일 수 있다.
물리적 인접성은 네트워크 속도를 위하여 인접해 있는 경우가 바람직하며, 논리적 인접성은 재귀적으로 트리를 확장하며 시계열을 조회할 때, 업무 유사성이 있는 부서부터 데이터 존재 여부를 파악하는 것이 바람직하다.
x, y축을 일정한 간격으로 구획한 물리적, 논리적 인접성 평면(121)에 배치된 데이터를 쿼드트리 형태(120)로 인덱싱한다. x축은 논리 인접성 부서코드, y축은 우편번호 등의 물리적 인접성을 나타낼 수 있다.
쿼드트리 균형 유지를 위한 선처리에 관한 도 4를 참조하면, 본 발명에 따른 쿼드트리는 균형 유지를 위하여 1회 혹은 그 이상의 선처리를 한다.
x, y축을 일정한 간격으로 구획한 물리적, 논리적 인접성 평면(122)에 데이터를 배치하면, 선처리전 사분면(123)에 데이터가 균형을 이루지 못하고 특정부분에 집중될 수 있다. 1회 혹은 그 이상의 선처리를 통하여 x, y축의 간격을 사용 빈도나 사용자 수 등으로 조정하여 구획한 물리적, 논리적 인접성 평면(124)에 데이터를 배치하면, 선처리된 사분면(125)에 데이터가 균형을 유지하면서 배치되는 것을 확인할 수 있다. x축은 논리 인접성 부서코드, y축은 우편번호 등의 물리적 인접성을 나타낼 수 있다.
바람직하게는 x축, y축 두 축에 대한 사용 빈도 및 사용자 수 등의 통계를 기초로 선처리 할 수 있다. 예를 들면, x축의 경우, 사용 빈도나 사용자 수가 많을수록 범위를 넓게 할당하여, 마케팅부, 기획부, 인사부, 영업부 순으로 범위를 할당하는 것이 바람직하다. y축의 경우, 사용 빈도 및 사용자 수가 많은 경기도와 경상도를 넓은 범위에 할당한다. 이를 통해 사전에 하루 단위의 야간 배치작업 등을 통해 쿼드트리가 균형을 유지하도록 인위적인 선처리 작업이 가능하다.
쿼드트리 균형 유지를 위한 선처리에 관한 예시인 도 5를 참조하면, 본 발명에 따라 축의 크기를 기준으로 선처리된 1차축 선처리 그래프(126)를 통해 데이터가 어느 정도 균형된 것을 확인할 수 있다. 1차축 선처리 후, 균형 선처리된 2차 균형 선처리 그래프(127)를 통해 데이터가 더욱 균형 잡힌 모습을 확인할 수 있다.
큐브의 시계열에 관한 비트 인덱스 구조에 관한 도 6 및 도 7을 참조하면, 본 발명에 따른 인덱스서버 노드(100)의 제2Layer인덱스는, 상기 클라이언트-서버 노드(200)가 가진 큐브의 시계열을 비트(bit) 형태(130)로 인덱싱하고, 상기 쿼드트리와 양방향으로 링크한다. 큐브의 시계열을 비트 형태(130)로 인덱싱하면, 조각이 적고, 클라이언트-서버 노드(200)가 적은 경우 좋은 효율을 보인다.
데이터웨어하우스 서버의 데이터는 시계열적인 특성으로 인하여 전체 데이터는 매우 방대하지만, 초기 이행을 제외하고는 일(日) 단위 혹은 해당일을 포함하는 최소 단위의 테이터만을 전달받으면 되는 특성이 있다. 클라이언트-서버 노드(200)에 이미 집계된 큐브를 시계열적으로 관리하면, 과거 집계 큐브의 재활용이 가능해지고, 신규 분석 시 최근의 데이터만 요청하면 되는 특성이 있다. 이러한 특성으로 인하여 상술한 인접성 인덱스 이외에 시계열에 관한 인덱스를 함께 고려할 수 있다.
구간트리(Interval tree) 형태 인덱스에 관한 도 6을 참조하면, 본 발명에 따른 제2Layer인덱스는, 큐브의 시계열을 구간트리 형태(133)로 인덱싱한다. 큐브의 시계열을 구간트리 형태(133)로 인덱싱하면, 조각이 많고, 클라이언트-서버 노드(200)가 많은 경우에도 좋은 효율을 보인다.
10년간의 일(日) 단위 시계열 비트를 계산하는 경우 3650비트가 각 클라이언트-서버 노드(200)마다 관리되고 링크되어야 한다. 또한, 매 조회마다 3650비트를 클라이언트-서버 노드(200) 개수 만큼 비교 판단해야 한다. 그러므로, 3650개의 비트 중 부분 셋의 시작과 끝 날짜만 배열로 관리하는 경우 저장공간의 효율을 크게 개선할 수 있다.
쿼드트리 형태(120)의 인접성 인덱스와 구간트리 형태(133)의 시계열 인덱스간의 양방향 링크가 가능한 인덱스에 관한 도 7를 참조하면, 본 발명에 따른, 제2Layer인덱스는, 큐브의 시계열을 구간트리(Interval tree) 형태(133)로 인덱싱하고, 쿼드트리 형태(120)의 인접성 인덱스와 양방향으로 링크한다. 큐브의 시계열을 구간트리 형태(133)로 인덱싱하면, 조각이 많고, 클라이언트-서버 노드(200)가 많은 경우에도 좋은 효율을 보인다.
제2Layer인덱스는 시계열 인덱스와 인접성 인덱스를 연동하여 쿼드트리의 중간 노드에 데이터 영역으로 해당 시계열 범위 정보가 구간트리 형태로 부분 관리된다. 즉, 쿼드트리의 위상관계별로 구간트리가 해당 노드 하위 부분의 관리 구간을 트리로 보여준다. 따라서, 상위 노드의 구간에 포함되지 않은 구간은 하위의 모든 노드의 구간을 뒤져도 포함되지 않는 구간임을 보장한다.
도 7에서와 같이, 인접성 인덱스와 시계열 인덱스를 별도로 분리하는 경우, 개별 클라이언트-서버 노드(200)의 시계열 비트 형태(133) 인덱스를 인덱스서버의 쿼드트리 형태(120) 인덱스 아래로 귀속시킬 수 있다. 이로부터 시계열을 만족하며 최 인접에 존재하는 복수 노드에 비동기적으로 복수 호출하여 분산 응답을 받고, 시계열이 존재하지 않는 최신의 소량 집계 데이터만을 데이터웨어하우스 서버에 직접 분석질의를 요청한다.
클라이언트-서버 노드(200)는, 자신이 가지는 큐브에 관한 제3Layer인덱스를 관리한다. 바람직하게는, 제3Layer인덱스는, 메모리 기반 로컬DB를 이용할 수 있다.
로컬 메모리 DB를 이용하면, 복수의 클라이언트 노드의 메모리가 상호 연결되어 빠르게 원하는 데이터의 가공 및 집계가 가능하다.
본 발명은, 메모리 DB의 메모리 상태를 직렬화하여 재부팅 후에도 사용할 수 있으며, 해당 파일을 복수개의 노드에서 분산하여 파일 청크를 받을 수 있도록 동일 큐브의 주소 목록을 DHT(Distributed Hash Table) 형태로 공유한다.
이는, 제2Layer인덱스가 인접성 인덱스를 통하여 물리적, 논리적으로 최적의 클라이언트-서버 노드(200)를 선정해 주었다고 하더라도 네트워크 회선 장애 및 회선 부하 등으로 실제 속도가 좋지 않은 경우, 복수의 후보 군을 통해 복수 전달 받을 수 있다. 이를 통해 네트워크 연결이 가장 빠른 노드로부터 가장 많은 패킷을 전송 받을 수 있는 효과도 얻을 수 있다.
이상에서는 본 발명의 바람직한 실시예 및 응용예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예 및 응용예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100 : 인덱스서버 노드 200 : 클라이언트-서버 노드
300 : 클라이언트 노드

Claims (8)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 인덱스서버 노드와 다수의 클라이언트-서버 노드들 및 상기 다수의 클라이언트-서버 노드들에 의해 관리되는 다수의 클라이언트 노드들을 포함하되,
    상기 인덱스서버 노드는 상기 다수의 클라이언트-서버 노드들 각각에 저장된 큐브에 관한 제1Layer인덱스와 제2Layer인덱스를 포함하는 인덱스를 관리하고, 상기 클라이언트-서버 노드 또는 상기 클라이언트 노드로부터 분석 질의가 수신되면 상기 인덱스를 이용하여 상기 다수의 클라이언트-서버 노드들 중 상기 분석 질의를 만족하는 큐브가 저장된 클라이언트-서버 노드 정보를 독출하여 상기 분석 질의를 요청한 해당 클라이언트-서버 노드 또는 해당 클라이언트 노드로 전달하고,
    상기 다수의 클라이언트-서버 노드들 각각은 상기 인덱스 서버 노드로 상기 분석 질의를 전송한 후 상기 분석 질의를 만족하는 큐브가 저장된 타 클라이언트-서버 노드로부터 상기 분석 질의에 대한 결과를 수신하고, 상기 클라이언트 노드에서 상기 인덱스서버 노드로 요청한 분석 질의를 만족하는 큐브를 저장하고 있는 경우 상기 분석 질의를 요청한 해당 클라이언트 노드로 상기 분석 질의에 대한 결과를 전달하며,
    상기 다수의 클라이언트 노드들 각각은 상기 인덱스서버 노드로 상기 분석 질의를 요청하고, 상기 다수의 클라이언트-서버 노드들 중 상기 인덱스서버 노드로 요청한 분석 질의를 만족하는 큐브가 저장된 클라이언트-서버 노드로부터 상기 분석 질의에 대한 결과를 수신하되,
    상기 인덱스서버 노드에서 관리되는 상기 제1Layer인덱스는 상기 다수의 클라이언트-서버 노드들에 저장된 큐브의 위상관계를 트리 형태로 인덱싱하며,
    상기 인덱스서버 노드에서 관리되는 상기 제2Layer인덱스는 상기 다수의 클라이언트-서버 노드들에 저장된 큐브의 논리적 인접성과 물리적 인접성을 쿼드트리(Quadtree) 형태로 인덱싱하고, 상기 다수의 클라이언트-서버 노드들에 저장된 큐브의 시계열을 구간트리(Interval tree) 형태로 인덱싱하며, 상기 구간트리 형태의 시계열 인덱스와 상기 쿼드트리 형태의 인접성 인덱스를 양방향으로 링크한 것인 P2P OLAP 시스템.
  6. 제5항에 있어서,
    상기 인덱스서버 노드는 클라우드(Cloud) 시스템 안에서 확장이 가능한 것인 P2P OLAP 시스템.
  7. 제5항에 있어서,
    상기 다수의 클라이언트-서버 노드들 각각은 저장되어 있는 큐브에 관한 제3Layer인덱스를 관리하는 것인 P2P OLAP 시스템.
  8. 제7항에 있어서,
    상기 제3Layer인덱스는 로컬 메모리 DB를 이용하는 것인 P2P OLAP 시스템.
KR1020100109951A 2010-11-05 2010-11-05 P2p olap 시스템 KR101226476B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100109951A KR101226476B1 (ko) 2010-11-05 2010-11-05 P2p olap 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100109951A KR101226476B1 (ko) 2010-11-05 2010-11-05 P2p olap 시스템

Publications (2)

Publication Number Publication Date
KR20120048354A KR20120048354A (ko) 2012-05-15
KR101226476B1 true KR101226476B1 (ko) 2013-01-25

Family

ID=46266714

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100109951A KR101226476B1 (ko) 2010-11-05 2010-11-05 P2p olap 시스템

Country Status (1)

Country Link
KR (1) KR101226476B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040085041A (ko) 2003-03-28 2004-10-07 마이크로소프트 코포레이션 변형 olap을 이용하는 능동적 캐싱을 위한 시스템,방법, 컴퓨터 판독 가능 매체 및 상기 시스템을 이용하는장치
JP2006072432A (ja) * 2004-08-31 2006-03-16 Onkyo Corp ピアツーピア型コンテンツ配信システム
JP2009093417A (ja) * 2007-10-09 2009-04-30 Oki Electric Ind Co Ltd ファイル転送システム、ファイル転送方法、ファイル転送プログラム及びインデックスサーバ
KR100901013B1 (ko) * 2007-04-17 2009-06-04 한국전자통신연구원 경로 탐색 시스템 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040085041A (ko) 2003-03-28 2004-10-07 마이크로소프트 코포레이션 변형 olap을 이용하는 능동적 캐싱을 위한 시스템,방법, 컴퓨터 판독 가능 매체 및 상기 시스템을 이용하는장치
JP2006072432A (ja) * 2004-08-31 2006-03-16 Onkyo Corp ピアツーピア型コンテンツ配信システム
KR100901013B1 (ko) * 2007-04-17 2009-06-04 한국전자통신연구원 경로 탐색 시스템 및 그 방법
JP2009093417A (ja) * 2007-10-09 2009-04-30 Oki Electric Ind Co Ltd ファイル転送システム、ファイル転送方法、ファイル転送プログラム及びインデックスサーバ

Also Published As

Publication number Publication date
KR20120048354A (ko) 2012-05-15

Similar Documents

Publication Publication Date Title
CN107423368B (zh) 一种非关系数据库中的时空数据索引方法
US11789978B2 (en) System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment
CN107710193B (zh) 分布式计算环境的数据放置控制
Liao et al. Multi-dimensional index on hadoop distributed file system
CN103678520B (zh) 一种基于云计算的多维区间查询方法及其系统
US10866970B1 (en) Range query capacity allocation
Hongchao et al. Distributed data organization and parallel data retrieval methods for huge laser scanner point clouds
CN101916261A (zh) 一种分布式并行数据库系统的数据分区方法
Dehne et al. Scalable real-time OLAP on cloud architectures
Zhang et al. P2P-based multidimensional indexing methods: A survey
CN110147377A (zh) 大规模空间数据环境下基于二级索引的通用查询算法
CN111639075A (zh) 一种基于扁平化r树的非关系数据库矢量数据管理方法
CN109542861A (zh) 一种文件管理方法、装置和系统
Challa et al. DD-Rtree: A dynamic distributed data structure for efficient data distribution among cluster nodes for spatial data mining algorithms
US9600538B2 (en) Systems and methods for managing large volumes of data in a digital earth environment
Tian et al. A survey of spatio-temporal big data indexing methods in distributed environment
Gao et al. An efficient ring-based metadata management policy for large-scale distributed file systems
CN116541427B (zh) 数据查询方法、装置、设备及存储介质
Pan et al. A dynamic sort-based DDM matching algorithm for HLA applications
Akdogan et al. ToSS-it: A cloud-based throwaway spatial index structure for dynamic location data
Ho et al. Data partition optimization for column-family NoSQL databases
US11500931B1 (en) Using a graph representation of join history to distribute database data
KR101226476B1 (ko) P2p olap 시스템
Zhong et al. Elastic and effective spatio-temporal query processing scheme on hadoop
US11275737B2 (en) Assignment of objects to processing engines for efficient database operations

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee