JPWO2018047250A1 - Database transition support apparatus and method - Google Patents

Database transition support apparatus and method Download PDF

Info

Publication number
JPWO2018047250A1
JPWO2018047250A1 JP2018537916A JP2018537916A JPWO2018047250A1 JP WO2018047250 A1 JPWO2018047250 A1 JP WO2018047250A1 JP 2018537916 A JP2018537916 A JP 2018537916A JP 2018537916 A JP2018537916 A JP 2018537916A JP WO2018047250 A1 JPWO2018047250 A1 JP WO2018047250A1
Authority
JP
Japan
Prior art keywords
key
evaluation
migration
candidate
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018537916A
Other languages
Japanese (ja)
Other versions
JP6695985B2 (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
Publication of JPWO2018047250A1 publication Critical patent/JPWO2018047250A1/en
Application granted granted Critical
Publication of JP6695985B2 publication Critical patent/JP6695985B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

データベース移行支援装置は、関係データベースから移行する分散キーバリューストアの作成を支援する装置であり、メモリとプロセッサとを有している。メモリは、キー評価プログラムと、キー評価提示プログラムとを有している。キー評価プログラムは、関係データベースに設定されている少なくとも1つの列に基づき分散キーバリューストアに用いるキーの候補となるキー候補を少なくとも1つ生成し、キー候補を、関係データベースのデータおよび利用ログに基づいて、評価する。キー評価提示プログラムは、キー候補の評価結果を提示する。プロセッサは、キー評価プログラムおよびキー評価提示プログラムを実行して、キー候補の評価結果を提示する。The database migration support device is a device that supports creation of a distributed key-value store migrated from a relational database, and has a memory and a processor. The memory has a key evaluation program and a key evaluation presentation program. The key evaluation program generates at least one key candidate which is a candidate of a key to be used for the distributed key-value store based on at least one column set in the relational database, and generates the key candidate into data of the relational database and usage log. Evaluate based on. The key evaluation presentation program presents evaluation results of key candidates. The processor executes the key evaluation program and the key evaluation presentation program to present the evaluation result of the key candidate.

Description

関係データベースからキーバリューストアへのデータベースの移行を支援する技術に関する。   The present invention relates to a technology that supports migration of a database from a relational database to a key-value store.

IoT市場の急成長などを背景として、データ容量および処理性能を向上させるために、データベースを関係データベース(RDB)からキーバリューストア(KVS)へ移行させる動きがある。データベースの移行においては、移行後にも移行前に動作していたアプリケーションが同じように動作することが求められる。しかし、移行前のRDBから取得できていたデータと同じデータを取得できるKVSを実現するには、多大な工数をかけて人手によりキー設計をする必要があった。それに対して、特許文献1には、RDBからKVSへの移行を容易にするために移行設計を支援する技術が開示されている。   With the rapid growth of the IoT market, etc., there is a movement to shift databases from relational databases (RDB) to key value stores (KVS) in order to improve data capacity and processing performance. In database migration, it is required that applications that were operating before migration also operate in the same way after migration. However, in order to realize the KVS that can acquire the same data as the data that could be acquired from the RDB before migration, it was necessary to spend a lot of man-hours and manually design the key. On the other hand, Patent Document 1 discloses a technology that supports transition design to facilitate transition from RDB to KVS.

特開2014−211790号公報JP, 2014-211790, A

特許文献1の技術は、RDBからKVSへの移行を支援する際、RDBのスキーマ定義とRDBの利用ログを用いてデータ項目を評価するだけなので、移行後のKVSを実際のデータに適用した場合に必ずしも移行前のRDBと同様のデータを取得できるとは限らない。   When supporting the transition from RDB to KVS, the technology of Patent Document 1 only evaluates data items using the schema definition of RDB and the usage log of RDB, so when KVS after transition is applied to actual data It is not always possible to obtain the same data as the RDB before migration.

本発明の目的は、移行前のRDBの実際のデータを適用したときにRDBと同様のデータが取得できるようなKVSのキー設計を支援することが可能な技術を提供することである。   An object of the present invention is to provide a technology capable of supporting KVS key design such that data similar to RDB can be acquired when actual data of RDB before migration is applied.

本発明の一つの実施態様に従うデータベース移行支援装置は、関係データベースから移行する分散キーバリューストアの作成を支援する装置であり、メモリとプロセッサとを有している。メモリは、キー評価プログラムと、キー評価提示プログラムとを有している。キー評価プログラムは、関係データベースに設定されている少なくとも1つの列に基づき分散キーバリューストアに用いるキーの候補となるキー候補を少なくとも1つ生成し、キー候補を、関係データベースのデータおよび利用ログに基づいて、評価する。キー評価提示プログラムは、キー候補の評価結果を提示する。プロセッサは、キー評価プログラムおよびキー評価提示プログラムを実行して、キー候補の評価結果を提示する。   A database migration support apparatus according to one embodiment of the present invention is an apparatus for supporting creation of a distributed key-value store migrated from a relational database, and has a memory and a processor. The memory has a key evaluation program and a key evaluation presentation program. The key evaluation program generates at least one key candidate which is a candidate of a key to be used for the distributed key-value store based on at least one column set in the relational database, and generates the key candidate into data of the relational database and usage log. Evaluate based on. The key evaluation presentation program presents evaluation results of key candidates. The processor executes the key evaluation program and the key evaluation presentation program to present the evaluation result of the key candidate.

本発明によれば、移行前のデータおよび利用ログを用いて各キー候補を評価した結果が提示されるので、実際のデータを用いて移行による影響を評価し、適切な分散キーバリューストアのキーを作成することが可能となる。   According to the present invention, since the results of evaluating each key candidate using data before migration and the usage log are presented, the effect of migration is evaluated using actual data, and the key of the appropriate distributed key-value store It is possible to create

本実施形態によるデータベース移行システムのブロック図である。It is a block diagram of the database migration system by this embodiment. キー設計支援装置100のプログラムが参照あるいは入出力する情報を示す図である。It is a figure which shows the information which the program of the key design support apparatus 100 references or inputs / outputs. 本実施形態によるデータベース移行システムにおけるデータベース移行の全体動作を示すシーケンス図である。It is a sequence diagram which shows the whole operation | movement of database migration in the database migration system by this embodiment. 車両情報テーブルスキーマ定義204の一例を示す図である。It is a figure which shows an example of the vehicle information table schema definition 204. FIG. 車両情報テーブル203の一例を示す図である。It is a figure which shows an example of the vehicle information table 203. As shown in FIG. 利用ログ202の一例を示す図である。It is a figure which shows an example of the utilization log 202. As shown in FIG. KVS情報302の一例を示す図である。7 is a diagram illustrating an example of KVS information 302. FIG. 移行クライアント決定処理S103のフローチャートである。It is a flowchart of migration client determination processing S103. キー評価処理S107のフローチャートである。It is a flowchart of key evaluation process S107. キー候補集合作成処理のフローチャートである。It is a flowchart of a key candidate set creation process. シミュレーションテーブル作成処理のフローチャートである。It is a flowchart of simulation table preparation processing. シミュレーションテーブル作成処理の説明に用いるキー候補の例を示す表である。It is a table showing an example of a key candidate used for explanation of simulation table preparation processing. シミュレーションテーブル作成処理の説明に用いるRDBテーブルの例を示す表である。It is a table showing an example of RDB table used for explanation of simulation table creation processing. クエリシミュレーション処理のフローチャートである。It is a flowchart of a query simulation process. スコア算出処理のフローチャートである。It is a flowchart of a score calculation process. キー評価提示処理のフローチャートである。It is a flowchart of a key evaluation presentation process. キー評価提示処理による画面表示の例を示す図である。It is a figure which shows the example of the screen display by a key evaluation presentation process. キー評価提示処理による画面表示の例を示す図である。It is a figure which shows the example of the screen display by a key evaluation presentation process. キー評価提示処理による画面表示の例を示す図である。It is a figure which shows the example of the screen display by a key evaluation presentation process. キー評価提示処理による画面表示の例を示す図である。It is a figure which shows the example of the screen display by a key evaluation presentation process. データ移行処理のシーケンス図である。It is a sequence diagram of data migration processing. データ移行処理による画面表示の例を示す図である。It is a figure which shows the example of the screen display by data transfer processing. データ移行処理による画面表示の例を示す図である。It is a figure which shows the example of the screen display by data transfer processing. シーケンシャル度および分散度の計算例を示す表である。It is a table showing an example of calculation of the degree of sequentiality and the degree of dispersion.

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

図1は、本実施形態によるデータベース移行システムのブロック図である。図1には主にハードウェア構成が示されている。図2は、キー設計支援装置100のプログラムが参照あるいは入出力する情報を示す図である。   FIG. 1 is a block diagram of a database migration system according to the present embodiment. The hardware configuration is mainly shown in FIG. FIG. 2 is a diagram showing information that the program of the key design support device 100 refers to or inputs and outputs.

図1を参照すると、データベース移行システムは、キー設計支援装置100、関係データベース(RDB)200、分散キーバリューストア(KVS)300、およびクライアント401、402、403、404を有している。   Referring to FIG. 1, the database migration system includes a key design support apparatus 100, a relational database (RDB) 200, a distributed key value store (KVS) 300, and clients 401, 402, 403, and 404.

キー設計支援装置100はRDB200から分散KVS300への移行におけるキー設計を支援する装置である。キー設計支援装置100は出力装置110、演算装置120、入力装置130、通信装置140、および記憶部150を有している。   The key design support apparatus 100 is an apparatus for supporting key design in the transition from the RDB 200 to the distributed KVS 300. The key design support device 100 includes an output device 110, an arithmetic device 120, an input device 130, a communication device 140, and a storage unit 150.

記憶部150にはプログラム(PG)領域151とデータ領域152がある。PG領域151には、移行クライアント決定PG 1511、キー評価PG 1512、キー評価提示PG 1513、データ移行PG 1514、キー候補集合作成モジュール1515、KVSテーブル作成モジュール1516、クエリシミュレーションモジュール1517、およびスコア算出モジュール1518が格納されている。   The storage unit 150 has a program (PG) area 151 and a data area 152. In the PG area 151, a migration client determination PG 1511, a key evaluation PG 1512, a key evaluation presentation PG 1513, a data migration PG 1514, a key candidate set creation module 1515, a KVS table creation module 1516, a query simulation module 1517, and a score calculation module 1518 is stored.

データ領域152には、RDB接続情報1521、移行対策クライアント情報1522、RDB利用ログ1523、キー候補集合1524、クエリ集合1525、RDBテーブル1526、シミュレーションテーブル1527、キー評価結果1528、および移行用キー情報1529が格納されている。   In the data area 152, RDB connection information 1521, migration countermeasure client information 1522, RDB utilization log 1523, key candidate set 1524, query aggregation 1525, RDB table 1526, simulation table 1527, key evaluation result 1528, and migration key information 1529 Is stored.

移行クライアント決定PG 1511は、データベースをRDBから分散KVSへ移行するクライアントを決定する。図2に示すように、移行クライアント決定PG 1511は、RDB 200の利用ログ202を参照することができる。例えば、移行クライアント決定PG 1511は、利用ログ202からRDB 200を利用するクライアントを抽出し、クライアント一覧を出力装置110により設計者に提示する。移行クライアント決定PG 1511は、クライアント一覧を見た設計者が入力装置130から入力した情報に基づいて、データベースをRDBから分散KVSへ移行するクライアントを決定すればよい。   The migration client determination PG 1511 determines a client to migrate the database from RDB to distributed KVS. As shown in FIG. 2, the migration client determination PG 1511 can refer to the usage log 202 of the RDB 200. For example, the migration client determination PG 1511 extracts the client using the RDB 200 from the usage log 202, and presents the client list to the designer through the output device 110. The migration client determination PG 1511 may decide a client for migrating the database from the RDB to the distributed KVS based on the information input from the input device 130 by the designer who has viewed the client list.

キー評価PG 1512は、キー候補集合1524に含まれるキー候補のそれぞれについて評価を行い、スコアを付与する。スコアの算出にはスコア算出モジュール1518が利用される。評価方法については後述する。図2に示すように、キー評価PG 1512は、RDB 200の利用ログ202、車両情報テーブル203、車両情報テーブルスキーマ定義204、および分散KVS 300のKVS情報302を参照することができる。キー評価PG 1512は、参照した情報を利用して各キー候補のスコアを算出する。キー評価結果はキー評価結果1528に蓄積される。また、図2に示すように、キー評価の結果はキー評価提示PG 1516を介し、出力装置110から設計者に提示される。   The key evaluation PG 1512 evaluates each of the key candidates included in the key candidate set 1524 and gives a score. A score calculation module 1518 is used to calculate the score. The evaluation method will be described later. As shown in FIG. 2, the key evaluation PG 1512 can refer to the usage log 202 of the RDB 200, the vehicle information table 203, the vehicle information table schema definition 204, and the KVS information 302 of the distributed KVS 300. The key evaluation PG 1512 calculates the score of each key candidate using the referred information. The key evaluation result is accumulated in the key evaluation result 1528. Also, as shown in FIG. 2, the result of the key evaluation is presented to the designer from the output device 110 via the key evaluation presentation PG 1516.

キー評価提示PG 1513は、キー評価PG 1512が評価した結果を、例えば出力装置110を介して設計者に提示する。設計者はキー評価結果を見て、移行後の分散KVSに用いる移行用キーを決定し、移行用キー情報1529に記録する。図2に示すように、キー評価提示PG 1516は、設計者が入力装置130から入力したキー選択の情報を取得し、データ移行PG 1514に通知することができる。   The key evaluation presentation PG 1513 presents the result evaluated by the key evaluation PG 1512 to the designer via the output device 110, for example. The designer looks at the key evaluation result, determines the migration key to be used for the distributed KVS after migration, and records it in the migration key information 1529. As shown in FIG. 2, the key evaluation presentation PG 1516 can obtain information on key selection input by the designer from the input device 130 and notify the data migration PG 1514.

また、キー評価PG 1512は、評価の過程で各キー候補のシミュレーションテーブルを作成しているので、移行用キーが決まると移行用キーのシミュレーションテーブルをデータ移行PG 1514に通知する。   Further, since the key evaluation PG 1512 creates a simulation table of each key candidate in the evaluation process, when the migration key is determined, the simulation table of the migration key is notified to the data migration PG 1514.

データ移行PG 1514は、RDBから分散KVSへのデータの移行を実行する。データの移行は、具体的には、RDBテーブル1526に格納されているRDBのデータの所定の列の情報に基づいたキーと、データの値とを対応づけてKVSテーブル(不図示)に記録し、移行データを生成する。その際、データのキー(Key)とデータの値(Value)は、移行用キーのシミュレーションテーブルから取得することができる。データ移行PG 1514は生成した移行データを分散KVS 300に通知する。   Data migration PG 1514 performs migration of data from RDB to distributed KVS. Specifically, in data migration, a key based on information of a predetermined column of RDB data stored in RDB table 1526 is associated with a data value and recorded in a KVS table (not shown). , Generate migration data. At that time, the data key (Key) and the data value (Value) can be acquired from the migration key simulation table. The data migration PG 1514 notifies the distributed KVS 300 of the created migration data.

キー候補集合作成モジュール1515は、移行前のRDB 200の列の情報を基に、移行後の分散KVS 300のキーとなる候補を複数生成し、キー候補集合1524に格納する。   The key candidate set creation module 1515 generates a plurality of key candidates for the distributed KVS 300 after migration based on the information of the column of the RDB 200 before migration, and stores the plurality of candidates in the key candidate set 1524.

KVSテーブル作成モジュール1516は、移行後の分散KVS 300においてデータおよびキーを格納するKVSテーブルを作成する。   The KVS table creation module 1516 creates a KVS table for storing data and keys in the distributed KVS 300 after migration.

クエリシミュレーションモジュール1517は、RDB 200の利用ログから得られるクエリを用いて、各キー候補を用いた分散KVS 300のシミュレーションを実行する。   The query simulation module 1517 executes the simulation of the distributed KVS 300 using each key candidate, using the query obtained from the usage log of the RDB 200.

スコア算出モジュール1518は、各キー候補のスコアを算出する。スコアの算出方法は後述する。   The score calculation module 1518 calculates the score of each key candidate. The method of calculating the score will be described later.

RDB接続情報1521は、クライアントがRDBに接続するための情報である。例えばRDBに接続するためのURLである。   The RDB connection information 1521 is information for the client to connect to the RDB. For example, it is a URL for connecting to RDB.

移行対象クライアント情報1522は、データベースをRDB 200から分散KVS 300に移行するクライアントを示す情報である。   The migration target client information 1522 is information indicating a client that migrates the database from the RDB 200 to the distributed KVS 300.

RDB利用ログ1523は、移行前のRDB 200の利用の履歴を蓄積した情報である。RDB利用ログ1523には、RDB 200にアクセスするクエリと、RDB 200の検索結果とが含まれる。   The RDB usage log 1523 is information in which the usage history of the RDB 200 before migration is accumulated. The RDB usage log 1523 includes a query for accessing the RDB 200 and a search result of the RDB 200.

キー候補集合1524は、キー候補集合作成モジュール1515が作成した複数のキー候補を含む情報である。   The key candidate set 1524 is information including a plurality of key candidates created by the key candidate set creation module 1515.

クエリ集合1525は、クライアントがRDBを利用したときのクエリを蓄積した情報である。クエリがRDB利用ログ1523から抽出され、クエリ集合1525に格納される。   The query set 1525 is information obtained by accumulating queries when the client uses the RDB. A query is extracted from the RDB usage log 1523 and stored in the query set 1525.

シミュレーションテーブル1527は、クエリ集合1525に含まれるクエリに基づいて、キー候補による分散KVSあるいは移行用キーによる分散KVSをシミュレートするためのシミュレーションテーブルである。   The simulation table 1527 is a simulation table for simulating the distributed KVS by the key candidate or the distributed KVS by the migration key based on the query included in the query set 1525.

キー評価結果1528は、キー評価PG 1512がキー候補を評価した結果の情報である。   The key evaluation result 1528 is information on the result of the key evaluation PG 1512 evaluating the key candidate.

移行用キー情報1529は、RDB 200から分散KVS 300へ移行する際に利用するキーの情報である。例えば、設計者がキー候補の評価結果に基づいて移行用キーを選択する。選択された移行用キーの情報が移行用キー情報1512に格納される。   The migration key information 1529 is information of a key used when migrating from the RDB 200 to the distributed KVS 300. For example, the designer selects the migration key based on the evaluation result of the key candidate. Information of the selected migration key is stored in migration key information 1512.

RDB 200は、通信装置201、利用ログ202、車両情報テーブル203、車両情報テーブルスキーマ定義204、テーブル2 205、およびスキーマ定義2 206を有している。   The RDB 200 includes a communication device 201, a usage log 202, a vehicle information table 203, a vehicle information table schema definition 204, a table 2 205, and a schema definition 2 206.

通信装置201は、RDB 200が通信ネットワーク経由でキー設計支援装置100およびクライアント401、402と通信を行うための通信装置である。   The communication device 201 is a communication device for the RDB 200 to communicate with the key design support device 100 and the clients 401 and 402 via the communication network.

利用ログ202は、クライアント401、402によるRDB 200の利用で蓄積される履歴情報である。利用ログ202は、RDB 200で取得され、キー設計支援装置100に通知される。キー設計支援装置100では、RDB利用ログ1523としてデータ領域152に格納される。   The usage log 202 is history information accumulated by usage of the RDB 200 by the clients 401 and 402. The usage log 202 is acquired by the RDB 200 and notified to the key design support device 100. The key design support device 100 stores the RDB usage log 1523 in the data area 152.

RDB 200には、車両の現在位置および走行速度の情報をリアルタイムで管理する関係データベースが備えられている。車両情報テーブル203は、車両の情報を蓄積したデータベースのテーブルである。   The RDB 200 is provided with a relational database that manages information on the current position and traveling speed of the vehicle in real time. The vehicle information table 203 is a table of a database in which information of vehicles is accumulated.

車両情報テーブルスキーマ定義204は、車両情報テーブル203の構造を定義する情報である。   The vehicle information table schema definition 204 is information that defines the structure of the vehicle information table 203.

テーブル2 205は、他のデータベースのテーブルであり、スキーマ定義2 206は、他のデータベースの構造を定義する情報である。   Table 2 205 is a table of another database, and schema definition 2 206 is information defining the structure of the other database.

分散KVS 300は、通信装置301を有し、KVS情報302を格納している。データ移行PG 1514から通知された移行データは複数のノード303、304、305に分散配置される。KVS情報302は、分散KVS 300の構成および動作に関する設定情報である。ここでは一例として図1に示したように分散KVS 300のデータベースは3つのノード303、304、305に分散配置される。   The distributed KVS 300 has a communication device 301 and stores KVS information 302. The migration data notified from the data migration PG 1514 is distributed to a plurality of nodes 303, 304, 305. The KVS information 302 is setting information regarding the configuration and operation of the distributed KVS 300. Here, as shown in FIG. 1 as an example, the database of the distributed KVS 300 is distributed to three nodes 303, 304, and 305.

通信装置301は、分散KVS300が通信ネットワーク経由でキー設計支援装置100、RDB 200、およびクライアント403、404と通信するための通信装置である。   The communication device 301 is a communication device for the distributed KVS 300 to communicate with the key design support device 100, the RDB 200, and the clients 403 and 404 via the communication network.

KVS情報302は、分散KVSに関する設定情報である。設定情報には、ノード数、Regionサイズ、自動シャーディングの有無などの情報が含まれている。   The KVS information 302 is setting information on the distributed KVS. The setting information includes information such as the number of nodes, the region size, and the presence or absence of automatic sharding.

クライアント401、402はRDB 200のデータベースを利用するクライアントである。クライアント401ではアプリケーション1が動作しており、クライアント402ではアプリケーション2a、2bが動作している。   The clients 401 and 402 are clients that use the RDB 200 database. In the client 401, the application 1 is operating, and in the client 402, the applications 2a and 2b are operating.

クライアント403、404は分散KVS 300のデータベースを利用するクライアントである。   The clients 403 and 404 are clients using the distributed KVS 300 database.

本実施形態によるキー設計支援装置100の構成および動作の概略について説明する。   An outline of the configuration and operation of the key design support device 100 according to the present embodiment will be described.

キー設計支援装置100は、関係データベース(RDB 200)から移行する分散キーバリューストア(分散KVS 300)の作成を支援するデータベース移行支援装置であり、メモリ(記憶部150)とプロセッサ(演算装置120)とを有している。メモリは、キー評価プログラム(キー評価PG 1512)と、キー評価提示プログラム(キー評価提示PG 1513)とを有している。   The key design support device 100 is a database migration support device that supports creation of a distributed key-value store (distributed KVS 300) migrated from a relational database (RDB 200), and includes a memory (storage unit 150) and a processor (arithmetic unit 120). And. The memory has a key evaluation program (key evaluation PG 1512) and a key evaluation presentation program (key evaluation presentation PG 1513).

キー評価プログラムは、関係データベースに設定されている少なくとも1つの列に基づき分散キーバリューストアに用いるキーの候補となるキー候補を少なくとも1つ生成し、キー候補のそれぞれについて、関係データベースのデータおよび利用ログに基づいてキー候補のそれぞれを評価する。キー評価提示プログラムは、キー候補の評価結果を、画面表示などにより設計者に提示する。   The key evaluation program generates at least one key candidate to be a candidate for the key to be used for the distributed key-value store based on at least one column set in the relational database, and data and utilization of the relational database for each key candidate. Evaluate each of the key candidates based on the logs. The key evaluation presentation program presents the evaluation result of the key candidate to the designer by screen display or the like.

これによれば、移行前のデータおよび利用ログを用いて各キー候補を評価した結果が提示されるので、実際のデータを用いて移行による影響を評価するので、適切なキーバリューストアのキーを容易に作成することが可能となる。   According to this, since the result of evaluating each key candidate is presented using the data before migration and the usage log, the effect of the migration is evaluated using actual data, so the key of the appropriate key-value store It can be easily created.

また、キー評価プログラムは、関係データベースに設定されている少なくとも1つの列に基づき分散キーバリューストアに用いるキーの候補となるキー候補を少なくとも1つ生成し、キー候補のそれぞれについて、関係データベースの利用ログにおけるそのキー候補の基になった列の出現の度合いを示す適合度と、分散キーバリューストアの複数のノードに分散されたデータのアクセス性能とを算出し、適合度とアクセス性能とに基づいてキー候補のそれぞれを評価する。   In addition, the key evaluation program generates at least one key candidate to be a key candidate to be used for the distributed key-value store based on at least one column set in the relational database, and uses the relational database for each key candidate. Calculate the degree of appearance of the column that the key candidate is based on in the log and the access performance of the data distributed to multiple nodes of the distributed key value store, and based on the degree of conformance and the access performance Evaluate each of the key candidates.

これによれば、移行後に移行前と同様のデータを取得できる度合いである適合度と、移行後のデータへのアクセス性能とに基づくスコアが提示されるので、移行前と後の適合度とデータへのアクセス性能とを考慮した評価に基づいて適切なキーバリューストアを容易に作成することが可能となる。   According to this, since a score based on the degree of acquisition of data similar to that before migration and the access performance to data after migration is presented after migration, the degree of fitness before and after migration is data It becomes possible to easily create an appropriate key-value store based on the evaluation in consideration of the access performance to the access.

また、キー評価プログラムは、キー候補のそれぞれについて適合度とアクセス性能の積を含むスコアを算出し、キー評価提示プログラムは、キー候補のそれぞれのスコアを設計者に提示する。これによれば、1つのスコアにより適合度とアクセス性能を考慮した評価が可能なので、複数のキー候補を容易に比較することができる。   In addition, the key evaluation program calculates a score including the product of the matching degree and the access performance for each of the key candidates, and the key evaluation presentation program presents the designer with the score of each of the key candidates. According to this, it is possible to easily compare a plurality of key candidates because one score can be evaluated in consideration of the matching degree and the access performance.

また、上記アクセス性能は、利用ログに基づくシミュレーションの移行後のデータベースへのアクセスにおいて、ノードに対するスキャンの回数が少ないほど高い値を示すシーケンシャル度を含む。スキャン回数が少ないキー候補に高い評価がつくので、効率の良いアクセスが行われる可能性の高いキー候補の選択を支援することができる。   Further, the access performance includes the degree of sequential showing a higher value as the number of scans for the node is smaller in access to the database after migration of simulation based on usage log. Since key candidates with a small number of scans are highly evaluated, it is possible to support selection of key candidates that are likely to be accessed efficiently.

また、アクセス性能は、更に、利用ログに基づくシミュレーションの移行後のデータベースへのアクセスにおいて、スキャンがノードに均等に分散されているほど高い値を示す分散度を含む。スキャンが複数のノードに均等に分散されるキー候補に高いスコアがつくので、分散KVSへの効率の良いアクセスが行われる可能性が高いキー候補の選択を支援することができる。   In addition, the access performance further includes a degree of dispersion indicating a higher value as the scan is evenly distributed to the nodes in access to the database after migration of the simulation based on the usage log. The high score of the key candidates that the scan is evenly distributed to a plurality of nodes can support the selection of key candidates that are likely to be efficiently accessed to the distributed KVS.

また、キー評価プログラムは、スコアにおけるシーケンシャル度と分散度の重みをユーザ(設計者)の操作により変更可能である。これによれば、ユーザが適合度とアクセス性能の重みを変更できるので、どちらを重視してキー設計を行うかを適宜選択することができる。   Also, the key evaluation program can change the weight of the degree of sequentiality and the degree of dispersion in the score by the operation of the user (designer). According to this, since the user can change the relevance and the weight of the access performance, it is possible to appropriately select which one is more important for key design.

また、キー評価プログラムは、関係データベースに設定されている列のうち、利用ログから抽出されたクエリによる出現回数が高い方から所定個を選択し、それらの列またはそれらの列の組み合わせのうち、データをユニークに識別するものと主キーとを抽出し、キー候補とする。利用ログでの出現回数の多い列またはその組み合わせからユニークなキー候補を作成するので、移行前と同様にデータが取得できる可能性の高いキー候補を作成することができる。   In addition, the key evaluation program selects predetermined ones from among the columns set in the relational database from the ones with the highest frequency of appearance by the query extracted from the usage log, and among these columns or combinations of those columns, Extract the data uniquely identifying the data and the primary key as key candidates. Since unique key candidates are created from a column with a large number of appearances in the usage log or a combination thereof, it is possible to create key candidates with high possibility of acquiring data as in the case before migration.

また、キー評価プログラムは、適合度に基づいてキー候補を絞り込み、絞り込んだキー候補に対してシミュレーションを行い、アクセス性能を算出する。キー候補を絞り込んでからシミュレーションを行うので、シミュレーションの処理量を低減することができる。   In addition, the key evaluation program narrows down key candidates based on the degree of matching, performs simulation on the narrowed key candidates, and calculates access performance. Since the simulation is performed after narrowing down the key candidates, the processing amount of simulation can be reduced.

また、キー評価プログラムは、関連データベースから分散キーバリューストアに移行するクライアントをユーザに選択させ、選択されたクライアントの利用ログをキー候補の評価に用いる。クライアントを選択するユーザインタフェースにより、所望のクライアントを選択して関連データベースから分散キーバリューストアに移行させることができる。   Also, the key evaluation program allows the user to select a client to be migrated from the related database to the distributed key value store, and uses the usage log of the selected client for evaluation of the key candidate. The user interface for selecting a client allows the desired client to be selected and migrated from the relevant database to the distributed key-value store.

また、キー評価提示プログラムは、いずれか1つのキー候補の評価結果と、そのキー候補を移行用キーとして決定するためのボタンを画面表示する。データ移行プログラムは、ボタンが操作されると、キー候補を移行用キーとして、分散キーバリューストアを作成する。キー候補および評価結果を提示してユーザに移行用キーを決定させるので、所望の性能を得られるキー候補と移行用キーに決定するのを支援することができる。   Also, the key evaluation presentation program displays on the screen the evaluation result of any one key candidate and a button for determining the key candidate as a transition key. When the button is operated, the data migration program creates a distributed key-value store using the key candidate as a migration key. Since the key candidate and the evaluation result are presented to cause the user to determine the transition key, it is possible to assist in determining the key candidate and the transition key from which desired performance can be obtained.

以下、より詳細に説明する。   A more detailed description will be given below.

図3は、本実施形態によるデータベース移行システムにおけるデータベース移行の全体動作を示すシーケンス図である。   FIG. 3 is a sequence diagram showing the overall operation of database migration in the database migration system according to the present embodiment.

図3を参照し、まず、設計者がRDB接続情報を入力する(ステップS101)。続いて、移行クライアント決定PG 1511がRDB 200から利用ログのクライアント情報を取得する(ステップS102)。続いて、移行クライアント決定PG 1511が移行クライアント決定処理(ステップS103)を実行する。移行クライアント決定処理の詳細は後述する。   Referring to FIG. 3, first, a designer inputs RDB connection information (step S101). Subsequently, the migration client determination PG 1511 acquires client information of the usage log from the RDB 200 (step S102). Subsequently, the migration client determination PG 1511 executes migration client determination processing (step S103). Details of the migration client determination process will be described later.

移行クライアント決定処理において、移行クライアント決定PG 1511は、クライアント一覧を設計者に提示する(ステップS104)。設計者が移行クライアントの情報を入力すると(ステップS105)、移行クライアント決定PG 1511は、移行クライアントを決定し、移行クライアント情報をキー評価PG 1512に通知する(ステップS106)。   In the migration client determination process, the migration client determination PG 1511 presents the client list to the designer (step S104). When the designer inputs information of the migration client (step S105), the migration client determination PG 1511 determines the migration client and notifies migration client information to the key evaluation PG 1512 (step S106).

移行クライアント情報を受信したキー評価PG 1512は、キー評価処理(ステップS107)を実行する。キー評価処理の詳細は後述する。キー評価処理において、キー評価PG 1512は、RDB 200から利用ログ、スキーマ定義テーブルを取得し(ステップS108)、取得した情報を基にキー候補を生成し、それぞれのキー候補を評価し、評価結果をキー評価提示PG 1513に通知する(ステップS109)。   The key evaluation PG 1512 that has received the migration client information executes key evaluation processing (step S107). Details of the key evaluation process will be described later. In the key evaluation process, the key evaluation PG 1512 acquires the usage log and schema definition table from the RDB 200 (step S108), generates key candidates based on the acquired information, and evaluates each key candidate, and the evaluation result Is notified to the key evaluation presentation PG 1513 (step S109).

キー評価結果を受信したキー評価提示PG 1513は、キー評価提示処理(ステップS110)を実行する。キー評価提示処理の詳細は後述する。キー評価提示処理において、キー評価提示PG 1513は、キー評価結果を設計者に提示する(ステップS111)。評価結果を見た設計者が移行用キーを決定すると(ステップS112)、キー評価PG 1512は、移行キーを示すキー情報をデータ移行PG 1514に通知する(ステップS113)。   The key evaluation presentation PG 1513 that has received the key evaluation result executes key evaluation presentation processing (step S110). Details of the key evaluation presentation process will be described later. In the key evaluation presentation process, the key evaluation presentation PG 1513 presents the key evaluation result to the designer (step S111). When the designer who sees the evaluation result determines the migration key (step S112), the key evaluation PG 1512 notifies the data migration PG 1514 of key information indicating the migration key (step S113).

キー情報を受信したデータ移行PG 1514は、データ移行処理(ステップS114)を実行する。データ移行処理の詳細は後述する。データ移行処理において、データ移行PG 1514は、設計者から設定情報を取得し(ステップS115)、移行キーと設定情報を利用して分散KVS300にKVSテーブルを作成させ(ステップS115)、キー評価PG 1512から移行キーのシミュレーションテーブルを取得し(ステップS116)、分散KVS 300にデータ移行を実行させ(ステップS117)、データ移行が完了すると、設計者にデータ移行の完了を提示する(ステップS118)。   The data migration PG 1514 that has received the key information executes data migration processing (step S114). Details of the data migration process will be described later. In the data migration process, the data migration PG 1514 acquires setting information from the designer (step S115) and causes the distributed KVS 300 to create the KVS table using the migration key and the setting information (step S115), and the key evaluation PG 1512 The simulation table of the migration key is acquired from (step S116), the distributed KVS 300 is made to execute data migration (step S117), and when data migration is completed, the designer is presented with the completion of data migration (step S118).

以下、移行クライアント決定処理S103、キー評価処理S107、キー評価提示処理S110、およびデータ移行処理S114について詳細に説明する。   The migration client determination processing S103, the key evaluation processing S107, the key evaluation presentation processing S110, and the data migration processing S114 will be described in detail below.

図4Aは車両情報テーブルスキーマ定義204の一例を示す図である。図4Bは車両情報テーブル203の一例を示す図である。図4Cは利用ログ202の一例を示す図である。一例として、RDB 200には、図4Aに示す車両情報テーブルスキーマ定義204と、図4Bに示す車両情報テーブル203と、図4Cに示す利用ログ202が記憶されているものとする。   FIG. 4A is a diagram showing an example of the vehicle information table schema definition 204. As shown in FIG. FIG. 4B is a diagram showing an example of the vehicle information table 203. As shown in FIG. FIG. 4C shows an example of the usage log 202. As shown in FIG. As an example, it is assumed that the RDB 200 stores a vehicle information table schema definition 204 shown in FIG. 4A, a vehicle information table 203 shown in FIG. 4B, and a usage log 202 shown in FIG. 4C.

図5はKVS情報302の一例を示す図である。分散KVS 300には図5に示するKVS情報302が設定されているものとする。   FIG. 5 shows an example of the KVS information 302. As shown in FIG. It is assumed that KVS information 302 shown in FIG. 5 is set in the distributed KVS 300.

図6は、移行クライアント決定処理S103のフローチャートである。   FIG. 6 is a flowchart of the migration client determination processing S103.

移行クライアント決定処理S103において、移行クライアント決定PG 1511は、まず、設計者からのRDB接続情報を入力し、記憶部150に格納する(ステップS201)。   In the migration client determination processing S103, the migration client determination PG 1511 first receives RDB connection information from the designer and stores it in the storage unit 150 (step S201).

続いて、移行クライアント決定PG 1511は、RDB 200の利用ログ202からクライアント情報を取得する(ステップS202)。利用ログ202には、図4Cに例示するように、クライアントがRDB 200を利用したクエリの履歴が蓄積されている。クエリ毎に、クエリを要求したクライアント2021、クエリID 2022、クエリ2023、RDB 200の検索の結果2024、検索の結果としてRDB 200から抽出されたデータの個数(結果数)2025が対応づけて蓄積されている。移行クライアント決定PG 1511は、利用ログ202からクライアント2021に登場するクライアントの情報を取得し、クライアント情報の一覧を作成する(ステップS202)。次に、移行クライアント決定PG 1511は、クライアント情報の一覧を出力装置110の画面に表示する(ステップS203)。   Subsequently, the migration client determination PG 1511 acquires client information from the usage log 202 of the RDB 200 (step S202). In the usage log 202, as illustrated in FIG. 4C, a history of queries in which the client uses the RDB 200 is accumulated. For each query, the client 2021 that requested the query, the query ID 2022, the query 2023, the search result 2024 of the RDB 200, and the number (the number of results) 2025 of data extracted from the RDB 200 as the search result are stored in association ing. The migration client determination PG 1511 acquires information of clients appearing in the client 2021 from the usage log 202, and creates a list of client information (step S202). Next, the migration client determination PG 1511 displays a list of client information on the screen of the output device 110 (step S203).

図6には、クライアント情報の画面表示D203が示されている。画面表示D203を参照すると、クライアント名に対応づけて移行対象とするか否かを設定するためのチェックボックスが表示されている。   FIG. 6 shows a screen display D203 of client information. Referring to the screen display D203, a check box for setting whether or not to be a migration target in association with the client name is displayed.

次に、設計者がクリック操作を行うと、移行クライアント決定PG 1511は、クリック操作が行われたチェックボックスにチェックを表示する(ステップS204)。設計者がチェックボックスにチェックを入れたクライアントが移行対象となる。図6の例では、クライアント1とクライアント2が移行対象となる。   Next, when the designer performs a click operation, the migration client determination PG 1511 displays a check in the check box in which the click operation has been performed (step S204). Clients for which the designer has checked the check box are subject to migration. In the example of FIG. 6, the client 1 and the client 2 are migration targets.

続いて、移行クライアント決定PG 1511は、画面表示D203の実行ボタンがクリックされたことを検知すると(ステップS205)、クライアント情報の画面表示D203を出力装置110の画面から削除し(ステップS206)、移行対象のクライアント(移行クライアント)の情報を記憶部150に格納する(ステップS207)。   Subsequently, when detecting that the execution button of the screen display D203 has been clicked (step S205), the transition client determination PG 1511 deletes the screen display D203 of the client information from the screen of the output device 110 (step S206). Information on the target client (migration client) is stored in the storage unit 150 (step S207).

図7は、キー評価処理S107のフローチャートである。   FIG. 7 is a flowchart of the key evaluation process S107.

まず、キー評価PG 1512は、キー候補集合作成処理(ステップS301)を実行して複数のキー候補を生成する。キー候補集合作成処理S301の詳細は後述する。ステップS301の処理が終了すると、図7に示したデータ領域152には、利用ログ、RDBクエリ集合、キー候補集合が格納された状態となる。   First, the key evaluation PG 1512 executes a key candidate set creation process (step S301) to generate a plurality of key candidates. Details of the key candidate set creation process S301 will be described later. When the process of step S301 ends, the usage log, the RDB query set, and the key candidate set are stored in the data area 152 illustrated in FIG. 7.

次に、キー評価PG 1512はステップS302〜ステップS304の処理を全てのキー候補について繰り返す。まず、キー評価PG 1512は、シミュレーションテーブル作成処理(ステップS302)を実行してシミュレーションテーブル1527を作成する。シミュレーションテーブル作成処理の詳細は後述する。ステップS302の処理が終了すると、図7に示したデータ領域152には、RDBテーブル、シミュレーションテーブル、およびKVS情報が格納された状態となる。   Next, the key evaluation PG 1512 repeats the processing of step S302 to step S304 for all key candidates. First, the key evaluation PG 1512 executes a simulation table creation process (step S302) to create a simulation table 1527. Details of the simulation table creation process will be described later. When the process of step S302 ends, the RDB table, the simulation table, and the KVS information are stored in the data area 152 illustrated in FIG. 7.

次に、キー評価PG 1512は、クエリシミュレーション実施処理(ステップS303)を実行し、クエリシミュレーション結果を算出する。クエリシミュレーション結果はキー候補の評価に利用される。クエリシミュレーション実施処理の詳細は後述する。ステップS303の処理が終了すると、図7に示したデータ領域152には、シミュレーション結果が格納された状態となる。シミュレーション結果には、取得レコード数およびスキャン回数が含まれている。   Next, the key evaluation PG 1512 executes a query simulation execution process (step S303) to calculate a query simulation result. The query simulation results are used to evaluate key candidates. Details of the query simulation execution process will be described later. When the process of step S303 is completed, the simulation result is stored in the data area 152 shown in FIG. The simulation results include the number of acquired records and the number of scans.

次に、キー評価PG 1512は、スコア算出処理(ステップS304)を実行して各キー候補のスコアを算出する。スコア算出処理により各キー候補の評価結果であるスコアが得られる。各キー候補のスコアは移行後の分散KVSに用いるキーを決定するのに利用される。スコア算出処理の詳細は後述する。ステップS304の処理が終了すると、図7に示したデータ領域152には、キー評価結果が格納された状態となる。   Next, the key evaluation PG 1512 executes a score calculation process (step S304) to calculate the score of each key candidate. A score which is an evaluation result of each key candidate is obtained by the score calculation process. The score of each key candidate is used to determine the key to be used for the post-transition variance KVS. Details of the score calculation process will be described later. When the process of step S304 ends, the key evaluation result is stored in the data area 152 shown in FIG.

最後に、キー評価PG 1512は、キー評価結果を出力する(ステップS305)。図7には、キー評価結果の一例D305が示されている。キー評価結果には、KeyAとKeyBの評価結果が含まれている。例えば、KeyAは平均シーケンシャル度が1.5であり、平均分散度が38である。   Finally, the key evaluation PG 1512 outputs the key evaluation result (step S305). An example D305 of the key evaluation result is shown in FIG. The key evaluation results include the evaluation results of KeyA and KeyB. For example, KeyA has an average degree of sequentiality of 1.5 and an average degree of dispersion of 38.

図8は、キー候補集合作成処理のフローチャートである。   FIG. 8 is a flowchart of key candidate set creation processing.

まず、キー評価PG 1512は、移行の対象とされたクライアントである移行クライアントの情報を取得する(ステップS401)。次に、キー評価PG 1512は、RDB 200の移行クライアントによる利用についての利用ログ202の入力を受け、記憶部150に格納する(ステップS402)。次に、キー評価PG 1512は、記憶部150の利用ログ202からクエリを取得し、クエリ集合を作成し、記憶部150に格納する(ステップS403)。   First, the key evaluation PG 1512 acquires information on the migration client that is the client targeted for migration (step S401). Next, the key evaluation PG 1512 receives the input of the use log 202 about the use of the RDB 200 by the migration client, and stores it in the storage unit 150 (step S402). Next, the key evaluation PG 1512 acquires a query from the usage log 202 of the storage unit 150, creates a query set, and stores it in the storage unit 150 (step S403).

次に、キー評価PG 1512は、クエリ集合のクエリにおけるWHERE句に出現する、RDB 200の列(RDB列)それぞれの出現回数をカウントする(ステップS404)。図8には、各RDB列の出現回数を示す表D404が示されている。表D404には、RDB列のそれぞれについて、出現回数と、そのRDB列が主キーであるか否かを示すフラグとが記載されている。例えば、RDB列「Time」の出現回数が最も多く20回である。   Next, the key evaluation PG 1512 counts the number of appearances of each of the columns (RDB column) of the RDB 200 that appear in the WHERE clause in the query of the query set (step S404). FIG. 8 shows a table D404 indicating the number of occurrences of each RDB column. Table D404 describes, for each RDB column, the number of occurrences and a flag indicating whether the RDB column is a primary key. For example, the number of occurrences of the RDB string "Time" is the largest 20 times.

次に、キー評価PG 1512は、RDB列を出現回数の多い順に所定個選択する(ステップS405)。ここではRDB列を3個選択することにするが、3個という数に限定されることは無い。図8には、出願回数が多い3つのRDB列を示す表D405が示されている。表D405には、RDB列「Time」、RDB列「CarID」、RDB列「Speed」が示されている。   Next, the key evaluation PG 1512 selects a predetermined number of RDB columns in descending order of the number of appearances (step S405). Although three RDB columns are selected here, the number is not limited to three. FIG. 8 shows a table D405 showing three RDB columns for which the number of applications is high. In Table D405, an RDB column "Time", an RDB column "Car ID", and an RDB column "Speed" are shown.

次に、キー評価PG 1512は、クエリのFROM句に出現するテーブルに関連するスキーマ定義をRDB 200から抽出し、ステップS405で作成した表D405に、スキーマ定義の主キーをRDB列として追加する(ステップS406)。また、このとき、主キーにはWHERE句に出願していないことが考えられるが、ここでは便宜的に、主キーのWHERE句における出願回数として他のRDB列(上位3つのRDB列)の出願回数の平均値を設定することにする。ここで表D406が作成される。図8の例では、Timeの出願回数が20であり、CarIDの出願回数が10であり、Speedの出願回数が5であるため、(20+10+5)/3≒12が設定されている。ただし、他のRDB列の出現回数の平均値を採用するのは一例であり、これに限定されることはない。   Next, the key evaluation PG 1512 extracts the schema definition related to the table appearing in the FROM clause of the query from the RDB 200, and adds the primary key of the schema definition as an RDB column to the table D 405 created in step S 405 Step S406). Also, at this time, it is conceivable that the primary key is not filed in the WHERE clause, but here, for convenience, applications of other RDB columns (upper three RDB columns) as the number of applications in the WHERE clause of the primary key I will set the average value of the number of times. Here, Table D406 is created. In the example of FIG. 8, since the number of applications for Time is 20, the number of applications for CarID is 10, and the number of applications for Speed is 5, (20 + 10 + 5) / 3 ≒ 12 is set. However, adopting the average value of the number of occurrences of other RDB columns is an example, and the present invention is not limited to this.

