KR20120004162A - 데이터베이스 관리 방법 및 이를 이용한 데이터베이스 서버 시스템 - Google Patents

데이터베이스 관리 방법 및 이를 이용한 데이터베이스 서버 시스템 Download PDF

Info

Publication number
KR20120004162A
KR20120004162A KR1020100064879A KR20100064879A KR20120004162A KR 20120004162 A KR20120004162 A KR 20120004162A KR 1020100064879 A KR1020100064879 A KR 1020100064879A KR 20100064879 A KR20100064879 A KR 20100064879A KR 20120004162 A KR20120004162 A KR 20120004162A
Authority
KR
South Korea
Prior art keywords
storage device
data
database
stored
index
Prior art date
Application number
KR1020100064879A
Other languages
English (en)
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 KR1020100064879A priority Critical patent/KR20120004162A/ko
Priority to US13/176,849 priority patent/US20120011127A1/en
Publication of KR20120004162A publication Critical patent/KR20120004162A/ko

Links

Images

Classifications

    • 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
    • G06F16/2282Tablespace storage structures; Management thereof

Abstract

데이터베이스에서의 데이터용 파일과 인덱스용 파일을 효율적으로 배치하여 관리하는 방법 및 장치에 관하여 개시한다. 데이터베이스 관리 방법은 데이터베이스에서 테이블 형태의 데이터가 저장되는 영역을 제1저장 장치에 할당하고, 상기 데이터를 검색하는데 이용되는 인덱스 정보가 저장되는 영역을 제2저장 장치에 할당하도록 테이블 스페이스를 생성시키는 단계, 상기 생성된 테이블 스페이스에 따라 테이블 형태의 데이터는 상기 제1저장 장치에 저장하고 인덱스 정보는 상기 제2저장 장치에 저장하는 단계 및, 입력되는 질의어에 따라서 상기 데이터베이스에 데이터를 저장하거나 상기 데이터베이스를 검색하는 단계를 포함한다.

Description

