KR100205022B1 - 메모리-상주 객체지향 디.비.엠.에스에서 경로에 대한 인덱싱 방법 및 인덱스-조인방법 - Google Patents
메모리-상주 객체지향 디.비.엠.에스에서 경로에 대한 인덱싱 방법 및 인덱스-조인방법 Download PDFInfo
- Publication number
- KR100205022B1 KR100205022B1 KR1019960067046A KR19960067046A KR100205022B1 KR 100205022 B1 KR100205022 B1 KR 100205022B1 KR 1019960067046 A KR1019960067046 A KR 1019960067046A KR 19960067046 A KR19960067046 A KR 19960067046A KR 100205022 B1 KR100205022 B1 KR 100205022B1
- Authority
- KR
- South Korea
- Prior art keywords
- index
- path
- memory
- predicates
- database
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000010276 construction Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 abstract description 4
- 230000008901 benefit Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000007596 consolidation process Methods 0.000 description 2
- 101100330294 Arabidopsis thaliana OASC gene Proteins 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- IWBBKLMHAILHAR-UHFFFAOYSA-N chembl402341 Chemical compound C1=CC(O)=CC=C1C1=CC(=S)SS1 IWBBKLMHAILHAR-UHFFFAOYSA-N 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 메모리-상주 객체지향 데이타베이스 관리 시스템(이하, Memory-Resident Object-Oriented Database Management System)에서 경로에 대한 인덱싱 기법과 질의 처리 과정에서 경로 인덱스의 잇점을 충분히 이용하기 위한 인데스-조인 방법에 관한 것이다 객체지향 데이타베이스의 질의를 처리하는데 경로 인덱스를 사용함으로써 성능 향상을 꾀할 수 있으나 그 잇점을 충분히 이용하기 위한 기술들은 미비한 실정이다. 제안된 기법은 메모리-상주 객체지향 데이타베이스 관리 시스템에서 경로에 대하여 인덱스를 구축하는데 사용될 인덱스 구조와 인덱스 구축 방법을 제한하고, 다수개의 경로 인덱스를 사용하여 질의를 처리하는데 필수적인 인덱스-조인 방법을 제안한다.
Description
본 발명은 메모리-상주 객체지향 DBMS(DataBase Management System)에서 경로에 대한 인덱싱과 인덱스-조인 방법에 관한 것으로서, ATM 교환기 시스템에서 운용되는 객체지향 DBMS에서 경로 인덱스의 구축 방법과 질의 처리 과정에서 경로에 구축된 인덱스의 효율적인 이용을 위한 인덱스-조인(index-join) 방법에 관한 것이다.
본 발명에서 제안된 경로 인덱스 구축 방법은 기존의 T-Tree로 부터 객체지향 데이타베이스의 특성을 반영하도록 확장하여 사용한다. 즉, T-Tree 노드의 포인터 필드를 포인터들로 구성된 집합 구조에서 포인터들로 구성된 튜풀들의 집합 구조로 확장하여 객체지향 데이타베이스의 질의에서 널리 사용되는 경로(path) 개념을 수용하도록 하였다.
또한 제안된 인덱스 통합 기법은 경로 인덱스의 노드(nodes)에 포함된 포인터 필드가 경로상의 객체(들)에 대한 포인터로 구성된 튜풀들의 집합(즉, 릴레이션으로 이하, 인덱스-릴레이션이라 칭함) 형태인 점에 착안하여 질의 처리 과정에서 질의와 일치한 인덱스들의 인덱스-릴레이션들을 자연 조인/외부-조인(join/outer-join)하여 두 개 이상의 인덱스를 통합하는 방법이다.
기존의 디스크 기반 객체지향 DBMS에서는 B+ Tree 구조를 가진 경로 인덱스 구축 방법이 제안되었지만, 메모리-상주 객체지향 DBMS에서는 별도의 경로 인덱스 구축 방법이 제안되지는 않았다.
기존의 인덱스 통합 기법으로서는 관계 데이타베이스 관리 시스템(RDBMS : Relational Database Management Systems)에서 주어진 질의와 일치하는 다수개의 인덱스를 모두 혹은 일부만 사용하기 위한 인덱스 인터섹션/유니온(intersection/union) 기법이 제안되었다. 그러나, 메모리-상주 객체지향 데이타베이스에서 사용되는 경로 인덱스는 기존 관계 데이타베이스에서의 인덱스인 B+ Tree와는 다른 구조와 내부 정보를 가지므로 별도의 인덱스 통합 기법이 요구되며, 이에 관한 기술은 지금까지 제시되지 않았다.
따라서, 본 발명은 ATM 교환기 시스템의 메모리-상주 객체지향 DBMS 에서 경로에 대한 인덱싱 방법과 질의 처리기에서 질의에 포함된 술어(predicate)들과 일치하는 다수개의 경로 인덱스를 모두 사용할 수 있도록 하는 인덱스 통합 방법을 제공하는데 그 목적이 있다.
제1도는 ATM 교환기 시스템에서 분산 구조를 갖는 메모리-상주 객체지향 DBMS(DataBase Management System)의 구조도.
제2도는 메모리-상주 객체지향 데이타베이스에서 경로 인덱스를 구축하기 위한 확장된 T-트리 인덱스의 구조도.
제3도는 데이타베이스를 메모리로 로딩할 때 경로 인덱싱 방법을 보여주는 순서도.
제4도는 질의 처리 과정에서 다수개의 경로 인덱스를 통합하기 위한 인덱스 릴레이션의 자연 조인/외부-조인 과정을 보여주는 순서도.
이하, 본 발명을 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 ATM 교환기 시스템의 분산 구조를 갖는 객체지향 DBMS의 구조도이다.
이 ATM 교환기는 ACS(ATM Central Switching Subsystem)(1)와 ALS(ATM Local Switching Subsystem)(2)의 2개의 서브 시스템을 구비한다. ACS(1)는 시스템을 운용하고 유지 및 관리하는 기능과 다양한 트래픽 정보, 통계 및 과금 정보를 유지하는 기능 등을 수행하며 OMP(Operation and Maintenance Processor)(3)를 구비하고 있다. ALS(2)는 일반 가입자의 접속 처리를 수행하는 프로세서로서 가입자 정합 회로와 함께 가입자 서비스 요구에 따른 접속 제어를 수행하며, 접속 수락 제어, congestion control 등의 트래픽 제어 기능을 수행한다. ALS(2)는 가입자에 따라 다수로 설치되며 CCCP(Call Connection Control Processor)(4)를 구비하고 있다.
CSNM(Central Switch Network Module)(5)는 각 ASNM(Access Switch Network Module)(6)에 대한 스위치를 담당하고, ASNM(6)는 ALS(2)내의 가입자 스위치를 담당하는데, OMP(3)는 CSNM(5)의 함 포트에 그리고 OCCP(4)는 ASNM(6)의 한 포트에 각각 IMI(Inter Module Interface) 링크를 통해 연결되어 메세지를 송수신한다. CCCP들간의 통신은 ASNM-CSNM-ASNM의 3단 구조이고 OMP와 CCCP간의 통신은 CSNM-ASNM의 2단 구조이다.
ATM 교환기에서 운용되는 DBMS는 여러 프로세서에 분산되어 있는 데이타베이스를 관리하기 위하여 각 프로세서에 분산되어 존재하고, 실시간 처리를 위해서 주기억장치에 상주하며, 데이터를 검색 및 변경하는 기능, 원격 데이터 처리 기능, 중복 데이터 처리 기능, 데이터 백업 기능, 데이터 회복 기능, 등시성 제어 기능, 트랜잭션 관리 기능 등을 제공하고 있다.
위의 프로세서들 중 OMP(3)의 DBMS는 DBKG(Database Kernel Group), DBBG(Database Backup Group), DBSG(Database Supporting Group), DBTG(Database Transaction Group) 그리고 DBQS(Database Query Group)의 5개 블럭을 구비하고, CCCP(4)의 DBMS는 DBKG, DBSG와 DBTG 세 개의 블럭을 구비하고, CCCP과 비교하여 OMP만의 차이점은 디스크가 장착되어 있다는 점과 운용자로부터 입력을 받을 수 있는 기능을 수행한다는 점이다. 따라서 OMP만이 디스크의 접근을 수행하는 DBBG 블럭과, 운용자 터미널과 ATM 교환기 시스템과의 인터페이스를 수행하는 DBQG 블럭을 구비한다.
DBMS의 각 블럭들은 응용 프로그램 또는 사용자로부터 직접 입력되는 요구들로부터 데이터를 조작하도록 하는 요청을 받아 수행하고 그 결과를 되돌려 주는 역할을 분담한다. DBKG는 처리 요구가 들어온 데이터의 검색 및 변경 내용에 따라 실제로 데이타베이스 내의 데이터를 검색, 변경, 동시성 제어, 로그 레코드의 생성 기능 등을 담당한다. DBSG는 응용 프로그램내에서 원격 데이터에 대한 검색 및 변경 요구를 처리하도록 DBKG에게 요구하는 기능과 원격 데이터 처리를 위해 타 프로세서의 DBMS간의 통신기능을 수행하고, DBBG는 변경을 요구한 데이터가 디스크 백업을 필요로 할 경우 실제로 디스크에 있는 데이타베이스에 백업을 시키는 기능과 시스템 재시동시 데이타베이스를 회복하는 기능을 담당한다. DBTG는 트랜잭션 관리 기능을 수행하고, DBQG는 운용자 터미널 또는 PC 상에서 발생하는 온-라인(on-line) 대화형 질의어 처리 기능을 수행한다.
도 2는 메모리-상주 객체지향 데이타베이스에서 경로 인덱스를 구축하는데 사용되는 확장된 T-Tree 구조도이다.
T-Tree는 AVL(Advanced Valanced) Tree와 B-Tree의 장점을 살리면서 메모리-상주 객체지향 데이타베이스에 적합하도록 고안되었다. 관계 데이타베이스에서 사용되는 기존의 T-Tre는 T-Node(11)라고 불리는 노드들의 트리로 구성되며, 각 노드는 데이타 필드(7)와 포인트 필드(8) 및 제어 정보(9)로 구성된다. 확장된 T-Tree는 포인터 필드에 포인터들로 구성된 튜풀들의 집합(8)이 저장된다는 점에서 기존의 T-Tree보다 확장되었다.
도 3은 확장된 T-Tree를 이용한 경로 인덱스의 구축 방법을 순서도로 보여 준다.
먼저, 디스크로부터 데이타베이스 객체를 클래스 단위로 읽어서 메모리에 적재한다(12). 데이타베이스에 정의된 경로 인덱스에 대하여 경로 인덱스가 구축된 경로(이하, 인덱스-경로라고 칭함)내의 객체들이 모두 메모리에 적재된 경우에는(13,14) 인덱스-경로 내의 경로 인스턴스(경로상의 객체들을 의미함)를 차례로 읽어서 확장된 T-Tree 형태(도 1참조)의 경로 인덱스를 구성한다. 적재가 완료될 때 까지 이 과정(12-15)을 반복한다.
도 4는 인덱스 자연 조인/외부-조인의 실행 과정을 보여준다.
질의에 포함된 술어 pred-i(i=1,2,..,n)와 일치하는 인덱스가 존재하면(16) 술어들을 연결하는 연산자의 종류에 따라서 두가지 경우로 나우어 처리한다. 먼저, 술어들이 AND로 연결된 논리곱(CNF : Conjunctive Normal Form)형태인 경우에는 인덱스 릴레이션들을 자연 조인하여 인덱스-일치 술어를 만족하는 결과를 얻는다(17, 18). 다음으로, OR로 연결된 논리합(DNF; Disjunctive Normal Form)인 경우에는 인덱스 릴레이션을 외부-조인하여 조건을 만족하는 결과를 얻는다(17, 19). 조건을 만족하는 결과는 OIDs의 튜플들로서 인덱스와 일치한 술어들을 만족하는 객체들(이하, 인덱스로 검증된 객체들이라 칭함)이다. 질의 조건중에서 인덱스와 일치하지 않은 술어들(잔여 술어라고 함)이 존재하면 인덱스로 검증된 객체들을 데이타베이스로부터 액세스한 후에 잔여 술어를 만족하는가를 검사한다(21). 반면에 인덱스와 일치하는 술어가 없으면 직접 데이타베이스로부터 객체를 액세스한 다음에 술어들을 만족하는지 여부를 검사한다(20).
이상과 같은 본 발명은 객체지향 질의 조건에 포함된 술어들이 경로 인덱스들과 일치하는 경우에 인덱스 릴레이션을 자연 조인/외부-조인함으로써 데이타베이스의 객체를 엑세스하지 않고도 인덱스(들) 엑세스 만으로 질의 조건을 만족하는 객체들을 찾을 수 있다. 따라서, 객체지향 질의를 처리하는데 있어서 데이타베이스 객체의 엑세스 시간이 크다는 사실을 감안할 때 제안된 방법은 객체지향 데이타베이스의 성능을 크게 향상시킬 수 있다.
Claims (3)
- ATM교환시스템에서 운용되는 분산구조를 갖는 메모리-상주 객체지향 데이타베이스 관리 시스템(DBMS)에서, 디스크로부터 데이타베이스를 클래스 단위로 읽어 메모리에 적재하는 제1단계와; 데이타베이스에 정의된 경로 인덱스에 대하여 경로 인덱스가 구축된 인덱스-경로내의 객체들이 모두 메모리에 적재되었는지를 검사하는 제2단계와; 상기에서 모두 적재된 경우 인덱스-경로내 경로상의 객체들을 차례로 읽어서 확장된 T-트리 형태의 경로 인덱스를 구성하는 것을 특징으로 하는 메모리-상주 객체지향 DBMS에서 경로에 대한 인덱싱 방법.
- 제1항에 있어서, 상기 T-트리는 데이타 필드, 포인터 필드 및 제어정보로 구성된 각 노드의 트리인 T-트리를 확장시키기 위해 상기 '포인터 필드' 대신에 '포인터들로 구성된 튜풀들의 집합'이 저장된 것을 특징으로 하는 메모리-상주 객체지향 DBMS에서 경로에 대한 인덱싱 방법.
- ATM교환시스템에서 운용되는 분산구조를 갖는 메모리-상주 객체지향 데이타베이스 관리 시스템(DBMS)에서, 입력된 질의어에 포함된 다수개의 술어와 일치하는 인덱스가 존재하는지 검사하는 제1단계와; 상기 조사에 의해 인덱스가 존재하고 술어들을 연결하는 연산자가 논리곱으로 연결된 형태일 경우 인덱스 릴레이션들을 자연 조인하여 인덱스-일치 술어를 처리하는 제2단계와; 상기 조사에 의해 인덱스가 존재하고 술어들을 연결하는 연산자가 논리합으로 연결된 형태일 경우 인덱스 릴레이션들을 자연 외부-조인하여 인덱스 일치-술어들을 처리하는 제3단계와; 상기 제2단계와 제3단계 수행 후, 질의 조건중에서 인덱스와 일치하지 않은 술어(잔여술어)들이 존재하면 인덱스로 검증된 객체들을 데이타베이스로 부터 엑세스한 후에 잔여술어를 만족하는가를 검사하는 제4단계와; 상기 인덱스와 일치하는 술어가 없으면 직접 데이타베이스로 부터 객체를 엑세스한 다음에 술어들을 만족하는지 여부를 검사하는 제5단계로 이루어진 것을 특징으로 하는 메모리-상주 객체지향 DBMS에서 경로에 대한 인덱스-조인 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960067046A KR100205022B1 (ko) | 1996-12-17 | 1996-12-17 | 메모리-상주 객체지향 디.비.엠.에스에서 경로에 대한 인덱싱 방법 및 인덱스-조인방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960067046A KR100205022B1 (ko) | 1996-12-17 | 1996-12-17 | 메모리-상주 객체지향 디.비.엠.에스에서 경로에 대한 인덱싱 방법 및 인덱스-조인방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980048475A KR19980048475A (ko) | 1998-09-15 |
KR100205022B1 true KR100205022B1 (ko) | 1999-06-15 |
Family
ID=19488637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960067046A KR100205022B1 (ko) | 1996-12-17 | 1996-12-17 | 메모리-상주 객체지향 디.비.엠.에스에서 경로에 대한 인덱싱 방법 및 인덱스-조인방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100205022B1 (ko) |
-
1996
- 1996-12-17 KR KR1019960067046A patent/KR100205022B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19980048475A (ko) | 1998-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3269849B2 (ja) | 並列データベース処理システムとその検索方法 | |
US8782075B2 (en) | Query handling in databases with replicated data | |
US20040225865A1 (en) | Integrated database indexing system | |
US6618822B1 (en) | Method and mechanism for relational access of recovery logs in a database system | |
US8612421B2 (en) | Efficient processing of relational joins of multidimensional data | |
US6073129A (en) | Method and apparatus for improving the performance of a database management system through a central cache mechanism | |
US7319995B2 (en) | Method and system for inclusion hash joins and exclusion hash joins in relational databases | |
EP1240604A1 (en) | A method and apparatus for improving the performance of a generated code cache search operation through the use of static key values | |
JP4483034B2 (ja) | 異種データソース統合アクセス方法 | |
US7440956B2 (en) | Enforcing constraints from a parent table to a child table | |
Banerjee et al. | The use of a database machine for supporting relational databases | |
KR100205022B1 (ko) | 메모리-상주 객체지향 디.비.엠.에스에서 경로에 대한 인덱싱 방법 및 인덱스-조인방법 | |
US20130006921A1 (en) | Method For Transferring Data into Database Systems | |
KR100198440B1 (ko) | 메모리-상주 객체지향 디.비.엠.에스에서 메소드 인덱싱 방법 및동적 변경-전파 방법 | |
KR0175460B1 (ko) | 분산 실시간 데이타 베이스 관리시스템에서의 클라이언트-서버 구조를 이용한 데이터 일치성 보장 백업 방법 | |
Белоус et al. | Methods for optimizing queries of distributed databases | |
KR0159366B1 (ko) | 분산 데이터베이스 관리시스템에서의 파편화된 릴레이션 관리방법 | |
JP4137366B2 (ja) | データベース管理方法及びデータベース管理装置 | |
Belous et al. | Methods of optimization of distributed databases | |
KR100228404B1 (ko) | 지능망서비스 제어/관리 시스템에서의 데이타베이스 구동환경 생성 방법 | |
KR100311218B1 (ko) | 데이터베이스관리시스템에서온라인상의서브시스템추가/삭제를지원하기위한방법 | |
KR0168914B1 (ko) | 교환 시스템의 주기억장치 상주 데이타베이스 관리 시스템에서의 디스크 상주 릴레이션 처리 방법 | |
Chiang et al. | Database systems: Design and implementation of a production database management system (DBM-2) | |
Pillai et al. | Design issues and an architecture for a heterogenous multidatabase system | |
KR0146998B1 (ko) | 분산 실시간 데이터 베이스 관리 시스템에서의 메세지 구성 및 전달방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20040302 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |