KR20090065136A - Method of data storing in memory page with key-value data model - Google Patents

Method of data storing in memory page with key-value data model Download PDF

Info

Publication number
KR20090065136A
KR20090065136A KR1020070132588A KR20070132588A KR20090065136A KR 20090065136 A KR20090065136 A KR 20090065136A KR 1020070132588 A KR1020070132588 A KR 1020070132588A KR 20070132588 A KR20070132588 A KR 20070132588A KR 20090065136 A KR20090065136 A KR 20090065136A
Authority
KR
South Korea
Prior art keywords
page
key
data
column
value
Prior art date
Application number
KR1020070132588A
Other languages
Korean (ko)
Other versions
KR100921683B1 (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 KR1020070132588A priority Critical patent/KR100921683B1/en
Publication of KR20090065136A publication Critical patent/KR20090065136A/en
Application granted granted Critical
Publication of KR100921683B1 publication Critical patent/KR100921683B1/en

Links

Images

Classifications

    • 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/0877Cache access modes
    • G06F12/0882Page mode
    • 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/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures

Abstract

A method of storing data in a memory page for a key value data model is provided to store data divided by a key value unit in a page inside a main page, thereby largely reducing cache miss. In page header information, an address of a low key page is searched(S301). A low key is searched from the low key page by using an offset table of a page(S302). When a key page of a corresponding column exists, a key page address of the corresponding column is obtained. An address of a value page is obtained based on the low key data(S305). Searching query data is performed by searching the value data(S306).

Description

키-값 데이터 모델을 위한 메모리 페이지 내 데이터 저장방법 {Method Of Data Storing In Memory Page With Key-Value Data Model}Method of Data Storing In Memory Page With Key-Value Data Model}

본 발명은 키-값 데이터 모델에 적합하고, 컬럼 페이지를 키 페이지와 값 페이지로 구성함으로써 캐시를 최적화할 수 있는 메모리 페이지 내의 데이터 저장방법에 대한 것이다.The present invention relates to a method for storing data in a memory page that is suitable for the key-value data model and that can optimize the cache by configuring column pages into key pages and value pages.

본 발명은 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다 [과제관리번호:2007-S-016-01, 과제명: 저비용 대규모 글로벌 인터넷 서비스 솔루션 개발].The present invention is derived from the research conducted as part of the IT new growth engine core technology development project of the Ministry of Information and Communication and the Ministry of Information and Communication Research and Development. [Task Management Number: 2007-S-016-01, Title: Low-cost large-scale global Internet service solution Development].

기존의 디스크 기반 관계형 데이터베이스 환경에서, 질의 처리 연산을 위해 디스크에 저장되어 있는 해당 페이지를 메인 메모리 내에 적재하여 페이지에 저장되어 있는 데이터 구성을 해석하고, 이 데이터의 일부분이 캐시에 적재되어 처리한다. In the existing disk-based relational database environment, the corresponding page stored in the disk is loaded into main memory for query processing, and the data structure stored in the page is interpreted, and a part of the data is loaded into the cache and processed.

이때 질의 패턴에 따라 메인 메모리 페이지에 적재된 데이터에 대한 접근 패 턴이 다르므로, 가능한 한 캐시 미스를 최소화할 수 있는 페이지 구성이 필요하다.At this time, since the access pattern for the data loaded in the main memory page is different according to the query pattern, it is necessary to construct a page that can minimize the cache miss as much as possible.

일반적으로 상용 관계형 데이터베이스들은 레코드 기반으로 데이터를 디스크에 저장하므로 NSM (N-ary Storage Model)을 사용하여 메모리 페이지 내에 데이터 레코드를 구성하고 있다. NSM은 메모리 페이지 내에 데이터를 레코드 단위로 순차적으로 저장하고 페이지의 마지막에 오프셋 테이블(offset table)을 두어 각 레코드의 위치를 저장하고 있다. 하지만 대부분의 질의(query)는 레코드의 일부분, 즉 일부 컬럼만을 사용하므로 연산에 필요없는 데이터까지 캐시에 적재되어 메인 메모리와 캐시 사이에 불필요한 I/O가 발생하는 문제점이 있다.In general, commercial relational databases store data on disk on a record-based basis, which uses the N-ary Storage Model (NSM) to organize data records within memory pages. The NSM stores the data sequentially in record units in a memory page and places an offset table at the end of the page to store the position of each record. However, since most queries use only a part of a record, that is, some columns, data that is not required for operation is loaded into the cache, causing unnecessary I / O between the main memory and the cache.

