JP5732082B2 - Data management apparatus and data management program - Google Patents

Data management apparatus and data management program Download PDF

Info

Publication number
JP5732082B2
JP5732082B2 JP2013020575A JP2013020575A JP5732082B2 JP 5732082 B2 JP5732082 B2 JP 5732082B2 JP 2013020575 A JP2013020575 A JP 2013020575A JP 2013020575 A JP2013020575 A JP 2013020575A JP 5732082 B2 JP5732082 B2 JP 5732082B2
Authority
JP
Japan
Prior art keywords
key
data
storage
subkey
data management
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2013020575A
Other languages
Japanese (ja)
Other versions
JP2014153760A (en
Inventor
嵩 安藤
嵩 安藤
阿部 健二
健二 阿部
潤子 佐々木
潤子 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013020575A priority Critical patent/JP5732082B2/en
Publication of JP2014153760A publication Critical patent/JP2014153760A/en
Application granted granted Critical
Publication of JP5732082B2 publication Critical patent/JP5732082B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、KVS(Key-Value Store)を用いてデータを複数の記憶装置に分散して管理するデータ管理装置およびデータ管理プログラムに関する。   The present invention relates to a data management apparatus and a data management program for managing data by distributing it to a plurality of storage devices using KVS (Key-Value Store).

大規模通信サービスなどのシステムにおいては、データ操作のターンアラウンドタイム(TAT)に対する要件が非常に厳しく、データ更新にリアルタイム性が求められる。   In a system such as a large-scale communication service, a requirement for data operation turnaround time (TAT) is very strict, and real-time performance is required for data update.

また、大規模データの高速処理を実現するために、分散KVS(Key-Value Store)システムでデータベースを構築すること行われている。分散KVSは、キーと値(バリュー)で一組のペアとし、複数のストレージに分散して格納する。分散KVSについては、例えば、非特許文献1に記載されている。   In order to realize high-speed processing of large-scale data, a database is constructed by a distributed KVS (Key-Value Store) system. The distributed KVS is a pair of key and value (value), and is distributed and stored in a plurality of storages. The distributed KVS is described in Non-Patent Document 1, for example.

「Range-Key Skip Graph による範囲検索可能な大規模分散キーバリューストアの実現」、情報処理学会研究報告、IPSJ SIG Notes 2010-DPS-144(9)、1-8、2010年9月10日"Realization of large-scale distributed key-value store with range search by Range-Key Skip Graph", IPSJ SIG Notes 2010-DPS-144 (9), 1-8, September 10, 2010

KVSシステムでデータベースを構築する場合、データ検索速度を高速化する目的から、基本的に、データに対して1つのキーを用いてアクセスする。しかしながら、例えば、大規模通信サービスにおいて、1つの加入者データ(サービスオーダーデータ)に対して、ある時は電話番号でアクセスし、ある時はSIP-URIでアクセスする、というように異なるキーでアクセスするケースが存在する。   When a database is constructed with the KVS system, data is basically accessed using one key for the purpose of increasing the data search speed. However, for example, in a large-scale communication service, one subscriber data (service order data) is accessed with a different key, such as accessing a telephone number in some cases and accessing with a SIP-URI in some cases. There is a case to do.

1つのデータに対して複数の異なるキーでアクセスする場合は、キー毎にデータを重複して保持するか、別途インデックスシステムを構築する必要がある。キー毎にデータを重複して保持した場合、記憶容量を多量に必要とするとともに、データ更新時の整合性確保とターンアラウンドタイムが悪化する、という課題が生じる。また、別途インデックスシステムを構築する場合、インデックスシステム自体の規模が大きくなり分散収容する必要性が生じ、保守管理稼働が増加するという課題が生じる。   When accessing a single piece of data with a plurality of different keys, it is necessary to hold the data redundantly for each key or to construct a separate index system. When data is held redundantly for each key, there is a problem that a large amount of storage capacity is required, consistency is ensured at the time of data update, and turnaround time is deteriorated. Further, when an index system is separately constructed, the scale of the index system itself becomes large, and there is a need for distributed accommodation, resulting in an increase in maintenance management operations.

本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、キー毎にデータを重複して保持すること、およびインデックスシステムを構築することなく、複数の異なるキーでデータにアクセス可能なデータ管理装置およびデータ管理プログラムを提供することにある。   The present invention has been made in view of the above circumstances, and an object of the present invention is to hold data redundantly for each key and access data with a plurality of different keys without constructing an index system. It is an object of the present invention to provide a possible data management apparatus and data management program.

上記目的を達成するため、本発明は、複数の記憶装置にデータを分散して管理するデータ管理装置であって、キーの種別毎に、キーの範囲と当該範囲のキーの格納先の記憶装置とを対応付けた格納先解決情報を記憶する記憶手段と、副キー用の格納先解決情報を参照して決定した記憶装置に、副キーと、当該副キーに対応付けられたデータへアクセスするためのポインタとを格納するとともに、主キー用の格納先解決情報を参照して決定した記憶装置に、主キーと、当該主キーに対応付けられたデータとを格納する登録手段と、を備え、前記副キーおよび前記主キーは、複数の前記記憶装置に分散して格納されるIn order to achieve the above object, the present invention is a data management device for managing data distributed to a plurality of storage devices, and for each key type, a storage device for a key range and a storage destination of keys in the range To the storage means for storing the storage location resolution information associated with the storage location and the storage device determined with reference to the storage location resolution information for the secondary key, to access the secondary key and the data associated with the secondary key. And a registration means for storing a primary key and data associated with the primary key in a storage device determined by referring to storage location solution information for the primary key. The secondary key and the primary key are distributed and stored in a plurality of the storage devices .

本発明は、複数の記憶装置にデータを分散して管理するデータ管理プログラムであって、コンピュータは、キーの種別毎に、キーの範囲と当該範囲のキーの格納先の記憶装置とを対応付けた格納先解決情報を記憶する記憶部を備え、前記コンピュータに、副キー用の格納先解決情報を参照して決定した記憶装置に、副キーと、当該副キーに対応付けられたデータへアクセスするためのポインタとを格納するステップと、主キー用の格納先解決情報を参照して決定した記憶装置に、主キーと、当該主キーに対応付けられたデータとを格納するステップと、を実行させ、前記副キーおよび前記主キーは、複数の前記記憶装置に分散して格納される。 The present invention is a data management program for managing data distributed to a plurality of storage devices, wherein the computer associates a key range with a storage device that stores keys in the range for each key type. a storage unit for storing the storage location resolution information, the computer, in a storage device as determined with reference to the storage location solution information for the sub key, sub key, access to data associated with the sub-key Storing a pointer to store the primary key and the data associated with the primary key in the storage device determined by referring to the storage solution for primary key storage, The secondary key and the primary key are distributed and stored in the plurality of storage devices.

本発明によれば、キー毎にデータを重複して保持すること、およびインデックスシステムを構築することなく、複数の異なるキーでデータにアクセス可能なデータ管理装置およびデータ管理プログラムを提供することができる。   According to the present invention, it is possible to provide a data management apparatus and a data management program capable of accessing data with a plurality of different keys without duplicating and holding data for each key and without constructing an index system. .

本発明の実施形態に係るデータ管理システムの構成図である。It is a block diagram of the data management system which concerns on embodiment of this invention. DBサーバ(#1)の機能を示すブロック図である。It is a block diagram which shows the function of DB server (# 1). 登録処理を説明するための説明図である。It is explanatory drawing for demonstrating a registration process. 検索処理を説明するための説明図である。It is explanatory drawing for demonstrating a search process.

以下、本発明の実施の形態について、図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本実施形態におけるデータ管理システム1の構成を示す全体構成図である。本実施形態のデータ管理システム1は、分散KVSを用いて大量のデータを複数のDBサーバ(記憶装置)に分散して格納(収容)し、管理する分散DBシステムである。   FIG. 1 is an overall configuration diagram showing a configuration of a data management system 1 in the present embodiment. The data management system 1 of the present embodiment is a distributed DB system that uses a distributed KVS to distribute (store) and manage a large amount of data in a plurality of DB servers (storage devices).

図1に示すデータ管理システム1は、複数のDBサーバ11、12を備え、キーを用いてデータを振り分け、各DBサーバ11、12に分散してデータを格納する。データ管理システム1の外部からは、データがどのDBサーバ11、12に格納されているかは分からない。   The data management system 1 shown in FIG. 1 includes a plurality of DB servers 11 and 12, distributes data using keys, and distributes the data to each DB server 11 and 12 to store the data. From outside the data management system 1, it is not known in which DB server 11, 12 the data is stored.

クライアント2は、ネットワークを介してデータ管理システム1にアクセスし、キーを指定してデータ管理システム1のいずれかのDBサーバ11、12に格納されたデータについて検索・更新、また、データの登録・追加などのデータ操作を行う。   The client 2 accesses the data management system 1 via the network, searches and updates the data stored in any of the DB servers 11 and 12 of the data management system 1 by specifying a key, and registers / registers data. Perform data operations such as addition.

本実施形態では、DBサーバ(#1)11が、クライアント2からの要求を受け付けるレシーバ(制御装置)としての機能を有するとともに、データを格納するストレージ(記憶装置)としての機能も合わせもつものとする。   In the present embodiment, the DB server (# 1) 11 has a function as a receiver (control device) that receives a request from the client 2 and also has a function as a storage (storage device) that stores data. To do.

図2は、DBサーバ(#1)11(データ管理装置)の構成を示すブロック図である。図示するDBサーバ(#1)11は、登録部111と、検索部112と、格納先解決情報記憶部113と、ストレージ部114とを備える。   FIG. 2 is a block diagram showing the configuration of the DB server (# 1) 11 (data management apparatus). The illustrated DB server (# 1) 11 includes a registration unit 111, a search unit 112, a storage location solution information storage unit 113, and a storage unit 114.

格納先解決情報記憶部113は、キーの種別毎に、各キーの格納先のDBサーバ11、12が設定された格納先解決情報を記憶する。本実施形態では、各データ(実データ)には、複数の種別のキーが対応付けられ、1つのデータに対して複数の異なるキーでアクセスできるようにしている。   The storage location solution information storage unit 113 stores storage location solution information in which the DB servers 11 and 12 that store the keys are set for each key type. In the present embodiment, each data (actual data) is associated with a plurality of types of keys so that one data can be accessed with a plurality of different keys.

図1に示す格納先解決情報記憶部113では、種別1と種別2の2つの種別の格納先解決情報が記憶されているものとする。図示する例では、種別1のキーには電話番号帯を用い、種別2のキーには契約ID帯を用いるものとする。また、本実施形態では、種別1のキーを主キーとし、種別2のキーを副キーとして、以下に説明する。なお、副キーの数は、1つに限定されるものではなく複数あってもよい。複数の種別の副キーを備える場合は、副キーの種別毎に格納先解決情報が格納先解決情報記憶部113に記憶される。   In the storage location solution information storage unit 113 shown in FIG. 1, it is assumed that two types of storage location solution information, type 1 and type 2, are stored. In the illustrated example, a telephone number band is used for the type 1 key, and a contract ID band is used for the type 2 key. Further, in the present embodiment, a type 1 key will be described as a primary key and a type 2 key will be described as a sub key. Note that the number of subkeys is not limited to one and may be plural. When a plurality of types of subkeys are provided, storage destination solution information is stored in the storage destination solution information storage unit 113 for each type of subkey.

また、格納先解決情報記憶部113は、図2に示すように、DBサーバ(#1)11が備えることとしてもよく、あるいは、DBサーバ(#1)11がアクセス可能な他の装置が備えることとしてもよい。   Further, as shown in FIG. 2, the storage location solution information storage unit 113 may be included in the DB server (# 1) 11 or may be included in another device accessible by the DB server (# 1) 11. It is good as well.

登録部111は、格納先解決情報記憶部113の副キー(キー種別2)の格納先解決情報を参照して、副キーを格納するDBサーバを決定し、決定したDBサーバに副キーと、当該副キーに対応付けられたデータへアクセスするためのポインタとを格納する。また、登録部111は、格納先解決情報記憶部113の主キー(キー種別1)の格納先解決情報を参照して、主キーを格納するDBサーバを決定し、決定したDBサーバに、主キーと、当該主キーに対応付けられたデータとを格納する。   The registration unit 111 refers to the storage location solution information of the secondary key (key type 2) in the storage location solution information storage unit 113, determines a DB server that stores the secondary key, and stores the secondary key in the determined DB server. A pointer for accessing data associated with the subkey is stored. In addition, the registration unit 111 refers to the storage location solution information of the primary key (key type 1) in the storage location solution information storage unit 113 to determine the DB server that stores the primary key, and the determined DB server Stores a key and data associated with the primary key.

検索部112は、いずれかの種別の副キーが指定された検索要求を受け付け、当該副キーの格納先解決情報を参照して当該副キーが格納されたDBサーバ11、12にアクセスして当該副キーに対応するポインタを取得し、取得したポインタを用いて当該副キーに対応付けられたデータが格納されたDBサーバ11、12にアクセスし、データを読み出す。   The search unit 112 accepts a search request in which any type of subkey is specified, and refers to the storage destination solution information of the subkey to access the DB servers 11 and 12 in which the subkey is stored, and A pointer corresponding to the sub key is acquired, and the DB servers 11 and 12 storing data associated with the sub key are accessed using the acquired pointer, and the data is read.

ストレージ部114には、格納先解決情報によりキー分散されたデータおよびキーが格納される。本実施形態では、主キーの格納先には、主キーとともにデータを格納し、副キーの格納先には、副キーとともにデータへのポインタを格納する。   The storage unit 114 stores data and keys distributed according to the storage location solution information. In this embodiment, data is stored together with the primary key in the primary key storage location, and a pointer to the data is stored in the secondary key storage location along with the secondary key.

なお、DBサーバ(#1)11以外の他のDBサーバ(#2)〜(#4)12は、少なくともDBサーバ(#1)11のストレージ部114と同様のストレージ部を備える。   The DB servers (# 2) to (# 4) 12 other than the DB server (# 1) 11 include at least a storage unit similar to the storage unit 114 of the DB server (# 1) 11.

上記説明したDBサーバ(#1)11は、例えば、CPUと、メモリと、HDD等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされたDBサーバ(#1)11用のプログラム(データ管理プログラム)を実行することにより、DBサーバ(#1)11の各機能が実現される。また、DBサーバ(#1)11用のプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。   As the DB server (# 1) 11 described above, for example, a general-purpose computer system including a CPU, a memory, an external storage device such as an HDD, an input device, and an output device can be used. In this computer system, each function of the DB server (# 1) 11 is realized when the CPU executes a program (data management program) for the DB server (# 1) 11 loaded on the memory. The program for the DB server (# 1) 11 can be stored in a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, a DVD-ROM, or can be distributed via a network. it can.

次に、本実施形態の処理について説明する。   Next, the processing of this embodiment will be described.

図3は、DBサーバへの登録・更新処理を説明するための説明図である。   FIG. 3 is an explanatory diagram for explaining the registration / update processing to the DB server.

クライアント2は、データの登録要求をデータ管理システム1に送信する(S11)。この登録要求には、主キーと、副キーと、実際に格納するデータ(実データ)とが含まれている。   The client 2 transmits a data registration request to the data management system 1 (S11). This registration request includes a primary key, a secondary key, and data (actual data) that is actually stored.

DBサーバ(#1)の登録部111は、登録要求を受信すると、当該登録要求で指定された副キーを格納するDBサーバを、格納先解決情報記憶部113を参照して決定する(S12)。具体的には、当該副キー用の格納先解決情報113Aから当該副キー(図示する例では、A0001zzz)に対応する格納先のDBサーバ(図示する例では、DBサーバ(#2))を決定する。そして、登録部111は、決定したDBサーバにアクセスし、当該副キーと、キー種別と、ポインタとを含むレコードを格納する(S12)。   Upon receiving the registration request, the registration unit 111 of the DB server (# 1) determines a DB server that stores the subkey specified in the registration request with reference to the storage location solution information storage unit 113 (S12). . Specifically, the storage destination DB server (in the example shown, DB server (# 2)) corresponding to the secondary key (in the example shown, A0001zzz) is determined from the storage destination solution information 113A for that secondary key. To do. Then, the registration unit 111 accesses the determined DB server and stores a record including the subkey, the key type, and the pointer (S12).

キー種別は、対象のキーが主キーであるのか、副キーであるかの種別を示すものであって、S12ではキー種別に副キーを設定する。ポインタは、データへアクセスするためのポインタである。本実施形態では、ポインタに、登録要求で指定された主キー(図示する例では、0502222xxxx)を用いるものとする。なお、ポインタは、データにアクセスできるものであればなんでもよく、主キー以外にも、DBサーバのアドレスや、データ管理システム1全体でユニークなIDなどを用いることとしてもよい。   The key type indicates the type of whether the target key is a primary key or a secondary key. In S12, the secondary key is set as the key type. The pointer is a pointer for accessing data. In the present embodiment, it is assumed that a primary key (0502222xxxx in the illustrated example) designated by the registration request is used as the pointer. The pointer may be anything as long as it can access data, and in addition to the primary key, an address of the DB server, an ID unique to the entire data management system 1, or the like may be used.

そして、登録部111は、S11の登録要求で指定されたデータを主キーとともに格納するDBサーバを、格納先解決情報記憶部113を参照して決定する(S13)。具体的には、当該主キー用の格納先解決情報113Bから当該主キー(図示する例では、0502222xxxx )に対応する格納先のDBサーバ(図示する例では、DBサーバ(#3))を決定する。そして、登録部111は、決定したDBサーバにアクセスし、当該主キーと、キー種別と、データ(図示する例では、yyyy)とを格納する(S13)。S13ではキー種別に主キーを設定する。   Then, the registration unit 111 determines a DB server that stores the data specified in the registration request in S11 together with the primary key with reference to the storage location solution information storage unit 113 (S13). Specifically, the storage destination DB server (in the example shown, DB server (# 3)) corresponding to the primary key (in the example shown, 0502222xxxx) is determined from the storage destination solution information 113B for the primary key. To do. Then, the registration unit 111 accesses the determined DB server, and stores the main key, the key type, and data (yyyy in the illustrated example) (S13). In S13, the primary key is set as the key type.

以上の登録処理により、副キーと対応付けたポインタを複数のDBサーバに分散して格納するとともに、主キーと対応付けたデータを複数のDBサーバに分散して格納することができる。   Through the above registration processing, the pointers associated with the subkeys can be distributed and stored in a plurality of DB servers, and the data associated with the primary key can be distributed and stored in a plurality of DB servers.

なお、S11で受信した要求が、主キーと副キーのバインド要求(副キーを主キーに紐付ける要求)の場合であって、主キーとデータとがすでにDBサーバに登録されている場合は、登録部111は、S12の処理のみを行うものとする。バインド要求にも、登録要求と同様に、主キーと、副キーと、データとが含まれるものとする。   If the request received in S11 is a primary key and secondary key binding request (a request for associating a secondary key with a primary key), and the primary key and data are already registered in the DB server. The registration unit 111 performs only the process of S12. Similar to the registration request, the bind request also includes a primary key, a secondary key, and data.

図4は、データの検索処理を説明するための説明図である。   FIG. 4 is an explanatory diagram for explaining a data search process.

クライアント2は、データの検索要求をデータ管理システム1に送信する(S21)。ここでは、副キーを指定した検索要求であるものとする。なお、検索要求で指定されたキーが副キーか、主キーであるかのキー種別の判別は、例えば、クライアント2から送信される検索要求にキー種別が指定されている、または検索要求を受信した検索部112がキーの番号体系・構成などのキーの解析を行うなど、何らかの方法で判別する。   The client 2 transmits a data search request to the data management system 1 (S21). Here, it is assumed that the search request specifies a subkey. The determination of the key type of whether the key specified in the search request is a secondary key or a primary key is, for example, that the key type is specified in the search request transmitted from the client 2 or the search request is received. The search unit 112 performs the determination by some method, such as analyzing the key numbering system / configuration.

DBサーバ(#1)の検索部112は、検索要求を受信すると、当該検索要求で指定された副キーを格納したDBサーバを、格納先解決情報記憶部113を参照して取得する(S22)。具体的には、当該副キー用の格納先解決情報113Aから指定された副キー(図示する例では、A0001zzz)に対応する副キーの格納先のDBサーバ(図示する例では、DBサーバ(#2))を取得する。そして、検索部112は、取得したDBサーバにアクセスし、当該副キーに対応するキー種別が副キーか否かをチェックし、キー種別が副キーの場合、ポインタ(図示する例では、0502222xxxx )を読み出す(S22)。   When receiving the search request, the search unit 112 of the DB server (# 1) acquires the DB server storing the subkey specified in the search request with reference to the storage location solution information storage unit 113 (S22). . Specifically, the DB server that stores the sub key corresponding to the sub key (A0001zzz in the illustrated example) specified from the storage destination solution information 113A for the sub key (in the illustrated example, the DB server (# 2)) is acquired. Then, the search unit 112 accesses the acquired DB server and checks whether or not the key type corresponding to the subkey is a subkey. If the key type is the subkey, a pointer (0502222xxxx in the illustrated example) Is read (S22).

そして、検索部112は、読み出したポインタを用いて、データが格納されているDBサーバを特定する(S22)。本実施形態では、ポインタに主キーを使用しているため、格納先解決情報記憶部113の主キー用の格納先解決情報113Bを参照し、取得した主キー(図示する例では、0502222xxxx)に対応するデータの格納先のDBサーバ(図示する例では、DBサーバ(#3))を取得する。   Then, the search unit 112 specifies a DB server in which data is stored using the read pointer (S22). In the present embodiment, since the primary key is used for the pointer, the storage destination solution information 113B for the primary key in the storage location solution information storage unit 113 is referred to, and the acquired primary key (0502222xxxx in the illustrated example) is used. A DB server (DB server (# 3) in the illustrated example) that stores the corresponding data is acquired.

そして、検索部112は、取得したDBサーバにアクセスし、当該主キーに対応するキー種別が主キーか否かをチェックし、キー種別が主キーの場合、当該主キーに対応付けて格納されているデータ(図示する例では、yyyy)を読み出し、S21の検索要求元のクライアント2に送信する(S23)。   Then, the search unit 112 accesses the acquired DB server and checks whether or not the key type corresponding to the primary key is a primary key. If the key type is the primary key, the search unit 112 stores the key type in association with the primary key. Data (in the example shown, yyyy) is read out and transmitted to the search requesting client 2 in S21 (S23).

なお、S21で検索部112が受信した検索要求が、主キーを指定した検索要求の場合、格納先解決情報記憶部113の主キー用の格納先解決情報113Bを参照し、取得した主キーに対応するデータの格納先のDBサーバを取得し、取得したDBサーバにアクセスする。そして、登録部112は、当該主キーに対応するキー種別が主キーか否かをチェックし、キー種別が主キーの場合、当該主キーに対応付けて格納されているデータを読み出し、検索要求元のクライアント2に送信する。   When the search request received by the search unit 112 in S21 is a search request specifying a primary key, the storage destination solution information 113B for the primary key in the storage location solution information storage unit 113 is referred to and the acquired primary key is used. Acquire the DB server that stores the corresponding data, and access the acquired DB server. Then, the registration unit 112 checks whether or not the key type corresponding to the primary key is a primary key. If the key type is the primary key, the registration unit 112 reads out data stored in association with the primary key, Sent to the original client 2

以上説明したように、本実施形態では、主キーにより個々のデータを分散収容するとともに、副キーによる分散収容も可能とし、主キーについてはデータ(実データ)とともに格納し、副キーについては、データへ格納先を示すポインタをとともに格納する。   As described above, in the present embodiment, the individual data is distributed and accommodated by the primary key, and the secondary key can be distributed and accommodated, the primary key is stored together with the data (actual data), and the secondary key is Stores data with a pointer indicating the storage location.

これにより、本実施形態では、1つのデータに対して複数のキーでアクセスすることが可能となる。例えば、大規模通信サービスが提供されているシステムにおいて、加入者データを本実施形態のデータ管理システムで保持する場合に、主キー以外でも効率的に加入者データを検索することができる。   Thereby, in this embodiment, it becomes possible to access one data with a plurality of keys. For example, in a system in which a large-scale communication service is provided, when subscriber data is held in the data management system of the present embodiment, subscriber data can be efficiently searched for other than the primary key.

また、データ自体は1つの箇所に格納するため、データを重複して保持する必要がない。これにより、データの重複による記憶容量の増大を回避するとともに、データ更新時の整合性が崩れることがなく、ターンアラウンドタイムの悪化を防止することもできる。また、キーの分散収容を行うのみで、別途インデックスシステムを構築する必要が無く、データ更新時にインデックス再構築に伴うターンアラウンドタイムの遅延も発生しない。   Further, since the data itself is stored in one place, it is not necessary to hold the data in duplicate. As a result, an increase in storage capacity due to data duplication can be avoided, consistency at the time of data update can be prevented from being lost, and deterioration in turnaround time can be prevented. Further, only the keys are distributed and accommodated, and it is not necessary to construct a separate index system, and there is no delay in turnaround time associated with index reconstruction when data is updated.

なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。   In addition, this invention is not limited to the said embodiment, Many deformation | transformation are possible within the range of the summary.

1 :データ管理システム
11 :DBサーバ(#1)
111:登録部
112:検索部
113:格納先情報記憶部
114:ストレージ部
12 :DBサーバ(#2)〜(#4)
2 :クライアント
1: Data management system 11: DB server (# 1)
111: Registration unit 112: Search unit 113: Storage location information storage unit 114: Storage unit 12: DB servers (# 2) to (# 4)
2: Client

Claims (4)

複数の記憶装置にデータを分散して管理するデータ管理装置であって、
キーの種別毎に、キーの範囲と当該範囲のキーの格納先の記憶装置とを対応付けた格納先解決情報を記憶する記憶手段と、
副キー用の格納先解決情報を参照して決定した記憶装置に、副キーと、当該副キーに対応付けられたデータへアクセスするためのポインタとを格納するとともに、主キー用の格納先解決情報を参照して決定した記憶装置に、主キーと、当該主キーに対応付けられたデータとを格納する登録手段と、を備え
前記副キーおよび前記主キーは、複数の前記記憶装置に分散して格納されること
を特徴とするデータ管理装置。
A data management device for managing data by distributing it to a plurality of storage devices,
Storage means for storing storage location solution information in which a key range and a storage device for storing a key in the range are associated with each key type;
The storage device determined by referring to the storage location resolution information for the secondary key stores the secondary key and a pointer for accessing data associated with the secondary key, and resolves the storage location for the primary key. The storage device determined with reference to the information includes a primary key and registration means for storing data associated with the primary key ,
The data management device, wherein the secondary key and the primary key are distributed and stored in the plurality of storage devices.
請求項1記載のデータ管理装置であって、
副キーが指定された検索要求を受け付け、副キー用の格納先解決情報を参照して当該副キーが格納された記憶装置にアクセスして当該副キーに対応するポインタを取得し、取得したポインタを用いて当該副キーに対応付けられたデータが格納された記憶装置にアクセスし、データを読み出す検索手段、をさらに備えること
を特徴とするデータ管理装置。
The data management device according to claim 1,
Retrieving a search request in which the subkey is specified, referring to the storage resolution information for the subkey, accessing the storage device in which the subkey is stored, obtaining a pointer corresponding to the subkey, and obtaining the pointer A data management device, further comprising: search means for accessing the storage device storing the data associated with the subkey using and reading the data.
複数の記憶装置にデータを分散して管理するデータ管理プログラムであって、
コンピュータは、キーの種別毎に、キーの範囲と当該範囲のキーの格納先の記憶装置とを対応付けた格納先解決情報を記憶する記憶部を備え、
前記コンピュータに、
副キー用の格納先解決情報を参照して決定した記憶装置に、副キーと、当該副キーに対応付けられたデータへアクセスするためのポインタとを格納するステップと、
主キー用の格納先解決情報を参照して決定した記憶装置に、主キーと、当該主キーに対応付けられたデータとを格納するステップと、を実行させ
前記副キーおよび前記主キーは、複数の前記記憶装置に分散して格納されること
を特徴とするデータ管理プログラム。
A data management program for managing data distributed to a plurality of storage devices,
The computer includes, for each key type, a storage unit that stores storage location solution information that associates a key range with a storage device that stores a key in the range,
In the computer,
A storage device which is determined with reference to the storage location solution information for the sub key, and storing the sub-key, and a pointer for accessing data associated with the sub-key,
Storing the primary key and data associated with the primary key in the storage device determined by referring to the storage solution for primary key storage ,
The secondary key and the primary key are distributed and stored in a plurality of the storage devices.
A data management program characterized by
請求項3記載のデータ管理プログラムであって、
副キーが指定された検索要求を受け付け、副キー用の格納先解決情報を参照して当該副キーが格納された記憶装置にアクセスして当該副キーに対応するポインタを取得するステップと、
取得したポインタを用いて当該副キーに対応付けられたデータが格納された記憶装置にアクセスし、データを読み出すステップと、
をさらに実行させるためのデータ管理プログラム。
A data management program according to claim 3, wherein
Receiving a search request in which a subkey is specified, referring to storage solution for subkey storage location, accessing a storage device storing the subkey, and obtaining a pointer corresponding to the subkey;
Using the obtained pointer to access the storage device storing the data associated with the subkey and reading the data;
Data management program for further execution.
JP2013020575A 2013-02-05 2013-02-05 Data management apparatus and data management program Active JP5732082B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013020575A JP5732082B2 (en) 2013-02-05 2013-02-05 Data management apparatus and data management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013020575A JP5732082B2 (en) 2013-02-05 2013-02-05 Data management apparatus and data management program

Publications (2)

Publication Number Publication Date
JP2014153760A JP2014153760A (en) 2014-08-25
JP5732082B2 true JP5732082B2 (en) 2015-06-10

Family

ID=51575618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013020575A Active JP5732082B2 (en) 2013-02-05 2013-02-05 Data management apparatus and data management program

Country Status (1)

Country Link
JP (1) JP5732082B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6299307B2 (en) 2014-03-19 2018-03-28 日本電気株式会社 Storage system, storage method, and program
JP6440256B2 (en) * 2015-02-16 2018-12-19 日本電信電話株式会社 How to search the database

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62276626A (en) * 1986-05-26 1987-12-01 Mitsubishi Electric Corp File control system
JPH09311803A (en) * 1996-05-24 1997-12-02 Chiyoda Keiei Consultants:Kk Record random access device and method for sequential file with index
JP2000181768A (en) * 1998-12-15 2000-06-30 Anetsukusu Syst Kk Data storage/retrieval system
US20090125540A1 (en) * 2007-11-08 2009-05-14 Richard Dean Dettinger Method for executing federated database queries using aliased keys

Also Published As

Publication number Publication date
JP2014153760A (en) 2014-08-25

Similar Documents

Publication Publication Date Title
US9886441B2 (en) Shard aware near real time indexing
US10223506B2 (en) Self-destructing files in an object storage system
US11012806B2 (en) Multi-adapter support in the cloud
US20170357703A1 (en) Dynamic partitioning techniques for data streams
US9298732B2 (en) Searching cloud-based distributed storage resources using a set of expendable probes
Mendes et al. Charon: A secure cloud-of-clouds system for storing and sharing big data
JP2021520539A (en) Computing systems, methods, and computer programs for managing the blockchain
US20150134626A1 (en) Partition-based data stream processing framework
WO2012121316A1 (en) Distributed storage system and method therefor
US10078676B2 (en) Schema evolution in multi-tenant environment
JP6268116B2 (en) Data processing apparatus, data processing method, and computer program
US10331696B2 (en) Indexing heterogeneous searchable data in a multi-tenant cloud
CN100437524C (en) Cache method and cache system for storing file's data in memory blocks
KR20140048396A (en) System and method for searching file in cloud storage service, and method for controlling file therein
US9934248B2 (en) Computer system and data management method
JP5732082B2 (en) Data management apparatus and data management program
CN110457307B (en) Metadata management system, user cluster creation method, device, equipment and medium
JP2013045181A (en) Load distribution device of database
JP6084700B2 (en) Search system and search method
JP5792325B2 (en) Computer system, data management method and program
JP2009289161A (en) Clustered storage system, node device thereof, and method and program for controlling data read/write
JP6406254B2 (en) Storage device, data access method, and data access program
JP2016177347A (en) Database system
KR20160145250A (en) Shuffle Embedded Distributed Storage System Supporting Virtual Merge and Method Thereof
WO2019126154A1 (en) System and method for data storage management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150311

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150410

R150 Certificate of patent or registration of utility model

Ref document number: 5732082

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150