KR101887741B1 - 적응적 블록 캐시 운용 방법 및 이를 적용한 dbms - Google Patents
적응적 블록 캐시 운용 방법 및 이를 적용한 dbms Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G06F17/30132—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/282—Partitioned cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/312—In storage controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control 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(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의 적응적 블록 캐시 운용 방법의 설명에 제공되는 흐름도이다.
도 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
130 : CPU 140 : 공유 메모리
150 : 블록 캐시 160 : HDD
Claims (12)
- DB(DataBase) 시스템에 있어서,
DB 데이터를 임시 저장하는 캐시;
상기 DB 데이터를 영구 저장하는 디스크; 및
상기 DB 시스템의 상태에 따라, 상기 캐시의 운용 여부를 결정하는 프로세서;를 포함하고,
상기 DB 시스템의 상태는,
상기 프로세서의 사용률 및 상기 DB 시스템에 마련된 메모리의 사용률 중 적어도 하나를 포함하는 것을 특징으로 하는 DB 시스템.
- 삭제
- 청구항 1에 있어서,
상기 메모리는,
상기 DB가 구축되는 제1 메모리;
상기 프로세서가 데이터 처리에 사용하는 제2 메모리;를 포함하는 것을 특징으로 하는 DB 시스템.
- 청구항 3에 있어서,
상기 메모리의 사용률은,
상기 제1 메모리의 사용률 및 상기 제2 메모리의 사용률 중 적어도 하나를 포함하는 것을 특징으로 하는 DB 시스템.
- 청구항 3에 있어서,
상기 DB 시스템의 상태는,
상기 제1 메모리의 데이터 I/O 율 및 상기 제2 메모리의 데이터 I/O 율 중 적어도 하나를 포함하는 것을 특징으로 하는 DB 시스템.
- 청구항 3에 있어서,
상기 프로세서는,
상기 메모리에 구축된 DB에 대한 복원 파일을 상기 캐시에 저장하는 것을 특징으로 하는 DB 시스템.
- 청구항 6에 있어서,
상기 프로세서는,
상기 DB 시스템의 상태가 제1 상태이면, 상기 복원 파일을 상기 캐시에 저장하고,
상기 DB 시스템의 상태가 제2 상태이면, 상기 복원 파일을 상기 디스크에 저장하는 것을 특징으로 하는 DB 시스템.
- 청구항 1에 있어서,
상기 프로세서는,
현재 일시에 따라, 상기 캐시의 운용 여부를 결정하는 것을 특징으로 하는 DB 시스템.
- 청구항 1에 있어서,
상기 프로세서는,
상기 DB의 종류에 따라, 상기 캐시의 운용 여부를 결정하는 것을 특징으로 하는 DB 시스템.
- DB(DataBase) 시스템이, 자신의 상태를 모니터링하는 단계;
상기 DB 시스템이, 상기 상태에 따라 DB 데이터를 임시 저장하는 캐시의 운용 여부를 결정하는 단계; 및
상기 DB 시스템이, 결정 결과에 따라, DB 데이터를 영구 저장하는 디스크와 상기 캐시를 운용하는 단계;를 포함하고,
상기 상태는,
프로세서의 사용률 및 상기 DB 시스템에 마련된 메모리의 사용률 중 적어도 하나를 포함하는 것을 특징으로 하는 DB 관리 방법.
- DB(DataBase) 시스템에 있어서,
DB가 구축되는 메모리;
DB 데이터가 임시 저장되는 캐시;
DB 데이터가 영구 저장되는 디스크; 및
상기 DB 시스템의 상태를 기초로 상기 캐시와 상기 디스크 중 상기 DB의 복원 파일을 저장할 저장매체를 결정하고, 결정된 저장매체에 상기 복원 파일을 저장하는 프로세서;를 포함하고,
상기 DB 시스템의 상태는,
상기 프로세서의 사용률 및 상기 메모리의 사용률 중 적어도 하나를 포함하는 것을 특징으로 하는 DB 시스템.
- DB(DataBase) 시스템이, 메모리에 DB를 구축하는 단계;
상기 DB 시스템이 자신의 상태를 판단하는 단계; 및
상기 DB 시스템이, 상기 상태를 기초로, 상기 DB의 복원 파일을 캐시 또는 디스크 중 어느 하나에 저장하는 단계;를 포함하고,
상기 상태는,
프로세서의 사용률 및 상기 메모리의 사용률 중 적어도 하나를 포함하는 것을 특징으로 하는 DB 관리 방법.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4313068B2 (ja) * | 2003-03-28 | 2009-08-12 | 株式会社日立製作所 | 記憶装置のキャッシュ管理方法 |
Family Cites Families (18)
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 |
-
2016
- 2016-04-11 KR KR1020160043959A patent/KR101887741B1/ko active IP Right Grant
-
2017
- 2017-03-22 US US15/465,605 patent/US10162541B2/en active Active
Patent Citations (1)
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 |