이를 최소화하기 위해 DSM (Decomposition Storage Model)이 제안되었다. DSM은 n개의 컬럼으로 구성된 레코드를 수직으로 분할하여 n개의 서브 릴레이션으로 분할한 후 디스크에 저장하는 방법으로, 메모리 페이지를 컬럼 별로 구성하는 방법이다. 하지만 질의가 여러 컬럼으로 구성될 경우 각 컬럼이 저장되어 있는 여러 개의 페이지 접근이 필요하고, 서브 릴레이션 간의 조인으로 인해 오히려 성능이 떨어지는 문제가 발생한다.In order to minimize this, a Decomposition Storage Model (DSM) has been proposed. DSM divides records consisting of n columns vertically, divides them into n sub relations, and stores them on disk. A DSM is a method of organizing memory pages by columns. However, when a query is composed of several columns, multiple page accesses are stored, and the performance decreases due to joins between sub-relations.

이러한 DSM의 문제점을 해결하기 위해 제안된 PAX (Partition Attributes Across)는 디스크에는 레코드 기반으로 저장되어 있으나 메모리 내에 적재시 메모리 페이지를 서브 파티션으로 나누어 각 컬럼 별로 같은 파티션에 함께 저장함으로써 특정 컬럼만을 접근시 메인 메모리와 캐시 간의 캐시 미스를 최소화하는 방법이다.PAX (Partition Attributes Across) proposed to solve this problem of DSM is stored on disk based on records, but when loaded in memory, memory pages are divided into subpartitions and stored in the same partition for each column to access only specific columns. This method minimizes cache misses between main memory and the cache.

최근엔 대용량의 데이터 관리를 위해 범용의 관계형 모델 대신 응용에 특화 된 데이터 관리 시스템이 제안되고 있다. 키-값 데이터 모델은 대용량의 데이터를 기반으로 서비스하는 응용 환경을 고려하여 키 기반의 접근을 지원하는 모델이므로 이에 맞는 메모리 내 페이지 구성이 요구된다.Recently, data management systems specialized for applications have been proposed instead of general-purpose relational models for managing large amounts of data. The key-value data model is a model that supports key-based access in consideration of an application environment that services based on a large amount of data. Therefore, an in-memory page configuration is required.

본 발명은 키-값 데이터 모델에 적합한 메모리 페이지 내의 데이터 저장방법을 제공함으로써 캐시를 최적화하는 방법을 제공하는 데 그 목적이 있다.It is an object of the present invention to provide a method for optimizing the cache by providing a data storage method in a memory page suitable for the key-value data model.

전술한 목적을 이루기 위하여, 본 발명은 메모리 내 페이지를 관리하기 위한 정보를 저장하는 페이지 헤더를 저장하는 단계와, 로우 키 및 각 컬럼의 저장 위치에 대한 정보를 포함하는 로우 키 페이지를 생성하는 단계와, 셀 키를 저장하는 키 페이지와 데이터를 저장하는 값 페이지를 구분하여 컬럼 페이지를 생성하는 단계를 포함하는 캐쉬 최적화를 위한 메모리 페이지 내 데이터 저장 방법을 제공한다.To achieve the above object, the present invention provides a method for storing a page header that stores information for managing a page in memory, and generating a low key page including information about a row key and a storage location of each column. And generating a column page by dividing a key page for storing a cell key and a value page for storing data, and providing a data page in a memory page for cache optimization.

본 발명의 다른 면에 따라, 페이지 헤더에서 로우 키 페이지의 위치정보를 획득하고, 이를 기초로 로우 키 데이터를 획득하는 단계와, 상기 로우 키 데이터를 기초로 해당 컬럼의 키 페이지 및 값 페이지의 위치정보를 획득하는 단계와, 상기 키 페이지의 위치 정보를 기초로, 셀 키를 검색하는 단계와, 상기 값 페이지의 위치 정보를 기초로, 해당 값 데이터를 검색하는 단계를 포함하는 캐쉬 최적화를 위한 메모리 페이지 내 데이터 검색 방법을 제공한다.According to another aspect of the present invention, obtaining location information of a row key page from a page header, and obtaining row key data based on the location information, and position of a key page and a value page of a corresponding column based on the row key data. Obtaining information, retrieving a cell key based on location information of the key page, and retrieving corresponding value data based on location information of the value page; Provides a way to retrieve data within a page.

본 발명에 따르면, 키-값 단위로 데이터를 분할하여 메인 메모리 내의 페이지에 저장함으로써, 캐시 미스의 발생을 현저히 감소시켜 캐시를 최적화할 수 있다.According to the present invention, by dividing data into key-value units and storing the data in a page in the main memory, the cache miss can be significantly reduced to optimize the cache.

이하에서는, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings a preferred embodiment according to the present invention will be described in detail.

키-값 데이터 모델은 하나의 로우(row)가 키와 여러 개의 컬럼(column)으로 구성되고, 각 컬럼에는 다수 개의 데이터(여기서 개개의 데이터를 셀이라 칭하기로 한다.) 저장이 가능하다. 셀은 로우 키와 컬럼에 의해 액세스되는 데이터 값으로 키-값의 집합으로 구성된다. 데이터의 검색은 키를 기반으로 접근하는 단순한 모델의 경우, 로우 키를 기반으로 로우 데이터 또는 로우의 일부 컬럼을 검색할 수 있고, 특정 컬럼의 셀 키를 기반으로 데이터를 액세스할 수 있다. In the key-value data model, one row is composed of a key and several columns, and each column can store a plurality of data (herein, individual data is called a cell). A cell consists of a set of key-values with data values accessed by row keys and columns. In the simple model of accessing data based on a key, the data may be searched based on a row key or a part of a row of a row, and the data may be accessed based on a cell key of a specific column.

또한 키-값 데이터 모델은 접근 패턴에 최적화된 저장을 통하여 디스크 I/O를 줄일 수 있도록, 같이 활용되는 컬럼 데이터들을 같이 저장할 수 있는 방법을 제공한다. 즉, 하나 이상의 컬럼으로 구성되는 컬럼그룹(column group)을 정의할 수 있으며, 컬럼그룹 단위로 디스크에 저장한다.In addition, the key-value data model provides a way to store the column data used together to reduce disk I / O through optimized storage for access patterns. That is, a column group consisting of one or more columns can be defined and stored in disk in units of column groups.

상기와 같은 키-값 모델에서 캐시 성능 최적화를 위해 다음과 같이 메모리를 구성한다.In the above key-value model, memory is configured as follows to optimize cache performance.

키-값 데이터 모델은 컬럼그룹 단위로 디스크에 데이터를 저장함으로써 메인 메모리에 적재시 필요한 데이터만 적재되어 캐시를 최적화 할 수 있다. The key-value data model stores data on disk in column group units to optimize the cache by loading only the data necessary for loading into main memory.

그러나 컬럼그룹 단위로 데이터를 저장할 때는 다음의 2가지 경우를 고려해야 한다. 첫번째, 컬럼그룹이 하나의 컬럼으로 구성될 경우로서 이때는 페이지 내에 컬럼 데이터를 그대로 저장함으로써 컬럼기반의 메모리 페이지를 구성할 수 있다. 두번째는 컬럼그룹이 2개 이상의 컬럼으로 구성될 경우로써, 컬럼그룹 단위로 메모리내 저장시 하나의 컬럼 내에서 셀 키 기반 접근시 효율적이지 못하다. 그러므로 셀 키 기반의 접근을 고려하여 페이지를 구성하여야 하므로 컬럼 단위로 분할하여 메모리의 페이지에 저장한다. 컬럼 별로 저장시, 키 기반 접근을 고려하여 페이지 내의 컬럼 페이지는 키 페이지와 값 페이지로 구성하여 저장함으로써 셀 키에 의한 데이터 검색성능을 향상시킨다.However, when storing data in column group units, two cases should be considered. First, when a column group consists of one column, a column-based memory page can be configured by storing column data in the page as it is. Secondly, when a column group is composed of two or more columns, it is not efficient when cell key-based access is performed in one column when stored in memory in a column group unit. Therefore, the page should be composed in consideration of cell key-based access, so it is divided into columns and stored in the page of memory. When storing by column, considering the key-based approach, the column page in the page is composed of the key page and the value page and stored to improve the data retrieval performance by the cell key.