次に、キー評価PG 1512は、データをユニークに特定する、RDB列またはRDB列の組み合わせを登録するユニークRDB列リストと、データをユニークに特定しない、RDB列またはRDB列の組み合わせを登録する非ユニークRDB列リストとを作成し、表D406の中の主キーをユニークRDB列リストに追加する(ステップS407、ステップS415)。   Next, the key evaluation PG 1512 registers a unique RDB column or a list of RDB columns that uniquely identifies data, and a combination of an RDB or RDB column that does not uniquely identify data. A unique RDB column list is created, and the primary key in Table D406 is added to the unique RDB column list (steps S407 and S415).

更に、キー評価PG 1512は、RDB列からデータをユニークに特定するRDB列の組み合わせを抽出する一連の処理(ステップS408〜S415)を行う。   Furthermore, the key evaluation PG 1512 performs a series of processes (steps S408 to S415) of extracting a combination of RDB sequences that uniquely identifies data from the RDB sequence.

まず、キー評価PG 1512は、表D406の主キー以外のRDB列を非ユニークRDB列リストに追加する(ステップS408)。続いて、キー評価PG 1512は、非ユニークRDB列リスト内のRDB列を対象として以下の処理(ステップS410〜S412)を繰り返す。   First, the key evaluation PG 1512 adds an RDB column other than the primary key of the table D 406 to the non-unique RDB column list (step S 408). Subsequently, the key evaluation PG 1512 repeats the following processing (steps S410 to S412) on the RDB sequence in the non-unique RDB sequence list.

