JPWO2018047250A1 - Database transition support apparatus and method - Google Patents
Database transition support apparatus and method Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 42
- 230000007704 transition Effects 0.000 title claims description 13
- 238000011156 evaluation Methods 0.000 claims abstract description 144
- 230000005012 migration Effects 0.000 claims abstract description 140
- 238000013508 migration Methods 0.000 claims abstract description 138
- 238000004088 simulation Methods 0.000 claims description 60
- 239000006185 dispersion Substances 0.000 claims description 27
- 230000008569 process Effects 0.000 description 38
- 238000012545 processing Methods 0.000 description 29
- 238000013461 design Methods 0.000 description 21
- 238000003860 storage Methods 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000012546 transfer Methods 0.000 description 8
- 238000012854 evaluation process Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, 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,
特許文献1の技術は、RDBからKVSへの移行を支援する際、RDBのスキーマ定義とRDBの利用ログを用いてデータ項目を評価するだけなので、移行後のKVSを実際のデータに適用した場合に必ずしも移行前のRDBと同様のデータを取得できるとは限らない。
When supporting the transition from RDB to KVS, the technology of
本発明の目的は、移行前の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
以下、本発明の実施形態について図面を参照して説明する。 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
図1を参照すると、データベース移行システムは、キー設計支援装置100、関係データベース(RDB)200、分散キーバリューストア(KVS)300、およびクライアント401、402、403、404を有している。
Referring to FIG. 1, the database migration system includes a key
キー設計支援装置100はRDB200から分散KVS300への移行におけるキー設計を支援する装置である。キー設計支援装置100は出力装置110、演算装置120、入力装置130、通信装置140、および記憶部150を有している。
The key
記憶部150にはプログラム(PG)領域151とデータ領域152がある。PG領域151には、移行クライアント決定PG 1511、キー評価PG 1512、キー評価提示PG 1513、データ移行PG 1514、キー候補集合作成モジュール1515、KVSテーブル作成モジュール1516、クエリシミュレーションモジュール1517、およびスコア算出モジュール1518が格納されている。
The
データ領域152には、RDB接続情報1521、移行対策クライアント情報1522、RDB利用ログ1523、キー候補集合1524、クエリ集合1525、RDBテーブル1526、シミュレーションテーブル1527、キー評価結果1528、および移行用キー情報1529が格納されている。
In the
移行クライアント決定PG 1511は、データベースをRDBから分散KVSへ移行するクライアントを決定する。図2に示すように、移行クライアント決定PG 1511は、RDB 200の利用ログ202を参照することができる。例えば、移行クライアント決定PG 1511は、利用ログ202からRDB 200を利用するクライアントを抽出し、クライアント一覧を出力装置110により設計者に提示する。移行クライアント決定PG 1511は、クライアント一覧を見た設計者が入力装置130から入力した情報に基づいて、データベースをRDBから分散KVSへ移行するクライアントを決定すればよい。
The migration
キー評価PG 1512は、キー候補集合1524に含まれるキー候補のそれぞれについて評価を行い、スコアを付与する。スコアの算出にはスコア算出モジュール1518が利用される。評価方法については後述する。図2に示すように、キー評価PG 1512は、RDB 200の利用ログ202、車両情報テーブル203、車両情報テーブルスキーマ定義204、および分散KVS 300のKVS情報302を参照することができる。キー評価PG 1512は、参照した情報を利用して各キー候補のスコアを算出する。キー評価結果はキー評価結果1528に蓄積される。また、図2に示すように、キー評価の結果はキー評価提示PG 1516を介し、出力装置110から設計者に提示される。
The
キー評価提示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
また、キー評価PG 1512は、評価の過程で各キー候補のシミュレーションテーブルを作成しているので、移行用キーが決まると移行用キーのシミュレーションテーブルをデータ移行PG 1514に通知する。
Further, since the
データ移行PG 1514は、RDBから分散KVSへのデータの移行を実行する。データの移行は、具体的には、RDBテーブル1526に格納されているRDBのデータの所定の列の情報に基づいたキーと、データの値とを対応づけてKVSテーブル(不図示)に記録し、移行データを生成する。その際、データのキー(Key)とデータの値(Value)は、移行用キーのシミュレーションテーブルから取得することができる。データ移行PG 1514は生成した移行データを分散KVS 300に通知する。
キー候補集合作成モジュール1515は、移行前のRDB 200の列の情報を基に、移行後の分散KVS 300のキーとなる候補を複数生成し、キー候補集合1524に格納する。
The key candidate set
KVSテーブル作成モジュール1516は、移行後の分散KVS 300においてデータおよびキーを格納するKVSテーブルを作成する。
The KVS
クエリシミュレーションモジュール1517は、RDB 200の利用ログから得られるクエリを用いて、各キー候補を用いた分散KVS 300のシミュレーションを実行する。
The
スコア算出モジュール1518は、各キー候補のスコアを算出する。スコアの算出方法は後述する。
The
RDB接続情報1521は、クライアントがRDBに接続するための情報である。例えばRDBに接続するためのURLである。
The
移行対象クライアント情報1522は、データベースをRDB 200から分散KVS 300に移行するクライアントを示す情報である。
The migration
RDB利用ログ1523は、移行前のRDB 200の利用の履歴を蓄積した情報である。RDB利用ログ1523には、RDB 200にアクセスするクエリと、RDB 200の検索結果とが含まれる。
The
キー候補集合1524は、キー候補集合作成モジュール1515が作成した複数のキー候補を含む情報である。
The key candidate set 1524 is information including a plurality of key candidates created by the key candidate set
クエリ集合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
シミュレーションテーブル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
キー評価結果1528は、キー評価PG 1512がキー候補を評価した結果の情報である。
The
移行用キー情報1529は、RDB 200から分散KVS 300へ移行する際に利用するキーの情報である。例えば、設計者がキー候補の評価結果に基づいて移行用キーを選択する。選択された移行用キーの情報が移行用キー情報1512に格納される。
The migration
RDB 200は、通信装置201、利用ログ202、車両情報テーブル203、車両情報テーブルスキーマ定義204、テーブル2 205、およびスキーマ定義2 206を有している。
The
通信装置201は、RDB 200が通信ネットワーク経由でキー設計支援装置100およびクライアント401、402と通信を行うための通信装置である。
The
利用ログ202は、クライアント401、402によるRDB 200の利用で蓄積される履歴情報である。利用ログ202は、RDB 200で取得され、キー設計支援装置100に通知される。キー設計支援装置100では、RDB利用ログ1523としてデータ領域152に格納される。
The
RDB 200には、車両の現在位置および走行速度の情報をリアルタイムで管理する関係データベースが備えられている。車両情報テーブル203は、車両の情報を蓄積したデータベースのテーブルである。
The
車両情報テーブルスキーマ定義204は、車両情報テーブル203の構造を定義する情報である。
The vehicle information
テーブル2 205は、他のデータベースのテーブルであり、スキーマ定義2 206は、他のデータベースの構造を定義する情報である。
Table 2 205 is a table of another database, and
分散KVS 300は、通信装置301を有し、KVS情報302を格納している。データ移行PG 1514から通知された移行データは複数のノード303、304、305に分散配置される。KVS情報302は、分散KVS 300の構成および動作に関する設定情報である。ここでは一例として図1に示したように分散KVS 300のデータベースは3つのノード303、304、305に分散配置される。
The distributed
通信装置301は、分散KVS300が通信ネットワーク経由でキー設計支援装置100、RDB 200、およびクライアント403、404と通信するための通信装置である。
The
KVS情報302は、分散KVSに関する設定情報である。設定情報には、ノード数、Regionサイズ、自動シャーディングの有無などの情報が含まれている。
The
クライアント401、402はRDB 200のデータベースを利用するクライアントである。クライアント401ではアプリケーション1が動作しており、クライアント402ではアプリケーション2a、2bが動作している。
The
クライアント403、404は分散KVS 300のデータベースを利用するクライアントである。
The
本実施形態によるキー設計支援装置100の構成および動作の概略について説明する。
An outline of the configuration and operation of the key
キー設計支援装置100は、関係データベース(RDB 200)から移行する分散キーバリューストア(分散KVS 300)の作成を支援するデータベース移行支援装置であり、メモリ(記憶部150)とプロセッサ(演算装置120)とを有している。メモリは、キー評価プログラム(キー評価PG 1512)と、キー評価提示プログラム(キー評価提示PG 1513)とを有している。
The key
キー評価プログラムは、関係データベースに設定されている少なくとも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
移行クライアント決定処理において、移行クライアント決定PG 1511は、クライアント一覧を設計者に提示する(ステップS104)。設計者が移行クライアントの情報を入力すると(ステップS105)、移行クライアント決定PG 1511は、移行クライアントを決定し、移行クライアント情報をキー評価PG 1512に通知する(ステップS106)。
In the migration client determination process, the migration
移行クライアント情報を受信したキー評価PG 1512は、キー評価処理(ステップS107)を実行する。キー評価処理の詳細は後述する。キー評価処理において、キー評価PG 1512は、RDB 200から利用ログ、スキーマ定義テーブルを取得し(ステップS108)、取得した情報を基にキー候補を生成し、それぞれのキー候補を評価し、評価結果をキー評価提示PG 1513に通知する(ステップS109)。
The
キー評価結果を受信したキー評価提示PG 1513は、キー評価提示処理(ステップS110)を実行する。キー評価提示処理の詳細は後述する。キー評価提示処理において、キー評価提示PG 1513は、キー評価結果を設計者に提示する(ステップS111)。評価結果を見た設計者が移行用キーを決定すると(ステップS112)、キー評価PG 1512は、移行キーを示すキー情報をデータ移行PG 1514に通知する(ステップS113)。
The key
キー情報を受信したデータ移行PG 1514は、データ移行処理(ステップS114)を実行する。データ移行処理の詳細は後述する。データ移行処理において、データ移行PG 1514は、設計者から設定情報を取得し(ステップS115)、移行キーと設定情報を利用して分散KVS300にKVSテーブルを作成させ(ステップS115)、キー評価PG 1512から移行キーのシミュレーションテーブルを取得し(ステップS116)、分散KVS 300にデータ移行を実行させ(ステップS117)、データ移行が完了すると、設計者にデータ移行の完了を提示する(ステップS118)。
The
以下、移行クライアント決定処理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
図5はKVS情報302の一例を示す図である。分散KVS 300には図5に示するKVS情報302が設定されているものとする。
FIG. 5 shows an example of the
図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
続いて、移行クライアント決定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
図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
続いて、移行クライアント決定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
図7は、キー評価処理S107のフローチャートである。 FIG. 7 is a flowchart of the key evaluation process S107.
まず、キー評価PG 1512は、キー候補集合作成処理(ステップS301)を実行して複数のキー候補を生成する。キー候補集合作成処理S301の詳細は後述する。ステップS301の処理が終了すると、図7に示したデータ領域152には、利用ログ、RDBクエリ集合、キー候補集合が格納された状態となる。
First, the
次に、キー評価PG 1512はステップS302〜ステップS304の処理を全てのキー候補について繰り返す。まず、キー評価PG 1512は、シミュレーションテーブル作成処理(ステップS302)を実行してシミュレーションテーブル1527を作成する。シミュレーションテーブル作成処理の詳細は後述する。ステップS302の処理が終了すると、図7に示したデータ領域152には、RDBテーブル、シミュレーションテーブル、およびKVS情報が格納された状態となる。
Next, the
次に、キー評価PG 1512は、クエリシミュレーション実施処理(ステップS303)を実行し、クエリシミュレーション結果を算出する。クエリシミュレーション結果はキー候補の評価に利用される。クエリシミュレーション実施処理の詳細は後述する。ステップS303の処理が終了すると、図7に示したデータ領域152には、シミュレーション結果が格納された状態となる。シミュレーション結果には、取得レコード数およびスキャン回数が含まれている。
Next, the
次に、キー評価PG 1512は、スコア算出処理(ステップS304)を実行して各キー候補のスコアを算出する。スコア算出処理により各キー候補の評価結果であるスコアが得られる。各キー候補のスコアは移行後の分散KVSに用いるキーを決定するのに利用される。スコア算出処理の詳細は後述する。ステップS304の処理が終了すると、図7に示したデータ領域152には、キー評価結果が格納された状態となる。
Next, the
最後に、キー評価PG 1512は、キー評価結果を出力する(ステップS305)。図7には、キー評価結果の一例D305が示されている。キー評価結果には、KeyAとKeyBの評価結果が含まれている。例えば、KeyAは平均シーケンシャル度が1.5であり、平均分散度が38である。
Finally, the
図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
次に、キー評価PG 1512は、クエリ集合のクエリにおけるWHERE句に出現する、RDB 200の列(RDB列)それぞれの出現回数をカウントする(ステップS404)。図8には、各RDB列の出現回数を示す表D404が示されている。表D404には、RDB列のそれぞれについて、出現回数と、そのRDB列が主キーであるか否かを示すフラグとが記載されている。例えば、RDB列「Time」の出現回数が最も多く20回である。
Next, the
次に、キー評価PG 1512は、RDB列を出現回数の多い順に所定個選択する(ステップS405)。ここではRDB列を3個選択することにするが、3個という数に限定されることは無い。図8には、出願回数が多い3つのRDB列を示す表D405が示されている。表D405には、RDB列「Time」、RDB列「CarID」、RDB列「Speed」が示されている。
Next, the
次に、キー評価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
次に、キー評価PG 1512は、データをユニークに特定する、RDB列またはRDB列の組み合わせを登録するユニークRDB列リストと、データをユニークに特定しない、RDB列またはRDB列の組み合わせを登録する非ユニークRDB列リストとを作成し、表D406の中の主キーをユニークRDB列リストに追加する(ステップS407、ステップS415)。
Next, the
更に、キー評価PG 1512は、RDB列からデータをユニークに特定するRDB列の組み合わせを抽出する一連の処理(ステップS408〜S415)を行う。
Furthermore, the
まず、キー評価PG 1512は、表D406の主キー以外のRDB列を非ユニークRDB列リストに追加する(ステップS408)。続いて、キー評価PG 1512は、非ユニークRDB列リスト内のRDB列を対象として以下の処理(ステップS410〜S412)を繰り返す。
First, the
まず、キー評価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
ステップ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
ステップ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
次に、キー評価PG 1512は、作成した各キー候補について、そのキー候補に含まれているRDB列の出現回数の平均値を算出し、その値を当該キー候補の適合度として保持する(ステップS417)。図8には、適合度算出結果D417が示されている。例えば、KeyAおよびKeyBの適合度は10と20の平均値をとって15である。なお、ここでは、RDB列の出現回数の平均値をキー候補の適合度としたが、これに限定されることは無い。他の例として、出現回数の平均値の代わりに出現回数の合計値を用いてもよい。
Next, the
次に、キー評価PG 1512は、キー候補を適合度が高い順に並べて先頭の所定個(ここでは一例として2個)を取り出し、それらのキー候補をキー候補集合1524として記憶部150に格納する(ステップS418)。図8には、キー候補集合1524の例が示されている。図8の例では、キー候補集合1524には、KeyAとKeyBという2つのキー候補が含まれている。
Next, the
図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
次に、キー評価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
次に、キー評価PG 1512は、分散KVS 300に用いるKVS情報302を入力し、記憶部150に格納する(ステップS504)。KVS情報302には、図5に示したように、分散KVS 300のノード数やRegionサイズなどが含まれている。
Next, the
次に、キー評価PG 1512は、KVS情報302に含まれているRegionサイズに基づいて、各データが格納される領域を示すRegion番号を決定し、分割前シミュレーションテーブルD506に追加登録する(ステップS505)。例えば、各データをシーケンシャルに領域に割り当て、その領域のRegion番号を登録すればよい。なお、ここでは各データにシーケンシャルにRegion番号を付与する例を示したが、これに限定されることは無い。他の例として、各データにランダムにRegion番号を付与することにしても良い。
Next, the
次に、キー評価PG 1512は、分散KVS 300における各領域を格納するノードを決定し、分割前シミュレーションテーブルD506におけるNode列にNode番号を追加登録する(ステップS506)。ここでは一例として各領域を各ノードにシーケンシャルに割り当てる。
Next, the
次に、キー評価PG 1512は、分割前シミュレーションテーブルD506をRegion番号ごとに分割し、シミュレーションテーブルD508を作成する(ステップS507)。続いて、キー評価PG 1512は、作成したシミュレーションテーブルD508を記憶部150に格納する(ステップS508)。
Next, the
図10は、クエリシミュレーション処理のフローチャートである。 FIG. 10 is a flowchart of query simulation processing.
まず、キー評価PG 1512は、記憶部150からシミュレーションに利用するシミュレーションテーブルを取得する(ステップS601)。続いて、キー評価PG 1512は、ステップS602〜S605の処理を、利用ログにある全てのクエリについて繰り返し実行する。
First, the
まず、キー評価PG 1512は、記憶部150のRDB利用ログ1523におけるクエリ実行の結果から、クエリによって取得されるデータを特定し、シミュレーションテーブル1527に、データがクエリによって取得されるか否かの情報を登録する(ステップS603)。図10には、シミュレーションテーブル1527の一例が示されている。図10に示されたシミュレーションテーブルD603における、「クエリによって取得されるか」という列に、取得される場合にはY(Yes)、取得されない場合にはN(No)が登録される。
First, the
次に、キー評価PG 1512は、領域毎のシミュレーションテーブル別に「クエリによって取得されるか」の列の末尾にNを付加したものについて、先頭から順番に見ていき、登録されている情報がYからNに変わった回数をカウントし、その回数をスキャン回数とする(ステップS604)。図10には、領域毎のスキャン回数を示す表D604が示されている。例えば、Node1に格納されたRegion1という領域は、取得レコード数が2であり、スキャン回数が1である。そして、キー評価PG 1512は、スキャン回数をノード毎に合計する(ステップS605)。
Next, in the
全てのクエリについてステップ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
図11は、スコア算出処理のフローチャートである。 FIG. 11 is a flowchart of the score calculation process.
まず、キー評価PG 1512は、記憶部150から、クエリシミュレーション結果を取得する(ステップS701)。
First, the
次に、キー評価PG 1512は、クエリシミュレーション結果にあるクエリ毎にシーケンシャル度を算出する(ステップS702)。シーケンシャル度は次の式により計算することができる
Next, the
更に、キー評価PG 1512は、クエリ毎のシーケンシャル度の平均値を平均シーケンシャル度とし、クエリ毎の分散度の平均値を平均分散度とし、それらをキー評価結果1528として記憶部150に格納する(ステップS704)。図11には、一例としてのキー評価結果D704が示されている。図11の例では、キー候補KeyAは、適合度が15であり、平均シーケンシャル度が30であり、平均分散度が38である。
Furthermore, the
図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
次に、キー評価提示PG 1513は、ユーザ(設計者)による画面へのクリックを検出すると(ステップS804)、そのユーザクリックが重み入力に関するものであれば、変更された重みでスコアを再計算する(ステップS805)。一方、ユーザクリックがキー候補の選択に関するものであれば、キー評価提示PG 1513は、まず、キー評価結果を示す画面1の表示を終了し(ステップS806)、選択されたキーに関するキー設計詳細画面(画面2)を表示する(ステップS807)。
Next, when the key
図12Cには画面2が示されている。図12Cの画面2の例では、KeyAに含まれているRDB列がCarIDとTimeである。スコアが17100である。適合度が15である。平均シーケンシャル度が30である。平均分散度が38である。更に、選択されているキーを移行用として確定させる決定ボタンと、前の画面に戻るための戻るボタンが表示されている。
次に、キー評価提示PG 1513は、ユーザクリックを検出すると(ステップS808)、そのユーザクリックが戻るボタンへのクリックであれば、キー設計詳細画面(画面2)の表示を終了し(ステップS809)、ステップS803に戻る。
Next, when the key
また、ステップ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
また、ステップ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
また、ステップS808において検出したユーザクリックが決定ボタンに対するものであれば、キー評価提示PG 1513は、キー設計詳細画面(画面2)の表示を終了し(ステップS816)、選択され、キー設計詳細画面に表示されていたキー(ここではKeyA)を移行用キーとし、移行用キー情報を記憶部150に格納し(ステップS817)、処理を終了する。
If the user click detected in step S808 is for the determination button, the key
図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
次に、データ移行PG 1514は、すべての列ファミリ名が入力されているか否か判定する(ステップS906)。すべての列ファミリ名が入力されていなければ、データ移行PG 1514は、メッセージ表示部に「列ファミリを入力してください」というメッセージを表示し(ステップS907)、ステップS903に戻る。図13Cには、メッセージが表示されたデータ移行設定画面(画面5b)が示されている。画面5bには、RDB列「Longitude」に対応する列ファミリ名が設定されておらず、「列ファミリを入力してください」というメッセージが表示されている。
Next, the
ステップS906においてすべての列ファミリ名が入力されていれば、データ移行PG 1514は、移行先の分散KVS 300にKVSテーブルのテーブル定義(中身が空の状態のテーブル)を作成する(ステップS908)。KVSテーブルには、KeyとValueとを対応づけて列ファミリに対して格納可能である。
If all column family names have been input in step S906, the
次に、データ移行PG 1514は、移行キーのシミュレーションテーブル1527のKeyとValueとを、KVSテーブルに登録していくことにより分散KVS 300に移行する(ステップS909)。このとき、図9Aに例示した分割後のシミュレーションテーブルが移行先の分散KVS 300の各ノード303、304、305のKVSテーブルに格納される。
Next, the
図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
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に記載のデータベース移行支援装置。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.
請求項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つのキー候補の評価結果と、該キー候補を移行用キーとして決定するためのボタンを画面表示し、
前記データ移行プログラムは、前記ボタンが操作されると、前記キー候補を移行用キーとして、前記分散キーバリューストアを作成する、
請求項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.
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)
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)
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 |
-
2016
- 2016-09-07 JP JP2018537916A patent/JP6695985B2/en active Active
- 2016-09-07 WO PCT/JP2016/076267 patent/WO2018047250A1/en active Application Filing
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 |