도 1은 웹 페이지를 저장한 웹 테이블의 일실시예를 도시한 개략도이고, 도 2는 도 1의 테이블을 기초로 메모리 페이지를 구성한 일실시예를 도시한 개략도이다.1 is a schematic diagram illustrating an embodiment of a web table storing a web page, and FIG. 2 is a schematic diagram illustrating an embodiment of configuring a memory page based on the table of FIG. 1.

도 1에서 도시된 바와 같이, 테이블에서 contents 컬럼과 anchor 컬럼이 존재하고 각 contents 컬럼과 anchor 컬럼이 컬럼그룹을 구성한다고 할 때, 도 2에 도시된 바와 같이 메모리 내에 페이지를 구성할 수 있다.As illustrated in FIG. 1, when a contents column and an anchor column exist in a table, and each contents column and anchor column constitute a column group, a page may be configured in a memory as illustrated in FIG. 2.

페이지 헤더(page header)(100)는 페이지 ID, 서브페이지의 시작주소 (포인 터) 및 크기 등 페이지를 관리하기 위한 정보들을 저장한다. 도시된 바와 같이, 4개의 서브페이지(예컨대, 로우 키 페이지(200), contents 컬럼 페이지(310), anchor 키 페이지(321), anchor 값 페이지(322))로 구성되었기 때문에 페이지 헤더는 4개의 포인터를 저장한다.The page header 100 stores information for managing a page such as a page ID, a start address (pointer) and a size of a subpage. As shown, the page header is four pointers because it consists of four subpages (e.g., low key page 200, contents column page 310, anchor key page 321, anchor value page 322). Save it.

로우 키 페이지(200)는 로우 키(210)와 각 컬럼의 저장 위치에 대한 정보(220)를 갖는다. 각 컬럼 페이지의 오프셋 테이블(offset table)에 존재하는 컬럼의 시작위치를 저장한 블록을 포인터로 지시함으로써 상기 컬럼의 저장위치 정보(220)를 표시할 수 있다.The low key page 200 has a low key 210 and information 220 about the storage location of each column. The storage location information 220 of the column can be displayed by indicating a block that stores the start position of the column existing in the offset table of each column page with a pointer.

컬럼 페이지(300)는 컬럼이 키가 없는 경우이면 값 페이지 만으로 구성되고 (예컨대 contens 컬럼(310)), 키가 있는 경우라면 키 페이지와 값 페이지로 구분하여 각각 셀 키와 데이터를 저장한다. (예컨대 anchor 컬럼(320))The column page 300 is composed of only a value page when the column does not have a key (for example, a contens column 310), and when there is a key, the column page 300 stores a cell key and data, respectively. (E.g. anchor column 320)

도 3은 본 발명에 따른 페이지 내 데이터를 검색 또는 갱신하는 방법의 순서도를 보여준다. 3 shows a flowchart of a method for retrieving or updating data in a page according to the present invention.

예를 들어 아래와 같은 명령어를 처리하는 경우, 이 명령어는 테이블 T 내에서 "com.cnn.www"를 로우 키로 하고, "anchor"를 컬럼으로 하는 모든 데이터를 검색하라는 명령어이다.For example, if you process the following command, this command will retrieve all data in table T with "com.cnn.www" as a low key and "anchor" as a column.

get (T, "com.cnn.www", "anchor")get (T, "com.cnn.www", "anchor")

상기 명령어를 처리하기 위해서, 먼저 페이지 헤더 정보에서 로우 키 페이지의 주소를 찾아서 로우 키 페이지로 이동한다 (S301). 로우 키 페이지에서 페이지 의 오프셋 테이블을 이용하여 로우 키를 검색한다 (S302). 로우 키 데이터는 로우 키, 오프셋 테이블 내 셀 데이터의 포인터를 가지는 블록의 주소 및 키-값 데이터의 개수를 포함하고 있기 때문에, 셀 키 데이터를 검색할 수 있다. In order to process the command, first, the address of the low key page is found in the page header information and then moved to the low key page (S301). In the low key page, the low key is searched using the offset table of the page (S302). Since the low key data includes the low key, the address of the block having the pointer of the cell data in the offset table, and the number of key-value data, the cell key data can be retrieved.

상기 로우 키 데이터를 기초로 해당 컬럼을 결정하고, 해당 컬럼의 키 페이지가 존재하는 경우 상기 해당 컬럼의 키 페이지 주소를 획득하고 상기 키 페이지로 이동하고 (S303), 상기 키 페이지에서 셀 키를 검색한다 (S304).Determine a corresponding column based on the row key data, and if a key page of the corresponding column exists, obtain a key page address of the corresponding column, move to the key page (S303), and search for a cell key in the key page. (S304).

상기와 마찬가지로, 로우 키 데이터를 기초로 값 페이지의 주소를 획득하고 상기 값 페이지로 이동하고 (S305), 값 데이터를 검색하여 질의 데이터의 검색을 수행할 수 있다 (S306). 이때, 상기 로우 키 데이터를 기초로 해당 컬럼의 키 페이지 주소 및 값 페이지의 주소를 구하는 과정은 셀 키 및 값 데이터의 검색 전에 함께 발생할 수도 있고, 각각 셀 키 및 값 데이터의 검색 단계 직전에 수행될 수도 있다.As described above, an address of a value page may be obtained based on the row key data, the value page may be moved (S305), and the value data may be searched to search the query data (S306). In this case, the process of obtaining the key page address and the value page address of the corresponding column based on the row key data may occur together before retrieval of the cell key and value data, and may be performed immediately before the retrieval step of the cell key and value data, respectively. It may be.

이상, 바람직한 실시예와 첨부도면의 참조하여 본 발명의 구성에 대하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서 본 발명의 기술적 사상의 범주내에서 다양한 변형과 변경이 가능함은 물론이다.As mentioned above, although the configuration of the present invention has been described in detail with reference to the preferred embodiments and the accompanying drawings, it is only an example and various modifications and changes are possible within the scope of the technical idea of the present invention.

따라서, 본 발명의 권리범위는 이하의 특허청구범위의 기재에 의하여 정하여 져야 할 것이다.Therefore, the scope of the present invention should be defined by the following claims.

도 1은 웹 페이지를 저장한 웹 테이블의 일실시예를 도시한 개략도.1 is a schematic diagram illustrating one embodiment of a web table storing a web page;

도 2는 도 1의 테이블을 기초로 메모리 페이지를 구성한 일실시예를 도시한 개략도.FIG. 2 is a schematic diagram illustrating an embodiment in which memory pages are configured based on the table of FIG. 1; FIG.

도 3은 본 발명에 따른 페이지 내 데이터를 검색 또는 갱신하는 방법의 순서도.3 is a flow chart of a method for retrieving or updating data in a page according to the present invention.

Claims (8)

