JP5203733B2 - コーディネータサーバ、データ割当方法及びプログラム - Google Patents
コーディネータサーバ、データ割当方法及びプログラム Download PDFInfo
- Publication number
- JP5203733B2 JP5203733B2 JP2008022761A JP2008022761A JP5203733B2 JP 5203733 B2 JP5203733 B2 JP 5203733B2 JP 2008022761 A JP2008022761 A JP 2008022761A JP 2008022761 A JP2008022761 A JP 2008022761A JP 5203733 B2 JP5203733 B2 JP 5203733B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- data
- server
- allocation
- registration
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
(1)構成
図1は、本実施の形態にかかる分散データベースシステムの構成を例示する図である。分散データベースシステムは、アプリケーションプログラムが実行されるクライアントコンピュータ(以下、クライアントという)50と、分散データベース51とを有し、これらがネットワーク52を介して接続されて構成される。分散データベース51は1台のコーディネータサーバ60と複数台のデータベースサーバ70A〜70Cとを有する。ネットワーク52は、例えば、LAN(Local Area Network)、イントラネット、イーサネット(登録商標)又はインターネットなどである。
ハッシュ関数1[“S10”]=0
ハッシュ関数1[“S02”]=1
ハッシュ関数1[“S03”]=2
次に、本実施の形態にかかるコーディネータサーバ60の行うデータ登録処理の手順について図4を用いて説明する。コーディネータサーバ60は、新たなデータの登録を要求する登録要求をクライアント50から受信すると、まず、必要なロックを確保する(ステップS1)。具体的には、各データは文書IDで水平分割されているので、コーディネータサーバ60は、文書IDの値を用いて新たなデータに対するハッシュ値を割り出し、そのハッシュ値を持つスレーブのロックポイントに対してロックをかけて、他の同一の文書IDを持つデータの登録に対して排他をかける。次いで、コーディネータサーバ60は、登録対象のデータの文章IDの値に対して、割当履歴管理部601に記憶されている全ての割当履歴情報及び割当情報によって各々示されるハッシュ関数及びパラメータを用いた演算処理を行って、当該文書IDから算出される可能性のあるハッシュ値の集合を得る(ステップS2)。そのハッシュ値はデータベースサーバと1対1対応しているので、データベースサーバ70の集合(データベースサーバ70A〜70Cの少なくとも1つ)を割り出すことができる。即ち、ハッシュ値に応じて、新たなデータの文書IDの値が同一のデータを記憶している可能性のあるデータベースサーバ70を割り出すことができる。そして、コーディネータサーバ60は、割り出されたデータベースサーバ70の集合に対して新たなデータの文書IDの値が同一のデータの検索を要求する検索要求(SQL)を発行する(ステップS3)。
FROM 技術レポート
WHERE 文書ID=”S01”
FROM 技術レポート
WHERE 文書ID=”S19”
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
上述した実施の形態において、コーディネータサーバ60で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。この場合には、プログラムは、コーディネータサーバ60においてCPUが上記記録媒体から読み出して実行することにより主記憶装置(例えばRAM)上にロードされ、上記機能的構成において説明した要求受信部600と、要求処理部602と、結果送信部604とが主記憶装置上に生成される。
上述した実施の形態においては、データ分割の手法として、ハッシュ分割を用いるようにしたが、これに限らず、キーレンジ分割の手法を用いても良い。この場合、割当履歴管理部601は、ハッシュ関数の履歴ではなく、キーレンジの履歴として、過去の登録時に用いられたキーレンジを示す情報として、対象カラムに対するレンジを示す割当履歴情報と、現在の登録時に用いられるキーレンジを示す情報として、対象カラムに対する最新のレンジを示す情報とを割当情報として記憶するようにすれば良い。
上述の実施の形態においては、変更後(最新)のハッシュ関数及びパラメータを示す割当情報も、割当履歴情報と同様に割当履歴管理部601に記憶されるものとした。しかし、割当情報は、外部記憶装置において割当履歴管理部601とは異なる記憶領域や他の記憶装置に別途記憶するようにしても良い。
上述した実施の形態においては、コーディネータサーバ60は1つであるとしたが、複数あっても良く、この場合、複数のコーディネータサーバで割当履歴情報を共有するようにすれば良い。
51 分散データベース
52 ネットワーク
60 コーディネータサーバ
70,70A,70B,70C,70D データベースサーバ
600 要求受信部
601 割当履歴管理部
602 要求処理部
603 割当変更部
604 結果送信部
700,700A,700B,700C,700D データベース
Claims (8)
- 複数のデータを含むテーブルを所定の分割手法により複数のデータベースに分割して記憶させる場合に各データの登録先のデータベースの決定に用いる割当情報を、割当変更コマンドが発行された場合に変更する変更手段と、
変更される前に用いられた割当情報である割当履歴情報を記憶する履歴記憶手段と、
新たなデータの登録を要求する登録要求をクライアントから受信する受信手段と、
前記登録要求に応じて、前記履歴記憶手段に記憶された割当履歴情報及び変更後の割当情報を用いて、登録先のデータベースを決定する決定手段と、
決定されたデータベースを有するデータベースサーバに対して、前記新たなデータの登録を要求する登録要求を送信する送信手段とを備え、
前記データは、少なくとも1つのカラムを有し、当該カラムのうち、登録先のデータベースの決定に用いられる対象のカラムが予め定められており、
前記決定手段は、
前記履歴記憶手段に記憶された割当履歴情報及び変更後の割当情報を用いて、前記複数のデータベースのうち、前記対象のカラムの値が同一であるデータを記憶している可能性のある第1データベースを少なくとも1つ割り出すデータベース割出手段と、
前記第1データベースを有する第1データベースサーバに対して、前記対象のカラムの値が同一であるデータの検索を要求する検索要求を送信する要求送信手段と、
前記検索要求に応じて前記第1データベースサーバが検索した結果該当したデータの件数を示すものとして送信した検索結果を受信する結果受信手段と、
前記第1データベースサーバのうち、所定の件数以上を示す検索結果を送信した第2データベースサーバに対して、前記新たなデータの登録を要求する登録要求を送信する登録送信手段と
を有することを特徴とするコーディネータサーバ。 - 前記割当情報は、前記対象のカラムに対して演算処理を行う関数及びその関数の演算に用いるパラメータを示し、
前記変更手段は、所定の状態が生起した場合に前記割当情報によって示される前記関数及び前記パラメータのうち少なくとも一方を変更し、
前記データベース割出手段は、
前記対象のカラムの値に対して前記履歴記憶手段に記憶された割当履歴情報及び変更後の割当情報を各々用いて演算処理を行って処理結果を各々算出する算出手段と、
算出された各処理結果を用いて、前記対象のカラムの値が同一であるデータを記憶している可能性のあるデータベースを割り出す割出手段とを有する
ことを特徴とする請求項1に記載のコーディネータサーバ。 - 前記所定の分割手法は、ハッシュ分割であり、
前記割当情報は、前記対象のカラムに対して演算処理を行うハッシュ関数及びそのハッシュ関数の演算に用いるパラメータを示し、
前記変更手段は、所定の状態が生起した場合に前記割当情報によって示される前記ハッシュ関数及び前記パラメータのうち少なくとも一方を変更し、
前記算出手段は、前記履歴記憶手段に記憶された割当履歴情報によって示されるハッシュ関数及び変更後の割当情報によって各々示されるハッシュ関数及びパラメータを用いて演算処理を行ってハッシュ値を各々算出し、
前記割出手段は、算出された各ハッシュ値を用いて、前記対象のカラムの値が同一であるデータを記憶している可能性のあるデータベースを割り出す
ことを特徴とする請求項2に記載のコーディネータサーバ。 - 前記演算処理を行って算出され得るハッシュ値は、前記複数のデータベースの各々と1対1対応しており、
前記割出手段は、前記対象のカラムの値が同一であるデータを記憶している可能性のあるデータベースとして、算出された各ハッシュ値に対応するデータベースを割り出す
ことを特徴とする請求項3に記載のコーディネータサーバ。 - 前記所定の分割手法は、キーレンジ分割であり、
前記割当情報は、前記対象のカラムに対するレンジを示し、
前記変更手段は、所定の状態が生起した場合に前記割当情報によって示されるレンジを変更し、
前記割出手段は、前記履歴記憶手段に記憶された割当履歴情報によって示されるレンジ及び変更後の割当情報によって示されるレンジを用いて、前記対象のカラムの値が同一であるデータを記憶している可能性のあるデータベースを割り出す
ことを特徴とする請求項1に記載のコーディネータサーバ。 - 前記変更手段は、前記複数のデータベースに各々記憶されるデータの合計サイズが不均衡になる状態又は新たなデータベースが増設される状態が生起した場合に前記割当情報を変更する
ことを特徴とする請求項1乃至請求項5のいずれか一項に記載のコーディネータサーバ。 - 変更手段と、複数のデータを含むテーブルを所定の分割手法により複数のデータベースに分割して記憶させる場合に各データの登録先のデータベースの決定に用いる割当情報であり、変更される前に用いられた割当情報である割当履歴情報を記憶する履歴記憶手段と、受信手段と、決定手段と、送信手段とを備えるコーディネータサーバにおいて実現される方法であって、
前記データは、少なくとも1つのカラムを有し、当該カラムのうち、登録先のデータベースの決定に用いられる対象のカラムが予め定められており、
前記割当情報を、割当変更コマンドが発行された場合に変更する変更ステップと、
新たなデータの登録を要求する登録要求をクライアントから受信する受信ステップと、
前記登録要求に応じて、前記履歴記憶手段に記憶された割当履歴情報及び変更後の割当情報を用いて、登録先のデータベースを決定する決定ステップと、
前記履歴記憶手段に記憶された割当履歴情報及び変更後の割当情報を用いて、前記複数のデータベースのうち、前記対象のカラムの値が同一であるデータを記憶している可能性のある第1データベースを少なくとも1つ割り出すデータベース割出ステップと、
前記第1データベースを有する第1データベースサーバに対して、前記対象のカラムの値が同一であるデータの検索を要求する検索要求を送信する要求送信ステップと、
前記検索要求に応じて前記第1データベースサーバが検索した結果該当したデータの件数を示すものとして送信した検索結果を受信する結果受信ステップと、
前記第1データベースサーバのうち、所定の件数以上を示す検索結果を送信した第2データベースサーバに対して、前記新たなデータの登録を要求する登録要求を送信する登録送信ステップと
決定されたデータベースを有するデータベースサーバに対して、前記新たなデータの登録を要求する登録要求を送信する送信ステップと
を含むことを特徴とするデータ割当方法。 - 請求項7に記載された方法をコンピュータで実行させることを特徴とするデータ割当プログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008022761A JP5203733B2 (ja) | 2008-02-01 | 2008-02-01 | コーディネータサーバ、データ割当方法及びプログラム |
| US12/361,708 US8271523B2 (en) | 2008-02-01 | 2009-01-29 | Coordination server, data allocating method, and computer program product |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008022761A JP5203733B2 (ja) | 2008-02-01 | 2008-02-01 | コーディネータサーバ、データ割当方法及びプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2009181546A JP2009181546A (ja) | 2009-08-13 |
| JP5203733B2 true JP5203733B2 (ja) | 2013-06-05 |
Family
ID=40932636
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008022761A Expired - Fee Related JP5203733B2 (ja) | 2008-02-01 | 2008-02-01 | コーディネータサーバ、データ割当方法及びプログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8271523B2 (ja) |
| JP (1) | JP5203733B2 (ja) |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4977502B2 (ja) * | 2007-03-16 | 2012-07-18 | 日本電気株式会社 | 分散データベースシステム、検索サーバ、検索方法、およびプログラム |
| US8959050B2 (en) | 2009-06-15 | 2015-02-17 | Oracle International Corporation | Mechanism for synchronizing OLAP system structure and OLTP system structure |
| US8156150B2 (en) * | 2009-06-15 | 2012-04-10 | Oracle International Corporation | Fusion general ledger |
| JP5430301B2 (ja) * | 2009-09-07 | 2014-02-26 | 三菱電機株式会社 | 通信装置管理システムおよびデータベースアクセス処理方法 |
| JP5006472B2 (ja) * | 2009-12-04 | 2012-08-22 | 隆敏 柳瀬 | 表検索装置、表検索方法、及び、表検索システム |
| JP5172931B2 (ja) | 2010-10-25 | 2013-03-27 | 株式会社東芝 | 検索装置、検索方法および検索プログラム |
| US20140059000A1 (en) * | 2011-04-08 | 2014-02-27 | Hitachi, Ltd. | Computer system and parallel distributed processing method |
| US8595267B2 (en) * | 2011-06-27 | 2013-11-26 | Amazon Technologies, Inc. | System and method for implementing a scalable data storage service |
| US8572231B2 (en) * | 2011-07-14 | 2013-10-29 | Google Inc. | Variable-length nonce generation |
| JP5919529B2 (ja) * | 2011-09-16 | 2016-05-18 | パナソニックIpマネジメント株式会社 | データ格納システム |
| JP6226599B2 (ja) * | 2013-07-17 | 2017-11-08 | 株式会社東芝 | データベース・システム |
| US9875263B2 (en) * | 2014-10-21 | 2018-01-23 | Microsoft Technology Licensing, Llc | Composite partition functions |
| WO2017104012A1 (ja) * | 2015-12-16 | 2017-06-22 | 株式会社日立製作所 | データ管理システム及び方法 |
| WO2017203698A1 (ja) * | 2016-05-27 | 2017-11-30 | 三菱電機株式会社 | 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム |
| FR3090929B1 (fr) * | 2018-12-20 | 2021-07-02 | Amadeus Sas | Actualisation de multiples enregistrements de données |
| US11423049B2 (en) | 2020-05-11 | 2022-08-23 | Google Llc | Execution-time dynamic range partitioning transformations |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06139119A (ja) | 1992-10-28 | 1994-05-20 | Hitachi Ltd | データベース管理システムおよびデータベース管理方法 |
| JP3367140B2 (ja) | 1993-04-28 | 2003-01-14 | 株式会社日立製作所 | データベース管理方法 |
| JP4199888B2 (ja) * | 1999-11-15 | 2008-12-24 | 株式会社日立製作所 | データベース管理方法 |
| JP4183400B2 (ja) * | 2001-06-27 | 2008-11-19 | 株式会社日立製作所 | データベースシステムとデータベース管理方法およびプログラム |
| US8392366B2 (en) * | 2006-08-29 | 2013-03-05 | Microsoft Corporation | Changing number of machines running distributed hyperlink database |
-
2008
- 2008-02-01 JP JP2008022761A patent/JP5203733B2/ja not_active Expired - Fee Related
-
2009
- 2009-01-29 US US12/361,708 patent/US8271523B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US20090198657A1 (en) | 2009-08-06 |
| US8271523B2 (en) | 2012-09-18 |
| JP2009181546A (ja) | 2009-08-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5203733B2 (ja) | コーディネータサーバ、データ割当方法及びプログラム | |
| JP6281225B2 (ja) | 情報処理装置 | |
| US12072939B1 (en) | Federated data enrichment objects | |
| CN113767377B (zh) | 针对分布式存储系统中的变化检测的动态散列函数组合 | |
| US20130297788A1 (en) | Computer system and data management method | |
| WO2020087082A1 (en) | Trace and span sampling and analysis for instrumented software | |
| JP2005115514A (ja) | データベース検索システム及びその検索方法並びにプログラム | |
| US8209440B2 (en) | Device-configuration-information optimum arrangement method and device-configuration-information optimum arrangement system | |
| EP2235651A2 (en) | Distributed indexing of file content | |
| CN113474764A (zh) | 共享数据库对象上的流 | |
| US12436963B2 (en) | Retrieving data identifiers from queue for search of external data system | |
| US20180101622A1 (en) | Perform graph traversal with graph query language | |
| US20210318994A1 (en) | Extensible streams for operations on external systems | |
| US11836146B1 (en) | Storing indexed fields per source type as metadata at the bucket level to facilitate search-time field learning | |
| JP5844895B2 (ja) | データの分散検索システム、データの分散検索方法及び管理計算機 | |
| JP6069503B2 (ja) | 系列データ並列分析基盤およびその並列分散処理方法 | |
| US8756246B2 (en) | Method and system for caching lexical mappings for RDF data | |
| US9898518B2 (en) | Computer system, data allocation management method, and program | |
| US11593345B1 (en) | Accelerating change data capture determination using row bitsets | |
| US11720591B1 (en) | Virtual metrics | |
| CN113728304A (zh) | 分布式存储系统中的粒度改变检测 | |
| US8538935B2 (en) | One-to-one and one-to-many relationships in databases | |
| US11892988B1 (en) | Content pack management | |
| JP6634938B2 (ja) | 分析支援方法、分析支援プログラムおよび分析支援装置 | |
| US10956506B1 (en) | Query-based data modification |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100901 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121106 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121225 |
|
| 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: 20130122 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130214 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160222 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |