KR100205950B1 - 다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법 - Google Patents

다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법 Download PDF

Info

Publication number
KR100205950B1
KR100205950B1 KR1019960044821A KR19960044821A KR100205950B1 KR 100205950 B1 KR100205950 B1 KR 100205950B1 KR 1019960044821 A KR1019960044821 A KR 1019960044821A KR 19960044821 A KR19960044821 A KR 19960044821A KR 100205950 B1 KR100205950 B1 KR 100205950B1
Authority
KR
South Korea
Prior art keywords
item
latch
found
returning
latches
Prior art date
Application number
KR1019960044821A
Other languages
English (en)
Other versions
KR19980026393A (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 KR1019960044821A priority Critical patent/KR100205950B1/ko
Publication of KR19980026393A publication Critical patent/KR19980026393A/ko
Application granted granted Critical
Publication of KR100205950B1 publication Critical patent/KR100205950B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

Landscapes

  • Engineering & Computer Science (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

1. 청구 범위에 기재된 발명이 속한 기술분야
본 발명은 다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
종래에는 한 트랜잭션이 래치를 긴 시간동안 획득하므로 인하여 시스템의 성능이 저하되고 데이타의 동시성이 떨어지는 문제점이 있었음.
3. 발명의 해결방법의 요지
본 발명은 다사용자용 저장시스템에서 여러 프로세스가 공유하는 데이타중 공유메모리상에서 테이블 형태로 관리되는 데이타에 대하여 테이블 래치와 항목 래치를 사용하여 물리적 데이타 일관성(physical data consistency)을 보장하는 동시에 보다 높은 동시성을 제공하는 테이블 형태 데이타에 대한 동시성 제어 방법을 제공하고자 함.
4. 발명의 중요한 용도
본 발명은 다사용자용 저장시스템의 물리적 데이타 일관성 유지와 데이타의 동시성 향상에 이용됨.

Description

다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법{Method for controlling simultaneity using by latch in storing system}
본 발명은 유닉스(UNIX) 다사용자용 저장시스템에서 동시성 제어 방법에 관한 것으로, 특히 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법에 관한 것이다.
테이블은 여러 개의 열과 행으로 이루어져 있는데, 이때, 각 행을 항목이라고 한다. 많은 저장시스템에서는 트랜잭션의 정보나 디스크 볼륨에 대한 정보 등의 카탈로그 정보를 테이블 형태로 관리한다. 특히, 여러 개의 서버가 동작하는 경우에 서버들간에 테이블을 공유하기 위하여 공유메모리상에서 테이블이 관리된다. 이러한 테이블에 저장되는 데이타는 시스템의 메타 데이타(meta data)로서 이에 대한 동시성 제어는 시스템의 성능에 큰 영향을 미친다.
한편, 물리적 데이타 일관성이란 어떤 프로세스가 갱신중인 데이타를 다른 프로세스가 갱신 또는 판독함으로써 잘못된 데이타가 기록되거나 읽혀지는 현상이 발생하지 않는 것을 의미한다. 또한, 공유메모리 기능이란 유닉스(UNIX) 환경하에서 여러 프로세스가 하나 이상의 메모리 세그먼트를 공유할 수 있는 기능이다. 각 프로세스는 공유메모리 세그먼트를 자신의 지역메모리의 일부로 부착하여 자신의 지역 메모리처럼 사용한다.
공유메모리에 존재하는 데이타는 여러 프로세스에 의해 공유되므로 물리적 데이타 일관성을 보장하기 위해서는 적절한 동시성 제어가 필요하다. 일반적으로 공유메모리에 존재하는 공유데이타에 대한 동시성 제어를 위해서는 래치(latch)를 사용한다. 즉, 모든 프로세스가 공유메모리상의 데이타를 액세스하기전에 래치를 획득하고, 액세스가 끝난 후에 래치를 반납하는 규칙을 지키므로써 데이타의 물리적 일관성이 보장된다. 래치는 주로 원자적 명령(atomic instruction)이나 세마포어(semaphore)를 이용하여 구현되며, 공유데이타에 대한 상호 배제 및 동기화 기능을 제공한다.
래치의 모드에는 공유모드와 독점모드가 있다. 공유모드의 래치는 다른 트랜잭션이 획득한 공유모드의 래치와 함께 획득될 수 있다. 그러므로, 여러 트랜잭션에 의해 공유모드 래치가 획득된 데이타는 그 트랜잭션들에 의해 동시에 액세스될 수 있다. 독점모드의 래치는 다른 트랜잭션이 획득한 어떤 모드의 래치와도 함께 획득될 수 없다. 그러므로, 어떤 트랜잭션이 독점모드의 래치를 얻는 것은 이전에 그 래치를 획득한 다른 트랜잭션들이 모두 래치를 반납한 후에야 가능하다.
래치는 데이타의 일관성을 보장하는데 유용하게 사용되지만, 한 트랜잭션이 래치를 획득한 채 오랜 시간동안 작업을 하는 경우에는 다른 트랜잭션이 그 데이타를 액세스하는 것을 막음으로 인하여 시스템의 성능이 저하되는 문제점이 있다. 그러므로, 트랜잭션이 래치를 획득하고 있는 시간을 가능한한 짧게 하는 것이 좋다. 래치를 사용하여 동시성을 제어하는 데이타의 단위도 시스템의 성능에 영향을 미친다. 예를 들어 하나의 래치로 공유메모리에 있는 모든 데이타에 대한 동시성을 제어한다면, 한 트랜잭션이 그 래치를 획득하고 있는 동안 다른 트랜잭션들은 래치를 획득하기 위하여 모두 대기하여야 하는 문제점이 있다. 그러므로, 하나의 래치로 동시성이 제어되는 데이타의 단위가 작을수록 동시성이 높아진다.
이제 특별히 공유메모리상에서 테이블의 형태로 관리되는 데이타에 대한 동시성 제어 방법에 대해서 설명한다. 테이블에 대한 연산에서 대부분의 경우에 어떤 항목을 찾는 키(key)가 되는 데이타는 갱신되지 않는다. 그러므로, 본 발명에서도 키가 되는 데이타가 갱신되지 않는 것으로 한다.
공유메모리상에서 테이블의 형태로 관리되는 데이타에 대하여 물리적 일관성을 제공하기 위해서는 아래와 같은 조건이 만족되어야 한다.
조건1) 다른 트랜잭션이 읽고 있는 항목을 갱신하여서는 안된다.
조건2) 다른 트랜잭션이 갱신중인 항목을 읽어서는 안된다.
조건3) 이미 테이블에 존재하는 항목과 같은 키값을 가진 항목을 중복하여 다시 삽입해서는 안된다.
조건4) 다른 트랜잭션이 읽고 있는 항목을 테이블에서 삭제해서는 안된다.
위와 같은 조건을 만족하는 가장 간단한 방법은 테이블 전체에 대하여 하나의 래치를 설정하여 읽기 연산시에는 래치를 공유모드로 획득하고, 갱신, 삽입 및 삭제 연산시에는 독점모드로 획득하는 방법이다. 이 방법은 간단하기는 하지만 하나의 항목만을 액세스할 때에도 테이블 전체에 대한 래치를 획득하기 때문에 다른 항목을 액세스하려는 트랜잭션까지도 대기하게 되어 동시성이 저하되는 문제점이 있었다.
따라서, 한 트랜잭션이 래치를 획득하는 시간을 짧게 하고, 동시성이 제어되는 데이타의 단위를 작게하여 데이타의 동시성을 제어하므로써 시스템의 성능을 향상시키는 방법이 요구되고 있다.
본 발명은 다사용자용 저장시스템에서 여러 프로세스가 공유하는 데이타중 공유메모리상에서 테이블 형태로 관리되는 데이타에 대하여 테이블 래치와 항목 래치를 사용하여 물리적 데이타 일관성(physical data consistency)을 보장하는 동시에 보다 높은 동시성을 제공하는 테이블 형태 데이타에 대한 동시성 제어 방법을 제공하는데 그 목적이 있다.
즉, 본 발명은 테이블 전체에 대한 래치와 각 항목에 대한 래치를 설정하여 하나의 래치에 의해 동시성이 제어되는 데이타의 단위를 작게하므로써 물리적 데이타 일관성을 보장하는 동시에 보다 높은 동시성을 제공하는 테이블 형태 데이타에 대한 동시성 제어 방법을 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위하여 본 발명은, 다사용자용 저장시스템에 적용되는 테이블 형태 데이타에 대한 동시성 제어 방법에 있어서, 래치를 사용하여 공유메모리상에 테이블 형태로 관리되는 데이타의 물리적 일관성을 유지하면서 데이타의 동시성을 제어하기 위하여 원하는 항목을 찾을 때까지는 테이블 래치를 획득하여 사용하고, 원하는 항목을 찾은 후에 다른 트랜잭션과 테이블을 공유하기 위하여 항목 래치를 획득한 다음에 테이블 래치를 반납하는 제 1 단계; 및 다음으로 해당 연산을 수행한 후에 항목 래치를 반납하는 제 2 단계를 포함하여 이루어진 것을 특징으로 한다.
또한, 본 발명은, 다사용자용 저장시스템에 적용되는 테이블 형태 데이타에 대한 동시성 제어 방법에 있어서, 테이블 형태로 관리되는 데이타에 대하여 연산의 종류를 판단하는 제 1 단계; 상기 제 1 단계의 판단 결과, 읽기 연산인 경우에는 테이블 래치를 공유모드로 획득하고 읽으려는 항목을 탐색하여 항목 래치를 공유모드로 획득한 후에 테이블 래치를 반납하고 항목을 읽은 다음에 항목 래치를 반납하는 제 2 단계; 상기 제 1 단계의 판단 결과, 갱신 연산인 경우에는 테이블 래치를 공유모드로 획득하고 갱신하려는 항목을 탐색하여 항목 래치를 독점모드로 획득한 후에 테이블 래치를 반납하고 항목을 갱신한 다음에 항목 래치를 반납하는 제 3 단계; 상기 제 1 단계의 판단 결과, 삽입 연산인 경우에는 테이블 래치를 독점모드로 획득하고 삽입하려는 항목과 같은 키 값을 갖는 항목을 탐색하여 원하는 항목이나 빈 항목의 항목 래치를 독점모드로 획득한 후에 해당 항목에 키 값을 기록하고 테이블 래치를 반납하고 삽입하려는 데이타를 그 항목에 기록한 다음에 항목 래치를 반납하는 제 4 단계; 및 상기 제 1 단계의 판단 결과, 삭제 연산인 경우에는 테이블 래치를 공유모드로 획득하고 삭제하려는 항목을 탐색하여 항목 래치를 독점모드로 획득한 후에 테이블 래치를 반납하고 해당 항목의 데이타를 삭제한 다음에 항목 래치를 반납하는 제 5 단계를 포함하여 이루어진 것을 특징으로 한다.
도 1 은 본 발명이 적용되는 다사용자용 저장시스템의 구성예시도.
도 2A 내지 도 2D 는 본 발명에 따른 동시성 제어 방법에 대한 일실시예 전체 처리 흐름도.
* 도면의 주요 부분에 대한 부호의 설명
10 : 컴퓨터 15 : 중앙처리장치(CPU)
20 : 메모리 25 : 트랜잭션
30 : 저장시스템 32 : 공유메모리
35 : 테이블 40 : 데이타베이스
이하, 첨부된 도면을 참조하여 본 발명에 따른 일실시예를 상세히 설명한다.
도 1 은 본 발명이 적용되는 다사용자용 저장시스템의 구성예시도로서, 도면에서 "10"은 컴퓨터, "15"는 중앙처리장치(CPU), "20"은 메모리, "25"는 트랜잭션, "30"은 저장시스템, "32"는 공유메모리, "35"는 테이블, "40"은 데이타베이스를 각각 나타낸다.
컴퓨터(10)는 하드웨어적으로 중앙처리장치(15), 메모리(20) 및 디스크(40) 등으로 구성된다. 트랜잭션(25)들과 데이타 저장시스템(30)은 컴퓨터(10)안의 메모리에 상주하고, 저장시스템(30)은 공유메모리(32)를 사용하며, 트랜잭션(25)들은 공유메모리(32)에서 관리되는 테이블(35)을 액세스한다. 트랜잭션(25)은 데이타 저장시스템(30)을 사용하는 응용 소프트웨어로서 트랜잭션(25)을 구성하는 데이타베이스 연산들을 처리하기 위하여 데이타 저장시스템(30)으로 서비스를 요청한다. 데이타 저장시스템(30)은 데이타베이스(40)를 액세스하여 서비스를 처리하고, 그 결과를 트랜잭션(25)에게 반환한다.
도 2A 내지 도 2D 는 본 발명에 따른 동시성 제어 방법에 대한 일실시예 전체 처리 흐름도로서, 테이블 형태로 관리되는 데이타에 대하여 읽기, 갱신, 삽입 및 삭제 연산을 하는 방법에 대한 전체 처리 흐름도이다.
트랜잭션은 테이블 형태로 관리되는 데이타에 대하여 연산의 종류를 판단하여(201) 그 연산의 종류에 따라 읽기 연산(202), 갱신 연산(214), 삽입 연산(226) 및 삭제 연산(245)을 수행한다.
수행하고자 하는 연산이 읽기 연산인 경우에는(202) 테이블 래치를 공유모드로 획득한 후에(203) 테이블에서 읽으려는 항목을 탐색한다(204).
이후, 원하는 항목을 찾았는지를 판단하여(205) 찾지 못하였으면 테이블 래치를 반납하고(212) 에러 리턴한다(213). 만일, 원하는 항목을 찾았으면 읽으려는 항목의 항목 래치를 공유모드로 획득한 후에(206) 찾은 항목이 여전히 읽으려는 항목인지 확인하여(207) 그 항목이 삭제되어 더 이상 읽으려는 항목이 아니면 다시 읽으려는 항목을 탐색하는 상태(204)로 천이한다. 만일, 그 항목이 읽으려는 항목이면 테이블 래치를 반납하고(208) 항목을 읽은 후에(209) 해당 항목 래치를 반납하고(210) 리턴한다(211).
수행하고자 하는 연산이 갱신 연산인 경우에는(214) 테이블 래치를 공유모드로 획득한 후에(215) 테이블에서 갱신하려는 항목을 탐색한다(216).
이후, 원하는 항목을 찾았는지를 판단하여(217) 찾지 못하였으면 테이블 래치를 반납하고(224) 에러 리턴한다(225). 만일, 원하는 항목을 찾은 경우에는 갱신하려는 항목의 항목 래치를 독점모드로 획득한 후에(218) 그 항목이 여전히 갱신하려는 항목인지를 확인하여(219) 그 항목이 삭제되어 더 이상 갱신하려는 항목이 아니면 다시 갱신하려는 항목을 탐색하는 상태(216)로 천이한다. 만일, 그 항목이 갱신하려는 항목이면 테이블 래치를 반납하고(220) 항목을 갱신한 후에(221) 해당 항목 래치를 반납하고(222) 리턴한다(223).
수행하려는 연산이 삽입 연산인 경우에는(226) 테이블 래치를 독점모드로 획득한 후에(227) 키를 이용하여 테이블에서 삽입하려는 항목과 같은 키 값을 갖는 항목을 탐색한다(228).
이후, 원하는 항목을 찾았는지를 판단하여(229) 찾았으면 그 항목에 대한 항목 래치를 독점모드로 획득하고(240) 그 항목이 여전히 삽입하려고 하는 항목과 같은 키를 갖는지 확인한다(241). 만일, 같은 키를 가지면 상기 조건 3(이미 테이블에 존재하는 항목과 같은 키값을 가진 항목을 중복하여 다시 삽입해서는 안된다)에 의하여 삽입이 다시 일어나서는 안되므로 항목 래치와 테이블 래치를 반납하고(242,243) 에러 리턴한다(244). 만일, 같은 키를 갖지 않으면 그 항목은 다른 트랜잭션에 의해 삭제되어 빈 항목이므로 먼저 그 항목에 키 값을 기록하고(235) 테이블 래치를 반납하며(236) 삽입하려는 데이타를 그 항목에 기록한 후에(237) 해당 항목 래치를 반납하고(238) 리턴한다(239).
만일, 원하는 항목을 찾지 못하였으면 테이블에 삽입하려는 항목이 없으므로 테이블내의 빈 항목을 탐색한다(230). 빈 항목을 찾았는지를 판단하여(231) 찾지 못하였으면 테이블 래치를 반납하고(243) 에러 리턴한다(244). 만일, 빈 항목을 찾았으면 그 항목에 대한 래치를 독점모드로 획득한 후에(232) 여전히 그 항목이 빈 항목인지 확인한다(233).
만일, 빈 항목이 아니면 다른 트랜잭션에 의해 사용된 것이므로 항목 래치를 반납하고(234) 테이블내의 빈 항목을 탐색하는 상태(230)로 천이한다. 만일, 여전히 빈 항목이면 먼저 키 값을 그 항목에 기록하고(235) 테이블 래치를 반납하며(236) 삽입하려는 데이타를 그 항목에 기록한 후에(237) 해당 항목 래치를 반납하고(238) 리턴한다(239).
수행하려는 연산이 삭제 연산인 경우에는(245) 테이블 래치를 공유모드로 획득한 후에(246) 테이블에서 삭제하려는 항목을 탐색한다(247).
이후, 원하는 항목을 찾았는지를 판단하여(248) 찾지 못하였으면 테이블에 삭제하려는 항목이 존재하지 않으므로 테이블 래치를 반납하고(256) 에러 리턴한다(257). 만일, 원하는 항목을 찾았으면 찾은 해당 항목의 항목 래치를 독점모드로 획득하고(249) 그 항목이 삭제하려는 항목이 맞는지를 확인한다(250).
만일, 그 항목이 이미 삭제되어 빈 항목이면 더 이상 찾는 항목이 없으므로 항목 래치와 테이블 래치를 반납하고(255,256) 에러 리턴한다(257). 만일, 찾은 항목이 삭제하려는 항목이 맞으면 테이블 래치를 반납하고(251) 해당 항목의 데이타를 삭제한 후에 해당 항목을 사용하지 않는 항목으로 설정한다(252). 이후, 해당 항목 래치를 반납하고(253) 리턴한다(254).
상기와 같은 본 발명은 테이블 래치를 사용하여 삽입 연산이 다른 연산들과 동시에 수행되는 것을 방지하여 물리적 데이타 일관성(physical data consistency)을 효율적으로 보장할 수 있고, 각 항목 래치를 이용하여 읽기, 갱신, 삽입 및 삭제 연산 사이의 동시성을 제어하여 서로 다른 항목을 액세스하는 여러 연산이 동시에 수행되는 것이 가능하므로 동시성을 향상시킬 수 있는 효과가 있다.
즉, 본원 발명은 공유 데이타중 동시성을 제어하는 데이타의 단위를 작게 하여 항목 래치를 사용하므로써 동시성을 높이는 효과가 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.