키-값 데이터 모델을 메모리 페이지 내에 저장하는데 있어서, In storing the key-value data model in a memory page, 메모리 내 페이지를 관리하기 위한 정보를 저장하는 페이지 헤더를 저장하는 단계와,Storing a page header for storing information for managing pages in memory; 로우 키 및 각 컬럼의 저장 위치에 대한 정보를 포함하는 로우 키 페이지를 생성하는 단계와, Generating a low key page containing information about the low key and the storage location of each column; 셀 키를 저장하는 키 페이지와 데이터를 저장하는 값 페이지를 구분하여 컬럼 페이지를 생성하는 단계Generating a column page by separating the key page storing the cell key from the value page storing the data 를 포함하는 것을 특징으로 하는 캐쉬 최적화를 위한 메모리 페이지 내 데이터 저장 방법.Method of storing data in a memory page for cache optimization, comprising a. 제1항에 있어서, 상기 페이지 헤더는,The method of claim 1, wherein the page header, 페이지 아이디, 서브 페이지 시작 주소 및 서브페이지 크기 중 적어도 하나를 포함하는 것Including at least one of a page ID, subpage start address, and subpage size 을 특징으로 하는 캐쉬 최적화를 위한 메모리 페이지 내 데이터 저장 방법.A method of storing data in a memory page for cache optimization, characterized by the above-mentioned. 제1항에 있어서, 상기 컬럼 페이지를 생성하는 단계는,The method of claim 1, wherein generating the column page comprises: 상기 컬럼에 키가 존재하지 않는 경우, 값 페이지 만으로 컬럼 페이지를 생성하는 단계If a key does not exist in the column, generating a column page using only a value page. 를 포함하는 것을 특징으로 하는 캐쉬 최적화를 위한 메모리 페이지 내 데이터 저장 방법.Method of storing data in a memory page for cache optimization, comprising a. 제1항에 있어서, 상기 컬럼 페이지를 생성하는 단계는,The method of claim 1, wherein generating the column page comprises: 컬럼의 시작위치를 나타내는 블록을 포함하는 오프셋 테이블을 생성하는 단계Generating an offset table comprising a block representing the start of a column 를 더 포함하는 것을 특징으로 하는 캐쉬 최적화를 위한 메모리 페이지 내 데이터 저장 방법.The data storage method of the memory page for cache optimization further comprising a. 제4항에 있어서, 상기 로우 키 페이지를 생성하는 단계는,The method of claim 4, wherein generating the low key page comprises: 컬럼의 저장위치 정보를 표시하기 위하여, 각 컬럼의 오프셋 테이블 중 컬럼의 시작위치를 나타내는 블록을 지정하는 포인터를 생성하는 단계Generating a pointer to designate a block indicating the start position of the column in the offset table of each column to display the storage location information of the column 를 포함하는 것을 특징으로 하는 캐쉬 최적화를 위한 메모리 페이지 내 데이터 저장 방법.Method of storing data in a memory page for cache optimization, comprising a. 키-값 데이터 모델을 기초로 메모리 페이지를 검색하는데 있어서,In retrieving a memory page based on a key-value data model, (a) 페이지 헤더에서 로우 키 페이지의 위치정보를 획득하고, 이를 기초로 로우 키 데이터를 획득하는 단계와,(a) obtaining location information of the low key page from the page header, and obtaining the low key data based on the location information; (b) 상기 로우 키 데이터를 기초로 해당 컬럼의 키 페이지 및 값 페이지의 위치정보를 획득하는 단계와,(b) obtaining location information of a key page and a value page of a corresponding column based on the row key data; (c) 상기 키 페이지의 위치 정보를 기초로, 셀 키를 검색하는 단계와,(c) retrieving a cell key based on the location information of the key page; (d) 상기 값 페이지의 위치 정보를 기초로, 해당 값 데이터를 검색하는 단계(d) retrieving corresponding value data based on the location information of the value page; 를 포함하는 것을 특징으로 하는 캐쉬 최적화를 위한 메모리 페이지 내 데이터 검색 방법.The method of retrieving data in a memory page for cache optimization, comprising: a. 제6항에 있어서, 상기 (a) 단계는,According to claim 6, wherein step (a), 상기 위치가 파악된 로우 키 페이지에 존재하는 오프셋 테이블을 이용하여, 로우 키 데이터를 획득하는 단계Acquiring the low key data by using the offset table present in the low key page where the position is determined. 를 포함하는 것을 특징으로 하는 캐쉬 최적화를 위한 메모리 페이지 내 데이터 검색 방법.The method of retrieving data in a memory page for cache optimization, comprising: a. 제6항 또는 제7항에 있어서, 상기 로우 키 데이터는,The method of claim 6 or 7, wherein the low key data, 로우 키, 오프셋 테이블 내의 셀 데이터의 포인터를 가직는 블록의 주소 및 키-값 데이터의 갯수 중 적어도 하나를 포함하는 것At least one of a row key, an address of a block holding a pointer to cell data in an offset table, and a number of key-value data 을 특징으로 하는 캐쉬 최적화를 위한 메모리 페이지 내 데이터 검색 방법.A method of retrieving data in a memory page for cache optimization, characterized by the above-mentioned.
KR1020070132588A 2007-12-17 2007-12-17 Method Of Data Storing In Memory Page With Key-Value Data Model KR100921683B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070132588A KR100921683B1 (en) 2007-12-17 2007-12-17 Method Of Data Storing In Memory Page With Key-Value Data Model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070132588A KR100921683B1 (en) 2007-12-17 2007-12-17 Method Of Data Storing In Memory Page With Key-Value Data Model

Publications (2)

Publication Number Publication Date
KR20090065136A true KR20090065136A (en) 2009-06-22
KR100921683B1 KR100921683B1 (en) 2009-10-15

Family

ID=40993573

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070132588A KR100921683B1 (en) 2007-12-17 2007-12-17 Method Of Data Storing In Memory Page With Key-Value Data Model

Country Status (1)

Country Link
KR (1) KR100921683B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023929A1 (en) * 2010-08-17 2012-02-23 Hewlett-Packard Development Company, L.P. Encryption key management
US20170242867A1 (en) * 2016-02-23 2017-08-24 Vikas Sinha System and methods for providing fast cacheable access to a key-value device through a filesystem interface

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2557113B2 (en) * 1988-11-29 1996-11-27 松下電器産業株式会社 Dual port dynamic memory
JP3176228B2 (en) * 1994-08-23 2001-06-11 シャープ株式会社 Semiconductor storage device
KR100328726B1 (en) * 1999-04-29 2002-03-20 한탁돈 Memory access system and method thereof
FR2798767B1 (en) 1999-09-16 2001-12-14 St Microelectronics Sa METHOD FOR WRITING IN PAGE MODE OF AN ELECTRICALLY PROGRAMMABLE / ERASABLE NON-VOLATILE MEMORY AND CORRESPONDING ARCHITECTURE

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023929A1 (en) * 2010-08-17 2012-02-23 Hewlett-Packard Development Company, L.P. Encryption key management
US9165158B2 (en) 2010-08-17 2015-10-20 Hewlett-Packard Development Company, L.P. Encryption key management using distributed storage of encryption-key fragments
US20170242867A1 (en) * 2016-02-23 2017-08-24 Vikas Sinha System and methods for providing fast cacheable access to a key-value device through a filesystem interface
US11301422B2 (en) * 2016-02-23 2022-04-12 Samsung Electronics Co., Ltd. System and methods for providing fast cacheable access to a key-value device through a filesystem interface

Also Published As

Publication number Publication date
KR100921683B1 (en) 2009-10-15

Similar Documents

Publication Publication Date Title
US7158996B2 (en) Method, system, and program for managing database operations with respect to a database table
CN107423422B (en) Spatial data distributed storage and search method and system based on grid
KR102177190B1 (en) Managing data with flexible schema
US20050027692A1 (en) Method, system, and program for accessing data in a database table
US8732139B2 (en) Method and system for dynamically partitioning very large database indices on write-once tables
US6374232B1 (en) Method and mechanism for retrieving values from a database
CN103020204B (en) A kind of method and its system carrying out multi-dimensional interval query to distributed sequence list
US20120323971A1 (en) Optimizing data storage and access of an in-memory database
US20150142733A1 (en) System and method for efficient management of big data in a database using streaming tables
US20100257181A1 (en) Dynamic Hash Table for Efficient Data Access In A Relational Database System
CN103345518B (en) Self-adapting data memory management method based on data block and system
US10521117B2 (en) Unified table delta dictionary memory size and load time optimization
CN103440245A (en) Line and column hybrid storage method of database system
JP2003517165A (en) System for managing RDBM fragmentation
US10289709B2 (en) Interleaved storage of dictionary blocks in a page chain
US7499927B2 (en) Techniques for improving memory access patterns in tree-based data index structures
JPWO2010084754A1 (en) Database system, database management method, and database structure
US20050021924A1 (en) Memory management tile optimization
Ma et al. FILM: a fully learned index for larger-than-memory databases
US6826563B1 (en) Supporting bitmap indexes on primary B+tree like structures
CN107273443B (en) Mixed indexing method based on metadata of big data model
CN111708895B (en) Knowledge graph system construction method and device
KR100921683B1 (en) Method Of Data Storing In Memory Page With Key-Value Data Model
CN112000666A (en) Nematic database management system
JPH07334402A (en) Data base as main memory

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120928

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130923

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140926

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181008

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20191007

Year of fee payment: 11