KR101887741B1 - 적응적 블록 캐시 운용 방법 및 이를 적용한 dbms - Google Patents

적응적 블록 캐시 운용 방법 및 이를 적용한 dbms Download PDF

Info

Publication number
KR101887741B1
KR101887741B1 KR1020160043959A KR20160043959A KR101887741B1 KR 101887741 B1 KR101887741 B1 KR 101887741B1 KR 1020160043959 A KR1020160043959 A KR 1020160043959A KR 20160043959 A KR20160043959 A KR 20160043959A KR 101887741 B1 KR101887741 B1 KR 101887741B1
Authority
KR
South Korea
Prior art keywords
memory
cache
data
processor
state
Prior art date
Application number
KR1020160043959A
Other languages
English (en)
Other versions
KR20170116351A (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 KR1020160043959A priority Critical patent/KR101887741B1/ko
Priority to US15/465,605 priority patent/US10162541B2/en
Publication of KR20170116351A publication Critical patent/KR20170116351A/ko
Application granted granted Critical
Publication of KR101887741B1 publication Critical patent/KR101887741B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • G06F17/30132
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/282Partitioned cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

적응적 블록 캐시 운용 방법 및 이를 적용한 DBMS가 제공된다. 본 발명의 실시예에 따른 DB 시스템은, DB 데이터를 임시 저장하는 캐시, DB 데이터를 영구 저장하는 디스크 및 DB 시스템의 상태에 따라 캐시의 운용 여부를 결정하는 프로세서를 포함한다. 이에 의해, DBMS의 현재 상태에 따라 고속의 캐시를 적응적으로 운용하여, DB 처리 속도를 더욱 향상시킬 수 있게 된다.

Description

적응적 블록 캐시 운용 방법 및 이를 적용한 DBMS{Adaptive Block Cache Management Method and DBMS applying the same}
본 발명은 DBMS(DataBase Management System)에 관한 것으로, 더욱 상세하게는 In-Memory DB를 사용하는 DBMS에 관한 것이다.
In-Memory DB는 메모리에 DB를 구축/운영하는 메모리 기반의 DB로, 기존 디스크 기반의 DB에 비해 빠른 응답 속도를 보장할 수 있다. 하지만 휘발성 메모리를 사용하는 관계로, 갑작스런 장애 발생 시 DB 복원을 통한 신뢰성 확보 수단이 필요하다.
이를 위해, In-Memory DB에서는 일정 간격 마다 DB 데이터 복원에 사용할 중간 복원 파일(중간 저장 파일)을 생성하여 디스크에 저장하고 있다. 하지만, 중간 복원 파일 생성/저장 과정에서 메모리와 디스크 간의 데이터 I/O에 의해 In-Memory DB 처리 지연, 성능 저하 등의 문제가 발생하게 된다.
이에, In-Memory DB 처리에 문제를 발생시키지 않으면서도, 안정적으로 In-Memory DB의 중간 복원 파일을 생성/저장하기 위한 방안의 모색이 요청된다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 중간 복원 파일의 생성/저장에 의한 In-Memory DB 처리 지연, 성능 저하 등의 문제를 방지하기 위한 방안으로, DBMS의 현재 상태에 따라 고속의 캐시를 적응적으로 운용하기 위한 방법 및 이를 적용한 DB 시스템을 제공함에 있다.
또한, 본 발명의 다른 목적은, DB 처리 속도를 향상시키기 위한 방안으로, DBMS의 현재 상태에 따라 고속의 캐시를 적응적으로 운용하기 위한 방법 및 이를 적용한 DB 시스템을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, DB(DataBase) 시스템은, DB 데이터를 임시 저장하는 캐시; 상기 DB 데이터를 영구 저장하는 디스크; 및 상기 DB 시스템의 상태에 따라, 상기 캐시의 운용 여부를 결정하는 프로세서;를 포함한다.
그리고, 상기 DB 시스템의 상태는, 상기 프로세서의 사용률 및 상기 DB 시스템에 마련된 메모리의 사용률 중 적어도 하나를 포함할 수 있다.
또한, 상기 메모리는, 상기 DB가 구축되는 제1 메모리; 및 상기 프로세서가 데이터 처리에 사용하는 제2 메모리;를 포함할 수 있다.
그리고, 상기 메모리의 사용률은, 상기 제1 메모리의 사용률 및 상기 제2 메모리의 사용률 중 적어도 하나를 포함할 수 있다.
또한, 상기 DB 시스템의 상태는, 상기 제1 메모리의 데이터 I/O 율 및 상기 제2 메모리의 데이터 I/O 율 중 적어도 하나를 포함할 수 있다.
그리고, 상기 프로세서는, 상기 메모리에 구축된 DB에 대한 복원 파일을 상기 캐시에 저장할 수 있다.
또한, 상기 프로세서는, 상기 DB 시스템의 상태가 제1 상태이면, 상기 복원 파일을 상기 캐시에 저장하고, 상기 DB 시스템의 상태가 제2 상태이면, 상기 복원 파일을 상기 디스크에 저장할 수 있다.
그리고, 상기 프로세서는, 현재 일시에 따라, 상기 캐시의 운용 여부를 결정할 수 있다.
또한, 상기 프로세서는, 상기 DB의 종류에 따라, 상기 캐시의 운용 여부를 결정할 수 있다.
한편, 본 발명의 다른 실시예에 따른, DB 관리 방법은, DB 시스템의 상태를 모니터링하는 단계; 상기 상태에 따라 DB 데이터를 임시 저장하는 캐시의 운용 여부를 결정하는 단계; 및 결정 결과에 따라, DB 데이터를 영구 저장하는 디스크와 상기 캐시를 운용하는 단계;를 포함한다.
한편, 본 발명의 다른 실시예에 따른, DB 시스템은, DB가 구축되는 메모리; DB 데이터가 임시 저장되는 캐시; DB 데이터가 영구 저장되는 디스크; 및 상기 DB 시스템의 상태를 기초로 상기 캐시와 상기 디스크 중 상기 DB의 복원 파일을 저장할 저장매체를 결정하고, 결정된 저장매체에 상기 복원 파일을 저장하는 프로세서;를 포함한다.
한편, 본 발명의 다른 실시예에 따른, DB 관리 방법은, DB 시스템의 메모리에 DB를 구축하는 단계; DB 시스템의 상태를 판단하는 단계; 및 상기 상태를 기초로, 상기 DB의 복원 파일을 캐시 또는 디스크 중 어느 하나에 저장하는 단계;를 포함한다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, DBMS의 현재 상태에 따라 고속의 캐시를 적응적으로 운용하여, 중간 복원 파일의 생성/저장에 의한 In-Memory DB 처리 지연, 성능 저하 등의 문제를 없앨 수 있다.
나아가, 본 발명의 실시예들에 따르면, DBMS의 현재 상태에 따라 고속의 캐시를 적응적으로 운용하여, DB 처리 속도를 더욱 향상시킬 수 있게 된다.
도 1은 본 발명이 적용 가능한 DBMS의 구조를 개략적으로 도시한 도면,
도 2는 디스크의 상세 구조 및 디스크 운용 방법을 상세히 나타내 도면,
도 3은 본 발명의 일 실시예에 따른 DBMS의 블럭도,
도 4는 본 발명의 다른 실시예에 따른 DBMS의 적응적 블록 캐시 운용 방법의 설명에 제공되는 흐름도이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명이 적용 가능한 DBMS(DataBase Management System)의 구조를 개략적으로 도시한 도면이다. 본 발명의 실시예들에서는 Scale Out DBMS 환경을 상정하였는데, 예시적인 것으로 그 밖의 다른 DBMS 환경에서도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다.
도 1에 도시된 바와 같이, DBMS는 In-Memory DB, 공유 메모리(Shared Memory), 디스크(Disk), OS(Operating System) 및 H/W(HardWare)를 포함한다.
H/W에 나열된 구성들 중 CPU(Central Processing Unit)는 OS를 구동하는 프로세서이고, NIC(Network Interface Card)는 네트워크를 통해 외부 기기들 및 시스템들과 데이터 통신하기 위한 수단이다.
In-Memory DB는 DB가 구축/운용되는 메모리이고, 공유 메모리는 CPU가 OS를 실행하고 DB 데이터 처리에 필요한 저장 공간을 제공한다.
도 2에는 디스크의 상세 구조 및 디스크 운용 방법을 상세히 나타내었다. 도 2에 도시된 바와 같이, 디스크에는 HDD(Hard Disk Drive) 외에 블록 캐시(Block Cache)가 더 포함된다.
HDD는 DB 데이터를 영구 저장하기 위한 저장매체이다. 즉, In-Memory DB에 구축/운용되는 DB는 궁극적으로 HDD에 영구 저장된다. 또한, HDD에는 In-Memory DB 복원을 위해 필요한 중간 복원 파일이 저장된다.
블록 캐시는 DB 데이터를 임시 저장하는 저장매체로, 빠른 액세스가 가능하여 HDD 보다 고속의 저장과 응답이 가능한 SSD(Solid State Device)로 구현한다. 블록 캐시에는 사용 빈도수(Hit Rate)가 높은 데이터 블록들을 적재하고 있다.
또한, 본 발명의 실시예에서, CPU는 HDD가 아닌 블록 캐시에 중간 복원 파일을 저장한다. In-Memory DB의 중간 복원 파일의 생성과 저장을 빠르게 수행하여, 궁극적으로 In-Memory DB 처리를 고속으로 수행하기 위함이다.
일반적인 상황, 즉 DBMS의 상태가 정상적인 경우에서 블록 캐시를 이용하게 되면, In-Memory DB 처리 속도가 빨라짐은 물론이다. 하지만, 블록 캐시를 이용하면, 메모리와 블록 캐시 간의 데이터 I/O와 블록 캐시와 HDD 간의 데이터 I/O가 발생한다.
이와 같은 이중적인 데이터 I/O 발생은, DBMS의 처리 속도 저하를 유발하여, 궁극적으로 In-Memory DB 처리 속도 지연으로 이어질 수 있다. 이를 테면, 대규모의 DB 트랜잭션(Transaction)이 발생한 경우, 클라이언트들로부터 대규모의 동시 데이터 변경 요청이 수신된 경우 등이다.
블록 캐시를 운용함으로 인해, 오히려 DBMS에 오버헤드가 발생된 경우에 해당한다.
이에, 본 발명의 실시예에 따른 DBMS는, 도 2에 도시된 바와 같이, DBMS의 현재 상태를 모니터링하여, 모니터링 결과에 따라 블록 캐시를 적응적으로 운용한다.
구체적으로, 도 2에 도시된 스토리지 제어기(Storage Coltroller)가 DBMS의 리소스들을 모니터링하여, 블록 캐시를 적응적/가변적으로 운용한다. 스토리지 제어기는 CPU에 의해 실행되는 프로그램이다.
이를 위해, 스토리지 제어기는, 1) CPU 사용률, 2) 메모리 사용률, 3) 데이터 I/O 율 등을 실시간으로 모니터링한다.
메모리 사용률은, In-Memory의 사용률과 공유 메모리의 사용률 모두를 포함할 수도 있고, 둘 중 하나만 포함할 수도 있다.
데이터 I/O 율은, 메모리와 블록 캐시 간 데이터 I/O 율, 블록 캐시와 HDD 간 데이터 I/O 율, 메모리와 HDD 간 데이터 I/O 율, NIC와 네트워크 간 데이터 I/O 율 중 적어도 하나를 포함한다.
모니터링 결과, CPU 사용률, 메모리 사용률, 데이터 I/O 율 중 적어도 하나가 정해진 오버헤드 조건에 해당하게 되면, 스토리지 제어기는 블록 캐시를 비활성화(Off) 시킨다.
블록 캐시를 운용함으로 인해 DBMS에 오버헤드가 발생된 상태에 해당하기 때문이다. 블록 캐시가 비활성화(Off) 되면, In-Memory와 HDD 간에 DB 데이터가 입출력되고, 중간 복원 파일도 HDD에 직접 저장된다.
반면, 모니터링 결과, 오버헤드 조건에 해당하지 않으면, 스토리지 제어기는 블록 캐시를 활성화(On) 시킨다. 블록 캐시를 운용함으로 인해 DBMS에 오버헤드가 발생하지 않은 상태로, 블록 캐시를 운용하는 것이 고속 처리가 가능하기 때문이다.
블록 캐시가 활성화(On) 되면, In-Memory와 블록 캐시 간에 DB 데이터가 입출력되고, 중간 복원 파일도 블록 캐시 저장된다. 또한, 블록 캐시와 HDD 간에 DB 데이터와 중간 복원 파일 전달이 이루어진다.
도 3은 본 발명의 일 실시예에 따른 DBMS의 블럭도이다. 본 발명의 실시예에 따른 DBMS는, 도 3에 도시된 바와 같이, DB 메모리(110), NIC(120), CPU(130), 공유 메모리(140), 블록 캐시(150) 및 HDD(160)를 포함한다.
DB 메모리(110)는 In-Memory DB가 구축/운용되는 휘발성의 저장매체이고, 블록 캐시(150)는 DB 데이터와 중간 복원 파일이 임시 저장되는 고속의 SSD이며, HDD(160)는 DB 데이터와 중간 복원 파일이 영구 저장되는 대용량의 디스크이다.
CPU(130)는 전술한 OS를 실행하여 In-Memory DB를 구축/운용하고, 스토리지 제어기를 실행하여 DBMS의 상태를 모니터링하고, 그 결과에 따라 블록 캐시(150)를 적응적으로 운용한다.
공유 메모리(140)는 CPU(130)가 OS와 스토리지 제어기를 실행하고, DB 데이터를 처리함에 있어 필요한 저장공간을 제공하며, NIC(120)는 외부 네트워크에 연결되어 클라이언트 및 다른 시스템들과 데이터 통신한다.
도 4는 본 발명의 다른 실시예에 따른 DBMS의 적응적 블록 캐시 운용 방법의 설명에 제공되는 흐름도이다.
도 4에 도시된 바와 같이, 먼저 블록 캐시(S150)가 운용중인 경우(S210-Y), CPU(130)는 스토리지 제어기를 실행하여, 1) CPU 사용률, 2) 메모리 사용률, 3) 데이터 I/O 율 등을 실시간으로 모니터링한다(S220).
그리고, CPU(130)는 S220단계에서의 모니터링 결과로부터, 블록 캐시 운용에 의해 DBMS에 오버헤드가 발생 되었는지 판단한다(S230).
오버헤드가 발생된 것으로 판단되면(S230-Y), CPU(130)는 블록 캐시(150)를 비활성화시켜, 블록 캐시(150)를 운용하지 않는다(S240).
반면, 오버헤드가 발생되지 않은 것으로 판단되면(S230-N), CPU(130)는 블록 캐시(150)의 활성 상태를 유지시켜, 블록 캐시(150)를 계속 운용한다(S250).
지금까지, In-Memory DB의 고속 처리를 위한 적응적 블록 캐시 운용 방법 및 이를 적용한 DBMS에 대해 바람직한 실시예를 들어 상세히 설명하였다.
위 실시예에서 블록 캐시(150)의 적응적인 운용은 DBMS의 상태 의존적인 것을 상정하였으나, 그 밖의 다른 방식으로 변경하는 경우에도 본 발명의 기술적 사상이 적용될 수 있다.
이를 테면, 현재 일시에 따라, 블록 캐시(150)의 운용 여부를 결정하는 경우도 본 발명의 기술적 사상이 적용될 수 있다. 예를 들어, 특정 요일, 특정 시간대에는 블록 캐시(150)를 운용하지 않는 것이다.
나아가, In-Memory DB의 종류에 따라, 블록 캐시(150)의 운용 여부를 결정하는 경우도 본 발명의 기술적 사상이 적용될 수 있다. 예를 들어, 데이터 분석용 DB의 경우에는 블록 캐시(150)를 운용하되, 데이터 백업 DB의 경우에는 블록 캐시(150)를 운용하지 않도록 구현하는 것이 가능하다.
한편, 본 실시예에 따른 장치와 방법의 기능을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
110 : DB 메모리 120 : NIC
130 : CPU 140 : 공유 메모리
150 : 블록 캐시 160 : HDD

Claims (12)

  1. DB(DataBase) 시스템에 있어서,
    DB 데이터를 임시 저장하는 캐시;
    상기 DB 데이터를 영구 저장하는 디스크; 및
    상기 DB 시스템의 상태에 따라, 상기 캐시의 운용 여부를 결정하는 프로세서;를 포함하고,
    상기 DB 시스템의 상태는,
    상기 프로세서의 사용률 및 상기 DB 시스템에 마련된 메모리의 사용률 중 적어도 하나를 포함하는 것을 특징으로 하는 DB 시스템.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 메모리는,
    상기 DB가 구축되는 제1 메모리;
    상기 프로세서가 데이터 처리에 사용하는 제2 메모리;를 포함하는 것을 특징으로 하는 DB 시스템.
  4. 청구항 3에 있어서,
    상기 메모리의 사용률은,
    상기 제1 메모리의 사용률 및 상기 제2 메모리의 사용률 중 적어도 하나를 포함하는 것을 특징으로 하는 DB 시스템.
  5. 청구항 3에 있어서,
    상기 DB 시스템의 상태는,
    상기 제1 메모리의 데이터 I/O 율 및 상기 제2 메모리의 데이터 I/O 율 중 적어도 하나를 포함하는 것을 특징으로 하는 DB 시스템.
  6. 청구항 3에 있어서,
    상기 프로세서는,
    상기 메모리에 구축된 DB에 대한 복원 파일을 상기 캐시에 저장하는 것을 특징으로 하는 DB 시스템.
  7. 청구항 6에 있어서,
    상기 프로세서는,
    상기 DB 시스템의 상태가 제1 상태이면, 상기 복원 파일을 상기 캐시에 저장하고,
    상기 DB 시스템의 상태가 제2 상태이면, 상기 복원 파일을 상기 디스크에 저장하는 것을 특징으로 하는 DB 시스템.
  8. 청구항 1에 있어서,
    상기 프로세서는,
    현재 일시에 따라, 상기 캐시의 운용 여부를 결정하는 것을 특징으로 하는 DB 시스템.
  9. 청구항 1에 있어서,
    상기 프로세서는,
    상기 DB의 종류에 따라, 상기 캐시의 운용 여부를 결정하는 것을 특징으로 하는 DB 시스템.
  10. DB(DataBase) 시스템이, 자신의 상태를 모니터링하는 단계;
    상기 DB 시스템이, 상기 상태에 따라 DB 데이터를 임시 저장하는 캐시의 운용 여부를 결정하는 단계; 및
    상기 DB 시스템이, 결정 결과에 따라, DB 데이터를 영구 저장하는 디스크와 상기 캐시를 운용하는 단계;를 포함하고,
    상기 상태는,
    프로세서의 사용률 및 상기 DB 시스템에 마련된 메모리의 사용률 중 적어도 하나를 포함하는 것을 특징으로 하는 DB 관리 방법.
  11. DB(DataBase) 시스템에 있어서,
    DB가 구축되는 메모리;
    DB 데이터가 임시 저장되는 캐시;
    DB 데이터가 영구 저장되는 디스크; 및
    상기 DB 시스템의 상태를 기초로 상기 캐시와 상기 디스크 중 상기 DB의 복원 파일을 저장할 저장매체를 결정하고, 결정된 저장매체에 상기 복원 파일을 저장하는 프로세서;를 포함하고,
    상기 DB 시스템의 상태는,
    상기 프로세서의 사용률 및 상기 메모리의 사용률 중 적어도 하나를 포함하는 것을 특징으로 하는 DB 시스템.
  12. DB(DataBase) 시스템이, 메모리에 DB를 구축하는 단계;
    상기 DB 시스템이 자신의 상태를 판단하는 단계; 및
    상기 DB 시스템이, 상기 상태를 기초로, 상기 DB의 복원 파일을 캐시 또는 디스크 중 어느 하나에 저장하는 단계;를 포함하고,
    상기 상태는,
    프로세서의 사용률 및 상기 메모리의 사용률 중 적어도 하나를 포함하는 것을 특징으로 하는 DB 관리 방법.
