JP2016151793A - データベースおよびデータベースの検索方法 - Google Patents

データベースおよびデータベースの検索方法 Download PDF

Info

Publication number
JP2016151793A
JP2016151793A JP2015027395A JP2015027395A JP2016151793A JP 2016151793 A JP2016151793 A JP 2016151793A JP 2015027395 A JP2015027395 A JP 2015027395A JP 2015027395 A JP2015027395 A JP 2015027395A JP 2016151793 A JP2016151793 A JP 2016151793A
Authority
JP
Japan
Prior art keywords
key
primary key
primary
record
database
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.)
Granted
Application number
JP2015027395A
Other languages
English (en)
Other versions
JP6440256B2 (ja
Inventor
信一 河村
Shinichi Kawamura
信一 河村
悟 秋山
Satoru Akiyama
悟 秋山
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 JP2015027395A priority Critical patent/JP6440256B2/ja
Publication of JP2016151793A publication Critical patent/JP2016151793A/ja
Application granted granted Critical
Publication of JP6440256B2 publication Critical patent/JP6440256B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データベースの副キーから主キーを検索するために使用されるメモリー領域を少なくする。【解決手段】データベースは、副キーと該副キーに対応する1以上の主キーに割り当てられた順序で最初の主キーである代表の主キーとを含むレコードが蓄積される副キー主キー対応テーブルと、主キーを少なくとも含み、該主キーが、同一の副キーに対応する2以上の主キーに割り当てられた順序で最後以外の主キーである場合は、該主キーの次の順序を割り当てられた主キーを示すNEXT情報を含むレコードが蓄積される格納データテーブル2とを備える。【選択図】図2

Description

本発明は、データベースの副キーから主キーを検索するために使用されるメモリー領域を少なくする技術に関する。
図9は、従来の分散KVSにおける格納データテーブルの例である。格納データテーブルには、例えば、電話加入者の情報が格納される。
従来の格納データテーブルは、多数のレコードを含み、各レコードは、主キーである電話番号、住所、氏名、副キーである契約IDなどを含む。
この格納データテーブルを用いた主キー検索と称される検索方法では、電話番号(主キー)が入力され、格納データテーブルから、入力された電話番号(主キー)に一致する主キー(電話番号)を含むレコードが検索され、そのレコードから住所、氏名、契約ID(副キー)などが読み出される。
また、格納データテーブルを用いた副キー検索と称される検索方法では、契約ID(副キー)が入力され、格納データテーブルから、入力された契約ID(副キー)に一致する副キー(契約ID)を含むレコードが検索され、そのレコードから電話番号(主キー)などが読み出される。
格納データテーブルにおいては、複数のレコードが同じ副キー(契約ID)を含む場合がある。これらのレコードは、例えば、同一の企業に関するものであり、その企業の副キー(契約ID)を含む。
この場合、副キー検索では、その副キーと同じ契約IDが入力されると、その複数のレコードが検索され、各レコードから電話番号(主キー)などが読み出される。つまり、複数の電話番号(主キー)が読み出される。
図10は、従来の分散KVSにおける副キー主キー対応テーブルの例である。
従来の副キー主キー対応テーブルは、格納データテーブルを用いた副キー検索と同様に、副キー検索(副キーから主キーの検索)に使用される。
副キー主キー対応テーブルの各レコードは、入力される可能性のある1つの副キー(契約ID)と該副キーに対応する電話番号(主キー)の全てを予め含む。例えば、最大で10の電話番号が検索される場合、各レコードは、10の主キーの領域を含む。しかし、図に示すように、主キーが実際に格納される領域が少なく、無駄となる場合がある。
その課題の回避策として、図11の例のように、副キー(契約ID)毎にテーブルを分けて管理する手法がある。
この手法での主キーテーブルは、格納データテーブルを用いた副キー検索と同様に、副キー検索(副キーから主キーの検索)に使用される。
主キーテーブルは、副キーごとの小テーブルを含み、小テーブルは、該当の副キーに対応する電話番号(主キー)の全てを予め含む。
例えば、契約ID「V0001-0002」に対応する小テーブルに1つの電話番号が含まれており、これに2つの電話番号を追加する場合、主キーテーブルは、まず、図12のようになる。つまり、契約ID「V0001-0002」に対応する小テーブルがもう1つ生成(追加)される。この小テーブルには、既存の電話番号と追加の電話番号が含まれる。次に、電話番号が削除される場合の主キーテーブルは、図13のようになる。つまり、既存の小テーブルから既存の電話番号が削除され、契約ID「V0001-0002」との対応づけもなくなる。よって、その領域は、その後、少なくともすぐには使用されず、無駄となる。
「Range-Key Skip Graph による範囲検索可能な大規模分散キーバリューストアの実現」、情報処理学会研究報告、IPSJ SIG Notes 2010-DPS-144(9)、1-8、2010年9月10日
本発明は、上記課題に鑑みてなされたものであり、副キーから主キーを検索するために使用されるメモリー領域を少なくする技術を提供することを目的とする。
上記課題を解決するために、第1の本発明のデータベースは、副キーと該副キーに対応する1以上の主キーに割り当てられた順序で最初の主キーである代表の主キーとを含むレコードが蓄積される副キー主キー対応テーブルと、主キーを少なくとも含み、該主キーが、同一の副キーに対応する2以上の主キーに割り当てられた順序で最初と最後以外の主キーである場合は、該主キーの次の順序を割り当てられた主キーを示すNEXT情報を含むレコードが蓄積される格納データテーブルとを備えることを特徴とする。
第2の本発明は、上記データベースの検索方法であって、前記副キー主キー対応テーブルの1つのレコードに含まれる代表の主キーに一致する主キーを含むレコードを前記格納データテーブルから検索し、検索されたレコードにNEXT情報が含まれる場合は、当該NEXT情報により示される主キーに一致する主キーを含むレコードを前記格納データテーブルから検索する処理を、レコードにNEXT情報が含まれる場合は繰り返し、レコードにNEXT情報が含まれない場合は終了することを特徴とする。
本発明によれば、副キーから主キーを検索するために使用されるメモリー領域を少なくできる。
本実施の形態に係るデータベースに含まれる副キー主キー対応テーブルの例である。 本実施の形態に係るデータベースに含まれる格納データテーブルの例である。 本データベースを含むシステム構成の例である。 本実施の形態に係る検索方法のフローチャートである。 検索のイメージを示す図である。 メモリ使用領域を従来技術と比較した図である。 本実施の形態におけるCPU使用率の遷移を示す図である。 本実施の形態における主キー検索時のメモリ使用領域と副キー検索時のメモリ使用領域を示す図である。 従来の分散データベースにおける格納データテーブルの例である。 従来の分散データベースにおける副キー主キー対応テーブルの例である。 従来の分散データベースにおける主キーテーブルの例である。 図11の主キーテーブルに1つの小テーブルが追加された場合の例である。 図12の主キーテーブルにおいて1つの小テーブルが空き領域となった場合の例である。
以下、本発明の実施の形態について図面を参照して説明する。
図1は、本実施の形態に係るデータベースに含まれる副キー主キー対応テーブルの例である。図2は、本実施の形態に係るデータベースに含まれる格納データテーブルの例である。格納データテーブル2には、例えば、電話加入者の情報が格納される。
本実施の形態に係るデータベースは、副キーと該副キーに対応する1以上の主キーに割り当てられた順序で最初の主キーである代表の主キーとを含むレコードが蓄積される副キー主キー対応テーブル1と、主キーを少なくとも含み、該主キーが、同一の副キーに対応する2以上の主キーに割り当てられた順序で最後以外の主キーである場合は、該主キーの次の順序を割り当てられた主キーを示すNEXT情報を含むレコードが蓄積される格納データテーブル2とを備える。例えば、格納データテーブル2の各レコードは、加入者の住所、氏名などを含む。
ここでは、主キーを電話番号とし、副キーを契約IDとするが、データベースの用途などによっては、別の情報を主キー、副キーとしてもよい。
例えば、契約ID(副キー)「V0001-0003」に電話番号(主キー)「050-2222-1111」、「050-3333-1234」、「050-4444-5678」が対応し、「050-2222-1111」に1、「050-3333-1234」に2、「050-4444-5678」に3の順序が割り当てられている場合、契約ID「V0001-0003」(副キー)およびこの順序で最初の主キーである代表の主キー「050-2222-1111」を含むレコードが副キー主キー対応テーブル1に含まれる。
また、格納データテーブル2は、電話番号「050-2222-1111」、「050-3333-1234」、「050-4444-5678」をそれぞれ含むレコードを含む。電話番号「050-2222-1111」を含むレコードは、「050-3333-1234」を示すNEXT情報を含む。電話番号「050-3333-1234」を含むレコードは、「050-4444-5678」を示すNEXT情報を含む。電話番号「050-4444-5678」は、最後の順序なので、電話番号「050-4444-5678」を含むレコードは、NEXT情報を含まない。
なお、契約ID(副キー)に電話番号(主キー)が1つだけ対応する場合は、この電話番号が代表の主キーとなる。
図3は、本データベースを含むシステム構成の例である。
データベースは、例えば、複数のノードN(コンピュータ)で構成される分散KVSデータベース11において、各ノードNに分散配置される。
分散KVSデータベース11は、通信回線を介して接続されたデータ管理システム12により管理される。データ管理システム12は、例えば、オペレータに使用される保守装置13に通信回線を介して接続される。データ管理システム12は、例えば、複数のサービス提供装置14に通信回線を介して接続される。各サービス提供装置14は、複数の端末15を収容する。
図4は、本実施の形態に係る検索方法のフローチャートである。
ここでは、データ管理システム12による検索について説明するが、保守装置13やサービス提供装置14が同様の方法で検索してもよい。
(S1)
データ管理システム12は、外部から契約ID(副キー)を入力する。
(S3)
次に、データ管理システム12は、副キー主キー対応テーブル1から、S1で入力した契約IDに一致する副キーを含むレコードを検索する。
(S5)
次に、データ管理システム12は、S3で検索されたレコードから主キーを読み出す。
(S7)
次に、データ管理システム12は、格納データテーブル2から、S5で検索された主キーに一致する主キーを含むレコードを検索する。
(S9)
次に、データ管理システム12は、直前に検索された格納データテーブル2のレコードがNEXT情報を含むか否かを判定する。
(S11)
データ管理システム12は、直前に検索された格納データテーブル2のレコードがNEXT情報を含むなら(S9:YES)、格納データテーブル2から、当該NEXT情報により示される主キーを含むレコードを検索し、S9に戻る。
データ管理システム12は、直前に検索された格納データテーブル2のレコードがNEXT情報を含まないなら(S9:NO)、処理を終える。
図5は、検索のイメージを示す図である。
例えば、図1の例において、契約ID(副キー)「V0001-0003」を入力した場合、電話番号「050-2222-1111」、「050-3333-1234」、「050-4444-5678」(共に主キー)が検索される。電話番号「050-2222-1111」は代表の主キーである。電話番号「050-3333-1234」、「050-4444-5678」は、それぞれNEXT情報により示される主キーである。
図6は、メモリ使用領域を従来技術と比較した図である。
格納データテーブル(2)においては、NEXT情報の追加により、従来よりもメモリ使用領域が増加する。
しかし、副キー主キー対応テーブル(1)においては、代表の主キーのみを保持したことにより、従来よりもメモリ使用領域が減少する。
トータルでは、代表の主キーのみを保持したことによるメモリ使用領域の減少量が、NEXT情報の追加によるメモリ使用領域の増加量より多いので、メモリ使用領域が減少する。
図7は、本実施の形態におけるCPU使用率の遷移を示す図である。
本実施の形態では、従来と同様に、電話番号(主キー)が入力されると、格納データテーブル2から、電話番号(主キー)に一致する主キー(電話番号)を含むレコードが検索され、そのレコードから住所、氏名、契約ID(副キー)などが読み出される。
本実施の形態では、このような主キー検索が行われることが殆どであり、図4のような副キー検索が行われるのは、全体の10%程度である。副キー検索は、一時的にCPU使用率を高める。
図7に示すように、副キー検索が一時的にCPU使用率を高めたとしても、副キー検索の頻度は低いので、システムに与える悪影響は少ないと考えられる。
図8は、本実施の形態における主キー検索時のメモリ使用領域と副キー検索時のメモリ使用領域を示す図である。
主キー検索でのメモリ消費は少なく、空きのメモリを多く確保できる。一方、副キー検索でのメモリ消費は多く、空きのメモリを多く確保できない。
したがって、副キー検索時の空きのメモリを多く確保できるようにメモリ領域を多くしておくことが望ましい。
以上のように、本実施の形態のデータベースによれば、副キーと該副キーに対応する1以上の主キーに割り当てられた順序で最初の主キーである代表の主キーとを含むレコードが蓄積される副キー主キー対応テーブル1と、主キーを少なくとも含み、該主キーが、同一の副キーに対応する2以上の主キーに割り当てられた順序で最後以外の主キーである場合は、該主キーの次の順序を割り当てられた主キーを示すNEXT情報を含むレコードが蓄積される格納データテーブル2とを備える。そして、図4に示す副キー検索では、副キー主キー対応テーブル1の1つのレコードに含まれる代表の主キーに一致する主キーを含むレコードを格納データテーブル1から検索し(S7)、検索されたレコードにNEXT情報が含まれる場合は(S9:YES)、当該NEXT情報により示される主キーに一致する主キーを含むレコードを格納データテーブル2から検索する処理(S11)を、レコードにNEXT情報が含まれる場合は繰り返し、レコードにNEXT情報が含まれない場合は(S9:NO)検索を終了するので、副キーから主キーを検索するために使用されるメモリー領域を少なくすることができる(図6)。
なお、図4に示す副キー検索をコンピュータに実行させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に記録でき、また、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
1 副キー主キー対応テーブル
2 格納データテーブル
11 分散KVSデータベース
12 データ管理システム
13 保守装置
14 サービス提供装置
15 端末
N ノード

Claims (2)

  1. 副キーと該副キーに対応する1以上の主キーに割り当てられた順序で最初の主キーである代表の主キーとを含むレコードが蓄積される副キー主キー対応テーブルと、
    主キーを少なくとも含み、該主キーが、同一の副キーに対応する2以上の主キーに割り当てられた順序で最初と最後以外の主キーである場合は、該主キーの次の順序を割り当てられた主キーを示すNEXT情報を含むレコードが蓄積される格納データテーブルと
    を備えることを特徴とするデータベース。
  2. 請求項1記載のデータベースの検索方法であって、
    前記副キー主キー対応テーブルの1つのレコードに含まれる代表の主キーに一致する主キーを含むレコードを前記格納データテーブルから検索し、
    検索されたレコードにNEXT情報が含まれる場合は、当該NEXT情報により示される主キーに一致する主キーを含むレコードを前記格納データテーブルから検索する処理を、レコードにNEXT情報が含まれる場合は繰り返し、レコードにNEXT情報が含まれない場合は終了する
    ことを特徴とするデータベースの検索方法。
JP2015027395A 2015-02-16 2015-02-16 データベースの検索方法 Active JP6440256B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015027395A JP6440256B2 (ja) 2015-02-16 2015-02-16 データベースの検索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015027395A JP6440256B2 (ja) 2015-02-16 2015-02-16 データベースの検索方法

Publications (2)

Publication Number Publication Date
JP2016151793A true JP2016151793A (ja) 2016-08-22
JP6440256B2 JP6440256B2 (ja) 2018-12-19

Family

ID=56696556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015027395A Active JP6440256B2 (ja) 2015-02-16 2015-02-16 データベースの検索方法

Country Status (1)

Country Link
JP (1) JP6440256B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110766501A (zh) * 2018-07-27 2020-02-07 北京京东尚科信息技术有限公司 数据嵌套存储方法、装置、电子设备及计算机可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148782A (ja) * 1998-11-13 2000-05-30 Nec Corp リレーショナルデータベースの検索方法およびシステムならびにリレーショナルデータベースの検索プログラムを記録した情報記録媒体
JP2000181768A (ja) * 1998-12-15 2000-06-30 Anetsukusu Syst Kk デ―タ格納検索方式
US20130304770A1 (en) * 2012-05-10 2013-11-14 Siemens Aktiengesellschaft Method and system for storing data in a database
JP2014153760A (ja) * 2013-02-05 2014-08-25 Nippon Telegr & Teleph Corp <Ntt> データ管理装置およびデータ管理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148782A (ja) * 1998-11-13 2000-05-30 Nec Corp リレーショナルデータベースの検索方法およびシステムならびにリレーショナルデータベースの検索プログラムを記録した情報記録媒体
JP2000181768A (ja) * 1998-12-15 2000-06-30 Anetsukusu Syst Kk デ―タ格納検索方式
US20130304770A1 (en) * 2012-05-10 2013-11-14 Siemens Aktiengesellschaft Method and system for storing data in a database
JP2014153760A (ja) * 2013-02-05 2014-08-25 Nippon Telegr & Teleph Corp <Ntt> データ管理装置およびデータ管理プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
D.M.クロエンケ, データベース処理 基礎・設計・実装, vol. 第1版, JPN6017049263, 30 August 1996 (1996-08-30), pages p.632−634 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110766501A (zh) * 2018-07-27 2020-02-07 北京京东尚科信息技术有限公司 数据嵌套存储方法、装置、电子设备及计算机可读介质

Also Published As

Publication number Publication date
JP6440256B2 (ja) 2018-12-19

Similar Documents

Publication Publication Date Title
KR102564170B1 (ko) 데이터 객체 저장 방법, 장치, 및 이를 이용한 컴퓨터 프로그램이 저장되는 컴퓨터 판독가능한 저장 매체
CN109857724B (zh) 基于区块链实现支持多种数据库的方法及设备
US11868315B2 (en) Method for splitting region in distributed database, region node, and system
KR20170123336A (ko) 파일 조작 방법 및 장치
US9002844B2 (en) Generating method, generating system, and recording medium
CN103166911B (zh) 一种版本管理服务器权限管理方法和设备
EP3432157A1 (en) Data table joining mode processing method and apparatus
CN107103011B (zh) 终端数据搜索的实现方法和装置
CN103761136A (zh) 一种基于插件的数据模型动态加载的方法
CN109241056B (zh) 一种用于分布式系统的数字id生成系统
CN103888424B (zh) 集群式数据加密系统及其数据处理方法
US20180260463A1 (en) Computer system and method of assigning processing
CN108399175B (zh) 一种数据存储、查询方法及其装置
JP2017027326A (ja) ストレージシステムおよびストレージシステム用プログラム
US20140320498A1 (en) Terminal device, information processing method, and computer program product
JP6440256B2 (ja) データベースの検索方法
US9348847B2 (en) Data access control apparatus and data access control method
US10761940B2 (en) Method, device and program product for reducing data recovery time of storage system
US20140025630A1 (en) Data-store management apparatus, data providing system, and data providing method
CN108205559A (zh) 一种数据管理方法及其设备
CN112579633A (zh) 一种数据检索方法、装置、设备及存储介质
CN111857556A (zh) 管理存储对象的元数据的方法、装置和计算机程序产品
CN111966533B (zh) 电子文件管理方法、装置、计算机设备和存储介质
US20170322963A1 (en) Apparatus and Method for Creating User Defined Variable Size Tags on Records in RDBMS
CN101431429B (zh) 一种设备中物理实体信息管理方法及设备与设备管理端

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181023

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20181031

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: 20181116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181116

R150 Certificate of patent or registration of utility model

Ref document number: 6440256

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150