KR100205022B1 - 메모리-상주 객체지향 디.비.엠.에스에서 경로에 대한 인덱싱 방법 및 인덱스-조인방법 - Google Patents

메모리-상주 객체지향 디.비.엠.에스에서 경로에 대한 인덱싱 방법 및 인덱스-조인방법 Download PDF

Info

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
Application number
KR1019960067046A
Other languages
English (en)
Other versions
KR19980048475A (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 KR1019960067046A priority Critical patent/KR100205022B1/ko
Publication of KR19980048475A publication Critical patent/KR19980048475A/ko
Application granted granted Critical
Publication of KR100205022B1 publication Critical patent/KR100205022B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed 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)에서 경로에 대한 인덱싱 방법 및 인덱스-조인 방법(A Path Indexing Mechanism and Index-Join Technique for Memory-Resident Object-Oriented Database Systems)
본 발명은 메모리-상주 객체지향 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)

  1. ATM교환시스템에서 운용되는 분산구조를 갖는 메모리-상주 객체지향 데이타베이스 관리 시스템(DBMS)에서, 디스크로부터 데이타베이스를 클래스 단위로 읽어 메모리에 적재하는 제1단계와; 데이타베이스에 정의된 경로 인덱스에 대하여 경로 인덱스가 구축된 인덱스-경로내의 객체들이 모두 메모리에 적재되었는지를 검사하는 제2단계와; 상기에서 모두 적재된 경우 인덱스-경로내 경로상의 객체들을 차례로 읽어서 확장된 T-트리 형태의 경로 인덱스를 구성하는 것을 특징으로 하는 메모리-상주 객체지향 DBMS에서 경로에 대한 인덱싱 방법.
  2. 제1항에 있어서, 상기 T-트리는 데이타 필드, 포인터 필드 및 제어정보로 구성된 각 노드의 트리인 T-트리를 확장시키기 위해 상기 '포인터 필드' 대신에 '포인터들로 구성된 튜풀들의 집합'이 저장된 것을 특징으로 하는 메모리-상주 객체지향 DBMS에서 경로에 대한 인덱싱 방법.
  3. ATM교환시스템에서 운용되는 분산구조를 갖는 메모리-상주 객체지향 데이타베이스 관리 시스템(DBMS)에서, 입력된 질의어에 포함된 다수개의 술어와 일치하는 인덱스가 존재하는지 검사하는 제1단계와; 상기 조사에 의해 인덱스가 존재하고 술어들을 연결하는 연산자가 논리곱으로 연결된 형태일 경우 인덱스 릴레이션들을 자연 조인하여 인덱스-일치 술어를 처리하는 제2단계와; 상기 조사에 의해 인덱스가 존재하고 술어들을 연결하는 연산자가 논리합으로 연결된 형태일 경우 인덱스 릴레이션들을 자연 외부-조인하여 인덱스 일치-술어들을 처리하는 제3단계와; 상기 제2단계와 제3단계 수행 후, 질의 조건중에서 인덱스와 일치하지 않은 술어(잔여술어)들이 존재하면 인덱스로 검증된 객체들을 데이타베이스로 부터 엑세스한 후에 잔여술어를 만족하는가를 검사하는 제4단계와; 상기 인덱스와 일치하는 술어가 없으면 직접 데이타베이스로 부터 객체를 엑세스한 다음에 술어들을 만족하는지 여부를 검사하는 제5단계로 이루어진 것을 특징으로 하는 메모리-상주 객체지향 DBMS에서 경로에 대한 인덱스-조인 방법.
KR1019960067046A 1996-12-17 1996-12-17 메모리-상주 객체지향 디.비.엠.에스에서 경로에 대한 인덱싱 방법 및 인덱스-조인방법 KR100205022B1 (ko)

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)

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