KR1020160043959A 2016-04-11 2016-04-11 적응적 블록 캐시 운용 방법 및 이를 적용한 dbms KR101887741B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160043959A KR101887741B1 (ko) 2016-04-11 2016-04-11 적응적 블록 캐시 운용 방법 및 이를 적용한 dbms
US15/465,605 US10162541B2 (en) 2016-04-11 2017-03-22 Adaptive block cache management method and DBMS applying the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160043959A KR101887741B1 (ko) 2016-04-11 2016-04-11 적응적 블록 캐시 운용 방법 및 이를 적용한 dbms

Publications (2)

Publication Number Publication Date
KR20170116351A KR20170116351A (ko) 2017-10-19
KR101887741B1 true KR101887741B1 (ko) 2018-09-11

Family

ID=59999408

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160043959A KR101887741B1 (ko) 2016-04-11 2016-04-11 적응적 블록 캐시 운용 방법 및 이를 적용한 dbms

Country Status (2)

Country Link
US (1) US10162541B2 (ko)
KR (1) KR101887741B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4313068B2 (ja) * 2003-03-28 2009-08-12 株式会社日立製作所 記憶装置のキャッシュ管理方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5632038A (en) * 1994-02-22 1997-05-20 Dell Usa, L.P. Secondary cache system for portable computer
US6442652B1 (en) * 1999-09-07 2002-08-27 Motorola, Inc. Load based cache control for satellite based CPUs
US6981112B2 (en) * 2002-08-26 2005-12-27 International Business Machines Corporation Dynamic cache disable
US7162567B2 (en) * 2004-05-14 2007-01-09 Micron Technology, Inc. Memory hub and method for memory sequencing
KR100670798B1 (ko) * 2004-12-17 2007-01-17 한국전자통신연구원 데이터베이스 캐시 시스템
US7694075B1 (en) * 2005-03-09 2010-04-06 Globalfoundries Inc. System for enabling and disabling cache and a method thereof
WO2007058253A1 (ja) * 2005-11-16 2007-05-24 Nikon Corporation 電子スチルカメラ
KR100744122B1 (ko) * 2006-01-12 2007-08-01 삼성전자주식회사 하이브리드 하드디스크 드라이브의 제어 방법, 이에 적합한기록 매체 그리고 이에 적합한 장치
US8230286B1 (en) * 2009-06-16 2012-07-24 Cisco Technology, Inc. Processor reliability improvement using automatic hardware disablement
KR101220607B1 (ko) * 2009-12-29 2013-01-10 홍익대학교 산학협력단 비휘발성 램을 이용하여 연산 처리의 원자성을 보장하는 컴퓨팅 시스템 및 방법
JP5607175B2 (ja) * 2010-03-08 2014-10-15 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. データ記憶装置及び方法
US9146875B1 (en) * 2010-08-09 2015-09-29 Western Digital Technologies, Inc. Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining
US8700864B2 (en) * 2011-11-11 2014-04-15 Microsoft Corporation Self-disabling working set cache
KR101973157B1 (ko) * 2012-02-06 2019-04-26 삼성전자주식회사 캐시 관리 장치 및 방법
US9235517B2 (en) * 2013-08-12 2016-01-12 Globalfoundries Inc. Implementing dynamic cache enabling and disabling based upon workload
US10558571B2 (en) * 2014-03-20 2020-02-11 Sybase, Inc. Second level database file cache for row instantiation
US20150324135A1 (en) * 2014-05-06 2015-11-12 Netapp, Inc. Automatic storage system configuration based on workload monitoring
US9697124B2 (en) * 2015-01-13 2017-07-04 Qualcomm Incorporated Systems and methods for providing dynamic cache extension in a multi-cluster heterogeneous processor architecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4313068B2 (ja) * 2003-03-28 2009-08-12 株式会社日立製作所 記憶装置のキャッシュ管理方法

Also Published As

Publication number Publication date
KR20170116351A (ko) 2017-10-19
US20170293441A1 (en) 2017-10-12
US10162541B2 (en) 2018-12-25

Similar Documents

Publication Publication Date Title
US20120059994A1 (en) Using a migration cache to cache tracks during migration
US20220318216A1 (en) Utilizing Different Data Compression Algorithms Based On Characteristics Of A Storage System
US10942835B2 (en) Processing a health condition message on a health condition to determine whether to perform a swap operation
US10970178B2 (en) Generating a health condition message on a health condition detected at a server to send to a host system accessing the server
US11316530B2 (en) Adaptive compression for data services
US11500577B2 (en) Method, electronic device, and computer program product for data processing
US20150095553A1 (en) Selective software-based data compression in a storage system based on data heat
US9703795B2 (en) Reducing fragmentation in compressed journal storage
US20170195446A1 (en) Enhanced storage clients
US9940245B2 (en) Caching in storage clients
US9298397B2 (en) Nonvolatile storage thresholding for ultra-SSD, SSD, and HDD drive intermix
US20180129529A1 (en) Resource-dependent automated job suspension/resumption
CN114063883A (zh) 存储数据方法、电子设备和计算机程序产品
US9645740B2 (en) Self-detecting storage bottleneck while handling sequential I/O operations
US9767029B2 (en) Data decompression using a construction area
KR101887741B1 (ko) 적응적 블록 캐시 운용 방법 및 이를 적용한 dbms
CN115981559A (zh) 分布式数据存储方法、装置、电子设备和可读介质
US11481140B1 (en) Dynamic base disk mirroring for linked clones
US9160610B1 (en) Method and apparatus for coordinating service execution within a shared file system environment to optimize cluster performance
US20200371849A1 (en) Systems and methods for efficient management of advanced functions in software defined storage systems
US10140190B1 (en) Efficient transaction log flushing
US10101940B1 (en) Data retrieval system and method
CN114063891B (zh) 管理数据传输的方法、设备和计算机程序产品
US11755419B2 (en) Utilizing spare network nodes for deduplication fingerprints database
US11630584B2 (en) Storage management system and method

Legal Events

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