Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7489249B2 - DATABASE SYSTEM, DATA DISTRIBUTION MANAGEMENT DEVICE, AND DATA DISTRIBUTION MANAGEMENT METHOD - Google Patents
[go: Go Back, main page]

JP7489249B2 - DATABASE SYSTEM, DATA DISTRIBUTION MANAGEMENT DEVICE, AND DATA DISTRIBUTION MANAGEMENT METHOD - Google Patents

DATABASE SYSTEM, DATA DISTRIBUTION MANAGEMENT DEVICE, AND DATA DISTRIBUTION MANAGEMENT METHOD Download PDF

Info

Publication number
JP7489249B2
JP7489249B2 JP2020121596A JP2020121596A JP7489249B2 JP 7489249 B2 JP7489249 B2 JP 7489249B2 JP 2020121596 A JP2020121596 A JP 2020121596A JP 2020121596 A JP2020121596 A JP 2020121596A JP 7489249 B2 JP7489249 B2 JP 7489249B2
Authority
JP
Japan
Prior art keywords
data
deployment
deployed
node
catalog
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
JP2020121596A
Other languages
Japanese (ja)
Other versions
JP2022018476A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020121596A priority Critical patent/JP7489249B2/en
Publication of JP2022018476A publication Critical patent/JP2022018476A/en
Application granted granted Critical
Publication of JP7489249B2 publication Critical patent/JP7489249B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、データベースシステム、データ配備管理装置およびデータ配備管理方法に関する。 The present invention relates to a database system, a data deployment management device, and a data deployment management method.

従来、データベースにおけるデータの配置に関し、特願2019-511705号(特許文献1)に記載の技術がある。この公報には、「コンピュータデータベースが実装された方法であって、前記方法は、テーブルのためのテーブルデータを複数のパーティションに記憶することであって、各パーティションが前記テーブルのための前記テーブルデータの一部を含み、前記パーティションは前記テーブル内の1つ以上の属性に基づいて少なくとも部分的にクラスタリングされることと、前記テーブルへの変更に基づいて1つ以上の新規パーティションを作成することであって、前記1つ以上の新規パーティションの少なくとも1つが互いに又は先のパーティションと重複して前記テーブルのクラスタリングの度合いの低下を招くことと、前記テーブルデータのクラスタリングの度合いがクラスタリング閾値を下回っていることを判別することと、クラスタリングの前記度合いが前記クラスタリング閾値を下回ったことを判別すること、ユーザからの明示的なユーザコマンド、及び/又はDMLコマンドの一部の1つ以上に応答して、前記テーブルの1つ以上のパーティションを再クラスタリングして前記テーブルのクラスタリングの前記度合いを改善することと、ことを備える」という記載がある。 ...

特願2019-511705号Patent Application No. 2019-511705

特許文献1によれば、クラスタリングの度合いがクラスタリング閾値を下回ったことを判別し、ユーザからの明示的なユーザコマンド、及び/又はDMLコマンドの一部の1つ以上に応答して、上記テーブルの1つ以上のパーティションを再クラスタリングして上記テーブルのクラスタリングの度合いを改善することができる。しかし、適切なクラスタリングを行うためにはユーザがキーを指定する必要があり、性能を出すためには専門的なスキルが必要となる。 According to Patent Document 1, it is possible to determine that the degree of clustering has fallen below a clustering threshold, and in response to an explicit user command from a user and/or one or more portions of a DML command, re-cluster one or more partitions of the table to improve the degree of clustering of the table. However, in order to perform appropriate clustering, the user needs to specify a key, and specialized skills are required to achieve good performance.

そこで、本発明では、ユーザのスキルに依存することなく、良好な性能を実現するデータベースの物理設計を行うことを目的とする。 The present invention aims to provide a physical design for a database that achieves good performance without relying on the user's skills.

上記目的を達成するために、代表的な本発明のデータベースシステムの一つは、データの所在を示すデータカタログを管理するカタログ管理サーバと、ストレージノードと、分散データベースを形成する1つ以上の計算ノードと、前記ストレージノードに格納されたデータの一部を前記計算ノードに保持させるデータ配備を管理する管理ノードと備え、前記管理ノードは、前記データ配備を求める配備要求を受け付けた場合に、前記データカタログから情報を取得し、取得した情報に基づいて配備すべきデータである配備対象データをいずれの計算ノードに保持させるかを決定することで、前記分散データベースの物理設計を行う。
また、代表的な本発明のデータ配備管理装置の一つは、ストレージノードに格納されたデータの一部を複製し、分散データベースを形成する1つ以上の計算ノードに保持させるデータ配備を管理するデータ配備管理装置であって、前記データ配備を求める配備要求を受け付ける配備要求受付部と、前記配備要求を受け付けた場合に、データの所在を示すデータカタログから情報を取得するカタログ情報取得部と、前記データカタログから取得した情報に基づいて、配備すべきデータである配備対象データをいずれの計算ノードに保持させるかを決定することで、前記分散データベースの物理設計を行う物理設計処理部とを備える。
また、代表的な本発明のデータ配備管理方法の一つは、ストレージノードに格納されたデータの一部を複製し、分散データベースを形成する1つ以上の計算ノードに保持させるデータ配備を管理するデータ配備管理方法であって、プロセッサが、前記データ配備を求める配備要求を受け付ける配備要求受付ステップと、前記配備要求を受け付けた場合に、データの所在を示すデータカタログから情報を取得するカタログ情報取得ステップと、前記データカタログから取得した情報に基づいて、配備すべきデータである配備対象データをいずれの計算ノードに保持させるかを決定することで、前記分散データベースの物理設計を行う物理設計処理ステップとを行う。
In order to achieve the above-mentioned objective, one representative database system of the present invention comprises a catalog management server that manages a data catalog indicating the location of data, a storage node, one or more computing nodes that form a distributed database, and a management node that manages data deployment by causing the computing nodes to retain a portion of the data stored in the storage nodes, and when the management node receives a deployment request for the data deployment, it retrieves information from the data catalog and determines, based on the retrieved information, which computing node should retain the deployment target data, which is the data to be deployed, thereby performing a physical design of the distributed database.
Furthermore, one representative data deployment management device of the present invention is a data deployment management device that manages data deployment by replicating a portion of data stored in a storage node and storing it on one or more computing nodes that form a distributed database, and includes a deployment request receiving unit that receives a deployment request for the data deployment, a catalog information acquisition unit that, when the deployment request is received, acquires information from a data catalog that indicates the location of the data, and a physical design processing unit that performs physical design of the distributed database by determining, based on the information acquired from the data catalog, which computing node should store deployment target data, which is the data to be deployed.
Furthermore, one representative data deployment management method of the present invention is a data deployment management method that manages data deployment by replicating a portion of data stored in a storage node and storing the replicated data in one or more computing nodes that form a distributed database, and includes a deployment request receiving step in which a processor receives a deployment request for the data deployment, a catalog information acquisition step in which, upon receiving the deployment request, information is acquired from a data catalog indicating the location of the data, and a physical design processing step in which a physical design of the distributed database is performed by determining, based on the information acquired from the data catalog, in which computing node the deployment target data, which is the data to be deployed, should be stored.

本発明によれば、良好な性能を実現するデータベースの物理設計を行うことができる。上記した以外の課題、構成及び効果は以下の実施の形態の説明により明らかにされる。 The present invention makes it possible to carry out a physical design of a database that achieves good performance. Problems, configurations, and advantages other than those mentioned above will become clear from the description of the embodiment below.

実施例に係るデータベースシステムについての説明図。FIG. 1 is an explanatory diagram of a database system according to an embodiment. 管理ノードの構成を示す構成図。FIG. 2 is a diagram showing the configuration of a management node. データベースシステムの構成例(その1)。Example of database system configuration (part 1). データベースシステムの構成例(その2)。Example of database system configuration (part 2). 計算ノードの入出力処理量についての説明図。FIG. 13 is an explanatory diagram of the input/output processing amount of a computation node. 計算ノードの入出力処理量を削減するデータ配置の説明図。FIG. 13 is an explanatory diagram of a data placement that reduces the input/output processing amount of a computing node. 計算ノード間のデータ転送量についての説明図。FIG. 13 is a diagram illustrating the amount of data transfer between computing nodes. 計算ノード間のデータ転送量を削減するデータ配置の説明図。FIG. 1 is an explanatory diagram of a data placement that reduces the amount of data transfer between computation nodes. 計算ノード間の処理量の偏りについての説明図。FIG. 1 is a diagram illustrating a bias in the amount of processing among computing nodes. 計算ノード間の処理量の偏りを低減するデータ配置の説明図。FIG. 13 is an explanatory diagram of a data placement that reduces the imbalance in the amount of processing between computing nodes. データの重複についての説明図。FIG. 1 is an explanatory diagram of data duplication. データの重複を避けるデータ配置の説明図。FIG. 1 is an explanatory diagram of data placement to avoid data duplication. データの具体例についての説明図。FIG. 11 is an explanatory diagram of a specific example of data. 管理ノードの処理手順を示すフローチャート。11 is a flowchart showing a processing procedure of a management node. 図14に示した分散方式の決定の詳細を示すフローチャート。15 is a flowchart showing details of the determination of the distribution method shown in FIG. 14 . 結合データの配備の具体例。A concrete example of combined data deployment. 既存データを利用したデータの配備の具体例。A concrete example of data deployment using existing data. 分散データベースを新規に構築する場合の動作シーケンス。This is the sequence of operations when building a new distributed database. 分散データベースにデータを追加配備する場合の動作シーケンス。The sequence of operations when adding data to a distributed database. データの追加配備の変形例。A modified example of additional data deployment.

以下、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。 The following describes an embodiment of the present invention with reference to the drawings. Note that the embodiment described below does not limit the invention as claimed, and not all of the elements and combinations thereof described in the embodiment are necessarily essential to the solution of the invention.

以下の説明において、「xxxテーブル」といった表現により、入力に対して出力が得られる情報を説明することがあるが、この情報は、どのような構造のデータでもよい。従って、「xxxテーブル」を「xxx情報」と言うことができる。 In the following explanation, information that produces an output for an input may be described using expressions such as "xxx table," but this information may be data of any structure. Therefore, a "xxx table" can also be called "xxx information."

また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。 In addition, in the following description, the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of two or more tables may be one table.

また、以下の説明において、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ部によって実行されることで、定められた処理を、適宜に記憶部及び/又はインターフェイス部などを用いながら行うため、処理の主語が、プロセッサ部(或いは、そのプロセッサ部を有するコントローラのようなデバイス)とされてもよい。 In the following explanation, the processing may be described with the "program" as the subject, but since the program is executed by the processor unit to perform the specified processing while appropriately using the memory unit and/or interface unit, the subject of the processing may be the processor unit (or a device such as a controller that has the processor unit).

プログラムは、計算機のような装置にインストールされてもよいし、例えば、プログラム配布サーバ又は計算機が読み取り可能な(例えば非一時的な)記録媒体にあってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。 The program may be installed on a device such as a computer, or may be, for example, on a program distribution server or a computer-readable (e.g., non-transitory) recording medium. In addition, in the following description, two or more programs may be realized as one program, and one program may be realized as two or more programs.

また、「プロセッサ部」は、1又は複数のプロセッサである。プロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。また、プロセッサは、シングルコアでもよいしマルチコアでもよい。また、プロセッサは、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサでもよい。 The "processor unit" is one or more processors. The processor is typically a microprocessor such as a CPU (Central Processing Unit), but may be other types of processors such as a GPU (Graphics Processing Unit). The processor may be a single-core or multi-core processor. The processor may also be a processor in the broader sense, such as a hardware circuit that performs part or all of the processing (for example, an FPGA (Field-Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit)).

また、以下の説明において、種々の対象の識別情報として、識別番号が使用されるが、識別番号以外の種類の識別情報(例えば、英字や符号を含んだ識別子)が採用されてもよい。 In addition, in the following description, identification numbers are used as identification information for various objects, but other types of identification information (e.g., identifiers including letters or codes) may also be used.

また、以下の説明において、同種の要素を区別しないで説明する場合には、参照符号(又は、参照符号のうちの共通符号)を使用し、同種の要素を区別して説明する場合は、要素の識別番号(又は参照符号)を使用することがある。 In the following description, when elements of the same type are described without distinction, reference signs (or common signs among reference signs) are used, and when elements of the same type are described with distinction, the identification numbers (or reference signs) of the elements are used.

図1は、実施例に係るデータベースシステムについての説明図である。図1に示すデータベースシステムは、管理ノード10、カタログ管理サーバ20、ストレージノード31および分散データベース40を有する。 Figure 1 is an explanatory diagram of a database system according to an embodiment. The database system shown in Figure 1 has a management node 10, a catalog management server 20, a storage node 31, and a distributed database 40.

分散データベース40は、DBMS(database management system)管理ノード41と1つ以上の計算ノード42を含んで形成される。計算ノード42は、データベースを備えたキャッシュ付き計算ノードであり、ストレージノード31に格納されたデータの一部を保持することができる。 The distributed database 40 is formed by including a DBMS (database management system) management node 41 and one or more computing nodes 42. The computing nodes 42 are cached computing nodes equipped with a database, and can hold a portion of the data stored in the storage node 31.

カタログ管理サーバ20は、データカタログ21の保持と管理を行うサーバである。データカタログ21は、ストレージノード31と計算ノード42が保持するデータに関するメタデータである。詳細については後述するが、データカタログ21は、少なくともデータの所在を示す。 The catalog management server 20 is a server that holds and manages the data catalog 21. The data catalog 21 is metadata about the data held by the storage nodes 31 and the computing nodes 42. The details will be described later, but the data catalog 21 at least indicates the location of the data.

管理ノード10は、ストレージノード31に格納されたデータの一部を計算ノード42に保持させるデータ配備を管理する。具体的には、管理ノード10は、データ配備を求める配備要求を受け付けると(1)、データカタログ21の情報を取得する(2)。管理ノード10は、取得した情報に基づいて配備すべきデータである配備対象データをいずれの計算ノード42に保持させるかを決定することで、分散データベース40の物理設計を行う(3)。すなわち、管理ノード10は、既存のデータの所在に基づいて、分散データベース40が良好な性能を実現するよう配備要求によって示された配備対象データの配備先を決定する。 The management node 10 manages data deployment in which a portion of the data stored in the storage node 31 is held in the computation node 42. Specifically, when the management node 10 receives a deployment request for data deployment (1), it acquires information from the data catalog 21 (2). Based on the acquired information, the management node 10 determines which computation node 42 should hold the deployment target data, which is the data to be deployed, thereby performing physical design of the distributed database 40 (3). In other words, based on the location of existing data, the management node 10 determines the deployment destination of the deployment target data indicated by the deployment request so that the distributed database 40 will achieve good performance.

図2は、管理ノード10の構成を示す構成図である。図2に示すように管理ノード10は、CPU(Central Processing Unit)11、メモリ12、記憶部13、入出力部14、通信部15を有する。 Figure 2 is a configuration diagram showing the configuration of the management node 10. As shown in Figure 2, the management node 10 has a CPU (Central Processing Unit) 11, a memory 12, a storage unit 13, an input/output unit 14, and a communication unit 15.

入出力部14は、ディスプレイやキーボードなどのユーザインターフェイスである。通信部15は、カタログ管理サーバ20や分散データベース40と通信する通信インターフェイスである。 The input/output unit 14 is a user interface such as a display and a keyboard. The communication unit 15 is a communication interface that communicates with the catalog management server 20 and the distributed database 40.

記憶部13は、ハードディスクドライブやフラッシュメモリなどで構成される補助記憶装置である。CPU11は、配備要求受付部12a、カタログ情報取得部12bおよび物理設計処理部12cとして機能するプログラムを記憶部13から読み出し、主記憶装置としてのメモリ12に展開して実行する。 The storage unit 13 is an auxiliary storage device composed of a hard disk drive, a flash memory, etc. The CPU 11 reads out the programs functioning as the deployment request reception unit 12a, the catalog information acquisition unit 12b, and the physical design processing unit 12c from the storage unit 13, and deploys them in the memory 12 as the main storage device and executes them.

配備要求受付部12aは、入出力部14や通信部15を介して配備要求を受け付ける処理部である。カタログ情報取得部12bは、通信部15を介してデータカタログ21の情報を取得する処理部である。物理設計処理部12cは、取得した情報に基づいて配備対象データをいずれの計算ノード42に保持させるかを決定することで、分散データベース40の物理設計を行う処理部である。 The deployment request receiving unit 12a is a processing unit that receives a deployment request via the input/output unit 14 and the communication unit 15. The catalog information acquiring unit 12b is a processing unit that acquires information of the data catalog 21 via the communication unit 15. The physical design processing unit 12c is a processing unit that performs physical design of the distributed database 40 by determining which computing node 42 should hold the deployment target data based on the acquired information.

図3および図4は、データベースシステムの構成例である。図3では、管理ノード10、カタログ管理サーバ20、ストレージノード31および分散データベース40が所定のネットワークを介して接続されている。また、分散データベース40の内部では、DBMS41と複数の計算ノード42がネットワークによって接続されている。 Figures 3 and 4 show examples of database system configurations. In Figure 3, a management node 10, a catalog management server 20, a storage node 31, and a distributed database 40 are connected via a specific network. Also, within the distributed database 40, a DBMS 41 and multiple computation nodes 42 are connected via a network.

分散データベース40のユーザは、例えば医療研究者である。医療研究者は、カタログ管理サーバ20のデータカタログ21を参照して、使用したいデータを運用管理者に伝える。運用管理者は、医療研究者の要望に基づいて配備要求を生成し、管理ノード10に入力することで、医療研究者の要望を満たすデータを配備した分散データベースを構築する。このとき、分散データベースの性能を向上するためのデータの分散方式は、管理ノード10が決定するため、運用管理者がデータの配置を指定する必要はない。 A user of the distributed database 40 is, for example, a medical researcher. The medical researcher refers to the data catalog 21 in the catalog management server 20 and informs the operations manager of the data he or she wishes to use. The operations manager generates a deployment request based on the medical researcher's needs and inputs it to the management node 10, thereby constructing a distributed database in which data that satisfies the medical researcher's needs is deployed. At this time, the management node 10 determines the data distribution method for improving the performance of the distributed database, so the operations manager does not need to specify the placement of the data.

図4では、管理ノード10、カタログ管理サーバ20、ストレージネットワーク30、複数の分散データベース40が所定のネットワークを介して接続されている。ストレージネットワーク30は、複数のストレージノード31をネットワークで接続して形成され、仮想的な1のストレージとして機能する。 In FIG. 4, a management node 10, a catalog management server 20, a storage network 30, and multiple distributed databases 40 are connected via a specific network. The storage network 30 is formed by connecting multiple storage nodes 31 via a network, and functions as a single virtual storage.

複数の分散データベース40は、それぞれDBMS41と複数の計算ノード42を含んで形成される。複数の分散データベース40は、異なるユーザに対して個別に構築されたものであり、独立に使用される。このように、本実施例のデータベースシステムは、複数の分散データベースを含んだシステムとして実施可能である。 The multiple distributed databases 40 are each formed by including a DBMS 41 and multiple computation nodes 42. The multiple distributed databases 40 are constructed individually for different users and are used independently. In this way, the database system of this embodiment can be implemented as a system including multiple distributed databases.

図4においても、図3と同様に、分散データベース40のユーザは、例えば医療研究者である。医療研究者は、カタログ管理サーバ20のデータカタログ21を参照して、使用したいデータを運用管理者に伝える。運用管理者は、医療研究者の要望に基づいて配備要求を生成し、管理ノード10に入力することで、医療研究者の要望を満たすデータを配備した分散データベースを構築する。運用管理者がデータの配置を指定する必要はない点も図3と同様である。 In FIG. 4, as in FIG. 3, the user of the distributed database 40 is, for example, a medical researcher. The medical researcher refers to the data catalog 21 in the catalog management server 20 and informs the operations manager of the data he or she wishes to use. The operations manager generates a deployment request based on the medical researcher's needs and inputs it to the management node 10, thereby constructing a distributed database in which data that meets the medical researcher's needs is deployed. As in FIG. 3, the operations manager does not need to specify the placement of the data.

次に、管理ノード10による物理設計について説明する。管理ノード10は、分散データベースにおいて生ずる各種のボトルネックを回避するようにデータを配置する。分散データベースに生ずるボトルネックには、計算ノードの入出力処理量、計算ノード間のデータ転送量、計算ノード間の処理量の偏り、データの重複などがある。 Next, the physical design by the management node 10 will be explained. The management node 10 arranges data to avoid various bottlenecks that occur in a distributed database. Bottlenecks that occur in a distributed database include the input/output processing volume of a computation node, the amount of data transferred between computation nodes, imbalances in the amount of processing between computation nodes, and data duplication.

図5は、計算ノードの入出力処理量についての説明図である。図5に示すように、データがソートされずに記憶領域に格納されると、データを検索する範囲が広がり、入出力処理量が増加する。図5では、計算ノードC1が保持する診療表(SI)からid値が「1」のデータを検索する場合を示しているが、どのブロックにもid値が「1」のデータが存在する可能性があるため、全てのブロックをリードする必要がある。 Figure 5 is an explanatory diagram of the input/output processing volume of a computation node. As shown in Figure 5, when data is stored in a memory area without being sorted, the range of data searched for becomes wider, and the input/output processing volume increases. Figure 5 shows a case where data with an id value of "1" is searched for from the medical record (SI) held by computation node C1, but since data with an id value of "1" may exist in any block, it is necessary to read all blocks.

図6は、計算ノードの入出力処理量を削減するデータ配置の説明図である。図6では、検索キーとなる項目でクラスタリングした状態でデータが格納されている。このため、例えば、診療表(SI)からid値が「1」のデータを検索する場合には、ブロック1のみをリードすればよい。このように、列値のクラスタリングを指定することにより計算ノードの入出力処理量を削減可能である。 Figure 6 is an explanatory diagram of a data arrangement that reduces the amount of input/output processing on a computing node. In Figure 6, data is stored in a clustered state based on the search key item. For this reason, for example, when searching for data with an id value of "1" from the medical record (SI), only block 1 needs to be read. In this way, by specifying clustering of column values, it is possible to reduce the amount of input/output processing on a computing node.

図7は、計算ノード間のデータ転送量についての説明図である。計算ノード42は、複数のデータを結合して使用する場合がある。このとき、結合されるデータが異なる計算ノード42に記憶されていると、結合時に他の計算ノード42にデータを転送する必要が生じ、性能低下の原因となる。図7では、傷病表(SY)と医薬品表(IY)をid列で結合して用いているが、計算ノードC1~C3は自身が結合して用いるデータを揃えておらず、他の計算ノードから転送を受けており、データ転送によって性能が低下する。 Figure 7 is an explanatory diagram of the amount of data transferred between calculation nodes. A calculation node 42 may combine multiple pieces of data for use. In this case, if the data to be combined is stored in a different calculation node 42, it becomes necessary to transfer the data to the other calculation node 42 when combining, which causes a decrease in performance. In Figure 7, an injury table (SY) and a medicine table (IY) are combined using the ID column, but calculation nodes C1 to C3 do not have the data they will combine and use, and instead receive data transferred from the other calculation nodes, which causes a decrease in performance due to the data transfer.

図8は、計算ノード間のデータ転送量を削減するデータ配置の説明図である。図8では、結合されるデータを同じノードに配置するように指定することにより、計算ノード間のデータ転送量を削減している。具体的には、図7と同様に、傷病表(SY)と医薬品表(IY)をid列で結合して用いるが、計算ノードC1~C3は自身が結合して用いるデータを揃えているため、他の計算ノードから転送を受ける必要がない。このように、結合されるデータを同じノードに配置するデータの分散方式を、便宜上、「結合列によるクラスタリング」という。 Figure 8 is an explanatory diagram of data placement that reduces the amount of data transferred between computation nodes. In Figure 8, the amount of data transferred between computation nodes is reduced by specifying that the data to be joined be placed on the same node. Specifically, as in Figure 7, the injury table (SY) and medicine table (IY) are used by joining them using the ID column, but since computation nodes C1 to C3 themselves have the data they will use for joining, they do not need to receive data transferred from other computation nodes. For convenience, this data distribution method in which joined data is placed on the same node is called "clustering by join column".