데이터베이스 관리 방법 및 이를 이용한 데이터베이스 서버 시스템{Method for managing database and database server system using the same}
본 발명은 데이터베이스 관리 방법 및 장치에 관한 것으로서, 특히 데이터베이스에서의 데이터용 파일과 인덱스용 파일을 효율적으로 배치하여 관리하는 방법 및 장치에 관한 것이다.
데이터베이스 서버 시스템은 자료를 구조화하여 저장 장치에 저장하고, 저장 장치에 저장된 자료를 검색하여 출력하는 시스템이다. 이와 같은 데이터베이스 서버 시스템에서의 데이터 검색 성능을 향상시키고, 데이터베이스 서버 시스템 구축 비용을 낮추는 연구가 활발히 진행되고 있다.
본 발명의 목적은 데이터 조회 속도 및 스토리지(storage) 구축 비용을 고려하여 데이터베이스에서 데이터용 파일과 인덱스용 파일을 효율적으로 배치하는 데이터베이스 관리 방법을 제공하는데 있다.
본 발명의 다른 목적은 데이터 조회 속도 및 스토리지 구축비용을 고려하여 데이터베이스에서 데이터용 파일과 인덱스용 파일을 효율적으로 배치하는 데이터베이스 관리 방법을 적용한 데이터베이스 서버 시스템을 제공하는데 있다.
본 발명의 또 다른 목적은 데이터 조회 속도 및 스토리지 구축 비용을 고려하여 데이터베이스에서 데이터용 파일과 인덱스용 파일을 효율적으로 배치하는 데이터베이스 관리 방법을 수행하는 프로그램 코드가 기록된 저장매체를 제공하는데 있다.
본 발명의 기술적 사상의 일면에 따른 데이터베이스 관리 방법은 데이터베이스에서 테이블 형태의 데이터가 저장되는 영역을 제1저장 장치에 할당하고, 상기 데이터를 검색하는데 이용되는 인덱스 정보가 저장되는 영역을 제2저장 장치에 할당하도록 테이블 스페이스를 생성시키는 단계, 상기 생성된 테이블 스페이스에 따라 테이블 형태의 데이터는 상기 제1저장 장치에 저장하고 인덱스 정보는 상기 제2저장 장치에 저장하는 단계 및, 입력되는 질의어에 따라서 상기 데이터베이스에 데이터를 저장하거나 상기 데이터베이스를 검색하는 단계를 포함한다.
본 발명의 기술적 사상에 의한 일실시 예에 따르면, 상기 제1저장 장치와 상기 제2저장 장치는 상호 저장 방식이 상이한 저장 장치로 설정하는 것이 바람직하다.
본 발명의 기술적 사상에 의한 일실시 예에 따르면, 상기 제1저장 장치는 상기 제2저장 장치에 비하여 랜덤 액세스(random access) 속도가 빠른 저장 장치로 설정하는 것이 바람직하다.
본 발명의 기술적 사상에 의한 일실시 예에 따르면, 상기 제1저장 장치는 솔리드 스테이트 드라이브를 포함하고, 상기 제2저장 장치는 디스크 드라이브를 포함함하는 것이 바람직하다.
본 발명의 기술적 사상에 의한 일실시 예에 따르면, 상기 데이터베이스를 검색하는 단계는 인덱스 스캔 방식을 적용하여 데이터를 검색하는 경우에 상기 제2저장 장치에 저장된 인덱스 정보를 이용하여 원하는 데이터가 저장된 제1저장 장치의 물리적 위치를 찾아내는 단계 및, 상기 찾아낸 제1저장 장치의 물리적 위치에 저장된 데이터를 읽어내는 단계를 포함한다.
본 발명의 기술적 사상에 의한 일실시 예에 따르면, 상기 제1저장 장치의 물리적 위치는 질의문 조건과 일치하는 제2저장 장치에 저장된 인덱스 정보를 검색하여 원하는 데이터가 위치하는 테이블의 열 식별자를 획득하여 찾아내는 것이 바람직하다.
본 발명의 기술적 사상에 의한 일실시 예에 따르면, 상기 데이터베이스에 데이터를 저장하는 단계는 저장하고자 하는 테이블 형태의 데이터를 검색하는데 이용될 인덱스 정보를 생성시키는 단계 및, 상기 저장하고자 하는 테이블 형태의 데이터는 제1저장 장치에 저장하고, 상기 인덱스 정보는 제2저장 장치에 저장하는 단계를 포함한다.
본 발명의 기술적 사상에 의한 일실시 예에 따르면, 상기 인덱스 정보는 상기 테이블 내의 한 개의 칼럼 또는 복수의 칼럼을 이용하여 데이터 접근을 하기 위한 정보를 포함하는 것이 바람직하다.
본 발명의 기술적 사상에 의한 일실시 예에 따르면, 상기 제1저장 장치와 제2저장 장치는 가상의 단일 저장 장치로 통합하여 논리 블록 어드레스를 할당하는 것이 바람직하다.
본 발명의 기술적 사상의 다른 면에 따른 데이터베이스 서버 시스템은 정보 저장 방식이 상이한 복수의 저장 장치들로 구성된 데이터베이스 및, 상기 데이터베이스에서 테이블 형태의 데이터는 상기 복수의 저장 장치들 중의 제1저장 장치에 저장하고, 상기 데이터를 검색하는데 이용되는 인덱스 정보는 상기 복수의 저장 장치들 중의 제2저장 장치에 저장하도록 상기 데이터베이스를 관리하는 데이터베이스 관리 시스템을 포함한다.
본 발명의 기술적 사상에 의한 일실시 예에 따르면, 상기 데이터베이스 관리 시스템은 테이블 형태의 데이터가 저장되는 영역을 제1저장 장치에 할당하고 상기 데이터를 검색하는데 이용되는 인덱스 정보가 저장되는 영역을 제2저장 장치에 할당하도록 테이블 스페이스를 생성시키고, 상기 생성된 테이블 스페이스에 테이블 및 인덱스를 생성시키는 테이블/인덱스 관리부, 수신되는 질의문을 분석하여 실행할 요구를 판정하는 질의문 분석부 및, 상기 질의문 분석부에서 판정된 요구를 실행하는 질의문 실행부를 포함한다.
본 발명의 기술적 사상에 의한 일실시 예에 따르면, 상기 데이터베이스 관리 시스템은 인덱스 스캔 방식에 따른 데이터 검색이 요구된 경우에 상기 제2저장 장치에 저장된 인덱스 정보를 이용하여 원하는 데이터가 저장된 제1저장 장치의 물리적 위치를 찾아내고, 상기 찾아낸 제1저장 장치의 물리적 위치에 저장된 데이터를 읽어내도록 상기 데이터베이스를 관리하는 것이 바람직하다.
본 발명의 기술적 사상에 의한 일실시 예에 따르면, 상기 데이터베이스 관리 시스템은 풀 테이블 스캔 방식에 따른 데이터 검색이 요구된 경우에 선택된 테이블 전체를 검색하여 원하는 데이터가 저장된 제1저장 장치의 물리적 위치를 찾아내고, 상기 찾아낸 제1저장 장치의 물리적 위치에 저장된 데이터를 읽어내도록 상기 데이터베이스를 관리하는 것이 바람직하다.
본 발명의 기술적 사상의 또 다른 면에 따른 저장매체는 상기 데이터베이스 관리 방법을 컴퓨터에서 실행시키기 위한 프로그램 코드들이 기록되어 있다.
본 발명에 의하면 데이터베이스의 저장 장치를 정보 저장 방식이 상이한 복수의 저장 장치로 구성하고, 테이블 형태의 데이터는 랜덤 액세스(random access) 속도가 상대적으로 빠른 저장 장치에 저장하고 인덱스 정보는 시이퀀셜 액세스(sequential access) 속도가 상대적으로 빠른 저장 장치에 저장하도록 데이터베이스를 관리함으로써, 데이터베이스 서버 시스템의 구축 비용의 증가를 최소화하면서 성능을 획기적으로 향상시킬 수 있는 효과가 발생된다.
즉, 데이터베이스 검색 시 수행 시간이 많이 걸리는 데이터 영역을 랜덤 액세스 속도가 빠른 솔리드 스테이트 드라이브에 배치하고, 수행 기간이 적게 걸리는 인덱스 영역을 가격이 상대적으로 싼 저장 장치인 하드 디스크 드라이브에 배치하도록 데이터베이스를 관리함으로써, 가격이 상대적으로 비싼 솔리드 스테이트 드라이브의 저장 영역을 줄여 데이터베이스 서버 시스템 구축 비용을 낮추면서도 솔리드 스테이트 드라이브만을 사용하는 경우와 유사한 데이터 검색 성능을 낼 수 있는 효과가 발생된다.
도 1은 본 발명의 기술적 사상에 의한 데이터베이스 서버 시스템의 블록 구성도이다.
도 2는 도 1에 도시된 데이터베이스 서버 시스템의 세부 구성도이다.
도 3은 본 발명의 기술적 사상에 의한 일실시 예에 따른 데이터베이스 서버 시스템에서의 데이터베이스의 논리 블록 어드레스 할당 방법을 도식적으로 보여주는 도면이다.
도 4는 본 발명의 기술적 사상에 의한 일실시 예에 따른 데이터베이스 서버 시스템에서의 솔리드 스테이트 드라이브의 논리 블록 어드레스 할당 방법을 도식적으로 보여주는 도면이다.
도 5는 본 발명의 기술적 사상에 의한 일실시 예에 따른 데이터베이스 서버 시스템에서의 하드 디스크 드라이브의 논리 블록 어드레스 할당 방법을 도식적으로 보여주는 도면이다.
도 6은 본 발명의 기술적 사상에 의한 일실시 예에 따른 데이터베이스 관리 방법의 흐름도이다.
도 7은 본 발명의 기술적 사상에 의한 일실시 예에 따른 데이터베이스 관리 방법에서의 데이터 저장 프로세스에 대한 흐름도이다.
도 8은 본 발명의 기술적 사상에 의한 일실시 예에 따른 데이터베이스 관리 방법에서의 데이터 검색 프로세스에 대한 흐름도이다.
도 9는 본 발명의 기술적 사상에 의한 일실시 예에 따른 데이터베이스 서버 시스템에서의 인덱스 스캔 방식에 따라 데이터를 검색하는 방법을 도식적으로 보여주는 도면이다.
도 10은 본 발명의 기술적 사상에 의한 일실시 예에 따른 데이터베이스 서버 시스템에서의 인덱스 스캔 방식에 따라 데이터를 검색하는 방법을 설명하기 위한 개념도이다.
도 11은 본 발명의 기술적 사상에 의한 일실시 예에 따른 데이터베이스 서버 시스템에서의 SSD와 HDD로 데이터베이스를 구성하는 각각의 케이스 별로 질의문들에 대한 데이터를 검색하기 위해 읽은 데이터 블록수의 테스트 결과를 보여주는 도면이다.
도 12는 본 발명의 기술적 사상에 의한 일실시 예에 따른 데이터베이스 서버 시스템에서의 SSD와 HDD로 데이터베이스를 구성하는 각각의 케이스 별로 질의문들에 대한 데이터 검색 시간의 테스트 결과를 보여주는 도면이다.
본 발명의 기술적 사상에 의한 실시 예들에 대하여 첨부 도면을 참조하여 상세히 설명한다. 그러나, 본 발명의 기술적 사상에 의한 실시 예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 아래에서 상술하는 실시 예들로 인해 한정되어지는 것으로 해석되어져서는 안 된다. 본 발명의 기술적 사상에 의한 실시 예들은 본 발명이 속하는 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되어지는 것이다. 첨부 도면들에서, 동일한 부호는 시종 동일한 요소를 의미한다.
이하 첨부된 도면을 참조하여 본 발명의 기술적 사상에 의한 바람직한 실시 예에 대하여 상세히 설명하기로 한다.
도 1에 도시된 바와 같이, 본 발명의 기술적 사상에 의한 일실시 예에 따른 데이터베이스 서버 시스템은 데이터베이스(100) 및 데이터베이스 관리 시스템(DBMS; Database Management System, 200)을 구비한다.
데이터베이스 관리 시스템(200)은 데이터베이스(100)에서의 데이터가 저장되는 저장 공간과 인덱스 정보가 저장되는 저장 공간을 각각 분리하여 할당하는 테이블 스페이스를 생성시키고, 생성된 테이블 스페이스에 테이블 및 인덱스를 생성시키는 프로세스를 실행시킨다.
또한, 데이터베이스 관리 시스템(200)은 외부 서버 또는 관리자 단말기로부터 수신되는 질의문을 분석하여 실행할 요구를 판정하고, 판정된 요구를 실행하여 데이터베이스(100)에 저장된 데이터를 갱신 또는 삭제하거나 데이터베이스(100)에 데이터를 추가하는 등의 데이터베이스(100)를 관리하는 기능을 수행한다. 데이터베이스 관리 시스템에서 사용하는 질의문으로는 일예로서 SQL(Structured Query Language)문 등이 있다.
데이터베이스(100)는 정보 저장 방식이 상이한 복수의 저장 장치들로 구성될 수 있으며, 본 발명의 일실시 예에서는 솔리드 스테이트 드라이브(SSD; Solid State Drive, 110)와 하드 디스크 드라이브(HDD; Hard Disk Drive, 120)로 구성하였다. 솔리드 스테이트 드라이브(SSD, 110)는 솔리드 스테이트 디스크(Solid State Disk)로 칭하기도 한다.
솔리드 스테이트 드라이브(110)의 장점은 I/O 속도가 매우 빠르고, 랜덤 액세스 특성이 뛰어나다는 것이다. 이에 비하여 하드 디스크 드라이브(120)는 데이터를 저장하는 디스크와 이를 읽고 쓰는 기계 장치로 구성되어 있으므로 데이터 액세스 속도가 비교적 느린 단점이 있다. 반면에 하드 디스크 드라이브(120)는 단위 비트 당 가격이 싸고, 시이퀀셜 액세스 특성이 뛰어난 장점이 있다.
따라서, 솔리드 스테이트 드라이브(110)만으로 데이터베이스(100)를 구현하는 경우에는 데이터 액세스 속도가 빨라서 데이터베이스 서버 시스템의 성능을 향상시킬 수 있다. 그러나, 이 경우에는 데이터베이스 서버 시스템을 구축하기 위한 비용을 커지는 단점이 있다.
그리고, 하드 디스크 드라이브(120)만으로 데이터베이스(100)를 구현하는 경우에는 데이터베이스 서버 시스템을 구축하기 위한 비용을 줄일 수 있으나, 데이터 액세스 속도가 느려져서 데이터베이스 서버 시스템의 성능이 저하되는 단점이 있다.
본 발명에서는 데이터베이스(100)를 정보 저장 방식이 상이한 복수의 저장 장치들로 구성하여 데이터베이스 서버 시스템을 비교적 적은 비용으로 성능을 최대로 향상시키는 확장시키는 데이터베이스 관리 방안을 제안한다.
데이터베이스(100)에 저장되는 정보는 데이터 파일과 인덱스(index) 파일로 분류할 수 있다. 여기에서 데이터 파일은 테이블(table) 형태의 데이터 집합이고, 인덱스 파일은 테이블 내의 한 개의 칼럼 또는 복수의 칼럼을 이용하여 데이터의 위치 정보를 가지고 있는 정보들의 집합이다. 테이블은 데이터베이스(100)에서 데이터를 저장하는 기본 구조이며, 하나의 테이블은 하나 이상의 레코드(record)로 구성되고, 각 레코드는 하나 이상의 칼럼(column)으로 구성된다. 레코드는 한 열(row)을 의미한다.
데이터베이스(100)에 저장되는 인덱스 파일의 사이즈는 테이블의 구조 또는 인덱스를 구성하는 칼럼에 따라 달라질 수 있으나, 데이터베이스(100)에서 인덱스 파일이 차지하는 용량은 총 저장 용량의 50% 이상 되는 경우가 많다.
데이터베이스 서버 시스템에서 데이터를 검색하는 방식은 크게 2가지 방식이 있다. 데이터베이스 관리 시스템(200)은 질의문이 수신되면, 이를 분석하여 실행하고자 하는 요구를 판단하고, 판단된 요구에 따라 오브젝트 통계 및 시스템 통계 정보를 이용해서 여러 가지 실행 계획을 생성하고, 이들 중에서 최소 비용을 갖는 것을 선택하여 질의문에 대한 요구를 실행한다. 이 때, 테이블에서 데이터를 획득하는 방법으로 풀 테이블 스캔(Full Table Scan) 방식과 인덱스 스캔(Index Scan) 방식을 이용할 수 있다.
풀 테이블 스캔 방식은 테이블 전체를 직접 검색하는 방식으로 데이터 검색용 질의문의 조건과 일치하는 인덱스가 없거나, 유사한 인덱스가 있더라도 테이블 전체를 검색해서 원하는 데이터를 찾는 것이 빠르다고 판단되는 경우에 이용될 수 있다.
인덱스 스캔 방식은 질의문의 조건과 일치하는 인덱스를 검색하여 원하는 데이터가 저장된 물리적 위치를 알려주는 테이블의 열 식별자(Row ID; Row Identifier)를 획득하고, 획득한 Row ID를 이용하여 테이블로부터 데이터를 찾아내는 방식이다.
도 9를 참조하여 인덱스 스캔 방식에 이용한 데이터 검색 방법을 설명하면 다음과 같다.
원하는 데이터를 찾기 위한 검색 조건에 따라 인덱스 영역에서 인덱스 정보에 따라 ① → ②와 같은 경로를 통하여 원하는 데이터가 존재하는 Row ID를 찾아낸다. 경로 ③에서는 Row ID를 이용하여 테이블의 물리적 영역에서 원하는 데이터를 검색한다.
①번 및 ②번 프로세스 수행 시간은 인덱스의 깊이나 다른 조건들에 따라 차이가 나지만 데이터 검색 시간에 큰 영향을 미치지 않는다. 이에 비하여, ③번 프로세스 실행 시간이 데이터 검색 시간의 대부분을 차지한다.
이와 같은 특성을 고려하여, 본 발명에서는 데이터베이스(100)를 정보 저장 방식이 상이한 복수의 저장 장치들로 구성하고, 데이터와 인덱스 정보를 각각 분리하여 데이터베이스(100)를 구성하는 저장 장치들 중에서 상대적으로 랜덤 액세스 속도가 빠른 저장 장치에 테이블 형태의 데이터를 저장하고, 상대적으로 액세스 속도가 느린 저장 장치에 인덱스 정보를 저장하도록 데이터베이스 관리 방법을 제안한다.
일실시 예로서, 데이터베이스(100)를 솔리드 스테이트 드라이브(110)와 하드 디스크 드라이브(120)로 구성하는 경우에, 솔리드 스테이트 드라이브(110)에는 테이블 형태의 데이터를 저장하고, 하드 디스크 드라이브(120)에는 인덱스 정보를 저장하도록 데이터베이스(100)를 관리한다.
위와 같이 데이터베이스(100)를 관리하면 도 9에 도시된 ③번 프로세스 실행 시간이 단축되어 데이터베이스 서버 시스템의 성능을 개선할 수 있게 된다.
본 발명의 기술적 사상에 따른 일실시 예에서는 데이터베이스(100)를 솔리드 스테이트 드라이브(110)와 하드 디스크 드라이브(120)로 구성하였으나, 본 발명에 따른 데이터베이스(100) 구성은 이에 한정되지 않고, 정보 저장 방식이 상이한 다양한 저장 장치들로 구성할 수도 있다.
그러면, 위에서 설명한 바와 같은 데이터베이스(100) 관리 방법을 적용한 데이터베이스 서버 시스템의 구체적인 동작을 도 2를 참조하여 설명하기로 한다.
도 2는 도 1에 도시된 본 발명의 기술적 사상에 의한 일실시 예에 따른 데이터베이스 서버 시스템의 세부 구성이다.
도 2를 참조하면, 본 발명의 기술적 사상에 의한 일실시 예에 따른 데이터베이스 서버 시스템은 데이터베이스(100) 및 데이터베이스 관리 시스템(200)으로 구성된다.
데이터베이스(100)는 솔리드 스테이트 드라이브(110)와 하드 디스크 드라이브(120)로 구성되고, 하드 디스크 드라이브(120)는 버퍼1(120-1), HDD 컨트롤러(120-2), 구동부(120-3), 리드/라이트(R/W) 채널 회로(120-4) 및 헤드 디스크 어셈블리(HDA; 230-5)를 구비한다. 그리고, 솔리드 스테이트 드라이브(110)는 버퍼2(110-1), NV 메모리 컨트롤러(110-2) 및 NV 메모리(110-3)를 구비한다. 여기에서, NV 메모리(110-3)는 비휘발성 반도체 메모리로서 플래시 메모리, PRAM(Phase change RAM), FRAM(Ferroelectric RAM), MRAM(Magnetic RAM) 등으로 구현할 수 있다.
그리고, 데이터베이스 관리 시스템(200)은 테이블/인덱스 관리부(200-1), 질의문 분석부(200-2) 및 질의문 실행부(200-3)를 구비한다.
테이블/인덱스 관리부(200-1)는 테이블 형태의 데이터가 저장되는 영역을 솔리드 스테이트 드라이브(110)에 할당하고 데이터를 검색하는데 이용되는 인덱스 정보가 저장되는 영역을 하드 디스크 드라이브(120)에 할당하도록 테이블 스페이스를 생성시키고, 생성된 테이블 스페이스에 테이블 및 인덱스를 생성시키는 기능을 수행한다.
즉, 테이블/인덱스 관리부(200-1)는 솔리드 스테이트 드라이브(110)의 물리적 저장 공간을 테이블 형태의 데이터를 저장하도록 할당하고, 하드 디스크 드라이브(120)의 물리적 저장 공간을 인덱스 정보를 저장하도록 할당하는 기능을 수행한다. 그리고, 테이블/인덱스 관리부(200-1)는 데이터베이스 관리자에 의하여 디자인된 테이블들을 생성시켜 솔리드 스테이트 드라이브(110)의 물리적 저장 공간에 저장하는 기능을 수행한다. 또한, 테이블/인덱스 관리부(200-1)는 테이블 내의 한 개의 칼럼 또는 복수의 칼럼들을 이용하여 데이터 접근과 관련된 순서를 결정하기 위한 인덱스 정보들을 생성시켜 하드 디스크 드라이브(120)의 물리적 저장 공간에 저장하는 기능을 수행한다.
테이블/인덱스 관리부(200-1)는 솔리드 스테이트 드라이브(110)와 하드 디스크 드라이브(120)를 가상의 단일의 저장 장치로 통합하여 논리 블록 어드레스(Logical Block Address; LBA)를 할당하는 기능을 수행할 수도 있다. 즉, 도 3에 도시된 바와 같이, 솔리드 스테이트 드라이브(110)의 물리적 저장 영역에 상위 LBA를 할당하고, 하드 디스크 드라이브(120)의 물리적 저장 영역에 하위 LBA를 할당할 수 있다. 이와 같이 LBA를 할당하면, 상위 LBA의 저장 영역은 테이블 저장 영역으로 할당되고, 하위 LBA 저장 영역은 인덱스 저장 영역으로 할당된다.
도 4를 참조하면, 솔리드 스테이트 드라이브(110)의 물리적 메모리 블록 번호(PBN)들을 웨어-카운트(Wear-Count) 기준으로 분류한 후에, 모든 물리적 메모리 블록들을 가상의 LBA로 매핑시키는 방식으로 솔리드 스테이트 드라이브(110)의 물리적 저장 영역에 대하여 LBA를 할당할 수 있다.
다음으로, 솔리드 스테이트 드라이브(110)에 할당된 마지막 LBA에 이어서 하드 디스크 드라이브(120)를 하위 LBA로 매핑시킨다. 즉, 도 5에 도시된 바와 같이, 3차원적인 주소 지정 방식인 CHS 값들을 무시하고, 하드 디스크 드라이브(120)의 모든 저장 영역을 섹터 기준의 2차원적으로 가상의 LBA로 매핑시키는 방식으로 하드 디스크 드라이브(120)의 물리적 저장 영역에 대하여 LBA를 할당할 수 있다.
다시 도 2를 참조하면, 질의문 분석부(200-2)는 외부 서버 또는 관리자 단말기로부터 수신되는 질의문을 분석하여 실행할 요구를 판정하는 기능을 수행한다. 그리고, 질의문 실행부(200-3)는 질의문 분석부(200-2)에서 판정된 요구를 실행하는 기능을 수행한다.
우선, 데이터 저장 요구를 실행하는 프로세스에 대하여 설명하기로 한다.
질의문 실행부(200-3)는 판정된 요구가 데이터 저장 요구인 경우에는 테이블에 삽입할 데이터와 해당 테이블의 삽입 위치의 Row ID에 대응되는 논리 블록 어드레스에 데이터를 저장하기 위한 라이트 커맨드(write command)를 솔리드 스테이트 드라이브(110)로 전송한다.
그러면, 테이블에 삽입할 데이터는 버퍼2(110-1)에 일시적으로 저장된다. 그리고, NV메모리 컨트롤러(110-2)는 라이트 커맨드에서 지정하는 논리 블록 어드레스에 매핑되는 물리적 메모리 블록 번호(PBN)를 산출한다. 그리고 나서, NV메모리 컨트롤러(110-2)는 버퍼2(110-1)로부터 데이터를 읽어내어 위에서 산출된 물리적 메모리 블록 번호에 대응되는 NV 메모리(110-3)의 저장 위치에 기록한다.
또한, 질의문 실행부(200-3)는 테이블에 삽입할 데이터의 검색에 필요한 인덱스 정보를 생성시킨 후에, 생성된 인덱스 정보와 하드 디스크 드라이브(120)에 저장하기 위한 논리 블록 어드레스에 인덱스 정보를 저장하기 위한 라이트 커맨드를 하드 디스크 드라이브(120)로 전송한다.
그러면, 인덱스 정보는 버퍼1(120-1)에 일시적으로 저장된다. HDD 컨트롤러(120-2)는 라이트 커맨드에서 지정하는 논리 블록 어드레스에 대응되는 CHS 값을 산출하고, 산출된 CHS 값에 대응되는 위치에 기록할 수 있도록 헤드 디스크 어셈블리(120-5)를 구동시키기 위한 제어신호들을 구동부(120-3)로 출력한다. 구동부(120-3)는 HDD 컨트롤러(120-2)로부터 입력되는 제어신호에 근거하여 헤드 디스크 어셈블리(120-5)의 헤드를 디스크 상에서 이동시켜 헤드가 디스크의 목표 위치에 도달하도록 한다.
HDD 컨트롤러(120-2)는 버퍼1(120-1)로부터 순차적으로 인덱스 정보를 읽어내어 리드/라이트 채널 회로(120-4)로 출력한다. 그러면, 리드/라이트 채널 회로(120-4)에서 디스크(12)의 기록 채널에 적합하도록 인덱스 정보를 처리한 후에 헤드 디스크 어셈블리(120-5)에 포함된 디스크에 기록한다.
다음으로, 데이터 검색 요구를 실행하는 프로세스에 대하여 설명하기로 한다.
질의문 실행부(200-3)는 판정된 요구가 데이터 검색 요구인 경우에 오브젝트 통계 및 시스템 통계 정보를 이용해서 여러 가지 실행 계획을 생성하고, 이들 중에서 최소 비용을 갖는 것을 선택하여 질의문에 대한 요구를 실행한다.
질의문 실행부(200-3)는 인덱스 스캔 방식으로 데이터를 검색하는 경우에 검색 조건을 만족하는 인덱스 정보를 읽어내기 위한 리드 커맨드(read command)를 하드 디스크 드라이브(120)로 전송한다.
그러면, HDD 컨트롤러(120-2)는 인덱스 정보가 저장된 논리 블록 어드레스에 대응되는 CHS 값을 산출하고, 산출된 CHS 값에 대응되는 위치를 액세스할 수 있도록 헤드 디스크 어셈블리(120-5)를 구동시키기 위한 제어신호들을 구동부(120-3)로 출력한다. 구동부(120-3)는 HDD 컨트롤러(120-2)로부터 입력되는 제어신호에 근거하여 헤드 디스크 어셈블리(120-5)의 헤드를 디스크 상에서 이동시켜 헤드가 디스크의 목표 위치에 도달하도록 한다.
헤드 디스크 어셈블리(120-5)에 포함된 디스크의 목표 위치로부터 헤드에 의하여 읽어낸 전기적인 신호를 리드/라이트 채널 회로(120-4)에서 인덱스 정보로 복원 처리하여 버퍼1(120-1)에 일시적으로 저장한다. 그리고 나서, 버퍼1(120-1)에 저장된 인덱스 정보는 데이터베이스 관리 시스템(200)으로 순차적으로 출력된다.
그러면, 질의문 실행부(200-3)는 하드 디스크 드라이브(120)로부터 읽어낸 인덱스 정보를 이용하여 테이블의 Row ID를 찾아낸다. 도 10을 참조하면, 테이블 영역의 11번 정보 및 103번 정보를 검색하고자 하는 경우에 트리 구조를 갖는 인덱스 정보에 따라 각각 경로 ① 및 경로 ②를 거쳐 11번 정보 및 103번 정보에 대응되는 Row ID를 찾을 수 있다.
질의문 실행부(200-3)는 찾아낸 Row ID에 매칭되는 논리 블록 어드레스로부터 데이터를 읽어내기 위한 리드 커맨드를 솔리드 스테이드 드라이브(110)로 전송한다.
그러면, NV 메모리 컨트롤러(110-2)는 리드 커맨드에서 지정하는 논리 블록 어드레스에 매핑되는 물리적 메모리 블록 번호(PBN)를 산출하고, 산출된 물리적 메모리 블록 번호에 대응되는 NV 메모리(110-3)의 저장 위치에 저장된 데이터를 읽어내어 버퍼2(110-1)에 저장하도록 제어한다. 그리고 나서, 버퍼2(110-1)에 저장되어 있는 데이터를 순차적으로 데이터베이스 관리 시스템(200)으로 출력한다. 이에 따라서, 데이터베이스 관리 시스템(200)으로 테이블 영역의 11번 정보 및 103번 정보가 출력되어, 원하는 정보를 검색할 수 있게 된다.
다음으로, 본 발명의 기술적 사상에 의한 일실시 예에 따른 데이터베이스 관리 방법을 시계열적으로 설명하기로 한다.
우선, 데이터베이스 서버 시스템의 정보 저장 수단인 데이터베이스(100)에서의 테이블 형태의 데이터와 데이터 검색에 이용되는 인덱스 정보가 저장되는 영역을 분리하여 할당하는 테이블 스페이스를 생성시키는 프로세스를 실행한다(S610). 구체적으로, 데이터와 인덱스 정보를 각각 분리하여 데이터베이스(100)를 구성하는 저장 장치들 중에서 상대적으로 액세스 속도가 빠른 저장 장치에 테이블 형태의 데이터를 저장하기 위한 저장 영역을 할당하고, 상대적으로 액세스 속도가 느린 저장 장치에 인덱스 정보를 저장하기 위한 저장 영역을 할당한다. 일예로서, 테이블 형태의 데이터가 저장되는 영역을 솔리드 스테이트 드라이브(110)에 할당하고 데이터를 검색하는데 이용되는 인덱스 정보가 저장되는 영역을 하드 디스크 드라이브(120)에 할당하도록 테이블 스페이스를 생성시킨다.
그리고 나서, 단계610(S610)에 의하여 생성된 테이블 스페이스에 테이블 및 인덱스를 생성시키는 프로세스를 실행한다(S620). 구체적으로, 데이터베이스 관리자에 의하여 디자인된 테이블들을 솔리드 스테이트 드라이브(110)의 물리적 저장 공간에 저장하고, 테이블 내의 한 개의 칼럼 또는 복수의 칼럼들을 이용하여 데이터 접근과 관련된 순서를 결정하기 위한 인덱스 정보들을 하드 디스크 드라이브(120)의 물리적 저장 공간에 저장하는 기능을 수행한다.
위와 같은 본 발명의 기술적 사상에 따라 디자인된 데이터베이스 서버 시스템에서의 데이터 저장 프로세스 및 데이터 검색 프로세스를 실행하는 방법을 설명하기로 한다.
우선, 데이터베이스 서버 시스템에서의 데이터 저장 프로세스를 실행하는 방법을 도 7의 흐름도를 참조하여 설명하기로 한다.
데이터베이스 서버 시스템은 질의문이 수신되는지를 판단한다(S710). 즉, 외부 서버 또는 관리자 단말기로부터 데이터베이스 서버 시스템으로 SQL문과 같은 질의문이 수신되는지 판단한다.
질의문이 수신되면, 데이터베이스 서버 시스템은 수신된 질의문을 분석한다(S720). 그리고 나서, 질의문 내용을 분석하여 실행하고자 하는 요구가 데이터 저장 요구인지를 판단한다(S730).
단계730(S730)의 판단 결과 데이터 저장을 요구하는 경우에는, 테이블에 삽입할 데이터의 검색에 필요한 인덱스 정보를 생성시킨다(S740).
그리고 나서, 테이블에 삽입할 데이터는 솔리드 스테이트 드라이브(110)에 저장하고, 생성된 인덱스 정보는 하드 디스크 드라이브(120)에 저장한다(S750).
만일 단계730(S730)의 판단 결과 데이터 저장을 요구하지 않는 경우에는 분석된 요구에 상응하는 프로세스를 실행한다(S760).
다음으로, 데이터베이스 서버 시스템에서의 데이터 검색 프로세스를 실행하는 방법을 도 8의 흐름도를 참조하여 설명하기로 한다.
데이터베이스 서버 시스템은 질의문이 수신되는지를 판단한다(S810). 즉, 외부 서버 또는 관리자 단말기로부터 데이터베이스 서버 시스템으로 SQL문과 같은 질의문이 수신되는지 판단한다.
질의문이 수신되면, 데이터베이스 서버 시스템은 수신된 질의문을 분석한다(S820). 그리고 나서, 질의문 내용을 분석하여 실행하고자 하는 요구가 데이터 검색 요구인지를 판단한다(S830).
단계830(S830)의 판단 결과 데이터 검색을 요구하는 경우에는 인덱스 스캔 방식 또는 풀 스캔 테이블 스캔 방식을 이용할 것인지를 결정한다(S840). 일예로서, 데이터 검색용 질의문의 조건과 일치하는 인덱스가 없거나, 유사한 인덱스가 있더라도 테이블 전체를 검색해서 원하는 데이터를 찾는 것이 빠르다고 판단되는 경우에는 풀 스캔 테이블 스캔 방식으로 결정하고, 그 이외는 인덱스 스캔 방식으로 결정할 수 있다.
단계840(S840)에서 인덱스 스캔 방식으로 결정되면, 데이터베이스 서버 시스템은 인덱스 검색 프로세스를 실행한다(S850). 즉, 데이터베이스 서버 시스템은 질의문에 의한 검색 조건에 따라서 하드 디스크 드라이브(120)로부터 인덱스 정보를 읽어내어 원하는 테이블 데이터가 존재하는 Row ID를 찾아낸다.
그리고 나서, 데이터베이스 서버 시스템은 단계850(S850)에서 찾아낸 Row ID를 이용하여 테이블을 검색하여 원하는 데이터를 읽어낸다(S860). 즉, 데이터베이스 서버 시스템은 찾아낸 Row ID에 대응되는 테이블의 열(row) 위치를 찾아내고, 찾아낸 테이블의 열 위치에 대한 데이터를 솔리드 스테이트 드라이브(110)로부터 읽어낸다.
만일 단계840(S840)에서 테이블 풀 스캔 방식으로 결정되면, 데이터베이스 서버 시스템은 테이블 전체를 검색한다(S870). 즉, 데이터베이스 서버 시스템은 솔리드 스테이트 드라이브(110)로부터 선택된 테이블 전체 열에 데이터를 검색하여 원하는 데이터를 찾아낸다.
만일 단계830(S830)의 판단 결과 데이터 검색을 요구하지 않는 경우에는 분석된 요구에 상응하는 프로세스를 실행한다(S890).
그러면, 다양한 데이터베이스 관리 방식의 사례별로 검색 시간을 테스트한 결과에 대하여 설명하기로 한다.
사례1(case1); 데이터용 파일과 인덱스용 파일을 각각 솔리드 스테이트 드라이브(SSD)에 저장하는 데이터베이스 관리 방식
사례2(case2); 데이터용 파일은 솔리드 스테이트 드라이브(SSD)에 저장하고, 인덱스용 파일은 하드 디스크 드라이브(HDD)에 저장하는 데이터베이스 관리 방식
사례3(case3); 데이터용 파일은 하드 디스크 드라이브(HDD)에 저장하고, 인덱스용 파일은 솔리드 스테이트 드라이브(SSD)에 저장하는 데이터베이스 관리 방식
사례4(case4); 데이터용 파일과 인덱스용 파일을 각각 하드 디스크 드라이브(HDD)에 저장하는 데이터베이스 관리 방식
도 11에는 사례1 ~ 사례4에서의 각각 SQL1 ~ SQL4 문에 따라서 읽어낸 블록수를 도식적으로 보여준다. 사례1 ~ 사례4에서 동일한 SQL 문에 따라서 읽어내는 블록수는 비슷한 분포를 갖는다는 것을 알 수 있다.
도 12에는 사례1 ~ 사례4에서의 각각 SQL1 ~ SQL4 문 수행 시간을 도식적으로 보여준다.
동일한 SQL 문에 대해 각 사례별 수행 시간을 비교하면, 사례1과 사례2에서의 수행 시간은 큰 차이가 나지 않으나, 사례2와 사례3에서의 수행 시간은 큰 차이가 난다는 사실을 알 수 있다. 그리고, 사례3과 사례4에서의 수행 시간도 큰 차이가 나지 않는다.
즉, SQL 문의 수행 시간은 인덱스용 파일의 저장 위치보다는 데이터용 파일의 저장 위치에 따라 큰 차이가 발생되고, 솔리드 스테이드 드라이브에 데이터용 파일을 배치하는 경우에 데이터베이스 서버 시스템의 SQL 문의 수행 시간이 단축된다는 것을 알 수 있다.
그리고, 동일한 사례에서도 읽어내는 블록 수가 증가할 때 SQL 문의 수행 시간의 증가 기울기를 비교하면, 4개 사례에서 모두 읽어내는 블록 수가 증가할수록 SQL 문의 수행 시간도 증가한다. 그러나, 각 사례별로 SQL 문의 수행 시간의 증가 기울기는 확연히 차이가 난다. 즉, 하드 디스크 드라이브에 데이터용 파일을 배치했을 경우 읽어내는 블록수의 증가량과 비례하여 SQL 문의 수행 시간이 증가하지만, 솔리드 스테이트 드라이브에 데이터용 파일을 배치했을 경우 SQL 문의 수행 시간의 증가 기울기는 크게 변하지 않는다.
이는 솔리드 스테이트 드라이브에 데이터용 파일을 배치하면, 대량의 데이터를 읽을 때 데이터베이스 서버 시스템의 성능은 훨씬 향상된다는 것을 보여준다.
이와 같은 테스트 결과로부터 데이터용 파일과 인덱스용 파일을 각각 솔리드 스테이트 드라이브(SSD)에 저장하는 사례1의 데이터베이스 관리 방식이 데이터베이스 서버 시스템의 성능면에서는 가장 우수하다는 사실을 알 수 있다. 그러나, 사례1은 데이터베이스 서버 시스템을 구축하기 위한 비용을 커지는 단점이 있다.
이에 비하여, 데이터용 파일은 솔리드 스테이트 드라이브(SSD)에 저장하고, 인덱스용 파일은 하드 디스크 드라이브(HDD)에 저장하는 본 발명의 기술적 사상에 따른 사례2와 같은 데이터베이스 관리 방식은 데이터베이스 서버 시스템의 성능면에서 사례1과 큰 차이가 없으면서도 데이터베이스 서버 시스템을 구축하기 위한 비용을 절감할 수 있게 된다.
본 발명은 방법, 장치, 시스템 등으로서 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필연적으로 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되어 질 수 있다.
첨부된 도면에 도시되어 설명된 특정의 실시 예들은 단지 본 발명의 예로서 이해되어 지고, 본 발명의 범위를 한정하는 것이 아니며, 본 발명이 속하는 기술분야에서 본 발명에 기술된 기술적 사상의 범위에서도 다양한 다른 변경이 발생될 수 있으므로, 본 발명은 보여지거나 기술된 특정의 구성 및 배열로 제한되지 않는 것은 자명하다.
100; 데이터베이스, 110-1; 버퍼2, 110-2; NV 메모리 컨트롤러, 110-3; NV 메모리, 120-1; 버퍼1, 120-2; HDD 컨트롤러, 120-3; 구동부, 120-4; 리드/라이트 채널 회로, 120-5; 헤드 디스크 어셈블리

Claims (10)

  1. 데이터베이스에서 테이블 형태의 데이터가 저장되는 영역을 제1저장 장치에 할당하고, 상기 데이터를 검색하는데 이용되는 인덱스 정보가 저장되는 영역을 제2저장 장치에 할당하도록 테이블 스페이스를 생성시키는 단계;
    상기 생성된 테이블 스페이스에 따라 테이블 형태의 데이터는 상기 제1저장 장치에 저장하고 인덱스 정보는 상기 제2저장 장치에 저장하는 단계; 및
    입력되는 질의어에 따라서 상기 데이터베이스에 데이터를 저장하거나 상기 데이터베이스를 검색하는 단계를 포함함을 특징으로 하는 데이터베이스 관리 방법.
  2. 제1항에 있어서, 상기 제1저장 장치와 상기 제2저장 장치는 상호 저장 방식이 상이한 저장 장치로 설정함을 특징으로 하는 데이터베이스 관리 방법.
  3. 제1항에 있어서, 상기 제1저장 장치는 상기 제2저장 장치에 비하여 랜덤 액세스 속도가 빠른 저장 장치로 설정함을 특징으로 데이터베이스 관리 방법.
  4. 제1항에 있어서, 상기 제1저장 장치는 솔리드 스테이트 드라이브를 포함하고, 상기 제2저장 장치는 디스크 드라이브를 포함함을 특징으로 하는 데이터베이스 관리 방법.
  5. 제1항에 있어서, 상기 데이터베이스를 검색하는 단계는
    인덱스 스캔 방식을 적용하여 데이터를 검색하는 경우에 상기 제2저장 장치에 저장된 인덱스 정보를 이용하여 원하는 데이터가 저장된 제1저장 장치의 물리적 위치를 찾아내는 단계; 및
    상기 찾아낸 제1저장 장치의 물리적 위치에 저장된 데이터를 읽어내는 단계를 포함함을 특징으로 하는 데이터베이스 관리 방법.
  6. 제1항에 있어서, 상기 데이터베이스에 데이터를 저장하는 단계는
    저장하고자 하는 테이블 형태의 데이터를 검색하는데 이용될 인덱스 정보를 생성시키는 단계; 및
    상기 저장하고자 하는 테이블 형태의 데이터는 제1저장 장치에 저장하고, 상기 인덱스 정보는 제2저장 장치에 저장하는 단계를 포함함을 특징으로 하는 데이터베이스 관리 방법.
  7. 정보 저장 방식이 상이한 복수의 저장 장치들로 구성된 데이터베이스; 및
    상기 데이터베이스에서 테이블 형태의 데이터는 상기 복수의 저장 장치들 중의 제1저장 장치에 저장하고, 상기 데이터를 검색하는데 이용되는 인덱스 정보는 상기 복수의 저장 장치들 중의 제2저장 장치에 저장하도록 상기 데이터베이스를 관리하는 데이터베이스 관리 시스템을 포함함을 특징으로 하는 데이터베이스 서버 시스템.
  8. 제7항에 있어서, 상기 제1저장 장치는 솔리드 스테이트 드라이브를 포함하고, 상기 제2저장 장치는 디스크 드라이브를 포함함을 특징으로 하는 데이터베이스 서버 시스템.
  9. 제7항에 있어서, 상기 데이터베이스 관리 시스템은
    테이블 형태의 데이터가 저장되는 영역을 제1저장 장치에 할당하고 상기 데이터를 검색하는데 이용되는 인덱스 정보가 저장되는 영역을 제2저장 장치에 할당하도록 테이블 스페이스를 생성시키고, 상기 생성된 테이블 스페이스에 테이블 및 인덱스를 생성시키는 테이블/인덱스 관리부;
    수신되는 질의문을 분석하여 실행할 요구를 판정하는 질의문 분석부; 및
    상기 질의문 분석부에서 판정된 요구를 실행하는 질의문 실행부를 포함함을 특징으로 하는 데이터베이스 서버 시스템.
  10. 제1항 내지 제6항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램 코드를 기록한 컴퓨터로 읽을 수 있는 저장매체.
KR1020100064879A 2010-07-06 2010-07-06 데이터베이스 관리 방법 및 이를 이용한 데이터베이스 서버 시스템 KR20120004162A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100064879A KR20120004162A (ko) 2010-07-06 2010-07-06 데이터베이스 관리 방법 및 이를 이용한 데이터베이스 서버 시스템
US13/176,849 US20120011127A1 (en) 2010-07-06 2011-07-06 Database management method and database server system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100064879A KR20120004162A (ko) 2010-07-06 2010-07-06 데이터베이스 관리 방법 및 이를 이용한 데이터베이스 서버 시스템

Publications (1)

Publication Number Publication Date
KR20120004162A true KR20120004162A (ko) 2012-01-12

Family

ID=45439324

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100064879A KR20120004162A (ko) 2010-07-06 2010-07-06 데이터베이스 관리 방법 및 이를 이용한 데이터베이스 서버 시스템

Country Status (2)

Country Link
US (1) US20120011127A1 (ko)
KR (1) KR20120004162A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150053702A (ko) * 2013-11-08 2015-05-18 삼성전자주식회사 하이브리드 버퍼 풀
KR20200121986A (ko) * 2019-04-17 2020-10-27 주식회사 티맥스티베로 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9779057B2 (en) 2009-09-11 2017-10-03 Micron Technology, Inc. Autonomous memory architecture
CN103559200A (zh) * 2013-10-07 2014-02-05 宁波芝立软件有限公司 一种亲缘关系信息库构建方法
US10003675B2 (en) 2013-12-02 2018-06-19 Micron Technology, Inc. Packet processor receiving packets containing instructions, data, and starting location and generating packets containing instructions and data
US20150169622A1 (en) * 2013-12-06 2015-06-18 Zaius, Inc. System and method for storing and retrieving data in different data spaces
US9747331B2 (en) 2014-10-06 2017-08-29 International Business Machines Corporation Limiting scans of loosely ordered and/or grouped relations in a database
KR102251811B1 (ko) 2015-01-02 2021-05-13 삼성전자주식회사 하드웨어 필터를 포함하는 데이터 저장 장치 및 상기 데이터 저장 장치를 포함하는 데이터 처리 시스템
US20180146002A1 (en) * 2015-07-16 2018-05-24 Raymond Canfield Cyber Security System and Method Using Intelligent Agents
US10394789B1 (en) * 2015-12-07 2019-08-27 Amazon Technologies, Inc. Techniques and systems for scalable request handling in data processing systems
CN107402850B (zh) * 2017-07-31 2021-02-09 苏州浪潮智能科技有限公司 一种数据库数据文件的冗余方法与装置
US11093493B1 (en) * 2018-09-28 2021-08-17 Amazon Technologies, Inc. Dynamically switching between query and scan for optimizing table reads

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836036B2 (en) * 2007-09-21 2010-11-16 International Business Machines Corporation System and method for estimating distances between multiple index-driven scan operations
US8327066B2 (en) * 2008-09-30 2012-12-04 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations
WO2010087803A1 (en) * 2009-01-29 2010-08-05 Lsi Corporation Allocate-on-write snapshot mechanism to provide dynamic storage tiering on-line data placement for volumes
US9165021B2 (en) * 2009-04-14 2015-10-20 International Business Machines Corporation Managing database object placement on multiple storage devices
US9881039B2 (en) * 2009-05-26 2018-01-30 International Business Machines Corporation Rebalancing operation using a solid state memory device
US8612718B2 (en) * 2009-08-19 2013-12-17 Seagate Technology Llc Mapping alignment
US8214580B2 (en) * 2009-10-23 2012-07-03 International Business Machines Corporation Solid state drive with adjustable drive life and capacity
US8204892B2 (en) * 2009-10-26 2012-06-19 Oracle International Corporation Performance boost for sort operations
JP5183650B2 (ja) * 2010-02-17 2013-04-17 株式会社日立製作所 計算機システム,計算機システムにおけるバックアップ方法及びプログラム
US9063666B2 (en) * 2010-03-25 2015-06-23 International Business Machines Corporation File index, metadata storage, and file system management for magnetic tape
US8239618B2 (en) * 2010-05-27 2012-08-07 Dell Products L.P. System and method for emulating preconditioning of solid-state device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150053702A (ko) * 2013-11-08 2015-05-18 삼성전자주식회사 하이브리드 버퍼 풀
KR20200121986A (ko) * 2019-04-17 2020-10-27 주식회사 티맥스티베로 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램

Also Published As

Publication number Publication date
US20120011127A1 (en) 2012-01-12

Similar Documents

Publication Publication Date Title
KR20120004162A (ko) 데이터베이스 관리 방법 및 이를 이용한 데이터베이스 서버 시스템
US10248676B2 (en) Efficient B-Tree data serialization
CN110825748B (zh) 利用差异化索引机制的高性能和易扩展的键值存储方法
US9262458B2 (en) Method and system for dynamically partitioning very large database indices on write-once tables
CN111221776B (zh) 面向非易失性内存的文件系统的实现方法、系统及介质
KR101289931B1 (ko) 다양한 블록 크기를 지원하는 주소 사상을 사용하여 플래시 메모리 내에 데이터를 저장하는 방법 및 장치
US8296286B2 (en) Database processing method and database processing system
JP5902323B2 (ja) コンテンツ派生データのメモリ内配置方法および装置
JPWO2017013758A1 (ja) データベース検索システム及びデータベース検索方法
US11288287B2 (en) Methods and apparatus to partition a database
US10095439B2 (en) Tiered storage system, storage controller and data location estimation method
CN111026329B (zh) 基于主机管理瓦记录磁盘的键值存储系统及数据处理方法
KR20180008774A (ko) 파일 저장 시의 색인 구현 방법 및 시스템
Emrich et al. On the impact of flash SSDs on spatial indexing
US20140297944A1 (en) Recording medium, system and method
JP2017211920A (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
US9710504B2 (en) Data processing and writing method and related apparatus
US10528116B2 (en) Fast resume from hibernate
US11080299B2 (en) Methods and apparatus to partition a database
Na et al. Iplb+-tree for flash memory database systems.
Wu et al. A data management method for databases using hybrid storage systems
US20130246842A1 (en) Information processing apparatus, program, and data allocation method
US20160313915A1 (en) Management apparatus, storage system, method, and computer readable medium
Ma et al. Hmss: A high performance host-managed shingled storage system based on awareness of smr on block layer
Byun et al. Asymmetric index management scheme for high-capacity compressed databases

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid