JP2015041207A - データベース装置 - Google Patents

データベース装置 Download PDF

Info

Publication number
JP2015041207A
JP2015041207A JP2013171446A JP2013171446A JP2015041207A JP 2015041207 A JP2015041207 A JP 2015041207A JP 2013171446 A JP2013171446 A JP 2013171446A JP 2013171446 A JP2013171446 A JP 2013171446A JP 2015041207 A JP2015041207 A JP 2015041207A
Authority
JP
Japan
Prior art keywords
cabinet
database
actual data
group
data
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
JP2013171446A
Other languages
English (en)
Other versions
JP5718990B2 (ja
Inventor
俊輔 鶴見
Shunsuke Tsurumi
俊輔 鶴見
潤子 佐々木
Junko Sasaki
潤子 佐々木
茂樹 徳永
Shigeki Tokunaga
茂樹 徳永
阿部 健二
Kenji Abe
健二 阿部
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 JP2013171446A priority Critical patent/JP5718990B2/ja
Publication of JP2015041207A publication Critical patent/JP2015041207A/ja
Application granted granted Critical
Publication of JP5718990B2 publication Critical patent/JP5718990B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】データベース装置においてメモリの使用効率を高める。【解決手段】データベース装置10に設けられた共有テーブル1において各共有テーブル行は、検索のためのキー範囲情報11、該当の一群データが記憶されるデータベース装置10を示す配置先情報12、当該データベース装置10において当該実データ群に対応して設けられるキャビネット4に対して割り当てられるキャビネット論理通番13、該当の実データ群に付与されるアドレス14、当該一群データの中で当該実データ群の次の順位を付与された実データ群のアドレス14を示す次順アドレス15、を含む。【選択図】図2

Description

本発明は、データベース装置に関するものである。
従来においては、データ大容量化や拡張性、信頼性等の観点からデータを分散格納する分散データベースシステムの適用が進んでいる。
鶴見 俊輔、阿部 健二、佐々木 潤子、日本電信電話株式会社 NTTネットワークサービスシステム研究所、「分散DBシステムにおけるデータ管理方式の一検討」、2013年電子情報通信学会総合大会
図10は、分散データベースシステムを構成する1つのデータベース装置における内部構成の一例を示す。
データベース装置10Aは、1つの共有テーブル1、1つの変換テーブル2、1つの空塞状況テーブル3、1つ以上のキャビネット4、キャビネット4ごとのキーテーブル5および1つのデータベース6を備える。
共有テーブル1には、分散データベースシステムを構成するいずれかのデータベース装置10Aに記憶される一群の実データ(以下、一群データという)のそれぞれにつき、共有テーブル行を備える。
共有テーブル行は、一群データを検索するためキー範囲情報11、一群データが記憶されるデータベース装置10Aを示す配置先情報12、当該データベース装置10Aにおいて当該一群データに対応して設けられるキャビネット4に対し全データベース装置で一意となるように割り当てられるキャビネット論理通番13、を含む。
変換テーブル2は、変換テーブル2を備えるデータベース装置(以下、自データベース装置のように呼称する)に設けられるキャビネット4のそれぞれにつき、変換テーブル行を備える。
変換テーブル行は、該当のキャビネット4に割り当てられるキャビネット論理通番(変換テーブル行においては、キャビネット論理通番21という)、該当のキャビネット4に対し自データベース装置で一意となるように割り当てられるキャビネット物理通番22、を含む。
空塞状況テーブル3は、自データベース装置におけるキャビネット4の状況を示すものであり、各キャビネット4につき、空塞状況テーブル行を備える。
空塞状況テーブル行は、該当のキャビネット4に割り当てられるキャビネット物理通番(空塞状況テーブル行においては、キャビネット物理通番31という)、該当のキャビネットにおける実データポインタ42(詳しくは後述する)の有無を示す空塞状況フラグ32、を含む。
キャビネット4には、自データベース装置で一意となるようにキャビネット物理通番が割り当てられる。
また、キャビネット4は、所定数(N)のキャビネット行を備える。
キャビネット行は、当初からキャビネットインデクス41を含み、後に実データポインタ42を含むように更新される。
キャビネット行は、キャビネット行を含むキャビネット4に対応する一群データの中での1つの実データに対応するものである。キャビネットインデクス41は、当該一群の中で当該実データを一意に示すものである。実データポインタ42は、自データベース装置のデータベース6の中で当該実データを保持するデータベース行の位置を示すものである。
キーテーブル5は、対応するキャビネット4に記憶される実データのそれぞれにつき、キーテーブル行を備える。キーテーブル行は、該当の実データを検索するためのキー51、当該実データに対応するキャビネットインデクス41を辿るためのインデクス52、を含む。
データベース6は、自データベース装置において実データを個々に記憶するためのデータベース行からなる。
データベース行は、当初から実データインデクス61を含み、後に実データ(データベース行においては、実データ62という)、識別子63、を含むように更新される。
実データインデクス61は、当該実データインデクス61を含むデータベース行のデータベース6における位置を示すものである。
識別子63は、当該識別子63を含むデータベース行内の実データインデクス61と同じ実データポインタ42を含むキャビネット4に割り当てられたキャビネット物理通番と同じキャビネット物理通番を含む変換テーブル行内のキャビネット論理通番21と同じキャビネット論理通番(識別子63においては、キャビネット論理通番N1という)、当該キャビネット4において当該実データポインタ42を含むキャビネット行内のキャビネットインデクス41と同じキャビネットインデクス(識別子63においては、キャビネットインデクスN2という)、を含む。
共有テーブル1のキャビネット論理通番13と変換テーブル2のキャビネット論理通番21は連携する番号である。
変換テーブル2のキャビネット物理通番22とキャビネット4のキャビネット物理通番は連携する番号である。
キャビネット4のキャビネットインデクス41とキーテーブル5のインデクス52は連携する番号である。
キャビネット4の実データポインタ42とデータベース6の実データインデクス61は連携する番号である。
上記説明において、一群データに対応してキャビネット4が設けられると記載したが、これは、一群データに対してキャビネット4が1対1で設けられるという意味である。
この一群データについて言えば、その中の実データ数は、一群データごとに異なる。よって、キャビネット行の数N(各キャビネット4で共通)は、実データの最大数以上となるように設定される。つまり、各キャビネット4は、実データの最大数以上のキャビネット行を予め有していなければならない。
言い換えれば、実データの数の少ない一群データに対応するキャビネット4であっても、最大数以上のキャビネット行を予め有していなければならず、その多くのキャビネット行が使用されない。キャビネット行は、メモリ(記憶素子)で構成されるので、使用しないメモリが多く必要となり、メモリの使用効率が悪い。
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、データベース装置においてメモリの使用効率を高める技術を提供することにある。
上記の課題を解決するために、本発明は、複数のデータベース装置からなる分散データベースシステムを構成するデータベース装置であって、いずれかのデータベース装置に記憶される一群の実データである一群データの全部または一部である実データ群のそれぞれにつき、当該一群データを検索するためキー範囲情報(11)、当該一群データが記憶されるデータベース装置を示す配置先情報(12)、当該データベース装置において当該実データ群に対応して設けられるキャビネットに対し全データベース装置で一意となるように割り当てられるキャビネット論理通番(13)、当該実データ群に付与されるアドレス(14)、当該一群データの中で当該実データ群の次の順位を付与された実データ群のアドレス(14)を示す次順アドレス(15)、を含む共有テーブル行を備える共有テーブル(1)と、自データベース装置に設けられるキャビネットのそれぞれにつき、当該キャビネットに割り当てられるキャビネット論理通番(21)、当該キャビネットに対し自データベース装置で一意となるように割り当てられるキャビネット物理通番(22)、を含む変換テーブル行を備える変換テーブル(2)と、自データベース装置に設けられるキャビネット(4)であり、且つ、当該キャビネットに対応する実データ群の中での実データのそれぞれにつき、当該実データ群の中で当該実データを一意に示すキャビネットインデクス(41)、自データベース装置の中での当該実データの位置を示す実データポインタ(42)、含むキャビネット行を備えるキャビネット(4)と、一群データごとに設けられ、当該一群データに含まれる実データのそれぞれにつき、当該実データを検索するためのキー(51)、当該実データに対応するキャビネットインデクス(41)を辿るためのインデクス(52)、を含むキーテーブル行を備えるキーテーブル(5)と、自データベース装置において実データを個々に記憶するためのデータベース行からなり、当該データベース行に対し、当該データベース行の位置を示す実データインデクス(61)、当該データベース行に記憶すべき実データ(62)、を記憶させるためのデータベース(6)とを備え、共有テーブル(1)のキャビネット論理通番(13)と変換テーブル(2)のキャビネット論理通番(21)は連携する番号であって、変換テーブル(2)のキャビネット物理通番(22)とキャビネット(4)のキャビネット物理通番は連携する番号であって、キャビネット(4)のキャビネットインデクス(41)とキーテーブル(5)のインデクス(52)は連携する番号であって、キャビネット(4)の実データポインタ(42)とデータベース(6)の実データインデクス(61)は連携する番号であることを特徴とする。
本発明によれば、キャビネット行の数を少なく設定でき、よって、使用されないキャビネット行を少なくでき、メモリの使用効率を高めることができる。。
本実施の形態に係る分散データベースシステムの一例を示す図である。 各データベース装置10の概略構成を示す図である。 分散データベースシステムにおいて新たな一群データを記憶させる必要性が生じた場合の動作の第1段階を示す図である。 分散データベースシステムにおいて新たな一群データを記憶させる必要性が生じた場合の動作の第2段階を示す図である。 分散データベースシステムにおいて一群データに対応するキャビネット4の数を増やす必要性が生じた場合の動作を示す図である。 実データをデータベース6に記憶させる際の動作を示す図である。 実データをデータベース6に記憶させる際の別な動作を示す図である。 キーによる実データ検索の動作を示す図である。 識別子による実データ検索の動作を示す図である。 一群データに対してキャビネット4が1対1で設けられるデータベース装置における内部構成の一例を示す。
以下、本発明の実施の形態について図面を参照して説明する。
図1は、本実施の形態に係る分散データベースシステムの一例を示す図である。
分散データベースシステム100は、複数のデータベース装置10を備え、各データベース装置10は、互いに通信可能となっている。
各データベース装置10は、また、制御装置20および呼処理サーバ(SIPサーバなど)30とも通信可能となっている。呼処理サーバ30には、複数の電話機301が収容されている。
図2は、各データベース装置10の概略構成を示す図である。
データベース装置10は、1つの共有テーブル1、1つの変換テーブル2、1つの空塞状況テーブル3、1つ以上のキャビネット4、いずれかのデータベース装置10に記憶される一群の実データ(以下、「一群データ」という)ごとのキーテーブル5、1つのデータベース6および、1つの検索ツリー7を備える。
共有テーブル1には、一群データの全部または一部である実データ群のそれぞれにつき、共有テーブル行を備える。
一群データにおける実データ数がN個より多い場合、一群データは複数の実データ群で構成され、つまり、各実データ群は、一群データの一部でしかない。
一方、一群データにおける実データ数がN個以下の場合、一群データは1つの実データ群で構成され、つまり、実データ群は一群データの全部をいう。
共有テーブル行は、該当の一群データを検索するためキー範囲情報11、当該一群データが記憶されるデータベース装置10を示す配置先情報12、当該データベース装置10において当該実データ群に対応して設けられるキャビネット4に対し全データベース装置で一意となるように割り当てられるキャビネット論理通番13、該当の実データ群に付与されるアドレス14、当該一群データの中で当該実データ群の次の順位を付与された実データ群のアドレス14を示す次順アドレス15、を含む。
一群データが複数の実データ群で構成される場合、各実データ群には順位(例えば、生成時期に応じた順位)が付与される。
図において、キャビネット論理通番13「1」を含む共有テーブル行に対応する実データ群は、例えば、これを含む一群データ(キー範囲情報11:050-1111に対応する一群データ)の中で順位「1」を付与されたものである。
また、キャビネット論理通番13「2」を含む共有テーブル行に対応する実データ群は、例えば、これを含む一群データ(キー範囲情報11:050-1111に対応する一群データ)の中で順位「2」を付与されたものである。
よって、前者の共有テーブル行は、後者の共有テーブル行におけるアドレス14:0002を示す次順アドレス15:0002を含む。
後者の共有テーブル行の次順アドレス15が「NULL」(空白)となっているのは、例えば、順位が「2」まで、つまり、実データ群が2個だからである。
また、キャビネット論理通番13「3」や「4」を含む共有テーブル行の次順アドレス15が「NULL」(空白)となっているのは、例えば、一群データの全部が実データ群であり、よって、順位が付与されてないからある。
変換テーブル2は、変換テーブル2を備えるデータベース装置(以下、自データベース装置のように呼称する)に設けられるキャビネット4のそれぞれにつき、変換テーブル行を備える。
変換テーブル行は、該当のキャビネット4に割り当てられるキャビネット論理通番(変換テーブル行においては、キャビネット論理通番21という)、該当のキャビネット4に対し自データベース装置で一意となるように割り当てられるキャビネット物理通番22、を含む。
空塞状況テーブル3は、自データベース装置におけるキャビネット4の状況を示すものであり、各キャビネット4につき、空塞状況テーブル行を備える。
空塞状況テーブル行は、該当のキャビネット4に割り当てられるキャビネット物理通番(空塞状況テーブル行においては、キャビネット物理通番31という)、該当のキャビネットにおける実データポインタ42(詳しくは後述する)の有無を示す空塞状況フラグ32、を含む。
キャビネット4には、自データベース装置で一意となるようにキャビネット物理通番が割り当てられる。
また、キャビネット4は、上記説明におけるNに等しい数のキャビネット行を備える。
キャビネット行は、当初からキャビネットインデクス41を含み、後に実データポインタ42を含むように更新される。
キャビネット行は、キャビネット行を含むキャビネット4に対応する実データ群の中での1つの実データに対応するものである。キャビネットインデクス41は、当該実データ群の中で当該実データを一意に示すものである。実データポインタ42は、自データベース装置のデータベース6の中で当該実データを保持するデータベース行の位置を示すものである。
キーテーブル5は、対応するキャビネット4に記憶される実データのそれぞれにつき、キーテーブル行を備える。キーテーブル行は、該当の実データを検索するためのキー51、当該実データに対応するキャビネットインデクス41を辿るためのインデクス52、を含む。
データベース6は、自データベース装置において実データを個々に記憶するためのデータベース行からなる。
データベース行は、当初から実データインデクス61を含み、後に実データ(データベース行においては、実データ62という)、識別子63、を含むように更新される。
実データインデクス61は、当該実データインデクス61を含むデータベース行のデータベース6における位置を示すものである。
識別子63は、当該識別子63を含むデータベース行内の実データインデクス61と同じ実データポインタ42を含むキャビネット4に割り当てられたキャビネット物理通番と同じキャビネット物理通番を含む変換テーブル行内のキャビネット論理通番21と同じキャビネット論理通番(識別子63においては、キャビネット論理通番N1という)、当該キャビネット4において当該実データポインタ42を含むキャビネット行内のキャビネットインデクス41と同じキャビネットインデクス(識別子63においては、キャビネットインデクスN2という)、を含む。例えば、識別子63が「12」である場合、N1は「1」、N2は「2」である。
共有テーブル1のキャビネット論理通番13と変換テーブル2のキャビネット論理通番21は連携する番号である。
変換テーブル2のキャビネット物理通番22とキャビネット4のキャビネット物理通番は連携する番号である。
キャビネット4のキャビネットインデクス41とキーテーブル5のインデクス52は連携する番号である。
キャビネット4の実データポインタ42とデータベース6の実データインデクス61は連携する番号である。
図3は、分散データベースシステムにおいて新たな一群データを記憶させる必要性が生じた場合の動作の第1段階を示す図である。
動作説明の前に検索ツリー7について説明する。
検索ツリー7は、各キー範囲情報11同士の共通部分を幹71とし非共通部分を枝72とした木形状で当該各キー範囲情報11を表現したものである。また、各枝72に対しては、当該枝のキー範囲情報11に対応するアドレス14が対応づけられている。
分散データベースシステムにおいて、新たな一群データを記憶させる必要性が生じた場合、データベース装置10は、制御装置20や他のデータベース装置10から、例えば、その一群データを検索するためキー範囲情報11と同じ増設キー情報A:050-555、その一群データが記憶されるデータベース装置10を示す配置先情報B:#1、その一群データに対して割り当てるべきキャビネット4の数と同じキャビネット数C:1を含むキャビネット増設電文を受信する。
図示しないが、データベース装置10は、配置先情報Bが他のデータベース装置を示すものなら、キャビネット増設電文を他のデータベース装置に送信する。
一方、データベース装置10は、配置先情報Bが自データベース装置を示すものなら、増設キー情報Aと同じキー範囲情報11:050-555に対応する枝72を検索ツリー7から検索する。キー範囲情報11:050-555は新しいものなので、枝72は検索ツリー7には無く、データベース装置10は、キー範囲情報11:050-555に対応する枝72を検索ツリー7に追加する(S1)。
次に、データベース装置10は、共有テーブル1に対し、増設キー情報Aと同じキー範囲情報11:050-555、配置先情報Bと同じ配置先情報12:#1、新たなアドレス14:0003、共有テーブル1にないキャビネット論理通番13:2を含む共有テーブル行を追加し、追加した枝72をアドレス14:0003に対応づける(S2)。
なお、キャビネット数Cが2以上ならば、データベース装置10は、同数の共有テーブル行を設け、最低順位以外の共有テーブル行には次順アドレス15を含める。
図4は、分散データベースシステムにおいて新たな一群データを記憶させる必要性が生じた場合の動作の第2段階を示す図である。
次に、データベース装置10は、変換テーブル2に対し、追加された共有テーブル行のキャビネット論理通番13と同じキャビネット論理通番21、変換テーブル2にないキャビネット物理通番22、を含む変換テーブル行を追加する(S3)。
また、図示しないが、データベース装置10は、新たなキャビネット4を生成し、キャビネット4に対し、追加された変換テーブル行のキャビネット物理通番22と同じキャビネット物理通番を割り当てる。
また、データベース装置10は、空塞状況テーブル3において、割り当てられたキャビネット物理通番22と同じキャビネット物理通番31を含む空塞状況テーブル行内の空塞状況フラグ32が、キャビネット4が存在することを示すように(「空」→「塞」)、空塞状況テーブル3を更新する(S4)。
また、データベース装置10は、更新された共有テーブル1を他のデータベース装置に送信する(S5)。他のデータベース装置10は、共有テーブル1を受信し、受信した共有テーブル1で、自データベース装置の共有テーブル1を置き換える。なお、共有テーブル1を送信したデータベース装置10は、他のデータベース装置10から共有テーブル1を受信した場合、受信した共有テーブル1で、自データベース装置の共有テーブル1を置き換える。
図5は、分散データベースシステムにおいて一群データに対応するキャビネット4の数を増やす必要性が生じた場合の動作を示す図である。
分散データベースシステムにおいて、ある一群データに対応するキャビネット4の数を増やす必要性が生じた場合、つまり、例えば、一群データにおける実データ数が増えるような場合、データベース装置10は、制御装置20や他のデータベース装置10から、例えば、増設キー情報A:050-1111、キャビネット数C:2を含むキャビネット増設電文を受信する。キャビネット数Cは、増加後のキャビネット4の数である。
データベース装置10は、増設キー情報Aと同じキー範囲情報11:050-1111に対応する枝72を検索ツリー7から検索する。
データベース装置10は、該当の枝72がないなら、キャビネット増設電文を他のデータベース装置に送信する。
一方、データベース装置10は、該当の枝72があるなら、共有テーブル1から、増設キー情報Aと同じキー範囲情報11:050-1111を含む共有テーブル行を検索し、配置先情報12:#1を読み出す。
次に、データベース装置10は、共有テーブル1に対し、増設キー情報Aと同じキー範囲情報11:050-1111、読み出した配置先情報12:#1、新たなアドレス14:0003、共有テーブル1にないキャビネット論理通番13:2を含む共有テーブル行を追加する(S11)。
次に、データベース装置10は、キー範囲情報11:050-1111を含む共有テーブル行(追加した共有テーブル行を除く)から最低順位の共有テーブル行を検索し、当該共有テーブル行に対し、追加した共有テーブル行に含まれるアドレス14:0003を示す次順アドレス15:0003を追加する(S12)。
以下、図4と同様に、追加された共有テーブル行に関連して、変換テーブル2が更新され、キャビネット4が生成されてキャビネット物理通番が割り当てられる。
なお、このキャビネット4については、キャビネットインデクス41は、1つ前の順位のキャビネット4のキャビネットインデクス41からの続き番号となる。例えば、順位「2」のキャビネット4のキャビネットインデクス41は、N+1から始まり、2Nまでとなる(図2のキャビネット物理通番「3」のキャビネット4を参照のこと)。
また、図4と同様に、空塞状況テーブル3が更新され、各データベース装置10において共有テーブル1の同期が図られる。
図6は、実データをデータベース6に記憶させる際の動作を示す図である。
例えば、データベース装置10は、制御装置20や他のデータベース装置10から、キーX:050-1111-bbbb、実データY:yyyyを含む登録電文を受信する。
データベース装置10は、検索ツリー7から、キーX:050-1111-bbbbの一部に該当する枝72:1111を検索する。
次に、データベース装置10は、共有テーブル1から、枝72:1111に対応づけられたアドレス14:0001を含む共有テーブル行を検索する(S21)。
データベース装置10は、共有テーブル行の配置先情報12が他のデータベース装置を示すものなら、新規投入電文を当該他のデータベース装置に送信する(図示せず)。
一方、データベース装置10は、配置先情報12が自データベース装置を示すものなら、変換テーブル2から、共有テーブル行のキャビネット論理通番13と同じキャビネット論理通番21を含む変換テーブル行を検索し(S22)、変換テーブル行からキャビネット物理通番22を読み出す。
次に、データベース装置10は、キャビネット物理通番22と同じキャビネット物理通番を割り当てられたキャビネット4から、実データポインタ42のないキャビネット行を検索する(S23)。
データベース装置10は、実データポインタ42のないキャビネット行があったなら、そのキャビネット行に対し、実データ62のないデータベース行の実データインデクス61と同じ実データポインタ42を追加する(S24)。
次に、データベース装置10は、キャビネット4に対応するキーテーブル5に対し、キーXと同じキー51、キャビネットインデクス41と同じインデクス52、を含むキーテーブル行を追加する(S25)。
次に、データベース装置10は、データベース6から、追加されたキャビネット行の実データポインタ42と同じ実データインデクス61を含むデータベース行を検索し、データベース行に対し、実データYと同じ実データ62ならびに識別子63を記憶させる(S26)。
識別子63は、当該識別子63を含むデータベース行内の実データインデクス61と同じ実データポインタ42を含むキャビネット4に割り当てられたキャビネット物理通番と同じキャビネット物理通番を含む変換テーブル行内のキャビネット論理通番21と同じキャビネット論理通番N1、当該キャビネット4において当該実データポインタ42を含むキャビネット行内のキャビネットインデクス41と同じキャビネットインデクスN2、を含む。
図7は、実データをデータベース6に記憶させる際の別な動作を示す図である。
図6のステップS23において、実データポインタ42のないキャビネット行がなかったなら、つまり、全キャビネット行に実データポインタ42がある場合は、登録電文の送信元にエラーを返却し、前述のようにキャビネット4を増設する(S31)。これに伴い、共有テーブル1も更新(共有テーブル行の追加等)される(S32)。
これにより、増設されたキャビネット4においては、全キャビネット行において実データポインタ42がないので、データベース装置10は、そのキャビネット行の1つに対し、実データ62のないデータベース行の実データインデクス61と同じ実データポインタ42を追加する(S33)。
次に、データベース装置10は、キャビネット4に対応するキーテーブル5に対し、キーXと同じキー51、キャビネットインデクス41と同じインデクス52、を含むキーテーブル行を追加する(S34)。
次に、データベース装置10は、データベース6から、追加されたキャビネット行の実データポインタ42と同じ実データインデクス61を含むデータベース行を検索し(S35)、データベース行に対し、実データYと同じ実データ62ならびに識別子63を記憶させる(S5)。
図8は、キーによる実データ検索の動作を示す図である。
例えば、データベース装置10は、電話機301から呼処理サーバ30を介して、または、他のデータベース装置10から、キーM:050-1111-ccccを含む検索電文を受信する。
データベース装置10は、検索ツリー7から、キーM:050-1111-ccccの一部に該当する枝72:1111を検索する。
次に、データベース装置10は、共有テーブル1から、枝72:1111に対応づけられたアドレス14:0001を含む共有テーブル行を検索する(S41)。
データベース装置10は、共有テーブル行の配置先情報12が他のデータベース装置を示すものなら、検索電文を当該他のデータベース装置に送信する(図示せず)。
一方、データベース装置10は、配置先情報12が自データベース装置を示すものなら、共有テーブル1から、検索した共有テーブル行の次順アドレス15と同じアドレス14:0003を含む共有テーブル行を検索する(S42)。
このようにして、データベース装置10は、検索した共有テーブル行の次順アドレス15と同じアドレス14を含む共有テーブル行がなくなるまで検索を行う。
次に、データベース装置10は、検索された各共有テーブル行のキャビネット論理通番13と同じキャビネット論理通番21を含む変換テーブル行を検索し(S43)、変換テーブル行からキャビネット物理通番22を読み出す。
次に、データベース装置10は、キャビネット物理通番22と同じキャビネット物理通番を割り当てられたキャビネット4に対応するキーテーブル5から、キーMと同じキー51を含むキーテーブル行を検索し、キーテーブル行からインデクス52を読み出す(S44)。
次に、データベース装置10は、キャビネット物理通番22と同じキャビネット物理通番を割り当てられた各キャビネット4から、インデクス52と同じキャビネットインデクス41を含むキャビネット行を検索する(S45)。
ここでは、1つのキャビネット4(図では、キャビネット物理通番「3」のキャビネット4)から該当のキャビネット行が検索され(S45)、データベース装置10は、そのキャビネット行から実データポインタ42を読み出す。
次に、データベース装置10は、データベース6から、実データポインタ42と同じ実データインデクス61を含むデータベース行を検索する(S46)。
次に、データベース装置10は、データベース行から実データ62を読み出し、実データ62を例えば、呼処理サーバ30を介して電話機301に送信する。
図9は、識別子による実データ検索の動作を示す図である。
例えば、データベース装置10は、電話機301から呼処理サーバ30を介して、または、他のデータベース装置10から、識別子:21を含む検索電文を受信する。識別子は、キャビネット論理通番N1、キャビネットインデクスN2を含む。
データベース装置10は、共有テーブル1から、キャビネット論理通番N1と同じキャビネット論理通番13を含む共有テーブル行を検索し(S51)、共有テーブル行の配置先情報12が他のデータベース装置を示すものなら、検索電文を当該他のデータベース装置に送信する(図示せず)。
一方、データベース装置10は、配置先情報12が自データベース装置を示すものなら、変換テーブル2から、共有テーブル行のキャビネット論理通番13と同じキャビネット論理通番21を含む変換テーブル行を検索し(S52)、変換テーブル行からキャビネット物理通番22を読み出す。
次に、データベース装置10は、キャビネット物理通番22と同じキャビネット物理通番を割り当てられたキャビネット4から、キャビネットインデクスN2と同じキャビネットインデクス41を含むキャビネット行を検索し(S53)、キャビネット行から実データポインタ42を読み出す。
次に、データベース装置10は、データベース6から、実データポインタ42と同じ実データインデクス61を含むデータベース行を検索し(S54)、データベース行から実データ62を読み出し、実データ62を例えば、呼処理サーバ30を介して電話機301に送信する。
以上のように、本実施の形態に係るデータベース装置(10)は、複数のデータベース装置からなる分散データベースシステムを構成するデータベース装置であって、いずれかのデータベース装置に記憶される一群の実データである一群データの全部または一部である実データ群のそれぞれにつき、当該一群データを検索するためキー範囲情報(11)、当該一群データが記憶されるデータベース装置を示す配置先情報(12)、当該データベース装置において当該実データ群に対応して設けられるキャビネットに対し全データベース装置で一意となるように割り当てられるキャビネット論理通番(13)、当該実データ群に付与されるアドレス(14)、当該一群データの中で当該実データ群の次の順位を付与された実データ群のアドレス(14)を示す次順アドレス(15)、を含む共有テーブル行を備える共有テーブル(1)と、自データベース装置に設けられるキャビネットのそれぞれにつき、当該キャビネットに割り当てられるキャビネット論理通番(21)、当該キャビネットに対し自データベース装置で一意となるように割り当てられるキャビネット物理通番(22)、を含む変換テーブル行を備える変換テーブル(2)と、自データベース装置に設けられるキャビネット(4)であり、且つ、当該キャビネットに対応する実データ群の中での実データのそれぞれにつき、当該実データ群の中で当該実データを一意に示すキャビネットインデクス(41)、自データベース装置の中での当該実データの位置を示す実データポインタ(42)、含むキャビネット行を備えるキャビネット(4)と、一群データごとに設けられ、当該一群データに含まれる実データのそれぞれにつき、当該実データを検索するためのキー(51)、当該実データに対応するキャビネットインデクス(41)を辿るためのインデクス(52)、を含むキーテーブル行を備えるキーテーブル(5)と、自データベース装置において実データを個々に記憶するためのデータベース行からなり、当該データベース行に対し、当該データベース行の位置を示す実データインデクス(61)、当該データベース行に記憶すべき実データ(62)、を記憶させるためのデータベース(6)とを備え、共有テーブル(1)のキャビネット論理通番(13)と変換テーブル(2)のキャビネット論理通番(21)は連携する番号であって、変換テーブル(2)のキャビネット物理通番(22)とキャビネット(4)のキャビネット物理通番は連携する番号であって、キャビネット(4)のキャビネットインデクス(41)とキーテーブル(5)のインデクス(52)は連携する番号であって、キャビネット(4)の実データポインタ(42)とデータベース(6)の実データインデクス(61)は連携する番号であるので、キャビネット行の数Nを一群データにおける実データ数の最大数以上としなくてもよく、つまり、キャビネット行の数Nを少なく設定できる。よって、使用されないキャビネット行を少なくでき、メモリの使用効率を高めることができる。
また、データベース装置(10)は、各キー範囲情報(11)の共通部分を幹(71)とし非共通部分を枝(72)とした木形状で当該各キー範囲情報(11)を表現してなる検索ツリー(7)を備え、各枝(72)に対して当該枝のキー範囲情報(11)に対応するアドレス(14)を対応づけ、入力された情報に対応する枝(72)を検索ツリー(7)から検索し、当該枝(112)に対応づけられたアドレス(14)を検索するので、入力された情報に対応するアドレス(14)を検索することができる。
1…共有テーブル
2…変換テーブル
3…空塞状況テーブル
4…キャビネット
5…キーテーブル
6…データベース
7…検索ツリー
10…データベース装置
11…キー範囲情報
12…配置先情報
13…キャビネット論理通番
14…アドレス
15…次順アドレス
20…制御装置
21…キャビネット論理通番
22…キャビネット物理通番
30…呼処理サーバ
31…キャビネット物理通番
32…空塞状況フラグ
41…キャビネットインデクス
42…実データポインタ
51…キー
52…インデクス
61…実データインデクス
62…実データ
63…識別子
71…幹
72…枝
100…分散データベースシステム
301…電話機
A…増設キー情報
B…配置先情報
C…キャビネット数
M、X…キー
N1…キャビネット論理通番
N2…キャビネットインデクス
Y…実データ
N…キャビネット行の数

Claims (2)

  1. 複数のデータベース装置からなる分散データベースシステムを構成するデータベース装置であって、
    いずれかのデータベース装置に記憶される一群の実データである一群データの全部または一部である実データ群のそれぞれにつき、当該一群データを検索するためキー範囲情報(11)、当該一群データが記憶されるデータベース装置を示す配置先情報(12)、当該データベース装置において当該実データ群に対応して設けられるキャビネットに対し全データベース装置で一意となるように割り当てられるキャビネット論理通番(13)、当該実データ群に付与されるアドレス(14)、当該一群データの中で当該実データ群の次の順位を付与された実データ群のアドレス(14)を示す次順アドレス(15)、を含む共有テーブル行を備える共有テーブル(1)と、
    自データベース装置に設けられるキャビネットのそれぞれにつき、当該キャビネットに割り当てられるキャビネット論理通番(21)、当該キャビネットに対し自データベース装置で一意となるように割り当てられるキャビネット物理通番(22)、を含む変換テーブル行を備える変換テーブル(2)と、
    自データベース装置に設けられるキャビネット(4)であり、且つ、当該キャビネットに対応する実データ群の中での実データのそれぞれにつき、当該実データ群の中で当該実データを一意に示すキャビネットインデクス(41)、自データベース装置の中での当該実データの位置を示す実データポインタ(42)、含むキャビネット行を備えるキャビネット(4)と、
    一群データごとに設けられ、当該一群データに含まれる実データのそれぞれにつき、当該実データを検索するためのキー(51)、当該実データに対応するキャビネットインデクス(41)を辿るためのインデクス(52)、を含むキーテーブル行を備えるキーテーブル(5)と、
    自データベース装置において実データを個々に記憶するためのデータベース行からなり、当該データベース行に対し、当該データベース行の位置を示す実データインデクス(61)、当該データベース行に記憶すべき実データ(62)、を記憶させるためのデータベース(6)とを備え、
    共有テーブル(1)のキャビネット論理通番(13)と変換テーブル(2)のキャビネット論理通番(21)は連携する番号であって、
    変換テーブル(2)のキャビネット物理通番(22)とキャビネット(4)のキャビネット物理通番は連携する番号であって、
    キャビネット(4)のキャビネットインデクス(41)とキーテーブル(5)のインデクス(52)は連携する番号であって、
    キャビネット(4)の実データポインタ(42)とデータベース(6)の実データインデクス(61)は連携する番号であることを特徴とするデータベース装置。
  2. 各キー範囲情報(11)の共通部分を幹(71)とし非共通部分を枝(72)とした木形状で当該各キー範囲情報(11)を表現してなる検索ツリー(7)を備え、各枝(72)に対して当該枝のキー範囲情報(11)に対応するアドレス(14)を対応づけ、入力された情報に対応する枝(72)を検索ツリー(7)から検索し、当該枝(112)に対応づけられたアドレス(14)を検索する
    ことを特徴とする請求項1記載のデータベース装置。
JP2013171446A 2013-08-21 2013-08-21 データベース装置 Active JP5718990B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013171446A JP5718990B2 (ja) 2013-08-21 2013-08-21 データベース装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013171446A JP5718990B2 (ja) 2013-08-21 2013-08-21 データベース装置

Publications (2)

Publication Number Publication Date
JP2015041207A true JP2015041207A (ja) 2015-03-02
JP5718990B2 JP5718990B2 (ja) 2015-05-13

Family

ID=52695341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013171446A Active JP5718990B2 (ja) 2013-08-21 2013-08-21 データベース装置

Country Status (1)

Country Link
JP (1) JP5718990B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185270A (ja) * 2002-12-03 2004-07-02 Fujitsu Ltd アンロードプログラム,ロードプログラム及びデータ移行方法
JP2012168781A (ja) * 2011-02-15 2012-09-06 Nippon Telegr & Teleph Corp <Ntt> 分散型データストアシステム及び分散型データストアシステムにおけるレコード管理方法
JP2012234354A (ja) * 2011-04-28 2012-11-29 Nippon Telegr & Teleph Corp <Ntt> データベース増設方法、及びデータベース減設方法
JP2013065203A (ja) * 2011-09-16 2013-04-11 Panasonic Corp データ格納システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185270A (ja) * 2002-12-03 2004-07-02 Fujitsu Ltd アンロードプログラム,ロードプログラム及びデータ移行方法
JP2012168781A (ja) * 2011-02-15 2012-09-06 Nippon Telegr & Teleph Corp <Ntt> 分散型データストアシステム及び分散型データストアシステムにおけるレコード管理方法
JP2012234354A (ja) * 2011-04-28 2012-11-29 Nippon Telegr & Teleph Corp <Ntt> データベース増設方法、及びデータベース減設方法
JP2013065203A (ja) * 2011-09-16 2013-04-11 Panasonic Corp データ格納システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNJ201310004037; 鶴見 俊輔: '分散DBシステムにおけるデータ管理方式の一検討' 電子情報通信学会2013年総合大会講演論文集 通信2 , 20130305, p.37 *
JPN6015002763; 鶴見 俊輔: '分散DBシステムにおけるデータ管理方式の一検討' 電子情報通信学会2013年総合大会講演論文集 通信2 , 20130305, p.37 *

Also Published As

Publication number Publication date
JP5718990B2 (ja) 2015-05-13

Similar Documents

Publication Publication Date Title
CN102567495B (zh) 一种海量信息存储系统及实现方法
CN105138571B (zh) 分布式文件系统及其存储海量小文件的方法
CN100454311C (zh) 基于sql的数据同步方法及装置
CN103067433B (zh) 一种分布式存储系统的数据迁移方法、设备和系统
CN102799628A (zh) 在key-value数据库中进行数据分区的方法和装置
KR102104503B1 (ko) 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법
CN102857414A (zh) 一种转发表写入、报文转发方法及装置
CN108139882B (zh) 针对网络装置实施阶层分布式链接列表的系统及方法
JP2012164333A (ja) 表検索方法
CN103838770A (zh) 一种数据逻辑分区的方法和系统
US11398981B2 (en) Path creation method and device for network on chip and electronic apparatus
CN103098437B (zh) 基于sip的呼叫会话服务器和消息路由选择方法
CN104008199A (zh) 一种数据查询方法
CN109241056A (zh) 一种用于分布式系统的数字id生成系统
CN109167819A (zh) 数据同步系统、方法、装置及存储介质
CN104580183A (zh) 一种跨集群的数据同步方法和装置
JP5718990B2 (ja) データベース装置
CN104580421A (zh) 一种服务器及采用所述服务器的用户群组信息的推送方法
CN111428114A (zh) Elasticsearch搜索引擎的索引创建方法及装置
CN103092767A (zh) 一种对云计算内部物理机信息内存池的管理方法
CN102413038B (zh) 一种路由下一跳不可达的处理方法及系统
RU2679546C2 (ru) Устройство и способ прогона множества потоков
CN113824633A (zh) 园区网中路由发布方法及网络设备
CN105704189A (zh) 一种上下层链路之间的关联方法、装置和系统
CN105808560A (zh) 一种同机多业务的检索方法及系统

Legal Events

Date Code Title Description
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: 20150302

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150319

R150 Certificate of patent or registration of utility model

Ref document number: 5718990

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150