図9は、計算ノード間の処理量の偏りについての説明図である。まず、計算ノード間でデータ量が偏っていると、性能低下の原因となる。また、全計算ノードから参照されるマスタ表が一つの計算ノードにしか格納されていないと、計算ノード間で通信が生じ性能低下の原因となる。 Figure 9 is an explanatory diagram of the imbalance in processing volume between computing nodes. First, if the amount of data is uneven between computing nodes, it will cause a decrease in performance. Also, if the master table referenced by all computing nodes is stored only in one computing node, communication will occur between the computing nodes, causing a decrease in performance.

図9では、診療表(SI)と診療マスタ(M)とを結合して用いる場合を示している。ここで、計算ノードC1が計算ノードC2~C3よりも多くの診療表(SI)を保持していると、データ量が多い計算ノードC1の処理に時間がかかる。また、計算ノードC3が診療マスタ(M)を保持しており、全ての計算ノードC1~C3がマスタのある計算ノードC3にアクセスするため、マスタがある計算ノードC3の負荷が高まるとともに、通信の発生により処理の遅延を招く。 Figure 9 shows a case where the medical records (SI) and the medical master (M) are used in combination. Here, if the computing node C1 holds more medical records (SI) than the computing nodes C2 to C3, it will take a long time to process the computing node C1, which has a large amount of data. In addition, since the computing node C3 holds the medical master (M) and all the computing nodes C1 to C3 access the computing node C3 where the master is located, the load on the computing node C3 where the master is located increases and communication occurs, resulting in processing delays.

図10は、計算ノード間の処理量の偏りを低減するデータ配置の説明図である。図10では、マスタを全ての計算ノードC1~C3に配置し、また履歴表をラウンドロビン等を用いて計算ノード間でできるだけ均等になるような配置を指定することにより、計算ノード間の処理量の偏りを低減している。 Figure 10 is an explanatory diagram of data placement that reduces the bias in the amount of processing between the computing nodes. In Figure 10, the master is placed on all computing nodes C1 to C3, and the history table is placed as evenly as possible between the computing nodes using a round robin method or the like, thereby reducing the bias in the amount of processing between the computing nodes.

マスタを全ての計算ノードに配置するデータの分散方式を、便宜上、「全ノードに複製」という。また、ラウンドロビンを用いて計算ノード間でできるだけ均等になるよう配置データの分散方式を、便宜上、「ラウンドロビン」という。 For convenience, the data distribution method in which the master is placed on all computing nodes is called "replicate to all nodes." Also, for convenience, the data distribution method in which the data is placed as evenly as possible among computing nodes using round robin is called "round robin."

図11は、データの重複についての説明図である。既に計算ノードに配置されているデータの一部を含むデータの配備要求時に、配備要求があった全データを再度配備すると無駄なデータ転送および容量の重複が生じる。 Figure 11 is an explanatory diagram of data duplication. When a deployment request is made for data that includes some data that has already been deployed to a computing node, deploying all of the requested data again would result in unnecessary data transfer and capacity duplication.

図11では、医療研修者U1用に、診療表(SI)のid=1~20が既に配備されている。このうち、診療表(SI)のid=1~10は計算ノードC1に保持され、診療表(SI)のid=11~20は計算ノードC2に保持されている。 In FIG. 11, medical chart (SI) ids = 1 to 20 have already been deployed for medical trainee U1. Of these, medical chart (SI) ids = 1 to 10 are stored in computing node C1, and medical chart (SI) ids = 11 to 20 are stored in computing node C2.

この状態で、医療研究者U2が診療表(SI)のid=11~30の配備を要求した場合に、その全てを配備すると、診療表(SI)のid=11~20が重複し、そのデータ転送を容量は無駄となる。 In this state, if medical researcher U2 requests deployment of SI ids = 11 to 30, deploying all of them will result in duplicate SI ids = 11 to 20, and the capacity will be wasted by transferring that data.

図12は、データの重複を避けるデータ配置の説明図である。データの重複を避けるため、管理ノード10は、適切な分散方法で計算ノードにデータが配備されているかどうかを確認する。そして、適切な分散方法でデータが配備されている場合は不足部分のみを配備する。データは配備されているが分散方法が異なる場合は要求されたデータを全て配備する。 Figure 12 is an explanatory diagram of data placement that avoids data duplication. To avoid data duplication, the management node 10 checks whether data has been placed on the computing nodes using an appropriate distribution method. If the data has been placed using an appropriate distribution method, only the missing parts are placed. If the data has been placed but the distribution method is different, all of the requested data is placed.

図12では、医療研究者U1用に配備済みのデータのうち、診療表(SI)のid=11~20を医療研究者U2にも使用可能とし、不足分である診療表(SI)のid=21~30を計算ノードC1と計算ノードC2に振り分けて配置している。 In Figure 12, of the data already deployed for medical researcher U1, ids 11 to 20 of the medical chart (SI) are also available for medical researcher U2, and the remaining ids 21 to 30 of the medical chart (SI) are allocated and placed on compute nodes C1 and C2.

図13は、データの具体例についての説明図である。図13に示した入力情報は、配備要求として入力された情報の一例である。配備要求の入力情報としては、データ名やデータ使用方法が用いられる。 Figure 13 is an explanatory diagram of a specific example of data. The input information shown in Figure 13 is an example of information input as a deployment request. The input information for a deployment request may include the data name and the data usage method.

データ名は、ストレージノード31や計算ノード42に格納されたデータを名称で指定するものである。計算ノード42に格納されたデータを指定する場合には、結合によって生成された結合データや抽出によって生成された抽出データを指定することも可能である。 The data name is used to specify the name of the data stored in the storage node 31 or the computation node 42. When specifying data stored in the computation node 42, it is also possible to specify combined data generated by combining or extracted data generated by extracting.

データ使用方法は、データの結合や抽出を求めるものである。データの結合を求める場合には、生成する結合データの名称、結合に用いるデータであるソースデータ、結合条件、配備先、ユーザなどを指定する。データの抽出を求める場合には、抽出結果である抽出データの名称、抽出元であるソースデータ、抽出条件、配備先、ユーザなどを指定する。 A data usage method requests data merging or extraction. When requesting data merging, you specify the name of the merged data to be generated, the source data to be used in the merge, the merge conditions, the deployment destination, the user, etc. When requesting data extraction, you specify the name of the extracted data that is the extraction result, the source data from which it was extracted, the extraction conditions, the deployment destination, the user, etc.

図13では、「使用方法:傷病_医薬品(SY_IY)= 結合(傷病レセ(SY),医薬品レセ(IY),結合条件:SY.id=IY.id),配備先=C3,4,user=U1」と「使用方法:診療レセ(SI)(id=11‐30)=抽出(診療レセ(SI),抽出条件:11<=id<=30), 配備先=C1,2,user=U3」を入力情報として示している。 In Figure 13, the input information is shown as "Usage: Injury/Illness_Medicine (SY_IY) = Combine (Injury/Illness claim (SY), Medicine claim (IY), Combine condition: SY.id = IY.id), Destination = C3, 4, User = U1" and "Usage: Medical claim (SI) (id = 11-30) = Extract (Medical claim (SI), Extract condition: 11 <= id <= 30), Destination = C1, 2, User = U3".

また、図13に示すように、データカタログには、データ一覧@ストレージノード、配備済みデータ@計算ノード、リネージ情報、データのアクセス権などが含まれる。データ一覧@ストレージノードは、ストレージノード31に格納されたデータの名称と種別を示す。種別は、基礎情報である「マスタ」やトランザクションデータに対応する「履歴」などである。配備済みデータ@計算ノードは、計算ノード42に格納されたデータの名称、配置先、分散方法を示す。 As shown in FIG. 13, the data catalog includes data list@storage node, deployed data@computation node, lineage information, data access rights, etc. The data list@storage node indicates the name and type of data stored in the storage node 31. The type may be "master" which is basic information or "history" which corresponds to transaction data. The deployed data@computation node indicates the name, placement destination, and distribution method of the data stored in the computation node 42.

リネージ情報は、結合データや抽出データの由来を示すデータであり、データ名、ソースデータ、結合列、抽出条件などの項目を有する。データのアクセス権は、データの名称にアクセス権のあるユーザを対応付けたデータである。このアクセス権に関する情報は、アクセス権を管理するサーバを別途設けて管理してもよい。 Lineage information is data that indicates the origin of joined data and extracted data, and includes items such as data name, source data, joined columns, and extraction conditions. Data access rights are data that associates the name of data with users who have access rights. Information regarding this access right may be managed by a separate server that manages access rights.

図14は、管理ノード10の処理手順を示すフローチャートである。まず、配備要求受付部12aは、入出力部14や通信部15を介して配備要求を受け付ける(ステップS101)。物理設計処理部12cは、配備要求に示された配備対象データの分散方式を決定する(ステップS102)。その後、物理設計処理部12cは、配備対象データが配備済みであるか、すなわち、既存のデータと重複部分があるか否かを判定する(ステップS103)。 Figure 14 is a flowchart showing the processing procedure of the management node 10. First, the deployment request receiving unit 12a receives a deployment request via the input/output unit 14 and the communication unit 15 (step S101). The physical design processing unit 12c determines a distribution method for the deployment target data indicated in the deployment request (step S102). After that, the physical design processing unit 12c determines whether the deployment target data has already been deployed, i.e., whether there is an overlap with existing data (step S103).

配備対象データが配備済みであれば(ステップS103;Yes)、物理設計処理部12cは、配備対象データと配備済みデータの分散方式が同一であるか否かを判定する(ステップS104)。そして、分散方式が同一であれば(ステップS104;Yes)、物理設計処理部12cは、未配備のデータのみ、決定した分散方式に従って計算ノードに配備する(ステップS105)。 If the data to be deployed has already been deployed (step S103; Yes), the physical design processing unit 12c determines whether the distribution method of the data to be deployed and the deployed data is the same (step S104). If the distribution methods are the same (step S104; Yes), the physical design processing unit 12c deploys only the undeployed data to the computing nodes according to the determined distribution method (step S105).

配備対象データが全て未配備である場合(ステップS103;No)、もしくは分散方式が異なる場合(ステップS104;No)、物理設計処理部12cは、配備対象全体を、決定した分散方式に従って計算ノードに配備する(ステップS106)。 If all of the deployment target data has not been deployed (step S103; No), or if the distribution method is different (step S104; No), the physical design processing unit 12c deploys the entire deployment target to the computing nodes according to the determined distribution method (step S106).

ステップS105またはステップS106の後、物理設計処理部12cは、データカタログを更新し、アクセス権を設定して(ステップS107)、処理を終了する。 After step S105 or step S106, the physical design processing unit 12c updates the data catalog, sets the access rights (step S107), and ends the process.

図15は、図14に示した分散方式の決定の詳細を示すフローチャートである。このフローチャートでは、以下のステップが実行される。
ステップS201
処理が開始すると、物理設計処理部12cは、配備要求の入力情報を識別し、ステップS102に移行する。
ステップS202
物理設計処理部12cは、入力情報がデータ名であるか、使用方法であるかを判定する。データ名であればステップS203に移行し、使用方法であればステップS206に移行する。
Fig. 15 is a flow chart showing the details of the distribution method decision shown in Fig. 14. In this flow chart, the following steps are performed:
Step S201
When the process starts, the physical design processing unit 12c identifies input information of the deployment request, and the process proceeds to step S102.
Step S202
The physical design processing section 12c judges whether the input information is a data name or a method of use. If it is a data name, the process proceeds to step S203, and if it is a method of use, the process proceeds to step S206.

ステップS203
カタログ情報取得部12bは、データカタログ21のデータ一覧より、入力情報に関する情報を取得し、ステップS204に移行する。
ステップS204
物理設計処理部12cは、データ名の格納場所を判定する。格納場所がデータ一覧@ストレージであれば、ステップS207に移行し、格納場所がリネージであればステップS205に移行する。
ステップS205
カタログ情報取得部12bは、データカタログ21からリネージ情報を取得し、ステップS206に移行する。
ステップS206
物理設計処理部12cは、リネージ情報からソースデータと結合キーを求め、ステップS207に移行する。
Step S203
The catalog information acquiring unit 12b acquires information about the input information from the data list of the data catalog 21, and proceeds to step S204.
Step S204
The physical design processing unit 12c determines the storage location of the data name. If the storage location is a data list@storage, the process proceeds to step S207, and if the storage location is a lineage, the process proceeds to step S205.
Step S205
The catalog information acquisition unit 12b acquires the lineage information from the data catalog 21, and proceeds to step S206.
Step S206
The physical design processing unit 12c obtains the source data and the join key from the lineage information, and proceeds to step S207.

ステップS207
物理設計処理部12cは、各ソースデータについて、ステップS208~ステップS212の処理を実行する。その後、ステップS213でループの終了を判定する。
Step S207
The physical design processing section 12c executes the processes of steps S208 to S212 for each source data, and then determines whether to end the loop in step S213.

ステップS208
物理設計処理部12cは、データの種別を判定する。結合データであれば、ステップS205に移行する。履歴であれば、ステップS210に移行する。マスタであれば、ステップS209に移行する。
ステップS209
物理設計処理部12cは、分散方式を「全ノードに複製」に設定し、ステップS213に移行する。
ステップS210
物理設計処理部12cは、履歴同士の結合があるか否かを判定する。結合があればステップS211に移行し、結合が無ければステップS212に移行する。
ステップS211
物理設計処理部12cは、分散方式を「結合列によるクラスタリング」に設定し、ステップS213に移行する。
ステップS212
物理設計処理部12cは、分散方式を「ラウンドロビン」に設定し、ステップS213に移行する。
Step S208
The physical design processing unit 12c judges the type of data. If it is combined data, the process proceeds to step S205. If it is history data, the process proceeds to step S210. If it is master data, the process proceeds to step S209.
Step S209
The physical design processing unit 12c sets the distribution method to "duplicate to all nodes" and proceeds to step S213.
Step S210
The physical design processing section 12c judges whether or not there is a connection between the histories. If there is a connection, the process proceeds to step S211, and if there is no connection, the process proceeds to step S212.
Step S211
The physical design processing unit 12c sets the distribution method to "clustering by join column" and proceeds to step S213.
Step S212
The physical design processing unit 12c sets the distribution method to "round robin" and proceeds to step S213.

ステップS213
物理設計処理部12cは、全てのソースデータについて処理を行ったかを判定する。未処理のソースデータが残っていれば、ステップS207に移行する。そして、全てのソースデータが処理済みとなれば、分散方式の決定を終了し、元の処理に戻る。
Step S213
The physical design processing unit 12c determines whether all source data has been processed. If unprocessed source data remains, the process proceeds to step S207. If all source data has been processed, the process ends the determination of the distribution method and returns to the original process.

次に、データ配備によるデータカタログの変化について説明する。図16は、結合データの配備の具体例である。図16では、図13に示したデータカタログに、入力情報「使用方法:傷病_医薬品(SY_IY)= 結合(傷病レセ(SY),医薬品レセ(IY),結合条件:SY.id=IY.id),配備先=C3,4,user=U1」に基づくデータ配備を実行した状態を示している。 Next, we will explain the changes to the data catalog due to data deployment. Figure 16 is a specific example of the deployment of combined data. Figure 16 shows the state after data deployment has been performed on the data catalog shown in Figure 13 based on the input information "Usage: Injury/Illness_Medicine (SY_IY) = Join (Injury/Illness Claim (SY), Medicine Claim (IY), Join Condition: SY.id = IY.id), Deployment Destination = C3, 4, User = U1."

この結合データの配備により、データカタログの配備済みデータ@計算ノードには、傷病レセ(SY)と医薬品レセ(IY)が追加される。これらの配備先はC3とC4であり、分散方式は結合列クラスタリングである。また、リネージ情報には、傷病_医薬品(SY_IY)が追加される。傷病_医薬品(SY_IY)のソースデータは傷病レセ(SY)と医薬品レセ(IY)であり、結合列はidである。さらに、計算ノードデータのアクセス権には、傷病レセ(SY)と医薬品レセ(IY)が追加され、ユーザU1が対応付けられる。 By deploying this combined data, injury/illness claim (SY) and pharmaceutical claim (IY) are added to the deployed data @ computation node in the data catalog. The deployment destinations for these are C3 and C4, and the distribution method is combined column clustering. In addition, injury/illness_medicine (SY_IY) is added to the lineage information. The source data for injury/illness_medicine (SY_IY) is injury/illness claim (SY) and pharmaceutical claim (IY), and the combined column is id. Furthermore, injury/illness claim (SY) and pharmaceutical claim (IY) are added to the access rights of the computation node data, and user U1 is associated with them.

図17は、既存データを利用したデータの配備の具体例である。図17では、図13に示したデータカタログに、入力情報「使用方法:診療レセ(SI)(id=11‐30)=抽出(診療レセ(SI),抽出条件:11<=id<=30), 配備先=C1,2,user=U3」に基づくデータ配備を実行した状態を示している。 Figure 17 is a specific example of data deployment using existing data. Figure 17 shows the state after data deployment has been performed on the data catalog shown in Figure 13 based on the input information "Usage: Medical Receipt (SI) (id = 11-30) = Extract (Medical Receipt (SI), Extraction Condition: 11 <= id <= 30), Deployment Destination = C1, 2, User = U3."

このデータの配備では、配備済みデータ@計算ノードに示すように、診療レセ(SI)(id=1‐20)が配備済みであるため、診療レセ(SI)(id=21‐30)が新たに配備される。この配備先はC1とC2であり、分散方式はラウンドロビンである。また、リネージ情報には、診療レセ(SI)(id=11‐30)が追加される。診療レセ(SI)(id=11‐30)のソースデータは診療レセ(SI)であり、抽出条件は11<=id<=30である。計算ノードデータのアクセス権は、既存の診療レセ(SI)(id=1‐20)のユーザにU3を追加するとともに、新規に診療レセ(SI)(id=11‐30)を加えてユーザU3を対応付けた状態となる。 When deploying this data, as shown in Deployed Data @ Computation Node, since medical receipt (SI) (id = 1-20) has already been deployed, medical receipt (SI) (id = 21-30) is newly deployed. This deployment destination is C1 and C2, and the distribution method is round robin. In addition, medical receipt (SI) (id = 11-30) is added to the lineage information. The source data of medical receipt (SI) (id = 11-30) is medical receipt (SI), and the extraction condition is 11 <= id <= 30. The access rights of the computation node data are such that U3 is added to the existing user of medical receipt (SI) (id = 1-20), and new medical receipt (SI) (id = 11-30) is added and associated with user U3.

次に、データベースシステムの動作シーケンスを説明する。図18は、分散データベースを新規に構築する場合の動作シーケンスである。図18に示すように、まず、医療研究者がカタログ管理サーバ20にカタログ検索を要求する。カタログ管理サーバ20はカタログ検索を実行し、データ定義などを医療研究者に返す。 Next, the operational sequence of the database system will be explained. Figure 18 shows the operational sequence when constructing a new distributed database. As shown in Figure 18, first, the medical researcher requests a catalog search from the catalog management server 20. The catalog management server 20 executes the catalog search and returns data definitions and the like to the medical researcher.

その後、医療研究者は、運用管理者にデータの配備要求を行う。運用管理者は、医療研究者からの要求に基づいて、管理ノード10にDBMSの配備要求を入力する。管理ノード10は、配備要求を受け付けてカタログ管理サーバ20にカタログ情報を要求し、リネージ情報やデータ種別を取得する。 The medical researcher then makes a data deployment request to the operations manager. Based on the request from the medical researcher, the operations manager inputs a DBMS deployment request to the management node 10. The management node 10 accepts the deployment request, requests catalog information from the catalog management server 20, and obtains lineage information and data type.

管理ノード10は、カタログ管理サーバ20から取得したリネージ情報やデータ種別を用いて、DBMSデプロイと表定義作成を行い、DBMS管理ノード41に表作成を要求する。DBMS管理ノード41が表作成を行ったならば、管理ノード10はDBMS管理ノード41にデータロードを要求する。DBMS管理ノード41がデータロードを実行したならば、管理ノード10は、運用管理者に配備完了を通知する。 The management node 10 uses the lineage information and data type obtained from the catalog management server 20 to perform DBMS deployment and table definition creation, and requests the DBMS management node 41 to create a table. Once the DBMS management node 41 has created the table, the management node 10 requests the DBMS management node 41 to load data. Once the DBMS management node 41 has executed the data load, the management node 10 notifies the operations manager that deployment is complete.

このように、管理ノード10は、DBMS配備処理において、カタログ管理サーバ20にカタログ情報を要求し、リネージ情報やデータ種別を取得し、表定義を作成することができる。 In this way, during the DBMS deployment process, the management node 10 can request catalog information from the catalog management server 20, obtain lineage information and data types, and create table definitions.

図19は、分散データベースにデータを追加配備する場合の動作シーケンスである。図19に示す動作シーケンスは、図18の動作シーケンスと比較すると、運用管理者がDBMSの配備要求ではなくデータの配備要求を入力する点と、管理ノード10によるDBMSデプロイが無い点で異なり、その他の動作は同一である。すなわち、管理ノード10は、データ配備処理においても、カタログ管理サーバ20にカタログ情報を要求し、リネージ情報やデータ種別を取得し、表定義を作成することができる。 Figure 19 shows the operation sequence when additional data is deployed to a distributed database. The operation sequence shown in Figure 19 differs from the operation sequence in Figure 18 in that the operations manager inputs a data deployment request instead of a DBMS deployment request, and there is no DBMS deployment by the management node 10; the rest of the operations are the same. That is, even in data deployment processing, the management node 10 can request catalog information from the catalog management server 20, obtain lineage information and data type, and create table definitions.

図20は、データの追加配備の変形例である。図20では、医療研究者は、カタログ管理サーバ20にカタログ検索を要求してデータ定義などを取得した後、カタログ管理サーバ20にデータの配備要求を行う。カタログ管理サーバ20は、医療研究者から受け付けた配備要求に基づいて、リネージ情報やデータ種別を管理ノード10に提供する。その後の動作は、図19と同様であるので、説明を省略する。このように、カタログ管理サーバ20が配備要求の受付を担う構成とすることもできる。 Figure 20 shows a modified example of additional deployment of data. In Figure 20, a medical researcher requests a catalog search from the catalog management server 20 to obtain data definitions, etc., and then requests the catalog management server 20 to deploy data. The catalog management server 20 provides lineage information and data type to the management node 10 based on the deployment request received from the medical researcher. Subsequent operations are similar to those in Figure 19, so a description will be omitted. In this way, a configuration in which the catalog management server 20 is responsible for receiving deployment requests can also be used.

上述してきたように、実施例として開示したデータベースシステムは、データの所在を示すデータカタログ21を管理するカタログ管理サーバ20と、ストレージノード31と、分散データベース40を形成する1つ以上の計算ノード42と、ストレージノード31に格納されたデータの一部を計算ノード42に保持させるデータ配備を管理する管理ノード10とを備える。そして、管理ノード10は、データ配備を求める配備要求を受け付けた場合に、データカタログ21から情報を取得し、取得した情報に基づいて配備すべきデータである配備対象データをいずれの計算ノード42に保持させるかを決定することで、分散データベース40の物理設計を行う。このため、ユーザのスキルに依存することなく、良好な性能を実現するデータベースの物理設計を行うことができる。 As described above, the database system disclosed as an embodiment includes a catalog management server 20 that manages a data catalog 21 that indicates the location of data, a storage node 31, one or more computation nodes 42 that form a distributed database 40, and a management node 10 that manages data deployment that causes a portion of the data stored in the storage node 31 to be held in the computation node 42. When the management node 10 receives a deployment request for data deployment, it acquires information from the data catalog 21 and performs physical design of the distributed database 40 by determining which computation node 42 should hold the deployment target data, which is the data to be deployed, based on the acquired information. This makes it possible to perform physical design of a database that achieves good performance without relying on the skills of the user.

また、上記実施例によれば、管理ノード10は、配備要求に示されたデータ名および/またはデータ使用方法に基づいて、配備対象データの分散方式を決定する。具体的には、管理ノード10は、配備対象データがマスタデータである場合には、同一の分散データベースに含まれる全ての計算ノードに配備対象データを保持させる分散方式を採用する。また、管理ノード10は、配備対象データが履歴データであり、かつ、複数のデータを結合したデータである場合には、該結合に係る複数のデータを同一の計算ノードに保持させる分散方式を採用する。また、管理ノード10は、配備対象データが履歴データであり、かつ、複数のデータを結合したデータでない場合には、配備対象データを複数の計算ノードに振り分けて保持させる分散方式を採用する。
このように、配備要求に示されたデータ名および/またはデータ使用方法に応じた分散方式を採用することで、適切なデータ配置を自動的に決定することができる。
Furthermore, according to the above embodiment, the management node 10 determines the distribution method of the deployment target data based on the data name and/or data usage method indicated in the deployment request. Specifically, when the deployment target data is master data, the management node 10 adopts a distribution method in which the deployment target data is held by all the computing nodes included in the same distributed database. When the deployment target data is history data and is data obtained by combining multiple data, the management node 10 adopts a distribution method in which the multiple data related to the combination are held by the same computing node. When the deployment target data is history data and is not data obtained by combining multiple data, the management node 10 adopts a distribution method in which the deployment target data is distributed and held by multiple computing nodes.
In this way, by adopting a distribution method according to the data name and/or data usage method indicated in the deployment request, an appropriate data deployment can be automatically determined.

また、管理ノード10は、配備対象データが配備済みのデータと重複し、配備対象データの分散方式と配備済みのデータの分散方式とが同一であるならば、非重複部分を選択的に配備する。また、管理ノード10は、配備対象データを計算ノードに配備する際に、配備対象データを検索キーとなる項目でクラスタリングして格納する。このため、処理を効率化し、性能の向上を図ることができる。 In addition, if the data to be deployed overlaps with data that has already been deployed and the distribution method of the data to be deployed is the same as that of the data that has already been deployed, the management node 10 selectively deploys the non-overlapping portion. In addition, when deploying the data to be deployed to the computing node, the management node 10 clusters the data to be deployed by items that serve as search keys and stores them. This makes it possible to streamline processing and improve performance.

なお、データカタログは、ストレージノードに格納されたデータの一覧と、ストレージノードに格納されたデータから生成されて計算ノードに格納されたデータの一覧と、計算ノードに格納されたデータをどのように生成したかを示すリネージ情報とを含む。実施例に開示したデータベースシステムは、かかるメタデータを参照して利用することで、分散データベースの物理設計を実現する。 The data catalog includes a list of data stored in the storage nodes, a list of data generated from the data stored in the storage nodes and stored in the computation nodes, and lineage information indicating how the data stored in the computation nodes was generated. The database system disclosed in the embodiment realizes the physical design of a distributed database by referring to and using such metadata.

なお、本発明は上述の実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、かかる構成の削除に限らず、構成の置き換えや追加も可能である。 The present invention is not limited to the above-described embodiment, but includes various modified examples. For example, the above-described embodiment has been described in detail to clearly explain the present invention, and is not necessarily limited to having all of the configurations described. Furthermore, the configurations may be replaced or added, rather than being deleted.

例えば、例示したデータベースに限らず、任意のデータベースでの検索に適用可能である。また、管理ノード10の機能を他の装置に持たせて実施してもよい。 For example, the present invention is applicable to searches in any database, not just the databases shown as examples. In addition, the functions of the management node 10 may be implemented by having another device perform the functions.

10:管理ノード、12a:配備要求受付部、12b:カタログ情報取得部、12c:物理設計処理部、20:カタログ管理ノード、21:データカタログ、30:ストレージネットワーク、31:ストレージノード、40:分散データベース、41:DBMS管理ノード、42:計算ノード 10: Management node, 12a: Deployment request reception unit, 12b: Catalog information acquisition unit, 12c: Physical design processing unit, 20: Catalog management node, 21: Data catalog, 30: Storage network, 31: Storage node, 40: Distributed database, 41: DBMS management node, 42: Computation node

Claims (8)

