WO2014061846A1 - Method for generating index for processing mixed query, method for processing mixed query, and recording medium for recording index material structure - Google Patents

Method for generating index for processing mixed query, method for processing mixed query, and recording medium for recording index material structure Download PDF

Info

Publication number
WO2014061846A1
WO2014061846A1 PCT/KR2012/008713 KR2012008713W WO2014061846A1 WO 2014061846 A1 WO2014061846 A1 WO 2014061846A1 KR 2012008713 W KR2012008713 W KR 2012008713W WO 2014061846 A1 WO2014061846 A1 WO 2014061846A1
Authority
WO
WIPO (PCT)
Prior art keywords
index
data
column
node
information
Prior art date
Application number
PCT/KR2012/008713
Other languages
French (fr)
Korean (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 주식회사 리얼타임테크
Publication of WO2014061846A1 publication Critical patent/WO2014061846A1/en

Links

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/2228Indexing structures

Definitions

  • Recording medium recording index generation method, mixed query processing method, and index data structure for complex query processing
  • the present invention relates to an index generating method for a mixed query processing, a mixed query processing method, and a recording medium recording an index data structure. More specifically, the present invention relates to an index generation method for a mixed query processing including index key data and non-index data. It relates to laws, methods of handling complex queries, and recording media that record these index data structures.
  • each table in the database may contain at least one record, and each record may contain at least one column of data.
  • the entire table record may be retrieved. Since comparing and searching sequentially is inefficient, create an index for a specific column in advance, and try to search quickly using the index if necessary.
  • An example of an index structure applied to such an indexing algorithm is the B + tree structure.
  • the B + Tree consists of two parts, an index part and a leaf sequential set part that stores key values.
  • the index part contains information about a path for quick and direct access to the key on the leaf.
  • the index column can be specified in the index search condition when creating a conventional B + tree.
  • the condition is evaluated by a query condition including both the index column and the non-index column, the index column is applied to the index column.
  • Condition evaluation is performed first, and condition evaluation is performed by accessing a table record to obtain column data to perform condition evaluation on non-index columns.
  • disk 10 may be generated to obtain data close to the record, resulting in performance overhead for condition evaluation.
  • the conventional B + Tree stores only index column data in the index, so that the index column can be quickly searched.
  • a query having both an index column and a non-index column as a condition that is, a mixed query
  • the B + Tree is used to search only the index column, and the non-index column data for each searched index column must be read to the actual table record.
  • the present invention has been made to solve the above disadvantages, and its object is to develop an index structure capable of processing a mixed query including both index search conditions and non-index search conditions.
  • Another object of the present invention is to provide a method for processing a mixed query including both an index search condition and a non-index search condition.
  • an index generation method for a mixed query process detects an index generation command for a specific table in a database, and converts argument factor based column information and extended column information included in the index generation command. Cutting; Identifying each column type of a column subjected to reference column information and a column subjected to extension column information by using a table schema for the specific table; And generating index key meta information including all column types identified in the above step and storing the index key meta information in a DBMS catalog.
  • At least one column corresponding to the reference column information is determined as an index key column
  • at least one column referred to as the extended column information is determined as a non-index column
  • the index key meta information is determined. And distinguishing the information on the existing index key column and the information on the non-index column.
  • the index key meta information generated in step (c) includes the number of index key columns, the field meta list for the index key column, the number of non-index columns, and the non-index column meta list.
  • the field meta list includes field meta information for each of the determined index key columns
  • the field meta list for the non-index column includes field meta information for each of the determined non-index columns.
  • the field meta information includes a corresponding column type, a position of a corresponding column in a record, a position of a corresponding column in a node entry which is the basis of data retrieval, and a maximum size of the corresponding column data.
  • using the index key meta information to generate a node page for storing at least one node entry that is the basis of data search to perform the initialization of the generated node page Characterized in that it further comprises.
  • the method may further include generating a node item including the location and size of the generated node entry and storing the node item in the node page.
  • each node item to be treated for each node entry is arranged on the basis of the data to be indexed in the index key column included in the corresponding node entry and stored on the node page. .
  • a mixed query processing method comprises the steps of: receiving a complex query for data retrieval; Selecting an index most closely related to all columns included in the mixed query; Using the index key meta information of the selected index to identify a first node entry and a last node entry including the same index key data as the index key data included in the mixed query among the node entries included in the selected index; ; A node ent including the same non-index data as the non-index data included in the mixed query while moving from the identified first node entry to the last node entry. Extracting the li;
  • a mixed query processing method comprises the steps of: receiving a mixed query for data retrieval; Selecting an index most closely related to all columns included in the mixed query; Identifying the node entry included in the selected index using index key meta information of the selected index, identifying a first node entry and a last node entry including the same index key data as the index key data included in the mixed query; ; Extracting non-index data for each non-index column included in the mixed query from each node entry while moving from the identified first node entry to the last node entry.
  • a computer readable recording medium having recorded thereon an index data structure including at least one index node for performing a data search according to the present invention for achieving the above object, wherein each index node is the basis of data search. At least one node entry is included, and each node entry has a plurality of storage areas each storing data extracted from different columns of any one record in a database table.
  • At least one of a plurality of storage areas provided in each node entry stores index key data for an index key column of the table, and the non-index column of the table is stored in the remaining storage areas of the plurality of storage areas.
  • Non-indexed data is stored in the characterized in that is stored.
  • each storage area for storing the data extracted from each column may include a data storage area for storing real data and a data information storage area for storing the location and size of the data storage area.
  • each index node is characterized in that it comprises at least one node item of a fixed size in which the position and size of each node entry are stored.
  • the total size of each node entry varies according to the number of columns to be stored and the size of actual data.
  • FIG. 1 is a structure of a node page generated by the index generation method according to an embodiment of the present invention
  • FIG. 2 is a view briefly showing a relationship between nodes in a conventional B + Tree
  • FIG. 3 is a structure of a node entry generated by an index generation method according to an embodiment of the present invention
  • FIG. 4 is a detailed structure of a data storage area included in the node entry of FIG. 3;
  • FIG. 5 is a detailed structure of a data information storage area included in the node entry of FIG. 3;
  • FIG. 6 is a structure of a node item generated by an index generation method according to an embodiment of the present invention '
  • FIG. 7 is another example of a node item and a node page generated by an index generation method according to an embodiment of the present invention.
  • FIG. 9 is an example of a table schema for a table generating an index by the index generating method according to an embodiment of the present invention.
  • 10 is an example of index key meta information generated by an index generation method according to an embodiment of the present invention.
  • FIG. 11 is an example of data input to the table of FIG. 9;
  • FIG. 13 is a diagram illustrating an example of a plurality of node entries having the same index key data.
  • FIG. 1 a node page for each index node of an index for mixed query processing according to an embodiment of the present invention is illustrated in FIG. 1.
  • the index for the mixed query processing uses an example of a modification of the conventional B + Tree.
  • B + Tree complements the problem of B-Tree and is a tree structure that minimizes the search between nodes in the tree structure for sequential data processing.
  • the key values in a node are kept in ascending order, and the leaf nodes are linked to each other in the form of a linked list, and all the actual data exists only in the leaf node.
  • FIG. 2 An example in which the conventional B + Tree is formed is illustrated in FIG. 2, where one node page is stored in each node (the circular shape of FIG. 2 corresponds to each node), and each node page has a plurality of nodes.
  • the index structure according to an embodiment of the present invention and the conventional B + Tree index structure are the same in that node entries may be included.
  • the node entry may include at least one index key data as a basis of data search using an index.
  • the index structure according to an embodiment of the present invention is different from the conventional B + Tree structure in that a node item is further configured as described later in the specific configuration of the node entry.
  • 'B + Tree extended index' an index having an index structure according to an embodiment of the present invention will be referred to as 'B + Tree extended index'.
  • Each node page according to an embodiment of the present invention is as shown in FIG. 1 as described above, wherein the node entry stores data of an index key column, that is, data of an index key data and a non-index column, that is, non-index data. It differs from the conventional in that it has at least one storage area.
  • each node entry has a plurality of storage areas each storing data extracted from different columns of any one record in the database table. At least one of the plurality of storage areas included in each node entry The index key data corresponding to the index key column of the table is stored, and the non-index data corresponding to the non-index column of the table is stored in the remaining storage areas of the plurality of storage areas.
  • the index key column refers to a column that is the basis of automatic sorting when creating a B + Tree extended index of a column included in a table, and a non-index column is not the basis of an automatic sorting when generating a B + Tree extended index. It does not mean a column.
  • B + Tree extended index each time a new record is added to the table Is updated while maintaining the sort, where the sorting criteria within the B + Tree extended index corresponds to the index key column.
  • Creating indexes here includes creating index structures and adding index data.
  • the first node entry when the node entry is divided into two storage areas, the first node entry may include one index key data and one non-index data extracted from the first record. In the case where the node entry is divided into three storage areas, the first node entry may include one index key data extracted from the first record and two non-index data.
  • each storage area for storing data extracted from each column may include a data storage area for storing real data and a data information storage area for storing the location and size of the data storage area.
  • the storage area of one entry can be largely divided into a data information storage area and a data storage area.
  • the data storage area is an area in which real data of each column is stored, and may have a structure as shown in FIG. 4A.
  • index key data is stored in a first storage area
  • non-index data is stored in a second storage area and a third storage area, respectively.
  • index key data and non-index data may be stored in different storage areas.
  • the index key data may be stored in the second storage area and the third storage area.
  • the data information storage area is an area for storing information on the data storage area described above, and may have a structure as shown in FIG. 5.
  • index key data information is stored in a first storage area of a data information storage area, and non-index data information is stored in a second storage area and a third storage area, respectively.
  • each storage area may store index key data information or non-index data information.
  • the first storage area is indexed.
  • key data information is stored.
  • the order of each column data information (ie, index key data information and non-index data information) stored in the data information storage area is meta information that manages key configuration information of the B + Tree extended index for mixed query processing.
  • the order of the index key columns and non-index columns stored in the key meta information should be identical.
  • the index key data information should be stored first. In this case, you can store non-index data information after the location where the index key data information is stored.
  • the number of index key data information and non-index data information stored in the data information storage area must match the number of index key data and non-index data stored in the data storage area.
  • each field in which index key data information and non-index data information are stored must be the same in order to ensure the validity of access to the corresponding information, and each field stores location information of the data storage area and data size information.
  • each data information storage area may store information about the position and size of each column data.
  • the first index key data information may include information about the first index key data of FIG.
  • the position (offsetl) and its size (lengthl) are stored, and if the position (offsets and the size (leghth2)) of the second non-index data of FIG. 4 is stored in the second non-index data information, the third non-index data is stored.
  • the location information stores the position offset3 and the size legacy3 for the third non-index data of FIG. 4.
  • the storage order for each column of the data information storage area and the storage order for each column of the data storage area should be the same.
  • the data may be stored directly in the data information storage area for index capacity optimization.
  • FIG. 5B illustrates an example in which non-index data is directly stored instead of location and size information of non-index data stored in the data storage area in the third storage area of the data information storage area.
  • a node item in a B + Tree extension index is a data structure that contains node entry information.
  • each node entry Since the total size of each node entry is variable due to the node entry and structure, if the node entries are arranged without a separate management structure for the node entries, the structure of the node entry becomes more complicated and the computational speed may decrease.
  • the node item data structure is defined to store the node entry information stored in the node page in the node item so that the node items can be used.
  • These node items store two pieces of information.
  • One piece of information is lower node information.
  • the lower node information is stored in the index key data storage area of the parent node, but the B + Tree extension for mixed query processing according to an embodiment of the present invention is performed.
  • the index stores subnode information in the node item structure.
  • information stored in the node entry is information about the node entry, for example, position and size information of the node entry.
  • An example of such a node item structure is shown in FIG. 6.
  • the index entry data may be stored in the node item itself because unnecessary capacity overhead is generated by using the node entry structure.
  • the node item structure is shown in FIG. 7 (a)
  • the node page including the node item is shown in FIG. 7 (b).
  • the condition for storing the index key data in the node item must be clearly stated so that, for example, the maximum size of the index key data Index key data can be stored in the node item only when the size of the region for storing the node entry information is equal to or smaller than the size of the region for storing the node entry information (for example, the size of the region for storing the node entry location and the size).
  • index key meta information representing the structure of the data stored in the index, that is, index key meta information is required.
  • index key meta information for the B + Tree extended index for the mixed query processing When generating a B + Tree extended index for processing a mixed query, reference column information and extended column information may be input by a user.
  • the reference column information may correspond to index key column information and extended column information. Can show non-index column information. If index key meta information using the input information is generated and stored in DBMS system catalog information, it can be referred to when index data loading and mixed query evaluation (data search) are performed.
  • the data structure of the index key meta information for the mixed query stored in the DBMS catalog consists of the field meta data structure that stores the column information of the node entry and the key meta data structure that manages the field information data structure.
  • the field meta data structure is the column type of the index key column or non-index column, the column index where the column is stored in the table record, the maximum size of that column, and the node entry where the index key column data or non-index column data is stored. It includes location information of the data information storage area.
  • the key meta data structure is a data structure for storing and managing the field meta data structure.
  • the meta information that is to be managed is stored as the number of index key columns and non-index columns composed of field meta information. Include field meta data structures for non-index columns.
  • the key meta data structure may include index type information that specifies the type of node page.
  • index key meta information An example of the data structure of such index key meta information is shown in FIG. 8, and a specific example of the index key meta information generated according to this data structure will be described later.
  • the node page may be initialized by creating the node page using the index key meta information before the actual index data is stored.
  • the initialization process of the node page for each index node may include the process of enlarging the header of the node page. Since the creation and initialization of such a node page is a well-known technique, a detailed description thereof will be omitted. .
  • a predetermined event indicates that a new record is registered in the table. It may correspond to a vent, or it may correspond to a command input by a user to extract index data for all records stored in a specific table and load the index data into a pre-generated index.
  • a node entry including both the extracted at least one index key data and at least one non-index data is generated and stored in the node page.
  • Information stored in the node entry has been described above.
  • a node item including the location and size of the node entry created in the previous step is generated and stored in the node page.
  • the maximum string when the column type is 'int' is represented by '-1', which means that the integer type means that the size varies from system to system. For example, in the case of int type, 4 bytes are system. Can be assigned by
  • index' means to create a B + Tree extended index
  • 'idxStudent' is the name of the index to create
  • 'Student' is the name of the table to be indexed
  • '(name)' is 'name' 'Means to select a column as a reference column, that is, an index key column, and' extend telephone, age 'means to select' telephone 'and' age 'columns as non-index columns.
  • the index key meta information is generated according to the query command.
  • An example of the generated index key meta information is shown in FIG.
  • 'type' is the index type
  • 'KeyCount' is the number of index key columns
  • 'KeyFieldDesc' is the field metalist for the index key column
  • ' C0 lType' is the column type
  • 'colldx' is the column position in the record
  • 'colPos' Is the position of the column in the node entry
  • 'cardinality' is the maximum size of the column data
  • 'ExtCount' is the number of non-index columns
  • 'ExtFiddDesc' is the field metalist for the first non-index column
  • 'ExtFieldDesc2' is the second non-index Field meta list for the column.
  • the index type indicates whether the node page has a form including both node items and node entries as shown in FIG. 1 or whether the node page has a form including only node items as shown in FIG.
  • index types include the number of index key columns selected by the user, the number of non-index columns and their maximum size (maximum string size for character types or space size for storing numeric types).
  • maximum string size for character types or space size for storing numeric types.
  • the amount of space where node entry information is stored in the node item (the value is preset by the system. Can be selected).
  • predetermined data is inserted into the table as shown in FIG. 11 while an index having the index key meta information as shown in FIG. 10 is generated.
  • FIG. 11 shows an example in which a total of six records are added to the table. In this case, a node page as shown in FIG. 12 is generated.
  • node entries are stored from the bottom in the record input order of FIG. 11, and node items generated for each node entry are generated with the position and size information of the node entry stored. At this time, the node items are sorted based on the 'name' column data which is the index key data.
  • the data information storage area of the node entry has a structure as shown in FIG. That is, the second non-index data 'age' column data is not stored in the data entry area (see FIGS. 3 and 4) of the node entry, but in the data information storage area of the node entry. This is based on the assumption that the size of the data entry storage area of the node entry is equal to or larger than the size of 'int', a type of the 'age' column.
  • a process of processing a mixed query with reference to the index of FIG. 12 is as follows.
  • the database system first selects the index that most closely matches these two conditions. For example, by checking the index key meta information, the database system can select an index that includes both 'name' and 'age'. As shown in FIG. 10, the index 'idxStudent' includes the 'age' column as a non-index column, although the index key column is set only for the 'name' column, so the database system queries the 'idxStudent' index. You can also choose the index that most closely matches the condition.
  • Eu database system must first obtain the address and the size of the node entry that contains the 'Yoo' After you find the information quickly aligned node item 'Yoo' using in the 'name' column index key columns of data
  • the database system then moves to the corresponding node entry using the acquired node entry position and size information to read the stored information.
  • the database system analyzes the condition for non-index data by referring to the information stored in the corresponding node entry. That is, the database system reads the 'age' column data from the node entry and checks whether it corresponds to '41'. This allows the database system to enter a B + Tree extended index when a mixed query containing both index key data and non-index data is entered. All conditional analysis can be performed in to extract node entries that satisfy all of these conditions.
  • the non-index data is not stored in the node entry, in order to analyze the condition on the non-index data, it was necessary to access the table again and read the necessary data, but according to an embodiment of the present invention, According to FIG. 12, since the non-index data is also stored in the node entry together with the index key data, the condition analysis on the non-index data can be performed in the index.
  • the description is made on the assumption that the index key data has not been increased.
  • the index key data stored in each node entry may be increased or decreased.
  • the database system checks the first node entry and the last node entry that contain the same index key data as the index key data included in the node entry incremental query included in the index, and the last node entry from that first node entry. You can also extract node entries that contain non-index data that is identical to the non-index data included in the mixed query as you move to the entry.
  • the where statement contains only one condition, but the data to be found is the age column data.
  • the database system may select an index including both 'name' and 'age' column data, that is, the above-mentioned 'idxStudent' index as an index for searching.
  • the database system can extract 'age' column data included in the node entry. That is, even in this case, the database system can process in the index without having to access the table to extract 'age' column data.
  • the process of performing each of the above-described embodiments can be performed by a program stored in a predetermined recording medium (for example, computer readable).
  • one example is to process a mixed query by generating a B + Tree extended index having a structure similar to that of B + Tree, but the present invention is not necessarily limited to the B + Tree extended index.
  • the index entry data and the non-index data are included in the node entry that is the basis of the search, they are within the scope of the present invention.
  • an index structure for processing a mixed query can be developed and a high performance search result can be expected for a mixed query including both an index search condition and a non-index search condition.

Abstract

The present invention relates to a method for generating an index for processing a mixed query, a method for processing a mixed query, and a recording medium for recording an index material structure. The method for generating the index for processing the mixed query, according to the present invention, comprises the steps of: determining reference column information and expanded column information from factors included in an index generation command, when the index generation command with respect to a specific table in a database is detected; confirming column types of each of columns corresponding to the reference column information and the expanded column by using a table schema of the specific table; and generating and saving to a database management system (DBMS) catalog index key meta information including all of the column types that are confirmed in the previous step.

Description

【명세서】  【Specification】
【발명의 명칭】  [Name of invention]
흔합 질의 처리를 위한 색인 생성 방법, 혼합 질의 처리 방법 및 색인 자료구조를 기록한 기록 매체  Recording medium recording index generation method, mixed query processing method, and index data structure for complex query processing
【기술분야】  Technical Field
본 발명은 혼합 질의 처리를 위한 색인 생성 방법, 혼합 질의 처리 방법 및 색인 자료구조를 기록한 기록 매체에 관한 것으로, 보다 상세하게는 색인 키 데이터와 비 색인 데이터를 포함하는 혼합 질의 처리를 위한 색인 생성 방 법, 흔합 질의 처리 방법 및 이러한 색인 자료 구조를 기록한 기록 매체에 관 한 것이다.  The present invention relates to an index generating method for a mixed query processing, a mixed query processing method, and a recording medium recording an index data structure. More specifically, the present invention relates to an index generation method for a mixed query processing including index key data and non-index data. It relates to laws, methods of handling complex queries, and recording media that record these index data structures.
【배경기술】  Background Art
데이터베이스에 저장된 데이터를 검색하기 위해서는 다양한 알고리즘의 색인 기술이 이용되고 있다.  In order to retrieve the data stored in the database, a variety of indexing techniques are used.
예를 들어 데이터베이스의 각 테이블에는 적어도 하나의 레코드가 포함 되어 있을 수 있고, 각 레코드에는 적어도 하나의 컬럼에 대웅되는 데이터가 포함되어 있을 수 있는데, 이처럼 테이블에 저장된 데이터를 검색하기 위해서 테이블 레코드 전체를 순차적으로 비교 검색하는 것은 비효율적이므로 미리 특 정 컬럼에 대해서는 색인을 생성해 두고, 필요시 색인을 이용하여 빠른 검색을 시도하는 것이다.  For example, each table in the database may contain at least one record, and each record may contain at least one column of data. In order to retrieve data stored in the table, the entire table record may be retrieved. Since comparing and searching sequentially is inefficient, create an index for a specific column in advance, and try to search quickly using the index if necessary.
이러한 색인 알고리즘에 적용되는 색인 구조의 일 예로써 B+ Tree 구 조가 있다.  An example of an index structure applied to such an indexing algorithm is the B + tree structure.
B+ Tree는 인덱스 부분과 키 값올 저장하는 잎으로 된 순차 세트 부분 의 2부분으로 구성되고 인텍스 부분은 잎에 있는 키를 신속하게 직접 접근 할 수 있는 경로에 관한 정보를 갖고 있는 구조이다.  The B + Tree consists of two parts, an index part and a leaf sequential set part that stores key values. The index part contains information about a path for quick and direct access to the key on the leaf.
그런데 종래의 B+ Tree를 생성할 때의 색인 검색 조건에는 색인 컬럼 만 지정할 수 있으며, 이렇게 생성된 색인에서 색인 컬럼과 비 색인 컬럼을 모 두 포함하는 질의 조건으로 조건 평가를 하게 되는 경우에는 색인 컬럼에 대한 조건 평가를 먼저 수행하고 비 색인 컬럼에 대한 조건 평가를 하기 위해 테이 블 레코드에 접근해 컬럼 데이터를 획득하여 조건 평가를 수행하게 된다. 이때 레코드에 ¾근하여 데이터를 획득하기 위한 디스크 10가 발생할 수 있으며 이 로 인한 조건 평가에 대한 성능상의 오버헤드가 발생하게 된다.  However, only the index column can be specified in the index search condition when creating a conventional B + tree. When the condition is evaluated by a query condition including both the index column and the non-index column, the index column is applied to the index column. Condition evaluation is performed first, and condition evaluation is performed by accessing a table record to obtain column data to perform condition evaluation on non-index columns. In this case, disk 10 may be generated to obtain data close to the record, resulting in performance overhead for condition evaluation.
즉, 종래의 B+ Tree는 그 색인에 색인 컬럼 데이터들만 저장되어 있어 서 색인 컬럼에 대해서는 신속한 검색이 가능하기는 하지만, 예를 들어 색인 컬럼과 비 색인 컬럼을 모두 조건으로 가지는 질의 즉, 혼합 질의가 입력된 경 우에는 해당 B+ Tree를 이용해서는 색인 컬럼에 대해서만 검색을 하고, 검색 된 각 색인 컬럼에 대웅되는 비 색인 컬럼 데이터를 실제 테이블 레코드에 읽 어와야 함으로써 디스크 10에 따른 시간 지연 현상이 발생하는 것이다.  That is, the conventional B + Tree stores only index column data in the index, so that the index column can be quickly searched. For example, a query having both an index column and a non-index column as a condition, that is, a mixed query In case of input, the B + Tree is used to search only the index column, and the non-index column data for each searched index column must be read to the actual table record. will be.
【발명의 상세한 설명】  [Detailed Description of the Invention]
본 발명은 상기한 종래의 단점을 해결하기 위해 안출된 것으로서, 그 목 적은 색인 검색 조건과 비 색인 검색 조건을 모두 포함하는 혼합 질의를 처리 할 수 있는 색인 구조를 개발하는 것을 목적으로 한다.  SUMMARY OF THE INVENTION The present invention has been made to solve the above disadvantages, and its object is to develop an index structure capable of processing a mixed query including both index search conditions and non-index search conditions.
본 발명의 다른 목적은 색인 검색 조건과 비 색인 검색 조건을 모두 포 함하는 혼합 질의를 처리하는 방법을 제공하는 것이다.  Another object of the present invention is to provide a method for processing a mixed query including both an index search condition and a non-index search condition.
본 발명의 또 다른 목적은 상술한 혼합 질의를 처리하기 위한 색인 자 료 구조를 기록한 기록 매체를 제공하는 것이다. 상기한 목적을 달성하기 위해 본 발명에 따른 혼합 질의 처리용 색인 생성 방법은, 데이터베이스의 특정 테이블에 대한 색인 생성 명령을 감지하면 상기 색인 생성 명령에 포함된 인수 증 기준 컬럼 정보와 확장 컬럼 정보를 판 단하는 단계와; 상기 특정 테이블에 대한 테이블 스키마를 이용하여 기준 컬럼 정보에 대웅되는 컬럼과 확장 컬럼 정보에 대웅되는 컬럼에 대한 각각의 컬럼 타입을 확인하는 단계와; 상기 단계에서 확인된 모든 컬럼 타입이 포함된 색인 키 메타 정보를 생성하여 DBMS(Database Management System) 카탈로그에 저장하는 단계를 포함하여 이루어진다. It is still another object of the present invention to provide a recording medium which records an index data structure for processing the above-mentioned mixed query. In order to achieve the above object, according to the present invention, an index generation method for a mixed query process detects an index generation command for a specific table in a database, and converts argument factor based column information and extended column information included in the index generation command. Cutting; Identifying each column type of a column subjected to reference column information and a column subjected to extension column information by using a table schema for the specific table; And generating index key meta information including all column types identified in the above step and storing the index key meta information in a DBMS catalog.
여기서, 상기 기준 컬럼 정보에 대응되는 적어도 하나의 컬럼에 대해서 는 색인 키 컬럼으로 판단하고, 상기 확장 컬럼 정보에 대웅되는 적어도 하나 의 컬럼에 대해서는 비 색인 컬럼으로 판단하며, 상기 색인 키 메타 정보에 상 기 색인 키 컬럼에 대한 정보와 상기 비 색인 컬럼에 대한 정보를 구별하여 포 함시키는 것을 특징으로 한다.  Here, at least one column corresponding to the reference column information is determined as an index key column, at least one column referred to as the extended column information is determined as a non-index column, and the index key meta information is determined. And distinguishing the information on the existing index key column and the information on the non-index column.
여기서, 상기 (c) 단계에서 생성한 색인 키 메타 정보는 색인 키 컬럼 개수, 색인 키 컬럼에 대한 필드 메타 리스트, 비 색인 컬럼 개수, 비 색인 컬 럼 메타 리스트가 포함되고, 상기 색인 키 컬럼에 대한 필드 메타 리스트에는 상기 판단된 각 색인 키 컬럼에 대한 필드 메타 정보가 포함되고, 상기 비 색 인 컬럼에 대한 필드 메타 리스트에는 상기 판단된 각 비 색인 컬럼에 대한 필 드 메타 정보가 포함되며, 상기 각 필드 메타 정보에는 해당 컬럼 타입, 레코드 에서 해당 컬럼의 위치, 데이터 검색의 기본이 되는 노드 엔트리에서의 해당 컬럼의 위치, 해당 컬럼 데이터의 최대 크기가 포함되는 것을 특징으로 한다. 여기서, 상기 (c) 단계 이후에, 상기 색인 키 메타 정보를 이용하여 데이 터 검색의 기본이 되는 적어도 하나의 노드 엔트리를 저장하기 위한 노드 페이 지를 생성하여 상기 생성한 노드 페이지의 초기화를 수행하는 단계를 더 포함 하는 것을 특징으로 한다.  Here, the index key meta information generated in step (c) includes the number of index key columns, the field meta list for the index key column, the number of non-index columns, and the non-index column meta list. The field meta list includes field meta information for each of the determined index key columns, and the field meta list for the non-index column includes field meta information for each of the determined non-index columns. The field meta information includes a corresponding column type, a position of a corresponding column in a record, a position of a corresponding column in a node entry which is the basis of data retrieval, and a maximum size of the corresponding column data. Here, after the step (c), using the index key meta information to generate a node page for storing at least one node entry that is the basis of data search to perform the initialization of the generated node page Characterized in that it further comprises.
여기서, 상기 색인 키 메타 정보를 참조하여 테이블의 특정 레코드로부 터 적어도 하나의 색인 키 컬럼에 대응되는 색인 키 데이터와 적어도 하나의 비 색인 컬럼에 대웅되는 비 색인 데이터를 추출하는 단계와; 상기 추출한 적 어도 하나의 색인 키 데이터 및 적어도 하나의 비 색인 데이터를 모두 포함하 는 노드 엔트리를 생성하여 상기 노드 페이지에 저장하는 단계를 더 포함하여 이루어진다.  Extracting index key data corresponding to at least one index key column and non-index data corresponding to at least one non-index column from a specific record of a table by referring to the index key meta information; And generating a node entry including all of the extracted at least one index key data and at least one non-index data and storing the extracted node entry in the node page.
여기서, 상기 생성한 노드 엔트리의 위치 및 크기를 포함하는 노드 아이 템을 생성하여 상기 노드 페이지에 저장하는 단계를 더 포함하는 것을 특징으 로 한다.  The method may further include generating a node item including the location and size of the generated node entry and storing the node item in the node page.
여기서, 상기 (f) 단계에서는, 각 노드 엔트리에 대웅되는 각 노드 아이 템은 해당하는 노드 엔트리에 포함된 색인 키 컬럼에 대웅되는 데이터를 기초 로 정렬되어 상기 노드 페이지 상에 저장되는 것을 특징으로 한다.  Here, in the step (f), each node item to be treated for each node entry is arranged on the basis of the data to be indexed in the index key column included in the corresponding node entry and stored on the node page. .
또, 상기한 목적을 달성하기 위해 본 발명에 따른 혼합 질의 처리 방법 은, 데이터 검색을 위한 흔합 질의를 입력받는 단계와; 상기 혼합 질의에 포함 된 컬럼 모두와 가장 밀접하게 관계되는 색인을 선택하는 단계와; 상기 선택된 색인의 색인 키 메타 정보를 이용하여 상기 선택된 색인에 포함된 노드 엔트리 중 상기 혼합 질의에 포함된 색인 키 데이터와 동일한 색인 키 데이터를 포함 하는 첫 번째 노드 엔트리와 마지막 노드 엔트리를 확인하는 단계와; 상기 확 인된 첫 번째 노드 엔트리로부터 마지막 노드 엔트리로 이동하면서 상기 혼합 질의에 포함된 비 색인 데이터와 동일한 비 색인 데이터를 포함하는 노드 엔트 리를 추출하는 단계를 포함하여 이루어진다. In addition, to achieve the above object, a mixed query processing method according to the present invention comprises the steps of: receiving a complex query for data retrieval; Selecting an index most closely related to all columns included in the mixed query; Using the index key meta information of the selected index to identify a first node entry and a last node entry including the same index key data as the index key data included in the mixed query among the node entries included in the selected index; ; A node ent including the same non-index data as the non-index data included in the mixed query while moving from the identified first node entry to the last node entry. Extracting the li;
또, 상기한 목적을 달성하기 위해 본 발명에 따른 혼합 질의 처리 방법 은, 데이터 검색을 위한 혼합 질의를 입력받는 단계와; 상기 혼합 질의에 포함 된 컬럼 모두와 가장 밀접하게 관계되는 색인을 선택하는 단계와; 상기 선택된 색인의 색인 키 메타 정보를 이용하여 상기 선택된 색인에 포함된 노드 엔트리 증 상기 혼합 질의에 포함된 색인 키 데이터와 동일한 색인 키 데이터를 포함 하는 첫 번째 노드 엔트리와 마지막 노드 엔트리를 확인하는 단계와; 상기 확 인된 첫 번째 노드 엔트리로부터 마지막 노드 엔트리로 이동하면서 각 노드 엔 트리로부터 상기 혼합 질의에 포함된 비 색인 컬럼에 대웅하는 비 색인 데이터 를 추출하는 단계를 포함하여 이루어진다.  In addition, to achieve the above object, a mixed query processing method according to the present invention comprises the steps of: receiving a mixed query for data retrieval; Selecting an index most closely related to all columns included in the mixed query; Identifying the node entry included in the selected index using index key meta information of the selected index, identifying a first node entry and a last node entry including the same index key data as the index key data included in the mixed query; ; Extracting non-index data for each non-index column included in the mixed query from each node entry while moving from the identified first node entry to the last node entry.
상기한 목적을 달성하기 위해 본 발명에 따른 데이터 검색을 수행하기 위해 적어도 하나의 색인 노드를 포함하는 색인 자료 구조를 기록한 컴퓨터로 읽을 수 있는 기록 매체는, 상기 각 색인 노드에는 데이터 검색의 기본이 되는 적어도 하나의 노드 엔트리가 포함되어 있고, 각 노드 엔트리는 데이터베이스 테이블에 있는 어느 하나의 레코드의 서로 다른 컬럼에서 추출한 데이터를 각 각 저장한 저장 영역을 복수 개 구비하고 있는 것을 특징으로 한다.  A computer readable recording medium having recorded thereon an index data structure including at least one index node for performing a data search according to the present invention for achieving the above object, wherein each index node is the basis of data search. At least one node entry is included, and each node entry has a plurality of storage areas each storing data extracted from different columns of any one record in a database table.
여기서, 상기 각 노드 엔트리에 구비된 복수 개의 저장 영역 중 적어도 어느 하나에는 상기 테이블의 색인 키 컬럼에 대웅되는 색인 키 데이터가 저장 되고, 상기 복수 개의 저장 영역 증 나머지 저장 영역에는 상기 테이블의 비 색인 컬럼에 대웅되는 비 색인 데이터가 저장되는 것을 특징으로 한다.  Here, at least one of a plurality of storage areas provided in each node entry stores index key data for an index key column of the table, and the non-index column of the table is stored in the remaining storage areas of the plurality of storage areas. Non-indexed data is stored in the characterized in that is stored.
여기서, 상기 각 컬럼에서 추출한 데이터를 저장하는 각 저장 영역은 실 데이터가 저장되는 데이터 저장 영역과 상기 데이터 저장 영역의 위치 및 크기 가 저장된 데이터 정보 저장 영역을 포함하는 것을 특징으로 한다.  Here, each storage area for storing the data extracted from each column may include a data storage area for storing real data and a data information storage area for storing the location and size of the data storage area.
여기서, 상기 각 색인 노드는 각 노드 엔트리의 위치 및 크기가 저장된 고정된 크기의 노드 아이템을 적어도 하나 포함하는 것을 특징으로 한다. 여기서, 각 노드 엔트리의 전체 크기는 저장되는 컬럼 개수 및 실 데이 터의 크기에 따라 달라지는 것을 특징으로 한다.  Here, each index node is characterized in that it comprises at least one node item of a fixed size in which the position and size of each node entry are stored. Here, the total size of each node entry varies according to the number of columns to be stored and the size of actual data.
【도면의 간단한 설명】  [Brief Description of Drawings]
도 1은 본 발명의 일 실시예에 따른 색인 생성방법에 의해 생성된 노드 페이지의 구조이고,  1 is a structure of a node page generated by the index generation method according to an embodiment of the present invention,
도 2는 종래의 B+Tree에서 각 노드들 간의 관계를 간략히 보인 도면이 고,  2 is a view briefly showing a relationship between nodes in a conventional B + Tree;
도 3은 본 발명의 일 실시예에 따른 색인 생성방법에 의해 생성된 노드 엔트리의 구조이고,  3 is a structure of a node entry generated by an index generation method according to an embodiment of the present invention,
도 4는 도 3의 노드 엔트리에 포함된 데이터 저장 영역의 구체적인 구 조이고,  4 is a detailed structure of a data storage area included in the node entry of FIG. 3;
도 5는 도 3의 노드 엔트리에 포함된 데이터 정보 저장 영역의 구체적 인 구조이고,  5 is a detailed structure of a data information storage area included in the node entry of FIG. 3;
도 6은 본 발명의 일 실시예에 따른 색인 생성방법에 의해 생성된 노드 아이템의 구조이고'  6 is a structure of a node item generated by an index generation method according to an embodiment of the present invention '
도 7은 본 발명의 일 실시예에 따른 색인 생성방법에 의해 생성된 노드 아이템 및 노드페이지의 다른 예이고,  7 is another example of a node item and a node page generated by an index generation method according to an embodiment of the present invention.
도 8은 색인 키 메타 자료 구조의 일 예이고,  8 is an example of an index key meta data structure;
도 9는 본 발명의 일 실시예에 따른 색인 생성방법에 의해 색인을 생성 하는 테이불에 대한 테이블 스키마의 일 예이고, 도 10은 본 발명의 일 실시예에 따른 색인 생성방법에 의해 생성된 색 인 키 메타 정보의 일 예이고, 9 is an example of a table schema for a table generating an index by the index generating method according to an embodiment of the present invention. 10 is an example of index key meta information generated by an index generation method according to an embodiment of the present invention;
도 11은 도 9의 테이블에 입력되는 데이터의 일 예이고,  11 is an example of data input to the table of FIG. 9;
도 12는 본 발명의 일 실시예에 따른 색인 생성방법에 의해 생성된 색 인의 일 예이고,  12 is an example of an index generated by an index generation method according to an embodiment of the present invention;
도 13은 동일한 색인 키 데이터를 가지는 복수 개의 노드 엔트리의 일 예를 타낸 도면이다.  13 is a diagram illustrating an example of a plurality of node entries having the same index key data.
【실시예】  EXAMPLE
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.  Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
우선, 본 발명의 일 실시예에 따른 혼합 질의 처리를 위한 색인의 각 색 인 노드에 대웅되는 노드 페이지는 도 1에 도시된 바와 같다.  First, a node page for each index node of an index for mixed query processing according to an embodiment of the present invention is illustrated in FIG. 1.
본 실시예를 설명함에 있어서 혼합 질의 처리를 위한 색인은 종래의 B+Tree를 변형한 형태를 이용하는 것을 일 예로 한다.  In the description of the present embodiment, the index for the mixed query processing uses an example of a modification of the conventional B + Tree.
B+Tree는 B-Tree의 문제점을 보완한 것으로서, 순차적인 데이터 처리 를 위해 트리 구조 내의 노드 사이 탐색을 최소화한 구조의 트리이다. 한 노드 안에 키 값들은 오름차순을 유지하며 리프 노드들을 서로 링크드 리스트 형태 로 연결되고 실제 데이터가 모두 리프 노드에만 존재한다는 특징이 있다.  B + Tree complements the problem of B-Tree and is a tree structure that minimizes the search between nodes in the tree structure for sequential data processing. The key values in a node are kept in ascending order, and the leaf nodes are linked to each other in the form of a linked list, and all the actual data exists only in the leaf node.
이러한 종래의 B+Tree가 형성된 일 예는 도 2에 도시된 바와 같은데, 각 노드 (도 2의 원형 모양이 각 노드에 해당함)에는 하나의 노드 페이지가 저 장되어 있고, 각 노드 페이지에는 복수 개의 노드 엔트리가 포함될 수 있다는 점에서는 본원발명의 일 실시예에 따른 색인 구조와 종래의 B+Tree 색인 구조 는 동일하다. 여기서 노드 엔트리는 색인을 이용한 데이터 검색의 기본이 되는 것으로서 적어도 하나의 색인 키 데이터를 포함하고 있을 수 있다.  An example in which the conventional B + Tree is formed is illustrated in FIG. 2, where one node page is stored in each node (the circular shape of FIG. 2 corresponds to each node), and each node page has a plurality of nodes. The index structure according to an embodiment of the present invention and the conventional B + Tree index structure are the same in that node entries may be included. In this case, the node entry may include at least one index key data as a basis of data search using an index.
본원발명 일 실시예에 따른 색인 구조는 노드 엔트리의 구체적 구성에 있어서, 더 나아가 후술하는 바와 같이 노드 아이템이 추가로 구성된다는 점에 서 종래의 B+Tree 구조와 차이가 있는데, 이러한 차이점을 고려하여 이하 본 발명의 일 실시예에 따른 색인 구조를 가지는 색인은 'B+Tree 확장 색인'이라 고 명명하기로 한다,  The index structure according to an embodiment of the present invention is different from the conventional B + Tree structure in that a node item is further configured as described later in the specific configuration of the node entry. Hereinafter, an index having an index structure according to an embodiment of the present invention will be referred to as 'B + Tree extended index'.
이하에서는 이러한 본원발명의 일 실시예에 따른 B+Tree 확장 색인 구 조와 종래의 B+Tree구조의 차이점을 위주로 설명하기로 한다.  Hereinafter, the difference between the B + Tree extended index structure and the conventional B + Tree structure according to an embodiment of the present invention will be described.
본 발명의 일 실시예에 따른 각 노드 페이지는 앞서 설명한 바와 같이 도 1과 같은데, 여기서 노드 엔트리는 색인 키 컬럼의 데이터 즉, 색인 키 데이 터와 비 색인 컬럼의 데이터 즉, 비 색인 데이터를 저장하기 위한 저장 영역을 적어도 하나씩 갖고 있다는 점에서 종래와 차이가 있다.  Each node page according to an embodiment of the present invention is as shown in FIG. 1 as described above, wherein the node entry stores data of an index key column, that is, data of an index key data and a non-index column, that is, non-index data. It differs from the conventional in that it has at least one storage area.
즉, 각 노드 엔트리는 데이터베이스 테이블에 있는 어느 하나의 레코드 의 서로 다른 컬럼에서 추출한 데이터를 각각 저장한 저장 영역을 복수 개 구 비하고 있는데, 각 노드 엔트리에 구비된 복수 개의 저장 영역 중 적어도 어느 하나에는 테이블의 색인 키 컬럼에 대응되는 색인 키 데이터가 저장되고, 복수 개의 저장 영역 증 나머지 저장 영역에는 테이블의 비 색인 컬럼에 대웅되는 비 색인 데이터가 저장된다.  That is, each node entry has a plurality of storage areas each storing data extracted from different columns of any one record in the database table. At least one of the plurality of storage areas included in each node entry The index key data corresponding to the index key column of the table is stored, and the non-index data corresponding to the non-index column of the table is stored in the remaining storage areas of the plurality of storage areas.
여기서 색인 키 컬럼은 테이블에 포함된 컬럼 증 B+Tree 확장 색인을 생성함에 있어서 자동 정렬의 기초가 되는 컬럼을 의미하고, 비 색인 컬럼은 B+Tree 확장 색인을 생성함에 있어서 자동 정렬의 기초가 되지 않는 컬럼을 의미한다.  In this case, the index key column refers to a column that is the basis of automatic sorting when creating a B + Tree extended index of a column included in a table, and a non-index column is not the basis of an automatic sorting when generating a B + Tree extended index. It does not mean a column.
예를 들어 테이블에 새로운 레코드가 추가될 때마다 B+Tree 확장 색인 은 정렬을 유지한채로 갱신되게 되는데, 이때 B+Tree 확장 색인 내에서의 정 렬의 기준이 되는 것이 색인 키 컬럼에 해당하는 것이다. 본 실시예에 따른For example, B + Tree extended index each time a new record is added to the table Is updated while maintaining the sort, where the sorting criteria within the B + Tree extended index corresponds to the index key column. According to this embodiment
B+Tree 확장 색인의 자동 정렬은 노드 엔트리가 아니라 노드 아이템을 이용하 여 이루어지는데, 이에 대한 보다 상세한 설명은 후술토록 한다. Automatic sorting of B + Tree extension indexes is done using node items rather than node entries, which will be described later.
여기서 색인을 생성한다는 것은 색인 구조를 생성하는 것과 색인 데이 터를 추가하는 것올 모두 포함한다.  Creating indexes here includes creating index structures and adding index data.
노드 엔트리 구성의 일 예로써 노드 엔트리가 2 개의 저장 영역으로 구 분되어 있는 경우에, 첫 번째 노드 엔트리에는 첫 번째 레코드에서 추출한 색 인 키 데이터와 비 색인 데이터가 각각 하나씩 포함될 수도 있고, 다른 예로써, 노드 엔트리가 3 개의 저장 영역으로 구분되어 있는 경우에, 첫 번째 노드 엔 트리에는 첫 번째 레코드에서 추출한 색인 키 데이터 하나와 비 색인 데이터 2 개가 각각 포함될 수도 있다.  As an example of the node entry configuration, when the node entry is divided into two storage areas, the first node entry may include one index key data and one non-index data extracted from the first record. In the case where the node entry is divided into three storage areas, the first node entry may include one index key data extracted from the first record and two non-index data.
특히, 각 컬럼에서 추출한 데이터를 저장하는 각 저장 영역은 실 데이터 가 저장되는 데이터 저장 영역과 그 데이터 저장 영역의 위치 및 크기가 저장 된 데이터 정보 저장 영역을 포함할 수 있다.  In particular, each storage area for storing data extracted from each column may include a data storage area for storing real data and a data information storage area for storing the location and size of the data storage area.
도 3을 참조하여 이러한 노드 엔트리의 구체적인 예를 살펴본다.  A specific example of such a node entry will be described with reference to FIG. 3.
동 도면에 도시된 바와 같이 하나의 엔트리의 저장 영역은 크게 데이터 정보저장 영역과 데이터 저장 영역으로 구분될 수 있다.  As shown in the figure, the storage area of one entry can be largely divided into a data information storage area and a data storage area.
우선, 데이터 저장 영역부터 설명하면, 데이터 저장 영역은 각 컬럼의 실 데이터가 저장되는 영역으로서, 예를 들어 도 4(a)와 같은 구조를 가질 수 있다.  First, the data storage area will be described first. The data storage area is an area in which real data of each column is stored, and may have a structure as shown in FIG. 4A.
도 4에 도시된 예에서는 첫 번째 저장 영역에는 색인 키 데이터가 저장 되어 있고, 두 번째 저장 영역과 세 번째 저장 영역에는 각각 비 색인 데이터 가 저장되어 있다.  In the example shown in FIG. 4, index key data is stored in a first storage area, and non-index data is stored in a second storage area and a third storage area, respectively.
도 4는 하나의 예를 나타낸 것에 불과하고, 색인 키 데이터와 비 색인 데이터가 각각 다른 저장 영역에 저장될 수도 있다. 특히, 두 번째 저장 영역과 세 번째 저장 영역에도 색인 키 데이터가 저장될 수도 있다. 다만 B+Tree 확 장 색인의 정렬 및 검색 기능을 고려하면 첫 번째 저장 영역에는 색인 키 데이 터가 저장되는 것이 바람직하다.  4 is only an example, and index key data and non-index data may be stored in different storage areas. In particular, the index key data may be stored in the second storage area and the third storage area. However, considering the sorting and searching functions of the B + Tree extended index, it is desirable to store the index key data in the first storage area.
다음으로 데이터 정보 저장 영역에 대해서 설명하면, 데이터 정보 저장 영역은 앞서 설명한 데이터 저장 영역에 대한 정보를 저장하는 영역인데, 예를 들어 도 5와 같은 구조를 가질 수 있다.  Next, the data information storage area will be described. The data information storage area is an area for storing information on the data storage area described above, and may have a structure as shown in FIG. 5.
도 5(a)를 살펴보면 일 예로써, 데이터 정보 저장 영역의 첫 번째 저장 영역에는 색인 키 데이터 정보가 저장되어 있고, 두 번째 저장 영역과 세 번째 저장 영역에는 각각 비 색인 데이터 정보가 저장되어 있다.  Referring to FIG. 5A, index key data information is stored in a first storage area of a data information storage area, and non-index data information is stored in a second storage area and a third storage area, respectively.
이러한 구성은 하나의 예에 불과하고, 각각의 저장 영역에는 색인 키 데 이터 정보 또는 비 색인 데이터 정보가 저장될 수 있으나, B+Tree 확장 색인 의 정렬 및 검색 기능을 고려하면 첫 번째 저장 영역에는 색인 키 데이터 정보 가 저장됨이 바람직하다.  This configuration is just one example, and each storage area may store index key data information or non-index data information. However, considering the sorting and searching capabilities of the B + Tree extended index, the first storage area is indexed. Preferably, key data information is stored.
데이터 정보 저장 영역에 저장되는 각 컬럼 데이터 정보 (즉, 색인 키 데 이터 정보 및 비 색인 데이터 정보)의 순서는 혼합 질의 처리를 위한 B+Tree 확장 색인의 키 구성 정보를 관리하는 메타 정보 즉, 색인 키 메타 정보에 저 장이 되어 있는 색인 키 컬럼과 비 색인 컬럼의 순서와 일치해야 하며 특히, 색인 키 데이터 정보는 제일 먼저 저장되어야 함이 바람직하다. 이 경우 색인 키 데이터 정보가 저장된 위치 이후에 비 색인 데이터 정보를 저장할 수 있으 며 또한 데이터 정보 저장 영역에 저장되는 색인 키 데이터 정보와 비 색인 데 이터 정보의 개수는 데이터 저장영역에 저장되는 색인 키 데이터와 비 색인 데 이터의 개수가 일치해야 한다. The order of each column data information (ie, index key data information and non-index data information) stored in the data information storage area is meta information that manages key configuration information of the B + Tree extended index for mixed query processing. The order of the index key columns and non-index columns stored in the key meta information should be identical. In particular, the index key data information should be stored first. In this case, you can store non-index data information after the location where the index key data information is stored. The number of index key data information and non-index data information stored in the data information storage area must match the number of index key data and non-index data stored in the data storage area.
색인 키 데이터 정보와 비 색인 데이터 정보가 저장이 되는 각 필드의 크기는 해당 정보 접근의 유효성을 보장하기 위해 동일해야 하며 각 필드에는 데이터 저장 영역의 위치 정보와 데이터의 크기 정보를 저장한다.  The size of each field in which index key data information and non-index data information are stored must be the same in order to ensure the validity of access to the corresponding information, and each field stores location information of the data storage area and data size information.
즉, 각 데이터 정보 저장 영역은 각 컬럼 데이터의 위치와 크기에 대한 정보가 저장될 수 있는데, 예를 들어 도 5(a)에서 첫 번째 색인 키 데이터 정보 에는 도 4의 첫 번째 색인 키 데이터에 대한 위치 (offsetl)와 그 크기 (lengthl) 가 저장되고, 두 번째 비 색인 데이터 정보에는 도 4의 두 번째 비 색인 데이 터에 대한 위치 (offsets와 그 크기 (leghth2)가 저장되면, 세 번째 비 색인 데이 터 정보에는 도 4의 세 번째 비 색인 데이터에 대한 위치 (offset3)와 그 크기 (leghth3)가 저장되어 있다.  That is, each data information storage area may store information about the position and size of each column data. For example, in FIG. 5 (a), the first index key data information may include information about the first index key data of FIG. The position (offsetl) and its size (lengthl) are stored, and if the position (offsets and the size (leghth2)) of the second non-index data of FIG. 4 is stored in the second non-index data information, the third non-index data is stored. The location information stores the position offset3 and the size legacy3 for the third non-index data of FIG. 4.
데이터 정보 저장 영역의 각 컬럼에 대한 저장 순서와 데이터 저장 영 역의 각 컬럼에 대한 저장 순서는 동일해야함이 바람직하다.  The storage order for each column of the data information storage area and the storage order for each column of the data storage area should be the same.
만약 색인 키 메타 정보에 저장된 색인 키 데이터 또는 비 색인 데이터 의 최대 크기가 정보 저장을 위한 각 저장 영역의 크기보다 작을 경우 색인 용 량 최적화를 위하여 데이터 정보 저장 영역에 데이터를 직접 저장할 수도 있 다.  If the maximum size of the index key data or non-index data stored in the index key meta information is smaller than the size of each storage area for storing information, the data may be stored directly in the data information storage area for index capacity optimization.
예를 들어 도 5(b)는 데이터 정보 저장 영역의 세 번째 저장 영역에 데 이터 저장 영역에 저장되는 비 색인 데이터에 대한 위치 및 크기 정보 대신에 비 색인 데이터가 직접 저장된 일 예를 나타내고 있다.  For example, FIG. 5B illustrates an example in which non-index data is directly stored instead of location and size information of non-index data stored in the data storage area in the third storage area of the data information storage area.
한편, B+Tree 확장 색인에서 노드 아이템은 노드 엔트리 정보를 담고 있는 자료구조이다.  On the other hand, a node item in a B + Tree extension index is a data structure that contains node entry information.
노드 엔트리와 구조상 각 노드 엔트리의 전체 크기는 가변적이기 때문 에 노드 엔트리에 대한 별도의 관리구조 없이 노드 엔트리를 정렬하려면 노드 엔트리의 구조가 더 복잡해지며 연산 속도 저하가 발생할 수 있다.  Since the total size of each node entry is variable due to the node entry and structure, if the node entries are arranged without a separate management structure for the node entries, the structure of the node entry becomes more complicated and the computational speed may decrease.
따라서 노드 아이템 자료구조를 정의하여 노드 페이지에 저장되어 있는 노드 엔트리 정보를 노드 아이템에 저장한 후 노드 아이템을 정렬하여 사용할 수 있도록 한다.  Therefore, the node item data structure is defined to store the node entry information stored in the node page in the node item so that the node items can be used.
이러한 노드 아이템에는 두 가지를 정보를 저장한다.  These node items store two pieces of information.
한 가지 정보는 하위 노드 정보로, 종래의 B+Tree 색인 구조에서는 하 위노드 정보를 부모 노드의 색인 키 데이터 저장영역에 저장하지만 본 발명의 일 실시예에 따른 혼합 질의 처리를 위한 B+Tree 확장 색인에서는 노드 아이 템 구조에서 하위 노드 정보를 저장한다.  One piece of information is lower node information. In the conventional B + Tree index structure, the lower node information is stored in the index key data storage area of the parent node, but the B + Tree extension for mixed query processing according to an embodiment of the present invention is performed. The index stores subnode information in the node item structure.
노드 엔트리에 저장 되는 다른 정보는 노드 엔트리에 대한 정보로서 구 체적인 예를 들면 노드 엔트리의 위치 및 크기 정보이다. 이러한 노드 아이템 구조의 일 예는 도 6에 도시된 바와 같다.  Other information stored in the node entry is information about the node entry, for example, position and size information of the node entry. An example of such a node item structure is shown in FIG. 6.
한편, 하나의 색인 키 데이터만 존재하고 다른 비 색인 데이터가 존재하 지 않는 색인을 생성할 경우 노드 엔트리 구조를 사용하면 불필요한 용량 오버 헤드가 발생하기 때문에 색인 키 데이터를노드 아이템 그 자체에 저장할 수도 있다. 이 경우 노드 아이템 구조는 도 7(a)와 같고, 이러한 노드 아이템을 포함 하는 노드 페이지는 도 7(b)와 같다.  On the other hand, when creating an index in which only one index key data exists and another non-index data does not exist, the index entry data may be stored in the node item itself because unnecessary capacity overhead is generated by using the node entry structure. . In this case, the node item structure is shown in FIG. 7 (a), and the node page including the node item is shown in FIG. 7 (b).
단 이 경우 노드 아이템에 색인 키 데이터를 저장하기 위한 조건을 명 확하게 명시하여, 예를 들어 색인 키 데이터의 최대 크기가 노드 아이템에 노 드 엔트리 정보를 저장하기 위한 영역의 크기 (예를 들어 노드 엔트리 위치와 크기를 저장하기 위한 영역의 크기)보다 같거나 작을 경우에만 노드 아이템에 색인 키 데이터를 저장할 수 있도록 한다. In this case, however, the condition for storing the index key data in the node item must be clearly stated so that, for example, the maximum size of the index key data Index key data can be stored in the node item only when the size of the region for storing the node entry information is equal to or smaller than the size of the region for storing the node entry information (for example, the size of the region for storing the node entry location and the size).
이하에서는 본 발명의 일 실시예에 따른 혼합 질의 처리를 위한 Hereinafter, for a mixed query processing according to an embodiment of the present invention
B+Tree 확장 색인을 생성하는 방법에 대해서 설명한다. How to create a B + Tree extension index.
생성된 색인에 데이터를 저장하거나 또는 생성된 색인을 이용하여 검색 을 수행하기 위해서는 색인에 저장된 데이터들에 대한 구조를 나타내는 메타 정보 즉, 색인 키 메타 정보가 필요하다.  In order to store data in the generated index or to perform a search using the generated index, meta information representing the structure of the data stored in the index, that is, index key meta information is required.
따라서 이하에서는 먼저, 본 발명의 일 실시예에 따른 흔합 질의 처리를 위한 B+Tree 확장 색인에 대한 색인 키 메타 정보의 구조에 대해서 설명한다. 혼합 질의 처리를 위한 B+Tree 확장 색인 생성시 사용자 둥에 의해 기 준 컬럼 정보와 확장 컬럼 정보가 입력될 수 있는데, 일 예로써 기준 컬럼 정 보는 색인 키 컬럼 정보에 해당할 수 있고, 확장 컬럼 정보는 비 색인 컬럼 정 보일 수 있다. 이렇게 입력된 정보를 이용한 색인 키 메타 정보를 생성하여 DBMS 시스템 카탈로그 정보에 저장하게 되면 색인 데이터 적재 및 혼합 질의 평가 (데이터 검색) 수행시 참조할 수 있다.  Therefore, hereinafter, the structure of the index key meta information for the B + Tree extended index for the mixed query processing according to the embodiment of the present invention will be described first. When generating a B + Tree extended index for processing a mixed query, reference column information and extended column information may be input by a user. For example, the reference column information may correspond to index key column information and extended column information. Can show non-index column information. If index key meta information using the input information is generated and stored in DBMS system catalog information, it can be referred to when index data loading and mixed query evaluation (data search) are performed.
DBMS 카탈로그에 저장하는 혼합 질의에 대한 색인 키 메타 정보의 자 료구조는 노드 엔트리의 컬럼 정보들을 저장하는 필드 메타 자료구조와 필드 정보 자료구조를 관리하는 키 메타 자료구조로 구성된다.  The data structure of the index key meta information for the mixed query stored in the DBMS catalog consists of the field meta data structure that stores the column information of the node entry and the key meta data structure that manages the field information data structure.
필드 메타 자료구조는 색인 키 컬럼 또는 비 색인 컬럼의 컬럼 타입, 테 이블 레코드에서 해당 컬럼이 저장되는 컬럼 인덱스, 해당 컬럼의 최대 크기, 색인 키 컬럼 데이터 또는 비 색인 컬럼 데이터가 저장되는 노드 엔트리의 데 이터 정보 저장 영역의 위치 정보를 포함한다.  The field meta data structure is the column type of the index key column or non-index column, the column index where the column is stored in the table record, the maximum size of that column, and the node entry where the index key column data or non-index column data is stored. It includes location information of the data information storage area.
키 메타 자료구조는 필드 메타 자료구조를 저장 관리하기 위한 자료구 조로 관리해야 하는 메타 정보로는 필드 메타 정보로 구성이 된 색인 키 컬럼 의 개수, 비 색인 컬럼의 개수를 저장하며 각 색¾ 키 컬럼과 비 색인 컬럼의 필드 메타 자료구조를 포함한다. 더 나아가 키 메타 자료 구조에는 노드 페이 지의 종류를 지정하는 색인 타입 정보가 포함될 수도 있다.  The key meta data structure is a data structure for storing and managing the field meta data structure. The meta information that is to be managed is stored as the number of index key columns and non-index columns composed of field meta information. Include field meta data structures for non-index columns. Furthermore, the key meta data structure may include index type information that specifies the type of node page.
이러한 색인 키 메타 정보의 자료 구조의 일 예는 도 8에 도시된 바와 같고, 이러한 자료 구조에 따라 생성되는 색인 키 메타 정보의 구체적인 예는 후술토록 한다.  An example of the data structure of such index key meta information is shown in FIG. 8, and a specific example of the index key meta information generated according to this data structure will be described later.
색인 키 메타 정보가 생성된 이후에는 실제 색인 데이터가 저장되기 이 전에 색인 키 메타 정보를 이용하여 노드 페이지를 생성한 후 생성한 노드 페 이지에 대해 초기화를 수행할 수도 있다.  After the index key meta information is generated, the node page may be initialized by creating the node page using the index key meta information before the actual index data is stored.
각 색인 노드에 대웅되는 노드 페이지의 초기화 과정에는 노드 페이지 의 헤더를 거장하는 과정을 포함할 수 있는데, 이러한 노드 페이지의 생성 및 초기화 과정 그 자체는 기 공지된 기술에 해당하므로 보다 상세한 설명을 생략 한다.  The initialization process of the node page for each index node may include the process of enlarging the header of the node page. Since the creation and initialization of such a node page is a well-known technique, a detailed description thereof will be omitted. .
이하에서는 생성된 색인에 색인 데이터들이 적재되는 과정에 대해서 설 명한다.  Hereinafter, the process of loading index data in the generated index will be described.
소정의 이벤트 발생시에 DBMS 카탈로그에 저장된 색인 키 메타 정보 를 참조하여 테이블의 특정 레코드로부터 적어도 하나의 색인 키 컬럼에 대응 되는 색인 키 데이터와 적어도 하나의 비 색인 컬럼에 대웅되는 비 색인 데이 터를 추출한다.  Extracts index key data corresponding to at least one index key column and non-index data for at least one non-index column from a specific record of a table by referring to index key meta information stored in a DBMS catalog when a predetermined event occurs. .
여기서 소정의 이벤트는 테이블에 새로운 레코드가 등록됨을 알리는 이 벤트에 해당할 수도 있고, 또는 특정 테이블에 저장된 모든 레코드들에 대하여 색인 데이터를 추출하여 기 생성된 색인에 적재하라는 사용자에 의해 입력된 명령에 해당할 수도 있다. In this case, a predetermined event indicates that a new record is registered in the table. It may correspond to a vent, or it may correspond to a command input by a user to extract index data for all records stored in a specific table and load the index data into a pre-generated index.
그리고 앞서 상기 추출한 적어도 하나의 색인 키 데이터 및 적어도 하 나의 비 색인 데이터를 모두 포함하는 노드 엔트리를 생성하여 노드 페이지에 저장한다. 노드 엔트리에 저장되는 정보에 대해서는 앞서 살펴본 바와 같다. 이어서 앞선 단계에서 생성한 노드 엔트리의 위치 및 크기를 포함하는 노드 아이템을 생성하여 노드 페이지에 저장하는 단계를 수행한다.  In addition, a node entry including both the extracted at least one index key data and at least one non-index data is generated and stored in the node page. Information stored in the node entry has been described above. Subsequently, a node item including the location and size of the node entry created in the previous step is generated and stored in the node page.
이하에서는 특정 테이블에 대해서 색인 키 메타 정보를 생성하여 노드 페이지를 수행하는 구체적인 예를 도 9내지 도 12를 참조하여 설명한다.  Hereinafter, specific examples of generating a node page by generating index key meta information on a specific table will be described with reference to FIGS. 9 to 12.
우선, 본 실시예에 따른 테이블 스키마는 도 9에 도시된 바와 같다고 가 정한다. 도 9의 테이블 명칭은 'Student'라고 가정한다.  First, it is assumed that the table schema according to the present embodiment is as shown in FIG. It is assumed that the table name of FIG. 9 is 'Student'.
즉, 컬럼은 총 6개로써, 각각 id, name, address, telephone, sex, age라는 명칭을 갖고 있고, 각각의 컬럼에 대한 컬럼 타입 및 최대 문자열은 도 9에 도 시된 바와 같다.  That is, there are six columns in total, each of which has an id, name, address, telephone, sex, age, and the column type and the maximum string for each column are shown in FIG. 9.
여기서 컬럼 타입이 'int' 인 경우의 최대 문자열은 '-1'로 표시되어 있 는데, 이는 정수 타입은 그 크기가 시스템마다 상이함을 의미하는 것으로서, 예 를 들어 int타입의 경우 4바이트가 시스템에 의해 할당될 수 있다.  Here, the maximum string when the column type is 'int' is represented by '-1', which means that the integer type means that the size varies from system to system. For example, in the case of int type, 4 bytes are system. Can be assigned by
사용자가 이러한 테이블 스키마를 갖는 테이블에 대해서 'name' 컬럼을 색인 키 컬럼으로 선정하고, 'telephone' 컬럼 및 'age' 컬럼을 비 색인 컬럼으 로 선정하여 B+Tree 확장 색인을 생성하고자 하는 경우 일 예로써 다음과 같 은 명령어 (쿼리)를 입력하면 된다.  When a user wants to create a B + Tree extended index by selecting 'name' column as an index key column and selecting 'telephone' column and 'age' column as non-index columns for a table with such a table schema. For example, enter the following command (query).
create BPLUSTREE index idxStudent on table Student (name) extend telephone, age;  create BPLUSTREE index idx Student on table Student (name) extend telephone, age;
여기서 'BPLUSTREE index'는 B+Tree 확장 색인을 생성하라는 의미 이고, 'idxStudent'는 생성하는 색인의 명칭이며, 'Student'는 색인을 생성할 테 이블의 이름이고, '(name)'은 'name' 컬럼을 기준 컬럼 즉, 색인 키 컬럼으로 선정하라는 의미이고, 'extend telephone, age'는 'telephone' 컬럼과 'age'컬럼 을 비 색인 컬럼으로 선정하라는 의미이다.  'BPLUSTREE index' means to create a B + Tree extended index, 'idxStudent' is the name of the index to create, 'Student' is the name of the table to be indexed, and '(name)' is 'name' 'Means to select a column as a reference column, that is, an index key column, and' extend telephone, age 'means to select' telephone 'and' age 'columns as non-index columns.
이러한 쿼리 명령에 따라 색인 키 메타 정보가 생성되는데, 생성된 색인 키 메타 정보의 일 예는 도 10과 같다.  The index key meta information is generated according to the query command. An example of the generated index key meta information is shown in FIG.
도 10의 각 라인의 의미를 도 8을 참조하여 설명하면, 다음과 같다. The meaning of each line in FIG. 10 will be described with reference to FIG. 8.
'type'는 색인 타입, 'KeyCount'는 색인 키 컬럼 개수, 'KeyFieldDesc' 는 색인 키 컬럼에 대한 필드 메타 리스트, 'C0lType'은 컬럼 타입, 'colldx'는 레코드에서 컬럼의 위치, 'colPos'는 노드 엔트리에서 컬럼의 위치, 'cardinality'는 컬럼 데이터의 최대 크기, 'ExtCount'는 비 색인 컬럼 개수, 'ExtFiddDesc'는 첫 번째 비 색인 컬럼에 대한 필드 메타 리스트, 'ExtFieldDesc2'는 두 번째 비 색인 컬럼에 대한 필드 메타 리스트이다. 'type' is the index type, 'KeyCount' is the number of index key columns, 'KeyFieldDesc' is the field metalist for the index key column, ' C0 lType' is the column type, and 'colldx' is the column position in the record, 'colPos' Is the position of the column in the node entry, 'cardinality' is the maximum size of the column data, 'ExtCount' is the number of non-index columns, 'ExtFiddDesc' is the field metalist for the first non-index column, and 'ExtFieldDesc2' is the second non-index Field meta list for the column.
여기서 색인 타입은 노드 페이지가 도 1과 같이 노드 아이템 및 노드 엔트리를 모두 포함하는 형태를 가질 것인지 또는 노드 페이지가 도 7(b)와 같 이 노드 아이템만 포함하는 형태를 가질 것인지를 나타내는 것이다.  Here, the index type indicates whether the node page has a form including both node items and node entries as shown in FIG. 1 or whether the node page has a form including only node items as shown in FIG.
이러한 색인 타입은 사용자에 의해 선택된 색인 키 컬럼과, 비 색인 컬 럼의 개수 및 각각의 최대 사이즈 (문자 타입의 경우에는 최대 문자열 크기 또 는 숫자 타입의 경우에는 해당 숫자 타입이 저장되는 공간 크기)와 노드 아이 템에 노드 엔트리 정보가 저장되는 공간 크기 (시스템에 의해 기 설정된 값일 수 있음)를 비교함으로써 선정될 수 있다. These index types include the number of index key columns selected by the user, the number of non-index columns and their maximum size (maximum string size for character types or space size for storing numeric types). The amount of space where node entry information is stored in the node item (the value is preset by the system. Can be selected).
도 10과 같은 색인 키 메타 정보를 가지는 색인이 생성된 상태에서 테 이블에 도 11과 같이 소정의 데이터들이 삽입된다고 가정한다.  It is assumed that predetermined data is inserted into the table as shown in FIG. 11 while an index having the index key meta information as shown in FIG. 10 is generated.
도 11에는 총 6개의 레코드가 테이블에 추가되는 일 예를 나타내고 있 는데, 이 경우 도 12와 같은 노드 페이지가 생성된다ᅳ  11 shows an example in which a total of six records are added to the table. In this case, a node page as shown in FIG. 12 is generated.
도 12를 살펴보면 노드 엔트리는 도 11의 레코드 입력순서대로 아래쪽 에서부터 저장되고, 그 각각의 노드 엔트리에 대웅되는 노드 아이템이 노드 엔 트리의 위치 및 크기 정보를 저장한 채로 생성되었음을 알 수 있다. 이때 노드 아이템은 색인 키 데이터인 'name'컬럼 데이터를 기초로 정렬된다.  Referring to FIG. 12, it can be seen that node entries are stored from the bottom in the record input order of FIG. 11, and node items generated for each node entry are generated with the position and size information of the node entry stored. At this time, the node items are sorted based on the 'name' column data which is the index key data.
특히 노드 엔트리의 데이터 정보 저장 영역은 도 5(b)와 같은 구조를 갖고 있음을 알 수 있다. 즉, 두 번째 비 색인 데이터인 'age' 컬럼 데이터는 노드 엔트리의 데이터 저장 영역 (도 3 및 도 4 참조)에 저장되는 것이 아니라 노드 엔트리의 데이터 정보 저장 영역에 저장된 것이다. 이는 노드 엔트리의 데이터 정보 저장 영역의 크기가 'age'컬럼의 타입인 'int'의 사이즈보다 같거 나 큰 경우를 전제로 한 것이다.  In particular, it can be seen that the data information storage area of the node entry has a structure as shown in FIG. That is, the second non-index data 'age' column data is not stored in the data entry area (see FIGS. 3 and 4) of the node entry, but in the data information storage area of the node entry. This is based on the assumption that the size of the data entry storage area of the node entry is equal to or larger than the size of 'int', a type of the 'age' column.
도 12에 도시된 바와 같이 노드 페이지의 노드 엔트리에는 색인 키 데 이터인 'name' 컬럼 데이터만이 존재하는 것이 아니라, 비 색인 데이터인 'telephone' 컬럼 데이터와 'age' 컬럼 데이터도 함께 존재한다. 따라서 혼합 질의가 입력되는 경우 도 12에 도시된 바와 같은 색인을 참조하여 신속한 결과 가 도출돨 수 있다.  As shown in FIG. 12, not only the 'name' column data, which is index key data, exists in the node entry of the node page, but also 'telephone' column data and 'age' column data, which are non-index data, are also present. Therefore, when a mixed query is input, a quick result can be derived by referring to an index as shown in FIG. 12.
도 12의 색인을 참조하여 혼합 질의가 처리되는 과정을 살펴보면 다음 과 같다.  A process of processing a mixed query with reference to the index of FIG. 12 is as follows.
일 예로 다음과 같은 쿼리 문이 입력된다고 가정한다.  As an example, suppose the following query statement is entered.
SELECT * FROM Student WHERE name= '유재석' AND age=41; 이 경우 where구문에는 'and' 연산자를 통해 두 개의 조건이 포함되어 있다.  SELECT * FROM Student WHERE name = 'Yoo Jae-seok' AND age = 41; In this case, the where statement contains two conditions via the 'and' operator.
데이터베이스 시스템은 먼저 이러한 두 개의 조건과 가장 밀접한 색인 을 선택하게 되는데, 예를 들어 색인 키 메타 정보를 확인하여 'name'과 'age' 를 모두 포함하는 색인을 선택할 수 있다. 도 10에 도시된 바와 같이 'idxStudent'라는 색인에는 비록 'name' 컬럼 대해서만 색인 키 컬럼으로 설정 되기는 하였지만 비 색인 컬럼으로 'age' 컬럼을 포함하고 있으므로 데이터베 이스 시스템은 이 'idxStudent' 색인을 쿼리 조건과 가장 밀접한 색인으로 선 택할 수도 있다.  The database system first selects the index that most closely matches these two conditions. For example, by checking the index key meta information, the database system can select an index that includes both 'name' and 'age'. As shown in FIG. 10, the index 'idxStudent' includes the 'age' column as a non-index column, although the index key column is set only for the 'name' column, so the database system queries the 'idxStudent' index. You can also choose the index that most closely matches the condition.
데이터베이스 시스템은 먼저 색인 키 컬럼인 'name' 컬럼 데이터로 정 렬된 노드 아이템을 이용하여 신속하게 '유재석'을 찾은 후에 해당 '유재석'을 포함하는 노드 엔트리의 주소 및 크기를 획득한다ᅳ Eu database system must first obtain the address and the size of the node entry that contains the 'Yoo' After you find the information quickly aligned node item 'Yoo' using in the 'name' column index key columns of data
도 12의 노드 아이템을 참조하면 '유재석'을 포함하는 노드 엔트리의 위 치는 '16330'이고 그 크가는 '27'임을 알 수 있다.  Referring to the node item of FIG. 12, it can be seen that the location of the node entry including 'Yoo Jae-seok' is '16330' and its size is '27'.
이어서 데이터베이스 시스템은 획득한 노드 엔트리 위치 및 크기 정보 를 이용하여 해당하는 노드 엔트리로 이동하여 저장된 정보를 읽는다.  The database system then moves to the corresponding node entry using the acquired node entry position and size information to read the stored information.
데이터베이스 시스템은 해당하는 노드 엔트리에 저장된 정보들을 참조 하여 비 색인 데이터에 대한 조건을 분석한다. 즉, 데이터베이스 시스템은 'age' 컬럼 데이터를 노드 엔트리에서 읽어 '41'에 해당하는지를 확인한다. 이에 따라 데이터베이스 시스템은 색인 키 데이터와 비 색인 데이터를 모두 조건으로 가지고 있는 혼합 질의가 입력되는 경우 B+Tree 확장 색인 내 에서 모든 조건 분석을 수행하여 그 모든 조건올 만족하는 노드 엔트리를 추출 할 수 있는 것이다. The database system analyzes the condition for non-index data by referring to the information stored in the corresponding node entry. That is, the database system reads the 'age' column data from the node entry and checks whether it corresponds to '41'. This allows the database system to enter a B + Tree extended index when a mixed query containing both index key data and non-index data is entered. All conditional analysis can be performed in to extract node entries that satisfy all of these conditions.
즉, 종래에는 노드 엔트리에 비 색인 데이터가 저장되어 있지 않기 때문 에 비 색인 데이터에 대한 조건을 분석하기 위해서는 다시 테이블에 접속하여 필요한 데이터를 읽어오는 과정을 수행해야 하였지만, 본 발명의 일 실시예에 따르면 도 12에 도시된 바와 같이 각 노드 엔트리에 비 색인 데이터 역시 색인 키 데이터와 함께 저장되어 있기 때문에서 색인 내에서 비 색인 데이터에 대한 조건 분석이 이루어질 수 있는 것이다.  That is, conventionally, since the non-index data is not stored in the node entry, in order to analyze the condition on the non-index data, it was necessary to access the table again and read the necessary data, but according to an embodiment of the present invention, According to FIG. 12, since the non-index data is also stored in the node entry together with the index key data, the condition analysis on the non-index data can be performed in the index.
상술한 예에서는 색인 키 데이터가 증복되지 않은 상황을 가정하여 설 명한 것이지만 각 노드 엔트리에 저장되는 색인 키 데이터는 서로 증복될 수 있다.  In the above-described example, the description is made on the assumption that the index key data has not been increased. However, the index key data stored in each node entry may be increased or decreased.
이 경우 데이터베이스 시스템은 색인에 포함된 노드 엔트리 증 혼합 질 의에 포함된 색인 키 데이터와 동일한 색인 키 데이터를 포함하는 첫 번째 노 드 엔트리와 마지막 노드 엔트리를 확인하고, 그 첫 번째 노드 엔트리로부터 마지막 노드 엔트리로 이동하면서 혼합 질의에 포함된 비 색인 데이터와 동일 한 비 색인 데이터를 포함하는 노드 엔트리를 추출할 수도 있다.  In this case, the database system checks the first node entry and the last node entry that contain the same index key data as the index key data included in the node entry incremental query included in the index, and the last node entry from that first node entry. You can also extract node entries that contain non-index data that is identical to the non-index data included in the mixed query as you move to the entry.
예를 들어 도 13과 같이 '유재석'이라는 비 색인 데이터를 가지고 있는 노드 엔트리가 3개 발견된 경우 데이터베이스 시스템은 각 노드 엔트리를 순차 적으로 이동해가면서 비 색인 데이터인 'age'가 41인 노드 엔트리가 존재하는 지 판단할 수 있다.  For example, when three node entries having non-index data called 'Yoo Jae-seok' are found as shown in FIG. 13, the database system sequentially moves each node entry, and the node entry having 'age' of 41 is displayed. You can determine if it exists.
다른 예로써 다음과 같은 춰리 문이 입력된다고 가정한다.  As another example, suppose the following Chur statement is entered.
SELECT age FROM Student WHERE name= '유재석';  SELECT age FROM Student WHERE name = '유재석';
이 경우 where 구문에는 한 개의 조건만이 포함되어 있기는 하지만, 찾 는 데이터가 age 컬럼 데이터이다.  In this case, the where statement contains only one condition, but the data to be found is the age column data.
따라서 이 경우에도 데이터베이스 시스템은 'name'과 'age' 컬럼 데이 터를 모두 포함하는 색인 즉, 상술한 'idxStudent' 색인을 검색을 위한 색인으 로 선택할 수 있다.  Therefore, even in this case, the database system may select an index including both 'name' and 'age' column data, that is, the above-mentioned 'idxStudent' index as an index for searching.
이때 name= '유재석'인 노드 엔트리를 찾아가는 과정은 앞선 예에서 살 펴본 바와 같다.  At this time, the process of searching for a node entry with name = 'Yoo Jae-seok' is as shown in the previous example.
name= '유재석'인 노드 엔트리를 찾은 후에 데이터베이스 시스템은 해당 노드 엔트리에 포함된 'age' 컬럼 데이터를 추출할 수 있다. 즉, 이 경우에도 데이터베이스 시스템은 'age' 컬럼 데이터를 추출하기 위해 테이블에 10 접속 할 필요가 없이 색인 내에서 처리 가능하다.  After finding a node entry with name = 'Yoo Jae-seok', the database system can extract 'age' column data included in the node entry. That is, even in this case, the database system can process in the index without having to access the table to extract 'age' column data.
한편, 상술한 각 실시예를 수행하는 과정은 소정의 기록 매체 (예를 들어 컴퓨터로 판독 가능한)에 저장된 프로그램에 의해 이루어질 수 있음은 물론이 다.  On the other hand, the process of performing each of the above-described embodiments can be performed by a program stored in a predetermined recording medium (for example, computer readable).
상술한 실시예에서는 B+Tree와 유사한 구조를 가지는 B+Tree 확장 색 인을 생성하여 혼합 질의를 처리하는 것을 일 예로 하였으나 본 발명이 반드시 B+Tree 확장 색인에 한정되는 것은 아니다. 즉, 검색의 기초가 되는 노드 엔트 리에 색인 키 데이터와 비 색인 데이터가 모두 포함되는 경우라면 모두 본 발 명에 권리범위에 속한다.  In the above-described embodiment, one example is to process a mixed query by generating a B + Tree extended index having a structure similar to that of B + Tree, but the present invention is not necessarily limited to the B + Tree extended index. In other words, if both the index entry data and the non-index data are included in the node entry that is the basis of the search, they are within the scope of the present invention.
또한, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 변형 및 수정하여 실시할 수 있는 것이다. 이러한 변형 및 수정이 첨부되는 특허청구범위에 속한다면 본 발 명에 포함된다는 것은 자명할 것이다. [산업상이용가능성】 In addition, the present invention is not limited to the above-described specific embodiments, but may be modified and modified in various ways without departing from the spirit of the present invention. If such changes and modifications fall within the scope of the appended claims, it will be apparent that they are included in the present invention. Industrial availability
이상 설명한 바와 같이 본 발명에 따르면, 혼합 질의 처리용 색인 구조 를 개발하여 색인 검색 조건과 비 색인 검색 조건올 모두 포함하는 혼합 질의 에 대한 고성능의 검색 결과 도출을 기대할 수 있다.  As described above, according to the present invention, an index structure for processing a mixed query can be developed and a high performance search result can be expected for a mixed query including both an index search condition and a non-index search condition.
특히 , 본 발명을 활용하면 리소스가 제한적인 모바일 환경에서 운영되는 데이터베이스 시스템의 혼합 질의에 대한 평가시 테이블 레코드에 직접 접근하 지 않고 색인에 저장된 데이터를 이용하여 질의 평가를 수행할 수 있기 때문에 불필요한 디스크 10로 인한 성능상의 오버헤드를 줄여 혼합 질의 평가에 대한 고성능 처리를 기대할 수 있다.  In particular, when utilizing the present invention, when evaluating a mixed query of a database system operating in a mobile environment where resources are limited, unnecessary disks can be evaluated using the data stored in the index without directly accessing the table records. By reducing the performance overhead due to 10, we can expect high performance processing for mixed query evaluation.

Claims

【청구의범위】 [Claim]
【청구항 1】  [Claim 1]
(a) 데이터베이스의 특정 테이블에 대한 색인 생성 명령을 감지하면 상 기 색인 생성 명령에 포함된 인수 중 기준 컬럼 정보와 확장 컬럼 정보를 판단 하는 단계와;  (a) determining a reference column information and extended column information among arguments included in the index generation command when detecting an index generation command for a specific table in the database;
(b) 상기 특정 테이불에 대한 테이블 스키마를 이용하여 기준 컬럼 정 보에 대웅되는 컬럼과 확장 컬럼 정보에 대웅되는 컬럼에 대한 각각의 컬럼 타 입을 확인하는 단계와;  (b) identifying each column type for a column treated with reference column information and a column treated with extended column information using the table schema for the specific table;
(c) 상기 (b) 단계에서 확인된 모든 컬럼 타입이 포함된 색인 키 메타 정보를 생성하여 DBMS(Database Management System) 카탈로그에 저장하는 단계를 포함하는 것을 특징으로 하는 혼합 질의 처리용 색인 생성 방법.  (c) generating index key meta information including all the column types identified in step (b) and storing the index key meta information in a DBMS catalog.
【청구항 2】  [Claim 2]
제 1항에 있어서,  The method of claim 1,
상기 (c) 단계에서는,  In the step (c),
상기 기준 컬럼 정보에 대웅되는 적어도 하나의 컬럼에 대해서는 색인 키 컬럼으로 판단하고, 상기 확장 컬럼 정보에 대웅되는 적어도 하나의 컬럼에 대해서는 비 색인 컬럼으로 판단하며, 상기 색인 키 메타 정보에 상기 색인 키 컬럼에 대한 정보와 상기 비 색인 컬럼에 대한 정보를 구별하여 포함시키는 것 을 특징으로 하는 혼합 질의 처리용 색인 생성 방법.  The index key column is determined for at least one column referred to in the reference column information, the non-index column is determined in at least one column referred to in the extended column information, and the index key column is included in the index key meta information. And distinguishing and including information about the non-index column.
【청구항 3】  [Claim 3]
제 2항에 있어서,  The method of claim 2,
상기 (c) 단계에서 생성한 색인 키 메타 정보는 색인 키 컬럼 개수, 색 인 키 컬럼에 대한 필드 메타 리스트, 비 색인 컬럼 개수, 비 색인 컬럼 메타 리스트가 포함되고,  The index key meta information generated in step (c) includes the number of index key columns, the field meta list for the index key column, the number of non index columns, and the non index column meta list,
상기 색인 키 컬럼에 대한 필드 메타 리스트에는 상기 판단된 각 색인 키 컬럼에 대한 필드 메타 정보가 포함되고,  The field meta list for the index key column includes field meta information for each of the determined index key columns.
상기 비 색인 컬럼에 대한 필드 메타 리스트에는 상기 판단된 각 비 색 인 컬럼에 대한 필드 메타 정보가 포함되며,  The field meta list for the non-index column includes field meta information for each of the determined non-index columns.
상기 각 필드 메타 정보에는 해당 컬럼 타입, 레코드에서 해당 컬럼의 위치, 데이터 검색의 기본이 되는 노드 엔트리에서의 해당 컬럼의 위치, 해당 컬럼 데이터의 최대 크기가 포함되는 것을 특징으로 하는 혼합 질의 처리용 색 인 생성 방법.  Each field meta-information includes the corresponding column type, the position of the corresponding column in the record, the position of the corresponding column in the node entry which is the basis of data retrieval, and the maximum size of the corresponding column data. Phosphorus generation method.
【청구항 4】  [Claim 4]
제 2항에 있어서,  The method of claim 2,
상기 (c) 단계 이후에,  After step (c),
상기 색인 키 메타 정보를 이용하여 데이터 검색의 기본이 되는 적어도 하나의 노드 엔트리를 저장하기 위한 노드 페이지를 생성하여 상기 생성한 노 드 페이지의 초기화를 수행하는 단계를 더 포함하는 것을 특징으로 하는 혼합 질의 처리용 색인 생성 방법.  Generating a node page for storing at least one node entry that is the basis of data search by using the index key meta information and performing the initialization of the generated node page further comprising a mixed query How to index for processing.
[청구항 5】  [Claim 5]
제 4항에 있어서,  The method of claim 4,
(d) 상기 색인 키 메타 정보를 참조하여 테이블의 특정 레코드로부터 적어도 하나의 색인 키 컬럼에 대웅되는 색인 키 데이터와 적어도 하나의 비 색인 컬럼에 대웅되는 비 색인 데이터를 추출하는 단계와;  (d) extracting index key data for at least one index key column and non-index data for at least one non-index column from a specific record of a table with reference to the index key meta information;
(e) 상기 추출한 적어도 하나의 색인 키 데이터 및 적어도 하나의 비 색 인 데이터를 모두 포함하는 노드 엔트리를 생성하여 상기 노드 페이지에 저장 하는 단계를 더 포함하는 것을 특징으로 하는 혼합 질의 처리용 색인 생성 방 법. (e) the extracted at least one index key data and at least one colorimetric And generating and storing a node entry including all of the data in the node page.
【청구항 6]  [Claim 6]
제 5항에 있어서,  The method of claim 5,
(f) 상기 (e) 단계에서 생성한 노드 엔트리의 위치 및 크기를 포함하는 노드 아이템을 생성하여 상기 노드 페이지에 저장하는 단계를 더 포함하는 것 올 특징으로 하는 혼합 질의 처리용 색인 생성 방법.  (f) generating a node item including the location and size of the node entry created in step (e) and storing the node item in the node page.
【청구항 7】  [Claim 7]
제 6항에 있어서,  The method of claim 6,
상기 (f) 단계에서는,  In the step (f),
각 노드 엔트리에 대응되는 각 노드 아이템은 해당하는 노드 엔트리에 포함된 색인 키 컬럼에 대웅되는 데이터를 기초로 정렬되어 상기 노드 페이지 상에 저장되는 것을 특징으로 하는 혼합 질의 처리용 색인 생성 방법.  And each node item corresponding to each node entry is stored on the node page by sorting the data based on the index key column included in the corresponding node entry.
【청구항 8】  [Claim 8]
(a) 데이터 검색을 위한 혼합 질의를 입력받는 단계와;  (a) receiving a mixed query for data retrieval;
(b) 상기 혼합 질의에 포함된 컬럼 모두와 가장 밀접하게 관계되는 색 인을 선택하는 단계와;  (b) selecting an index most closely related to all of the columns included in the blend query;
(c) 상기 선택된 색인의 색인 키 메타 정보를 이용하여 상기 선택된 색 인에 포함된 노드 엔트리 중 상기 혼합 질의에 포함된 색인 키 데이터와 동일 한 색인 키 데이터를 포함하는 첫 번째 노드 엔트리와 마지막 노드 엔트리를 확인하는 단계와;  (c) a first node entry and a last node entry including index key data identical to the index key data included in the mixed query among the node entries included in the selected index using the index key meta information of the selected index. Confirming;
(d) 상기 확인된 첫 번째 노드 엔트리로부터 마지막 노드 엔트리로 이 동하면서 상기 혼합 질의에 포함된 비 색인 데이터와 동일한 비 색인 데이터를 포함하는 노드 엔트리를 추출하는 단계를 포함하는 것을 특징으로 하는 혼합 질의 처리 방법.  (d) extracting a node entry containing the same non-index data as the non-index data included in the mixed query while moving from the identified first node entry to the last node entry; Treatment method.
【청구항 9]  [Claim 9]
(a) 데이터 검색을 위한 혼합 질의를 입력받는 단계와;  (a) receiving a mixed query for data retrieval;
(b) 상기 혼합 질의에 포함된 컬럼 모두와 가장 밀접하게 관계되는 색 인을 선택하는 단계와;  (b) selecting an index most closely related to all of the columns included in the blend query;
(c) 상기 선택된 색인의 색인 키 메타 정보를 이용하여 상기 선택된 색 인에 포함된 노드 엔트리 증 상기 혼합 질의에 포함된 색인 키 데이터와 동일 한 색인 키 데이터를 포함하는 첫 번째 노드 엔트리와 마지막 노드 엔트리를 확인하는 단계와;  (c) Node entry identification included in the selected index using index key meta information of the selected index. First node entry and last node entry containing the same index key data as the index key data included in the mixed query. Confirming;
(d) 상기 확인된 첫 번째 노드 엔트라로부터 마지막 노드 엔트리로 이 동하면서 각 노드 엔트리로부터 상기 혼합 질의에 포함된 비 색인 컬럼에 대응 하는 비 색인 데이터를 추출하는 단계를 포함하는 것을 특징으로 하는 혼합 질 의 처리 방법.  (d) extracting non-index data corresponding to the non-index column included in the mixed query from each node entry moving from the identified first node entry to the last node entry. Treatment method.
[청구항 10】  [Claim 10]
데이터 검색을 수행하기 위해 적어도 하나의 색인 노드를 포함하는 색 인 자료 구조를 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서,  A computer-readable recording medium having recorded an index data structure including at least one index node for performing data retrieval,
상기 각 색인 노드에는 데이터 검색의 기본이 되는 적어도 하나의 노드 엔트리가 포함되어 있고, 각 노드 엔트리는 데이터베이스 테이블에 있는 어느 하나의 레코드의 서로 다른 컬럼에서 추출한 데이터를 각각 저장한 저장 영역 을 복수 개 구비하고 있는 것을 특징으로 하는 색인 자료 구조를 기록한 컴퓨 터로 읽을 수 있는 기록 매체. Each of the index nodes includes at least one node entry which is a basis of data retrieval, and each node entry includes a plurality of storage areas each storing data extracted from different columns of any one record in a database table. Computing the index data structure characterized in that Recordable media.
[청구항 11】  [Claim 11]
제 10항에 있어서,  The method of claim 10,
상기 각 노드 엔트리에 구비된 복수 개의 저장 영역 중 적어도 어느 하 나에는 상기 테이블의 색인 키 컬럼에 대웅되는 색인 키 데이터가 저장되고, 상기 복수 개의 저장 영역 증 나머지 저장 영역에는 상기 테이블의 비 색인 컬 럼에 대웅되는 비 색인 데이터가 저장되는 것을 특징으로 하는 색인 자료 구조 를 기록한 컴퓨터로 읽을 수 있는 기록 매체.  At least one of a plurality of storage areas included in each node entry stores index key data in an index key column of the table, and the non-index column of the table is stored in the remaining storage areas of the plurality of storage areas. A non-indexable data stored on a computer readable recording medium having recorded thereon an index data structure.
【청구항 12】  [Claim 12]
제 10항에 있어서,  The method of claim 10,
상기 각 컬럼에서 추출한 데이터를 저장하는 각 저장 영역은 실 데이터 가 저장되는 데이터 저장 영역과 상기 데이터 저장 영역의 위치 및 크기가 저 장된 데이터 정보 저장 영역을 포함하는 것올 특징으로 하는 색인 자료 구조를 기록한 컴퓨터로 읽을 수 있는 기록 매체.  Each storage area for storing data extracted from each column includes a data storage area for storing real data and a data information storage area for storing the location and size of the data storage area. Readable media.
【청구항 13】  [Claim 13]
제 10항에 있어서'  The method of claim 10
상기 각 색인 노드는 각 노드 엔트리의 위치 및 크기가 저장된 고정된 크기의 노드 아이템을 적어도 하나 포함하는 것을 특징으로 하는 색인 자료 구 조를 기록한 컴퓨터로 읽을 수 있는 기록 매체.  And wherein each index node includes at least one fixed size node item in which the location and size of each node entry is stored.
【청구항 14】  [Claim 14]
제 13항에 있어서,' 14. The method of claim 13, '
각 노드 엔트리의 전체 크기는 저장되는 컬럼 개수 및 실 데이터의 크 기에 따라 달라지는 것을 특징으로 하는 색인 자료 구조를 기록한 컴퓨터로 읽 을 수 있는 기록 매체.  A computer-readable recording medium recording an index data structure, wherein the total size of each node entry depends on the number of columns stored and the size of the actual data.
PCT/KR2012/008713 2012-10-17 2012-10-23 Method for generating index for processing mixed query, method for processing mixed query, and recording medium for recording index material structure WO2014061846A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120115452A KR101440475B1 (en) 2012-10-17 2012-10-17 Method for creating index for mixed query process, method for processing mixed query, and recording media for recording index data structure
KR10-2012-0115452 2012-10-17

Publications (1)

Publication Number Publication Date
WO2014061846A1 true WO2014061846A1 (en) 2014-04-24

Family

ID=50488395

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/008713 WO2014061846A1 (en) 2012-10-17 2012-10-23 Method for generating index for processing mixed query, method for processing mixed query, and recording medium for recording index material structure

Country Status (2)

Country Link
KR (1) KR101440475B1 (en)
WO (1) WO2014061846A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107798081A (en) * 2017-10-17 2018-03-13 西北工业大学 Database model by different level based on material structure technical process correlation
CN111221813A (en) * 2018-11-27 2020-06-02 阿里巴巴集团控股有限公司 Database index and database query processing method, device and equipment

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102351846B1 (en) * 2018-11-21 2022-01-18 한국전자기술연구원 Query Optimization Method using Index Merge on Distributed Database

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930805A (en) * 1995-12-01 1999-07-27 Sand Technology Systems International, Inc. Storage and retrieval of ordered sets of keys in a compact 0-complete tree
KR20010008853A (en) * 1999-07-05 2001-02-05 정선종 System and method for processing queries of object-oriented DBMS tightly coupled with information retrieval facility
WO2001038952A2 (en) * 1999-03-26 2001-05-31 Computer Associates Think, Inc. System and method for extracting index key data fields
US20100146003A1 (en) * 2008-12-10 2010-06-10 Unisys Corporation Method and system for building a B-tree
US20100325181A1 (en) * 2009-06-19 2010-12-23 Aptare, Inc. Catalog that stores file system metadata in an optimized manner

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1446737B1 (en) * 2001-09-28 2016-04-27 Oracle International Corporation An efficient index structure to access hierarchical data in a relational database system
KR100834760B1 (en) * 2006-11-23 2008-06-05 삼성전자주식회사 Structure of index, apparatus and method for optimized index searching

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930805A (en) * 1995-12-01 1999-07-27 Sand Technology Systems International, Inc. Storage and retrieval of ordered sets of keys in a compact 0-complete tree
WO2001038952A2 (en) * 1999-03-26 2001-05-31 Computer Associates Think, Inc. System and method for extracting index key data fields
KR20010008853A (en) * 1999-07-05 2001-02-05 정선종 System and method for processing queries of object-oriented DBMS tightly coupled with information retrieval facility
US20100146003A1 (en) * 2008-12-10 2010-06-10 Unisys Corporation Method and system for building a B-tree
US20100325181A1 (en) * 2009-06-19 2010-12-23 Aptare, Inc. Catalog that stores file system metadata in an optimized manner

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107798081A (en) * 2017-10-17 2018-03-13 西北工业大学 Database model by different level based on material structure technical process correlation
CN107798081B (en) * 2017-10-17 2021-05-07 西北工业大学 Hierarchical database model based on material-structure-process correlation
CN111221813A (en) * 2018-11-27 2020-06-02 阿里巴巴集团控股有限公司 Database index and database query processing method, device and equipment
CN111221813B (en) * 2018-11-27 2023-06-23 阿里巴巴集团控股有限公司 Database index and processing method, device and equipment for database query

Also Published As

Publication number Publication date
KR20140049326A (en) 2014-04-25
KR101440475B1 (en) 2014-09-17

Similar Documents

Publication Publication Date Title
US7689574B2 (en) Index and method for extending and querying index
AU759360B2 (en) Database apparatus
US6208993B1 (en) Method for organizing directories
US6175835B1 (en) Layered index with a basic unbalanced partitioned index that allows a balanced structure of blocks
US6427145B1 (en) Database processing method, apparatus for carrying out the same and medium storing processing program
EP1315103B1 (en) File search method and apparatus, and index file creation method and device
US20100257153A1 (en) Database query optimization using weight mapping to qualify an index
US20020069195A1 (en) Automatic identification of DVD title using internet technologies and fuzzy matching techniques
US20150302036A1 (en) Method, system and computer program for information retrieval using content algebra
KR101549220B1 (en) Method and System for Managing Database, and Tree Structure for Database
JP4254763B2 (en) Document search system, document search method, and document search program
WO2014061846A1 (en) Method for generating index for processing mixed query, method for processing mixed query, and recording medium for recording index material structure
CN111045994A (en) KV database-based file classification retrieval method and system
US10339104B2 (en) Information processing apparatus, file management method, and computer-readable recording medium having stored therein file management program
WO2001008045A1 (en) Method for organizing directories
EP1116137B1 (en) Database, and methods of data storage and retrieval
US6735584B1 (en) Accessing a database using user-defined attributes
US7856443B2 (en) Automatic identification of DVD title using internet technologies and fuzzy matching techniques
US8745069B2 (en) Creation of a category tree with respect to the contents of a data stock
JP2000187663A (en) File managing device and its method and recording medium for recording program
JP6194980B2 (en) Search program, search method, and information processing apparatus
JPH08305710A (en) Method for extracting key word of document and document retrieving device
Cho et al. Meta-data indexing for XPath location steps
Hidalgo Lorenzo Performance Evaluation in SQL Server
KR20150074376A (en) Method and apparatus for data modeling

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12886556

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12886556

Country of ref document: EP

Kind code of ref document: A1