まず、キー評価PG 1512は、非ユニークRDB列リストから対象となっているRDB列を削除する(ステップS410)。次に、キー評価PG 1512は、WHERE句でRDB列を一意に指定したときに取得されるレコードの個数が1であるか否か判定する(ステップS411)。取得できるレコードの個数が1であれば、キー評価PG 1512は、対象となっているRDB列をユニークRDB列リストに追加する(ステップS415)。取得できるレコードの個数が1でなければ、キー評価PG 1512は、次に、非ユニークRDB列リストに対象となっているRDB列を追加する(ステップS412)。   First, the key evaluation PG 1512 deletes the target RDB column from the non-unique RDB column list (step S410). Next, the key evaluation PG 1512 determines whether the number of records acquired when the RDB sequence is uniquely designated in the WHERE clause is 1 (step S411). If the number of records that can be acquired is 1, the key evaluation PG 1512 adds the target RDB column to the unique RDB column list (step S 415). If the number of records that can be acquired is not 1, the key evaluation PG 1512 next adds the target RDB column to the non-unique RDB column list (step S412).

ステップS410〜S412の処理が非ユニークRDB列リスト内のRDB列について完了すると、キー評価PG 1512は、非ユニークRDB列のRDB列を変数C個分組み合わせて、非ユニークRDB列リストとし(ステップS414)、ステップS409に戻る。ステップS409で変数C=C+1の演算を行なってから、ステップS410〜S413の処理を繰り返す。   When the processing of steps S410 to S412 is completed for the RDB columns in the non-unique RDB column list, the key evaluation PG 1512 combines the RDB columns of the non-unique RDB columns by a variable C to create a non-unique RDB column list (step S414). ), Returns to step S409. After the calculation of the variable C = C + 1 is performed in step S409, the processes of steps S410 to S413 are repeated.

ステップS409〜S414までの処理をCの最大値まで実行したら、キー評価PG 1512は、次に、ユニークRDB列リストのRDB列を組み合わせてKVSのキー候補を作成する(ステップS416)。図8には、キー候補D416として、KeyA、B、C、D・・Gという7つのキー候補が作成された例が示されている。例えば、KeyAは、RDB列「CarID」とRDB列「Time」を組み合わせたキー候補である。   When the processes in steps S409 to S414 are executed up to the maximum value of C, the key evaluation PG 1512 next combines the RDB columns of the unique RDB column list to create KVS key candidates (step S416). FIG. 8 shows an example in which seven key candidates such as KeyA, B, C, D ··· G are created as the key candidate D416. For example, KeyA is a key candidate obtained by combining the RDB sequence "CarID" and the RDB sequence "Time".

次に、キー評価PG 1512は、作成した各キー候補について、そのキー候補に含まれているRDB列の出現回数の平均値を算出し、その値を当該キー候補の適合度として保持する(ステップS417)。図8には、適合度算出結果D417が示されている。例えば、KeyAおよびKeyBの適合度は10と20の平均値をとって15である。なお、ここでは、RDB列の出現回数の平均値をキー候補の適合度としたが、これに限定されることは無い。他の例として、出現回数の平均値の代わりに出現回数の合計値を用いてもよい。   Next, the key evaluation PG 1512 calculates, for each of the created key candidates, an average value of the appearance frequency of the RDB sequence included in the key candidate, and holds the value as the matching degree of the key candidate (Step S417). FIG. 8 shows the matching degree calculation result D417. For example, the matching degree of Key A and Key B is 15, taking an average value of 10 and 20. Here, although the average value of the number of occurrences of the RDB sequence is used as the matching degree of the key candidate, the present invention is not limited to this. As another example, a total value of the number of occurrences may be used instead of the average value of the number of occurrences.

次に、キー評価PG 1512は、キー候補を適合度が高い順に並べて先頭の所定個(ここでは一例として2個)を取り出し、それらのキー候補をキー候補集合1524として記憶部150に格納する(ステップS418)。図8には、キー候補集合1524の例が示されている。図8の例では、キー候補集合1524には、KeyAとKeyBという2つのキー候補が含まれている。   Next, the key evaluation PG 1512 arranges the key candidates in descending order of the matching degree, extracts a predetermined number (two as an example here) of the head, and stores the key candidates in the storage unit 150 as a key candidate set 1524 ( Step S418). An example of the key candidate set 1524 is shown in FIG. In the example of FIG. 8, the key candidate set 1524 includes two key candidates, KeyA and KeyB.

図9Aは、シミュレーションテーブル作成処理のフローチャートである。図9Bは、シミュレーションテーブル作成処理の説明に用いるキー候補の例を示す表である。図9Cは、シミュレーションテーブル作成処理の説明に用いるRDBテーブルの例を示す表である。   FIG. 9A is a flowchart of simulation table creation processing. FIG. 9B is a table showing an example of key candidates used to explain the simulation table creation process. FIG. 9C is a table showing an example of an RDB table used to explain the simulation table creation process.

図9Aを参照すると、まず、キー評価PG 1512は、RDBテーブルを入力し、記憶部150に格納する(ステップS501)。続いて、キー評価PG 1512は、記憶部150から、シミュレーションの対象となるキー候補を取得する(ステップS502)。ここでは一例として図9Bに示したKeyAの情報がキー候補D502として取得される。   Referring to FIG. 9A, first, the key evaluation PG 1512 inputs the RDB table and stores it in the storage unit 150 (step S501). Subsequently, the key evaluation PG 1512 acquires key candidates to be simulated from the storage unit 150 (step S502). Here, the information of KeyA shown in FIG. 9B as an example is acquired as the key candidate D502.

次に、キー評価PG 1512は、KVSキーを示すKey、KVSの値を示すValue、データが格納される分割された領域を示すRegion、およびデータが格納されるノードを示すNodeを含む分割前シミュレーションテーブルD506を作成し、分割前シミュレーションテーブルD506に、キー候補に含まれているRDB列をKVSのKeyとし、他のRDB列の列名および値をValueとして、登録する(ステップS503)。図9Cに示したRDBテーブルの上段の行には、PKが1であり、CarIDが1であり、それ以外に、Time列、Latitude列、Longitude列、Speed列があるデータが登録されている。そのデータから、Latitude列、Longitude列、Speed列をそれぞれValueとする3つのデータが作成され、分割前シミュレーションテーブルD506に登録される。   Next, the key evaluation PG 1512 is a pre-division simulation including a Key indicating a KVS key, a Value indicating a value of KVS, a Region indicating a divided region in which data is stored, and a Node indicating a node in which data is stored. A table D506 is created, and the RDB column included in the key candidate is registered as a Key of KVS, and the column names and values of other RDB columns are registered as Value in the pre-division simulation table D506 (step S503). In the upper row of the RDB table shown in FIG. 9C, PK is 1 and CarID is 1, and other data including a Time column, a Latitude column, a Longitude column, and a Speed column are registered. From the data, three pieces of data, each having the Latitude column, the Longitude column, and the Speed column as Value, are created and registered in the pre-division simulation table D506.

次に、キー評価PG 1512は、分散KVS 300に用いるKVS情報302を入力し、記憶部150に格納する(ステップS504)。KVS情報302には、図5に示したように、分散KVS 300のノード数やRegionサイズなどが含まれている。   Next, the key evaluation PG 1512 inputs the KVS information 302 used for the distributed KVS 300, and stores it in the storage unit 150 (step S504). As shown in FIG. 5, the KVS information 302 includes the number of nodes of the distributed KVS 300, the region size, and the like.

次に、キー評価PG 1512は、KVS情報302に含まれているRegionサイズに基づいて、各データが格納される領域を示すRegion番号を決定し、分割前シミュレーションテーブルD506に追加登録する(ステップS505)。例えば、各データをシーケンシャルに領域に割り当て、その領域のRegion番号を登録すればよい。なお、ここでは各データにシーケンシャルにRegion番号を付与する例を示したが、これに限定されることは無い。他の例として、各データにランダムにRegion番号を付与することにしても良い。   Next, the key evaluation PG 1512 determines, based on the region size included in the KVS information 302, the region number indicating the region in which each data is stored, and additionally registers it in the pre-division simulation table D 506 (step S505). ). For example, each data may be sequentially assigned to a region, and the region number of that region may be registered. Although an example in which Region numbers are sequentially assigned to each data is shown here, the present invention is not limited to this. As another example, Region numbers may be randomly assigned to each data.

次に、キー評価PG 1512は、分散KVS 300における各領域を格納するノードを決定し、分割前シミュレーションテーブルD506におけるNode列にNode番号を追加登録する(ステップS506)。ここでは一例として各領域を各ノードにシーケンシャルに割り当てる。   Next, the key evaluation PG 1512 determines a node storing each area in the distributed KVS 300, and additionally registers a Node number in the Node column in the pre-division simulation table D506 (step S506). Here, as an example, each area is sequentially assigned to each node.

次に、キー評価PG 1512は、分割前シミュレーションテーブルD506をRegion番号ごとに分割し、シミュレーションテーブルD508を作成する(ステップS507)。続いて、キー評価PG 1512は、作成したシミュレーションテーブルD508を記憶部150に格納する(ステップS508)。   Next, the key evaluation PG 1512 divides the pre-division simulation table D 506 for each Region number, and creates a simulation table D 508 (step S 507). Subsequently, the key evaluation PG 1512 stores the created simulation table D508 in the storage unit 150 (step S508).

図10は、クエリシミュレーション処理のフローチャートである。   FIG. 10 is a flowchart of query simulation processing.

まず、キー評価PG 1512は、記憶部150からシミュレーションに利用するシミュレーションテーブルを取得する(ステップS601)。続いて、キー評価PG 1512は、ステップS602〜S605の処理を、利用ログにある全てのクエリについて繰り返し実行する。   First, the key evaluation PG 1512 acquires a simulation table to be used for simulation from the storage unit 150 (step S601). Subsequently, the key evaluation PG 1512 repeatedly executes the processing of steps S602 to S605 for all the queries in the usage log.

まず、キー評価PG 1512は、記憶部150のRDB利用ログ1523におけるクエリ実行の結果から、クエリによって取得されるデータを特定し、シミュレーションテーブル1527に、データがクエリによって取得されるか否かの情報を登録する(ステップS603)。図10には、シミュレーションテーブル1527の一例が示されている。図10に示されたシミュレーションテーブルD603における、「クエリによって取得されるか」という列に、取得される場合にはY(Yes)、取得されない場合にはN(No)が登録される。   First, the key evaluation PG 1512 identifies the data acquired by the query from the result of the query execution in the RDB usage log 1523 of the storage unit 150, and information of whether the data is acquired by the query in the simulation table 1527 Are registered (step S603). An example of the simulation table 1527 is shown in FIG. Y (Yes) in the case of acquisition, and N (No) in the case of acquisition are registered in the column “Is it acquired by a query?” In the simulation table D603 illustrated in FIG.

次に、キー評価PG 1512は、領域毎のシミュレーションテーブル別に「クエリによって取得されるか」の列の末尾にNを付加したものについて、先頭から順番に見ていき、登録されている情報がYからNに変わった回数をカウントし、その回数をスキャン回数とする(ステップS604)。図10には、領域毎のスキャン回数を示す表D604が示されている。例えば、Node1に格納されたRegion1という領域は、取得レコード数が2であり、スキャン回数が1である。そして、キー評価PG 1512は、スキャン回数をノード毎に合計する(ステップS605)。   Next, in the key evaluation PG 1512, for each simulation table for each area, N is added to the end of the column of “Is it acquired by query?”, And the information registered is The number of changes from N to N is counted, and the number is set as the number of scans (step S604). FIG. 10 shows a table D 604 indicating the number of scans for each area. For example, in an area called Region 1 stored in Node 1, the number of acquired records is 2 and the number of scans is 1. Then, the key evaluation PG 1512 sums up the number of scans for each node (step S605).

全てのクエリについてステップS602〜S606の一連の処理が完了すると、次に、キー評価PG 1512は、シミュレーション結果D605の表に、クエリ番号、レコード数、およびスキャン回数の情報を登録する(ステップS607)図10には、クエリシミュレーション結果を示す表D605が示されている。例えば、クエリQ1.1においては、取得レコード数が4つであり、スキャン回数が合計で3である。   When the series of processes in steps S602 to S606 are completed for all queries, the key evaluation PG 1512 next registers information on the query number, the number of records, and the number of scans in the table of the simulation result D605 (step S607) FIG. 10 shows a table D605 showing query simulation results. For example, in the query Q1.1, the number of acquired records is four and the number of scans is three in total.

図11は、スコア算出処理のフローチャートである。   FIG. 11 is a flowchart of the score calculation process.

まず、キー評価PG 1512は、記憶部150から、クエリシミュレーション結果を取得する(ステップS701)。   First, the key evaluation PG 1512 acquires a query simulation result from the storage unit 150 (step S701).

次に、キー評価PG 1512は、クエリシミュレーション結果にあるクエリ毎にシーケンシャル度を算出する(ステップS702)。シーケンシャル度は次の式により計算することができる   Next, the key evaluation PG 1512 calculates the sequential degree for each query in the query simulation result (step S702). The degree of sequentiality can be calculated by the following equation

Figure 2018047250
各領域のスキャン回数をrとする。スキャン回数が0の場合には除外される。理論的最初スキャン数をSとする。Sは次の式により算出することができる
Figure 2018047250
Number of scans of each region is r n. If the number of scans is 0, it is excluded. Let S be the theoretical first scan number. S can be calculated by the following equation

Figure 2018047250
続いて、キー評価PG 1512は、クエリ毎に分散度を算出する(ステップS703)。分散度は次の式により算出することができる
Figure 2018047250
Subsequently, the key evaluation PG 1512 calculates the degree of dispersion for each query (step S703). The degree of dispersion can be calculated by the following equation

Figure 2018047250
σは標準偏差を表わす。ノード数をNとし、各ノードのスキャン回数をSnとし、Snの平均値をμとしたとき、次の式が成り立つ
Figure 2018047250
σ represents the standard deviation. Assuming that the number of nodes is N, the number of scans of each node is Sn, and the average value of Sn is μ, the following equation holds

Figure 2018047250
図11には、シーケンシャル度および分散度の情報が付加されたクエリシミュレーション結果D703が示されている。
Figure 2018047250
FIG. 11 shows a query simulation result D703 to which information of the degree of sequentiality and the degree of dispersion is added.

更に、キー評価PG 1512は、クエリ毎のシーケンシャル度の平均値を平均シーケンシャル度とし、クエリ毎の分散度の平均値を平均分散度とし、それらをキー評価結果1528として記憶部150に格納する(ステップS704)。図11には、一例としてのキー評価結果D704が示されている。図11の例では、キー候補KeyAは、適合度が15であり、平均シーケンシャル度が30であり、平均分散度が38である。   Furthermore, the key evaluation PG 1512 stores the average value of the degree of sequentiality for each query as the average degree of sequentiality, the average value of the degree of distribution for each query as the average dispersion degree, and stores them as the key evaluation result 1528 in the storage unit 150 Step S704). FIG. 11 shows a key evaluation result D704 as an example. In the example of FIG. 11, the key candidate KeyA has a matching degree of 15, an average sequential degree of 30, and an average dispersion degree of 38.

図12Aは、キー評価提示処理のフローチャートである。図12B、図12C、図12D、図12Eは、キー評価提示処理による画面表示の例を示す図である。   FIG. 12A is a flowchart of key evaluation presentation processing. FIG. 12B, FIG. 12C, FIG. 12D, and FIG. 12E are figures which show the example of the screen display by a key evaluation presentation process.

まず、キー評価提示PG 1513は、キー評価結果1528を記憶部150から取得する(ステップS801)。次に、キー評価提示PG 1513は、各キー候補について、キー評価結果1528に含まれる適合度、平均シーケンシャル度、および平均分散度の積を算出する(ステップS802)。続いて、キー評価提示PG 1513は、各キー候補について、キー評価結果、適合度、平均シーケンシャル度、平均分散度、スコア、および分散度重み入力部を、画面1として出力装置110に画面表示する(ステップS803)。図12Bには画面1が示されている。分散度重み入力部のスライドバーを移動させることにより、スコア算出におけるシーケンシャル度と分散度の重み付けの比率を変更することができる。   First, the key evaluation presentation PG 1513 acquires a key evaluation result 1528 from the storage unit 150 (step S801). Next, the key evaluation presentation PG 1513 calculates, for each key candidate, the product of the degree of fitness, the average sequentiality, and the average degree of dispersion included in the key evaluation result 1528 (step S802). Subsequently, the key evaluation presentation PG 1513 displays the key evaluation result, the degree of matching, the average sequential degree, the average degree of dispersion, the score, and the degree of dispersion weight input unit on the output device 110 as screen 1 for each key candidate. (Step S803). Screen 1 is shown in FIG. 12B. By moving the slide bar of the dispersion degree weight input unit, it is possible to change the ratio of the degree of order in the score calculation and the weighting of the degree of dispersion.

次に、キー評価提示PG 1513は、ユーザ(設計者)による画面へのクリックを検出すると(ステップS804)、そのユーザクリックが重み入力に関するものであれば、変更された重みでスコアを再計算する(ステップS805)。一方、ユーザクリックがキー候補の選択に関するものであれば、キー評価提示PG 1513は、まず、キー評価結果を示す画面1の表示を終了し(ステップS806)、選択されたキーに関するキー設計詳細画面(画面2)を表示する(ステップS807)。   Next, when the key evaluation presentation PG 1513 detects a click on the screen by the user (designer) (step S804), if the user click relates to a weight input, it recalculates the score with the changed weight. (Step S805). On the other hand, if the user click relates to selection of a key candidate, the key evaluation presentation PG 1513 first ends the display of the screen 1 showing the key evaluation result (step S806), and the key design detail screen related to the selected key (Screen 2) is displayed (step S807).

図12Cには画面2が示されている。図12Cの画面2の例では、KeyAに含まれているRDB列がCarIDとTimeである。スコアが17100である。適合度が15である。平均シーケンシャル度が30である。平均分散度が38である。更に、選択されているキーを移行用として確定させる決定ボタンと、前の画面に戻るための戻るボタンが表示されている。   Screen 2 is shown in FIG. 12C. In the example of screen 2 in FIG. 12C, the RDB columns included in KeyA are CarID and Time. The score is 17100. The matching degree is 15. The average sequential degree is 30. The average degree of dispersion is 38. Furthermore, a decision button for confirming the selected key for transition and a back button for returning to the previous screen are displayed.

次に、キー評価提示PG 1513は、ユーザクリックを検出すると(ステップS808)、そのユーザクリックが戻るボタンへのクリックであれば、キー設計詳細画面(画面2)の表示を終了し(ステップS809)、ステップS803に戻る。   Next, when the key evaluation presentation PG 1513 detects a user click (step S808), the display of the key design detail screen (screen 2) is ended (step S809) if the user click is a click to a button to return. , And return to step S803.

また、ステップS808で検出したユーザクリックが平均シーケンシャル度に関するものであれば、キー評価提示PG 1513は、シーケンシャル度詳細画面(画面3)を表示する(ステップS810)。図12Dには画面3が示されている。図12Dに示した画面3の例では、KeyAのクエリ毎のシーケンシャル度がグラフで表示され、更に戻るボタンが表示されている。キー評価提示PG 1513は、ここでユーザクリックを検出すると(ステップS811)、シーケンシャル度詳細画面(画面3)の表示を終了し(ステップS812)、ステップS807に戻る。   If the user click detected in step S808 relates to the average sequential degree, the key evaluation presentation PG 1513 displays the sequential degree detail screen (screen 3) (step S810). Screen 3 is shown in FIG. 12D. In the example of screen 3 shown in FIG. 12D, the sequential degree for each query of KeyA is displayed as a graph, and a back button is displayed. Here, when the key evaluation presentation PG 1513 detects a user click (step S811), the display of the sequential degree detail screen (screen 3) is ended (step S812), and the process returns to step S807.

また、ステップS808において検出したユーザクリックが平均分散度を選択するクリックであれば、キー評価提示PG 1513は、分散度詳細画面(画面4)を表示する(ステップS813)。図12Eには画面4が示されている。図12Eに示した画面4の例では、KeyAのクエリ毎の分散度がグラフで表示され、更に戻るボタンが表示されている。キー評価提示PG 1513は、ここでユーザクリックを検出すると(ステップS814)、分散度詳細画面(画面4)の表示を終了し(ステップS815)、ステップS807に戻る。   If the user click detected in step S808 is a click for selecting the average degree of dispersion, the key evaluation presentation PG 1513 displays the degree of dispersion detail screen (screen 4) (step S813). Screen 4 is shown in FIG. 12E. In the example of screen 4 shown in FIG. 12E, the degree of dispersion for each query of KeyA is displayed as a graph, and a back button is displayed. Here, when the key evaluation presentation PG 1513 detects a user click (step S814), the display of the dispersion degree detail screen (screen 4) is ended (step S815), and the process returns to step S807.

また、ステップS808において検出したユーザクリックが決定ボタンに対するものであれば、キー評価提示PG 1513は、キー設計詳細画面(画面2)の表示を終了し(ステップS816)、選択され、キー設計詳細画面に表示されていたキー(ここではKeyA)を移行用キーとし、移行用キー情報を記憶部150に格納し(ステップS817)、処理を終了する。   If the user click detected in step S808 is for the determination button, the key evaluation presentation PG 1513 ends the display of the key design detail screen (screen 2) (step S816) and is selected, and the key design detail screen is selected. The key (here, KeyA) displayed on the screen is used as a shift key, the shift key information is stored in the storage unit 150 (step S817), and the process is ended.

図13Aは、データ移行処理のシーケンス図である。図13B、図13Cは、データ移行処理による画面表示の例を示す図である。   FIG. 13A is a sequence diagram of data migration processing. 13B and 13C are diagrams showing examples of screen display by data migration processing.

データ移行PG 1514は、まず、記憶部150から、RDB 200から得た車両情報テーブルスキーマ定義204、分散KVS 300から得たKVS情報302、移行用キー情報1529、移行用キーのシミュレーションテーブル1527を取得する(ステップS901)。データ移行PG 1514は、KVSにおける列ファミリ(Column Family)の名称である列ファミリ名を設定するためにデータ移行設定画面を表示する(ステップS902)。図13Bには、データ移行設定画面(画面5a)が示されている。画面5には、RDBの列名とKVSの列ファミリ名とが対応表に示されており、更に、メッセージ表示部と実行ボタンが示されている。次に、データ移行PG 1514は、ユーザ操作により列ファミリ名を入力する(ステップS903)。そして、実行ボタンへのユーザクリックを検出すると、データ移行PG 1514は、メッセージ表示部にメッセージを表示していればその表示を削除する(ステップS905)。   The data migration PG 1514 first acquires the vehicle information table schema definition 204 obtained from the RDB 200, the KVS information 302 obtained from the distributed KVS 300, the migration key information 1529, and the migration key simulation table 1527 from the storage unit 150. (Step S901). The data migration PG 1514 displays a data migration setting screen in order to set a column family name, which is the name of a column family in KVS (step S902). A data transfer setting screen (screen 5a) is shown in FIG. 13B. On the screen 5, the column names of RDB and the column family names of KVS are shown in the correspondence table, and further, a message display section and an execution button are shown. Next, the data migration PG 1514 inputs a column family name by user operation (step S903). When the user click to the execution button is detected, the data transfer PG 1514 deletes the display if the message is displayed on the message display unit (step S 905).

次に、データ移行PG 1514は、すべての列ファミリ名が入力されているか否か判定する(ステップS906)。すべての列ファミリ名が入力されていなければ、データ移行PG 1514は、メッセージ表示部に「列ファミリを入力してください」というメッセージを表示し(ステップS907)、ステップS903に戻る。図13Cには、メッセージが表示されたデータ移行設定画面(画面5b)が示されている。画面5bには、RDB列「Longitude」に対応する列ファミリ名が設定されておらず、「列ファミリを入力してください」というメッセージが表示されている。   Next, the data migration PG 1514 determines whether all column family names have been input (step S906). If all column family names have not been input, the data migration PG 1514 displays a message “Please enter column family” on the message display unit (step S 907), and returns to step S 903. FIG. 13C shows a data migration setting screen (screen 5b) on which a message is displayed. On the screen 5b, the column family name corresponding to the RDB column "Longitude" is not set, and a message "Please enter a column family" is displayed.

ステップS906においてすべての列ファミリ名が入力されていれば、データ移行PG 1514は、移行先の分散KVS 300にKVSテーブルのテーブル定義(中身が空の状態のテーブル)を作成する(ステップS908)。KVSテーブルには、KeyとValueとを対応づけて列ファミリに対して格納可能である。   If all column family names have been input in step S906, the data migration PG 1514 creates a table definition (table with empty contents) of the KVS table in the distribution KVS 300 of the migration destination (step S908). The KVS table can store Key and Value in association with each other for a column family.

次に、データ移行PG 1514は、移行キーのシミュレーションテーブル1527のKeyとValueとを、KVSテーブルに登録していくことにより分散KVS 300に移行する(ステップS909)。このとき、図9Aに例示した分割後のシミュレーションテーブルが移行先の分散KVS 300の各ノード303、304、305のKVSテーブルに格納される。   Next, the data transfer PG 1514 transfers to the distributed KVS 300 by registering the Key and Value of the transfer key simulation table 1527 in the KVS table (step S 909). At this time, the divided simulation table illustrated in FIG. 9A is stored in the KVS table of each of the nodes 303, 304, and 305 of the distributed KVS 300 of the transfer destination.

図14は、シーケンシャル度および分散度の計算例を示す表である。ここではノード数が4個であり、各ノードにそれぞれRegionが2個ずつ格納される。Node1にはRegion R1、R5が格納される。Node2にはRegion R2、R6が格納される。Node3にはRegion R3、R7が格納される。Node4にはRegion R4、R8が格納される。論理的最小スキャン数Sは3である。   FIG. 14 is a table showing an example of calculation of the degree of sequentiality and the degree of dispersion. Here, the number of nodes is four, and two regions are stored in each node. Region R1 and R5 are stored in Node1. Region R2 and R6 are stored in Node2. Region R3 and R7 are stored in Node3. Region R4 and R8 are stored in Node4. The logical minimum scan number S is three.

例1はシーケンシャル度が100であり、分散度が0.83である。例2はシーケンシャル度が50であり、分散度が1.30である。例3はシーケンシャル度が37.5であり、分散度が100である。例4はシーケンシャル度が2.3であり、分散度が33.3である。   Example 1 has a degree of sequentiality of 100 and a degree of dispersion of 0.83. Example 2 has a degree of sequentiality of 50 and a degree of dispersion of 1.30. Example 3 has a degree of sequentiality of 37.5 and a degree of dispersion of 100. Example 4 has a degree of sequentiality of 2.3 and a degree of dispersion of 33.3.

シーケンシャル度は例1が最大である。例1ではスキャン回数が論理的最小スキャ数と一致している。分散度は例3が最大である。例3ではスキャンが全てのノードにわたり同じ回数(2回)ずつ発生している。   Example 1 is the largest degree of sequentiality. In Example 1, the number of scans matches the logical minimum number of scans. The degree of dispersion is largest in Example 3. In Example 3, the scan occurs the same number of times (twice) across all the nodes.

上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。   The embodiments of the present invention described above are exemplifications for explanation of the present invention, and are not intended to limit the scope of the present invention only to those embodiments. Those skilled in the art can practice the present invention in various other aspects without departing from the scope of the present invention.

100…キー設計支援装置、110…出力装置、120…演算装置、130…入力装置、140…通信装置、150…記憶部、151…PG領域、1512…移行用キー情報、1513…キー評価提示PG、1514…データ移行PG、1515…キー候補集合作成モジュール、1516…KVSテーブル作成モジュール、1517…クエリシミュレーションモジュール、1518…スコア算出モジュール、152…データ領域、1521…RDB接続情報、1522…移行対策クライアント情報、1522…移行対象クライアント情報、1523…RDB利用ログ、1524…キー候補集合、1525…クエリ集合、1526…RDBテーブル、1527…シミュレーションテーブル、1528…キー評価結果、1529…移行用キー情報、200…RDB、201…通信装置、202…利用ログ、2021…クライアント、2023…クエリ、2024…結果、203…車両情報テーブル、204…車両情報テーブルスキーマ定義、300…分散KVS、301…通信装置、302…KVS情報、303…ノード、304…ノード、305…ノード、401…クライアント、402…クライアント、403…クライアント 100 ... key design support device, 110 ... output device, 120 ... arithmetic device, 130 ... input device, 140 ... communication device, 150 ... storage unit, 151 ... PG area, 1512 ... transition key information, 1513 ... key evaluation presentation PG 1514 Data migration PG 1515 Key candidate set creation module 1516 KVS table creation module 1517 Query simulation module 1518 Score calculation module 152 Data area 1521 RDB connection information 1522 Migration countermeasure client Information, 1522 ... Migration target client information, 1523 ... RDB utilization log, 1524 ... Key candidate set, 1525 ... Query set, 1526 ... RDB table, 1527 ... Simulation table, 1528 ... Key evaluation result, 1529 ... Migration key information 200 ... RDB, 201 ... communication device, 202 ... usage log, 2021 ... client, 2023 ... query, 2024 ... result, 203 ... vehicle information table, 204 ... vehicle information table schema definition, 300 ... distributed KVS, 301 ... communication device, 302 ... KVS information, 303 ... node, 304 ... node, 305 ... node, 401 ... client, 402 ... client, 403 ... client

Claims (11)

関係データベースから移行する分散キーバリューストアの作成を支援するデータベース移行支援装置であって、
メモリとプロセッサとを有し、
前記メモリは、前記関係データベースに設定されている少なくとも1つの列に基づき前記分散キーバリューストアに用いるキーの候補となるキー候補を少なくとも1つ生成し、前記キー候補を、前記関係データベースのデータおよび利用ログに基づいて、評価するキー評価プログラムと、前記キー候補の評価結果を提示するキー評価提示プログラムとを有し、
前記プロセッサは、前記キー評価プログラムおよび前記キー評価提示プログラムを実行して、前記キー候補の評価結果を提示する、
データベース移行支援装置。
A database migration support device that supports creation of a distributed key value store migrated from a relational database, comprising
With memory and processor,
The memory generates at least one key candidate serving as a candidate for a key to be used for the distributed key-value store based on at least one column set in the relational database, and the key candidate is data of the relational database and A key evaluation program for evaluating based on a usage log, and a key evaluation presentation program for presenting the evaluation result of the key candidate,
The processor executes the key evaluation program and the key evaluation presentation program to present evaluation results of the key candidate.
Database migration support device.
前記キー評価プログラムは、前記関係データベースに設定されている少なくとも1つの列に基づき前記分散キーバリューストアに用いるキーの候補となるキー候補を少なくとも1つ生成し、前記キー候補のそれぞれについて、前記関係データベースの利用ログにおける該キー候補の基になった列の出現の度合いを示す適合度と、前記分散キーバリューストアの複数のノードに分散されたデータのアクセス性能とを算出し、前記適合度と前記アクセス性能とに基づいて前記キー候補のそれぞれを評価する、
請求項1に記載のデータベース移行支援装置。
The key evaluation program generates at least one key candidate serving as a candidate for a key to be used for the distributed key-value store based on at least one column set in the relational database, and the relation for each of the key candidates is generated. The degree of matching indicating the degree of appearance of the column based on the key candidate in the usage log of the database and the access performance of the data distributed to the plurality of nodes of the distributed key-value store are calculated, Evaluating each of the key candidates based on the access performance;
The database migration support device according to claim 1.
前記キー評価プログラムは、前記キー候補のそれぞれについて前記適合度と前記アクセス性能の積を含むスコアを算出し、
前記キー評価提示プログラムは、前記キー候補のそれぞれのスコアを提示する、
請求項2に記載のデータベース移行支援装置。
The key evaluation program calculates a score including the product of the matching degree and the access performance for each of the key candidates;
The key evaluation presentation program presents the score of each of the key candidates,
The database migration support device according to claim 2.
前記アクセス性能は、前記利用ログに基づくシミュレーションの移行後のデータベースへのアクセスにおいて、前記ノードに対するスキャンの回数が少ないほど高い値を示すシーケンシャル度を含む、請求項1に記載のデータベース移行支援装置。   The database migration support device according to claim 1, wherein the access performance includes a sequential degree indicating a higher value as the number of scans for the node is smaller in accessing the database after migration of the simulation based on the usage log. 前記アクセス性能は、更に、前記利用ログに基づくシミュレーションの移行後のデータベースへのアクセスにおいて、前記スキャンが前記ノードに均等に分散されているほど高い値を示す分散度を含む、請求項4に記載のデータベース移行支援装置。   The access performance according to claim 4, wherein the access performance further includes a dispersion degree indicating a higher value as the scan is evenly distributed to the nodes, in access to the post-migration database of the simulation based on the usage log. Database migration support device. 前記キー評価プログラムは、前記スコアにおける前記シーケンシャル度と前記分散度の重みをユーザの操作により変更可能である、
請求項5に記載のデータベース移行支援装置。
The key evaluation program is capable of changing the weight of the sequential degree and the degree of dispersion in the score by a user operation.
The database migration support device according to claim 5.
前記キー評価プログラムは、前記関係データベースに設定されている列のうち、利用ログから抽出されたクエリによる出願回数が高い方から所定個を選択し、選択した前記列または該列の組み合わせのうち、データをユニークに識別するものをキー候補として抽出し、更に主キーをキー候補とする、請求項1に記載のデータベース移行支援装置。   The key evaluation program selects, from among the columns set in the relational database, a predetermined number of applications from the one with the highest number of applications by the query extracted from the usage log, and selects one of the selected columns or a combination of the columns 2. The database migration support device according to claim 1, wherein one that uniquely identifies data is extracted as a key candidate, and further, a primary key is used as a key candidate. 前記キー評価プログラムは、前記適合度に基づいて前記キー候補を絞り込み、絞り込んだ前記キー候補に対してシミュレーションを行い、前記アクセス性能を算出する、請求項7に記載のデータベース移行支援装置。   8. The database migration support device according to claim 7, wherein the key evaluation program narrows down the key candidates based on the degree of matching, performs simulation on the narrowed key candidates, and calculates the access performance. 前記キー評価プログラムは、前記関連データベースから前記分散キーバリューストアに移行するクライアントをユーザに選択させ、選択された前記クライアントの利用ログを前記キー候補の評価に用いる、請求項1に記載のデータベース移行支援装置。   The database migration according to claim 1, wherein the key evaluation program causes the user to select a client to be migrated to the distributed key-value store from the related database, and uses the selected usage log of the client for evaluation of the key candidate. Support device. 前記メモリはデータ移行プログラムを更に有し、
前記キー評価提示プログラムは、いずれか1つのキー候補の評価結果と、該キー候補を移行用キーとして決定するためのボタンを画面表示し、
前記データ移行プログラムは、前記ボタンが操作されると、前記キー候補を移行用キーとして、前記分散キーバリューストアを作成する、
請求項1に記載のデータベース移行支援装置。
The memory further comprises a data migration program
The key evaluation presentation program displays an evaluation result of any one key candidate and a button for determining the key candidate as a transition key on the screen.
The data migration program creates the distributed key-value store using the key candidate as a migration key when the button is operated.
The database migration support device according to claim 1.
関係データベースから移行する分散キーバリューストアの作成を支援するためのデータベース移行支援方法であって、
キー評価手段が、前記関係データベースに設定されている少なくとも1つの列に基づき前記分散キーバリューストアに用いるキーの候補となるキー候補を少なくとも1つ生成し、
前記キー評価手段が、前記キー候補のそれぞれについて、前記関係データベースのデータおよび利用ログに基づいて、評価し、
キー評価提示手段が、前記キー候補の評価結果を提示する、
データベース移行支援方法。
A database migration support method for assisting in creating a distributed key-value store migrating from a relational database, comprising:
A key evaluation unit generates at least one key candidate as a candidate for a key to be used for the distributed key-value store based on at least one column set in the relational database;
The key evaluation unit evaluates each of the key candidates based on the data of the relational database and the usage log;
Key evaluation presenting means presents the evaluation result of the key candidate,
Database migration support method.
JP2018537916A 2016-09-07 2016-09-07 Database migration support device and method Active JP6695985B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/076267 WO2018047250A1 (en) 2016-09-07 2016-09-07 Database migration assistance device and method

Publications (2)

Publication Number Publication Date
JPWO2018047250A1 true JPWO2018047250A1 (en) 2019-07-04
JP6695985B2 JP6695985B2 (en) 2020-05-20

Family

ID=61562798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018537916A Active JP6695985B2 (en) 2016-09-07 2016-09-07 Database migration support device and method

Country Status (2)

Country Link
JP (1) JP6695985B2 (en)
WO (1) WO2018047250A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008199B (en) * 2019-03-25 2023-02-14 华南理工大学 Data migration and deployment method based on access heat
JP7495269B2 (en) * 2020-04-21 2024-06-04 株式会社日立製作所 Data management system and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5633689B2 (en) * 2010-11-09 2014-12-03 日本電気株式会社 Database migration management apparatus and method
JP2014211790A (en) * 2013-04-19 2014-11-13 株式会社日立システムズ Row-oriented type key value store transition design assisting system and transition design assisting method

Also Published As

Publication number Publication date
WO2018047250A1 (en) 2018-03-15
JP6695985B2 (en) 2020-05-20

Similar Documents

Publication Publication Date Title
US10235468B2 (en) Indirect filtering in blended data operations
US10102564B2 (en) System for adjusting map navigation path in retail store and method of using same
US10140325B2 (en) Data source identification mapping in blended data operations
EP2909752B1 (en) Profiling data with location information
JP6293642B2 (en) General-purpose graphs, rules and spatial structure based on recommendation engine
US10268737B2 (en) System and method for performing blended data operations
US9652498B2 (en) Processing queries using hybrid access paths
KR101296683B1 (en) Two phase method for processing multi-way join query over data streams
CN106095738B (en) Recommending form fragments
EP3217296A1 (en) Data query method and apparatus
US10191998B1 (en) Methods of data reduction for parallel breadth-first search over graphs of connected data elements
JP5059238B1 (en) Method and apparatus for searching and visualizing instance route
US20180157734A1 (en) Business Intelligence System Dataset Navigation Based on User Interests Clustering
KR20000023961A (en) Information modeling method and database search system
CN105404675A (en) Ranked reverse nearest neighbor space keyword query method and apparatus
Kolonko Performance comparison of the most popular relational and non-relational database management systems
Khemmarat et al. Fast top-k path-based relevance query on massive graphs
JP2015207026A (en) Information processor, record position information specification method and information processing program
TW201719459A (en) Search servers, end devices, and search methods for use in a distributed network
JP6695985B2 (en) Database migration support device and method
US10216792B2 (en) Automated join detection
US11163781B2 (en) Extended storage of text analysis source tables
US10942952B1 (en) Graph analysis of geo-temporal information
JP2016095669A (en) Image analysis method and image analysis device
GB2584042A (en) Personal data management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200324

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200422

R150 Certificate of patent or registration of utility model

Ref document number: 6695985

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150