データの所在を示すデータカタログを管理するカタログ管理サーバと、
ストレージノードと、
分散データベースを形成する1つ以上の計算ノードと、
前記ストレージノードに格納されたデータの一部を前記計算ノードに保持させるデータ配備を管理する管理ノードと
を備え、
前記管理ノードは、
前記データ配備を求める配備要求を受け付けた場合に、前記データカタログから情報を取得し、取得した情報に基づいて配備すべきデータである配備対象データをいずれの計算ノードに保持させるかを決定することで、前記分散データベースの物理設計を行うものであり、
前記管理ノードは、前記配備要求に示されたデータ名および/またはデータ使用方法に基づいて、前記配備対象データの分散方式を決定し、前記配備対象データがマスタデータである場合には、同一の分散データベースに含まれる全ての計算ノードに前記配備対象データを保持させる分散方式を採用する
ことを特徴とするデータベースシステム。
A catalog management server that manages a data catalog indicating the location of data;
A storage node;
one or more computing nodes forming a distributed database;
a management node that manages data allocation for causing the computing node to hold a portion of the data stored in the storage node,
The management node,
When a deployment request for the data deployment is received, information is acquired from the data catalog, and a physical design of the distributed database is performed by determining which computing node should hold the deployment target data, which is the data to be deployed, based on the acquired information;
The management node determines a distribution method for the data to be deployed based on the data name and/or data usage method indicated in the deployment request, and when the data to be deployed is master data, adopts a distribution method in which the data to be deployed is held in all computing nodes included in the same distributed database.
A database system comprising:
前記管理ノードは、前記配備対象データが履歴データであり、かつ、複数のデータを結合したデータである場合には、該結合に係る複数のデータを同一の計算ノードに保持させる分散方式を採用することを特徴とする請求項1に記載のデータベースシステム。 2. The database system according to claim 1, wherein the management node adopts a distributed method in which, when the data to be deployed is history data and is data obtained by combining multiple data, the multiple data related to the combination are stored in the same calculation node. 前記管理ノードは、前記配備対象データが履歴データであり、かつ、複数のデータを結合したデータでない場合には、前記配備対象データを複数の計算ノードに振り分けて保持させる分散方式を採用することを特徴とする請求項1に記載のデータベースシステム。 2. The database system according to claim 1, wherein the management node adopts a distributed method in which, when the data to be deployed is history data and is not data that is a combination of multiple data, the data to be deployed is distributed to multiple calculation nodes and stored therein. 前記管理ノードは、前記配備対象データが配備済みのデータと重複し、前記配備対象データの分散方式と前記配備済みのデータの分散方式とが同一であるならば、非重複部分を選択的に配備することを特徴とする請求項1に記載のデータベースシステム。 2. The database system according to claim 1, wherein the management node selectively deploys the non-overlapping portion if the data to be deployed overlaps with data already deployed and the distribution method of the data to be deployed is the same as the distribution method of the data already deployed. 前記管理ノードは、前記配備対象データを前記計算ノードに配備する際に、前記配備対象データを検索キーとなる項目でクラスタリングして格納することを特徴とする請求項1に記載のデータベースシステム。 2. The database system according to claim 1 , wherein the management node clusters the deployment target data by an item serving as a search key and stores the data when deploying the deployment target data to the computing nodes. 前記データカタログは、前記ストレージノードに格納されたデータの一覧と、前記ストレージノードに格納されたデータから生成されて前記計算ノードに格納されたデータの一覧と、前記計算ノードに格納されたデータをどのように生成したかを示すリネージ情報とを含むことを特徴とする請求項1に記載のデータベースシステム。 The database system according to claim 1, characterized in that the data catalog includes a list of data stored in the storage node, a list of data generated from the data stored in the storage node and stored in the computation node, and lineage information indicating how the data stored in the computation node was generated. ストレージノードに格納されたデータの一部を複製し、分散データベースを形成する1つ以上の計算ノードに保持させるデータ配備を管理するデータ配備管理装置であって、
前記データ配備を求める配備要求を受け付ける配備要求受付部と、
前記配備要求を受け付けた場合に、データの所在を示すデータカタログから情報を取得するカタログ情報取得部と、
前記データカタログから取得した情報に基づいて、配備すべきデータである配備対象データをいずれの計算ノードに保持させるかを決定することで、前記分散データベースの物理設計を行う物理設計処理部と
を備え
前記物理設計処理部は、前記配備要求に示されたデータ名および/またはデータ使用方法に基づいて、前記配備対象データの分散方式を決定し、前記配備対象データがマスタデータである場合には、同一の分散データベースに含まれる全ての計算ノードに前記配備対象データを保持させる分散方式を採用する
ことを特徴とするデータ配備管理装置。
A data allocation management device that manages data allocation by replicating a portion of data stored in a storage node and storing the replicated data in one or more computing nodes that form a distributed database, comprising:
a deployment request receiving unit that receives a deployment request for the data deployment;
a catalog information acquisition unit that acquires information from a data catalog indicating a location of the data when the deployment request is received;
a physical design processing unit that performs a physical design of the distributed database by determining which computing node should hold deployment target data, which is data to be deployed, based on information acquired from the data catalog ;
The physical design processing unit determines a distribution method for the data to be deployed based on the data name and/or data usage method indicated in the deployment request, and when the data to be deployed is master data, adopts a distribution method in which the data to be deployed is held in all computing nodes included in the same distributed database.
A data deployment management device comprising:
ストレージノードに格納されたデータの一部を複製し、分散データベースを形成する1つ以上の計算ノードに保持させるデータ配備を管理するデータ配備管理方法であって、
プロセッサが、
前記データ配備を求める配備要求を受け付ける配備要求受付ステップと、
前記配備要求を受け付けた場合に、データの所在を示すデータカタログから情報を取得するカタログ情報取得ステップと、
前記データカタログから取得した情報に基づいて、配備すべきデータである配備対象データをいずれの計算ノードに保持させるかを決定することで、前記分散データベースの物理設計を行う物理設計処理ステップと
を行い
前記物理設計処理ステップは、前記配備要求に示されたデータ名および/またはデータ使用方法に基づいて、前記配備対象データの分散方式を決定し、前記配備対象データがマスタデータである場合には、同一の分散データベースに含まれる全ての計算ノードに前記配備対象データを保持させる分散方式を採用する
ことを特徴とするデータ配備管理方法。
A data allocation management method for managing data allocation in which a part of data stored in a storage node is replicated and stored in one or more computing nodes forming a distributed database, the method comprising:
The processor:
a deployment request receiving step of receiving a deployment request for the data deployment;
a catalog information acquisition step of acquiring information from a data catalog indicating a location of the data when the deployment request is received;
a physical design processing step of performing a physical design of the distributed database by determining which computing node should hold the deployment target data, which is the data to be deployed, based on the information acquired from the data catalog ;
The physical design processing step determines a distribution method for the data to be deployed based on the data name and/or data usage method indicated in the deployment request, and adopts a distribution method in which the data to be deployed is held in all computing nodes included in the same distributed database when the data to be deployed is master data.
A data deployment management method comprising:
JP2020121596A 2020-07-15 2020-07-15 DATABASE SYSTEM, DATA DISTRIBUTION MANAGEMENT DEVICE, AND DATA DISTRIBUTION MANAGEMENT METHOD Active JP7489249B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020121596A JP7489249B2 (en) 2020-07-15 2020-07-15 DATABASE SYSTEM, DATA DISTRIBUTION MANAGEMENT DEVICE, AND DATA DISTRIBUTION MANAGEMENT METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020121596A JP7489249B2 (en) 2020-07-15 2020-07-15 DATABASE SYSTEM, DATA DISTRIBUTION MANAGEMENT DEVICE, AND DATA DISTRIBUTION MANAGEMENT METHOD

Publications (2)

Publication Number Publication Date
JP2022018476A JP2022018476A (en) 2022-01-27
JP7489249B2 true JP7489249B2 (en) 2024-05-23

Family

ID=80203287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020121596A Active JP7489249B2 (en) 2020-07-15 2020-07-15 DATABASE SYSTEM, DATA DISTRIBUTION MANAGEMENT DEVICE, AND DATA DISTRIBUTION MANAGEMENT METHOD

Country Status (1)

Country Link
JP (1) JP7489249B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116627965B (en) * 2023-04-25 2025-03-18 腾讯科技(深圳)有限公司 Distributed database data table processing method, device, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309684A (en) 2004-04-20 2005-11-04 Ntt Data Corp Database system and program
WO2012121316A1 (en) 2011-03-08 2012-09-13 日本電気株式会社 Distributed storage system and method therefor
JP2013065113A (en) 2011-09-15 2013-04-11 Toshiba Corp Load distribution system, data access device, and load distribution method
WO2013073020A1 (en) 2011-11-16 2013-05-23 株式会社日立製作所 Computer system, data management method, and program
WO2013172405A1 (en) 2012-05-17 2013-11-21 日本電気株式会社 Storage system and data access method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08190502A (en) * 1995-01-12 1996-07-23 Hitachi Ltd Distributed database layout design method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309684A (en) 2004-04-20 2005-11-04 Ntt Data Corp Database system and program
WO2012121316A1 (en) 2011-03-08 2012-09-13 日本電気株式会社 Distributed storage system and method therefor
JP2013065113A (en) 2011-09-15 2013-04-11 Toshiba Corp Load distribution system, data access device, and load distribution method
WO2013073020A1 (en) 2011-11-16 2013-05-23 株式会社日立製作所 Computer system, data management method, and program
WO2013172405A1 (en) 2012-05-17 2013-11-21 日本電気株式会社 Storage system and data access method

Also Published As

Publication number Publication date
JP2022018476A (en) 2022-01-27

Similar Documents

Publication Publication Date Title
JP7263297B2 (en) Real-time cross-system database replication for hybrid cloud elastic scaling and high-performance data virtualization
US6523036B1 (en) Internet database system
US6405198B1 (en) Complex data query support in a partitioned database system
US20100235390A1 (en) Search device, search method, and computer-readable recording medium storing search program
CN111797121A (en) Strong consistency query method, device and system for read-write separation architecture service system
US11030196B2 (en) Method and apparatus for processing join query
JP5437557B2 (en) Search processing method and search system
US9020916B2 (en) Database server apparatus, method for updating database, and recording medium for database update program
CN115185966B (en) A method and apparatus for handling data consistency in a distributed cluster.
WO2008049353A1 (en) Network data storing system and data accessing method thereof
CN104603780A (en) Computer system, metadata management method, and recording medium
CN108959538B (en) Full text retrieval system and method
CN112969997A (en) Tracking changes to database data
CN111651424B (en) Data processing method, device, data node and storage medium
CN116635846A (en) Schema and data modification concurrency in query processing pushdown
US20170270149A1 (en) Database systems with re-ordered replicas and methods of accessing and backing up databases
JP7038864B2 (en) Search server centralized storage
CN107870954A (en) A distributed database extension method and device
US20230244647A1 (en) Unique Identification Management
KR101872414B1 (en) Dynamic partitioning method for supporting load balancing of distributed RDF graph
JP7489249B2 (en) DATABASE SYSTEM, DATA DISTRIBUTION MANAGEMENT DEVICE, AND DATA DISTRIBUTION MANAGEMENT METHOD
CN116975053A (en) A data processing method, device, equipment, media and program product
CN119106035A (en) A block storage method and related equipment
CN118113774A (en) A method, system, device cluster and storage medium for database redistribution
US20230094789A1 (en) Data distribution in target database systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240513

R150 Certificate of patent or registration of utility model

Ref document number: 7489249

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150