Claims (6)

  1. (정정)
    다사용자용 저장시스템에 적용되는 테이블 형태 데이타에 대한 동시성 제어 방법에 있어서,
    래치를 사용하여 공유메모리상에 테이블 형태로 관리되는 데이타의 물리적 일관성을 유지하면서 데이타의 동시성을 제어하기 위하여 원하는 항목을 찾을 때까지는 테이블 래치를 획득하여 사용하고, 원하는 항목을 찾은 후에 다른 트랜잭션과 테이블을 공유하기 위하여 항목 래치를 획득한 다음에 테이블 래치를 반납하는 제 1 단계; 및
    다음으로 해당 연산을 수행한 후에 항목 래치를 반납하는 제 2 단계
    를 포함하여 이루어진 다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법.
  2. (정정)
    다사용자용 저장시스템에 적용되는 테이블 형태 데이타에 대한 동시성 제어 방법에 있어서,
    테이블 형태로 관리되는 데이타에 대하여 연산의 종류를 판단하는 제 1 단계;
    상기 제 1 단계의 판단 결과, 읽기 연산인 경우에는 테이블 래치를 공유모드로 획득하고 읽으려는 항목을 탐색하여 항목 래치를 공유모드로 획득한 후에 테이블 래치를 반납하고 항목을 읽은 다음에 항목 래치를 반납하는 제 2 단계;
    상기 제 1 단계의 판단 결과, 갱신 연산인 경우에는 테이블 래치를 공유모드로 획득하고 갱신하려는 항목을 탐색하여 항목 래치를 독점모드로 획득한 후에 테이블 래치를 반납하고 항목을 갱신한 다음에 항목 래치를 반납하는 제 3 단계;
    상기 제 1 단계의 판단 결과, 삽입 연산인 경우에는 테이블 래치를 독점모드로 획득하고 삽입하려는 항목과 같은 키 값을 갖는 항목을 탐색하여 원하는 항목이나 빈 항목의 항목 래치를 독점모드로 획득한 후에 해당 항목에 키 값을 기록하고 테이블 래치를 반납하고 삽입하려는 데이타를 그 항목에 기록한 다음에 항목 래치를 반납하는 제 4 단계; 및
    상기 제 1 단계의 판단 결과, 삭제 연산인 경우에는 테이블 래치를 공유모드로 획득하고 삭제하려는 항목을 탐색하여 항목 래치를 독점모드로 획득한 후에 테이블 래치를 반납하고 해당 항목의 데이타를 삭제한 다음에 항목 래치를 반납하는 제 5 단계
    를 포함하여 이루어진 다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법.
  3. (정정)
    제 2 항에 있어서,
    상기 제 2 단계는,
    수행하고자 하는 연산이 읽기 연산인 경우에는 테이블 래치를 공유모드로 획득한 후에 테이블에서 읽으려는 항목을 탐색하여 원하는 항목을 찾았는지를 판단하는 제 6 단계;
    상기 제 6 단계의 판단 결과, 원하는 항목을 찾지 못하였으면 테이블 래치를 반납하고 에러 리턴하는 제 7 단계;
    상기 제 6 단계의 판단 결과, 원하는 항목을 찾았으면 읽으려는 항목의 항목 래치를 공유모드로 획득한 후에 찾은 항목이 읽으려는 항목인지 확인하는 제 8 단계;
    상기 제 8 단계의 확인 결과, 찾은 항목이 삭제되어 더 이상 읽으려는 항목이 아니면 상기 제 6 단계의 읽으려는 항목을 탐색하는 상태로 천이하는 제 9 단계; 및
    상기 제 8 단계의 확인 결과, 찾은 항목이 읽으려는 항목이면 테이블 래치를 반납하고 해당 항목을 읽은 후에 항목 래치를 반납하고 리턴하는 제 10 단계
    를 포함하여 이루어진 다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법.
  4. (정정)
    제 2 항에 있어서,
    상기 제 3 단계는,
    수행하고자 하는 연산이 갱신 연산인 경우에는 테이블 래치를 공유모드로 획득한 후에 테이블에서 갱신하려는 항목을 탐색하여 원하는 항목을 찾았는지를 판단하는 제 6 단계;
    상기 제 6 단계의 판단 결과, 원하는 항목을 찾지 못하였으면 테이블 래치를 반납하고 에러 리턴하는 제 7 단계;
    상기 제 6 단계의 판단 결과, 원하는 항목을 찾은 경우에는 갱신하려는 항목의 항목 래치를 독점모드로 획득한 후에 찾은 항목이 갱신하려는 항목인지를 확인하는 제 8 단계;
    상기 제 8 단계의 확인 결과, 찾은 항목이 삭제되어 더 이상 갱신하려는 항목이 아니면 상기 제 6 단계의 갱신하려는 항목을 탐색하는 상태로 천이하는 제 9 단계; 및
    상기 제 8 단계의 확인 결과, 찾은 항목이 원하는 항목이면 테이블 래치를 반납하고 해당 항목을 갱신한 후에 항목 래치를 반납하고 리턴하는 제 10 단계
    를 포함하여 이루어진 다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법.
  5. (정정)
    제 2 항에 있어서,
    상기 제 4 단계는,
    수행하려는 연산이 삽입 연산인 경우에는 테이블 래치를 독점모드로 획득한 후에 키를 이용하여 테이블에서 삽입하려는 항목과 같은 키 값을 갖는 항목을 탐색하여 원하는 항목을 찾았는지를 판단하는 제 6 단계;
    상기 제 6 단계의 판단 결과, 원하는 항목을 찾았으면 찾은 항목에 대한 항목 래치를 독점모드로 획득한 후에 찾은 항목이 삽입하려고 하는 항목과 같은 키를 갖는지를 확인하는 제 7 단계;
    상기 제 7 단계의 확인 결과, 찾은 항목이 삽입하려고 하는 항목과 같은 키를 가지면 삽입이 다시 일어나서는 안되므로 항목 래치와 테이블 래치를 반납하고 에러 리턴하는 제 8 단계;
    상기 제 7 단계의 확인 결과, 찾은 항목이 삽입하려고 하는 항목과 같은 키를 갖지 않으면 찾은 항목은 다른 트랜잭션에 의해 삭제되어 빈 항목이므로 찾은 항목에 키 값을 기록하고 테이블 래치를 반납한 후에 삽입하려는 데이타를 찾은 항목에 기록하고 항목 래치를 반납한 다음에 리턴하는 제 9 단계;
    상기 제 6 단계의 판단 결과, 원하는 항목을 찾지 못하였으면 테이블에 삽입하려는 항목이 없으므로 테이블내의 빈 항목을 탐색하여 빈 항목을 찾았는지를 판단하는 제 10 단계;
    상기 제 10 단계의 판단 결과, 빈 항목을 찾지 못하였으면 테이블 래치를 반납하고 에러 리턴하는 제 11 단계;
    상기 제 10 단계의 판단 결과, 빈 항목을 찾았으면 찾은 항목에 대한 래치를 독점모드로 획득한 후에 찾은 항목이 빈 항목인지를 확인하는 제 12 단계;
    상기 제 12 단계의 확인 결과, 빈 항목이 아니면 다른 트랜잭션에 의해 사용된 것이므로 항목 래치를 반납하고 상기 제 10 단계의 테이블내의 빈 항목을 탐색하는 상태로 천이하는 제 13 단계; 및
    상기 제 12 단계의 확인 결과, 빈 항목이면 키 값을 찾은 항목에 기록하고 테이블 래치를 반납한 후에 삽입하려는 데이타를 찾은 항목에 기록하고 항목 래치를 반납한 다음에 리턴하는 제 14 단계
    를 포함하여 이루어진 다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법.
  6. (정정)
    제 2 항에 있어서,
    상기 제 5 단계는,
    수행하려는 연산이 삭제 연산인 경우에는 테이블 래치를 공유모드로 획득한 후에 테이블에서 삭제하려는 항목을 탐색한 후에 원하는 항목을 찾았는지를 판단하는 제 6 단계;
    상기 제 6 단계의 판단 결과, 원하는 항목을 찾지 못하였으면 테이블에 삭제하려는 항목이 존재하지 않으므로 테이블 래치를 반납하고 에러 리턴하는 제 7 단계;
    상기 제 6 단계의 판단 결과, 원하는 항목을 찾았으면 찾은 항목의 항목 래치를 독점모드로 획득한 후에 찾은 항목이 삭제하려는 항목이 맞는지를 확인하는 제 8 단계;
    상기 제 8 단계의 확인 결과, 찾은 항목이 삭제되어 빈 항목이면 더 이상 찾는 항목이 없으므로 항목 래치와 테이블 래치를 반납하고 에러 리턴하는 제 9 단계; 및
    상기 제 8 단계의 확인 결과, 찾은 항목이 삭제하려는 항목이 맞으면 테이블 래치를 반납하고 해당 항목의 데이타를 삭제한 후에 삭제한 항목을 사용하지 않는 항목으로 설정한 다음에 항목 래치를 반납하고 리턴하는 제 10 단계를 포함하여 이루어진 다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법.
KR1019960044821A 1996-10-09 1996-10-09 다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법 KR100205950B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960044821A KR100205950B1 (ko) 1996-10-09 1996-10-09 다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960044821A KR100205950B1 (ko) 1996-10-09 1996-10-09 다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법

Publications (2)

Publication Number Publication Date
KR19980026393A KR19980026393A (ko) 1998-07-15
KR100205950B1 true KR100205950B1 (ko) 1999-07-01

Family

ID=19476792

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960044821A KR100205950B1 (ko) 1996-10-09 1996-10-09 다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법

Country Status (1)

Country Link
KR (1) KR100205950B1 (ko)

Also Published As

Publication number Publication date
KR19980026393A (ko) 1998-07-15

Similar Documents

Publication Publication Date Title
KR930002331B1 (ko) 키 레코드를 페치, 삽입 및 삭제하는 방법
US5581750A (en) System and method for improving data recovery performance
US11386065B2 (en) Database concurrency control through hash-bucket latching
US8010497B2 (en) Database management system with efficient version control
US5625815A (en) Relational database system and method with high data availability during table data restructuring
US8762333B2 (en) Apparatus and method for read optimized bulk data storage
JPH056297A (ja) トランザクシヨン処理方法およびシステム
US7958149B2 (en) Computer program and product for append mode insertion of rows into tables in database management systems
US6952707B1 (en) Efficient sequence number generation in a multi-system data-sharing environment
JPH05307530A (ja) マルチプロセッサデータベース環境においてロック競合を減少させたレコードレベル共有方法
US5953728A (en) System for modifying a database using a transaction log
US20010014932A1 (en) Multi-processor system
US6886012B1 (en) Providing traditional update semantics when updates change the location of data records
US20170177615A1 (en) TRANSACTION MANAGEMENT METHOD FOR ENHANCING DATA STABILITY OF NoSQL DATABASE BASED ON DISTRIBUTED FILE SYSTEM
US6691121B1 (en) Method and apparatus for online and dynamic extension of IMS data entry databases
KR100205950B1 (ko) 다사용자용 저장시스템에서 테이블 래치와 항목 래치를 이용한 테이블 형태 데이타에 대한 동시성 제어 방법
US7945542B2 (en) Distributed hierarchical cache
US6934801B2 (en) Disk device having cache memory
KR100507782B1 (ko) 데이터베이스 관리시스템 및 그 시스템에서 시스템테이블에 대한 동시성 제어 방법
KR100312910B1 (ko) 데이터베이스관리시스템에서트랜잭션고립단계의확장방법
JP3622443B2 (ja) T木インデックス構築方法及び装置及びt木インデックス構築プログラムを格納した記憶媒体
KR100570731B1 (ko) 다사용자 저장 시스템에서 개선된 재기회 희생자 버퍼페이지 선정방법
US20070055644A1 (en) Global dynamic variable storage for SQL procedures
KR20230032654A (ko) 실행시간 백업 정보의 통합 관리 방법 및그 시스템
CN118132598A (zh) 基于多级缓存的数据库数据处理方法及设备

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

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee