JP2021056570A - Database division system, database division method, and database division program - Google Patents

Database division system, database division method, and database division program Download PDF

Info

Publication number
JP2021056570A
JP2021056570A JP2019176541A JP2019176541A JP2021056570A JP 2021056570 A JP2021056570 A JP 2021056570A JP 2019176541 A JP2019176541 A JP 2019176541A JP 2019176541 A JP2019176541 A JP 2019176541A JP 2021056570 A JP2021056570 A JP 2021056570A
Authority
JP
Japan
Prior art keywords
database
data
business
analysis
partitioning
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
JP2019176541A
Other languages
Japanese (ja)
Other versions
JP7427896B2 (en
Inventor
俊介 田山
Shunsuke Tayama
俊介 田山
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2019176541A priority Critical patent/JP7427896B2/en
Publication of JP2021056570A publication Critical patent/JP2021056570A/en
Application granted granted Critical
Publication of JP7427896B2 publication Critical patent/JP7427896B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

To provide a database division system capable of dividing data of table in consideration of usage by an application while alleviating time and effort of a work well-informed person, and a database division method and database division program thereof.SOLUTION: A database division system includes data access analysis means which performs structural analysis with input of definition information of a source code of an application and a table structure of the database, job analysis means which performs analysis from a viewpoint of the job with input of feature information on the actual job and an operation log, and table division means which divides data of the table by using the analysis result of the data access analysis means and the analysis result of the job analysis means.SELECTED DRAWING: Figure 1B

Description

本発明は、データベースの分割システム、データベースの分割方法、及びデータベースの分割プログラムに関し、特にデータベースの分割、統合などを支援するシステムに関する。 The present invention relates to a database partitioning system, a database partitioning method, and a database partitioning program, and more particularly to a system that supports database partitioning and integration.

データベースが肥大化し密結合になっている場合に、保守性を向上させる観点でデータベースを整理することが行われる。データベースの整理にはデータベースの分割や統合が行われるが、統合、分割する際の標準的な手法が確立されていない。 When the database is bloated and tightly coupled, the database is organized from the viewpoint of improving maintainability. Databases are divided and integrated to organize the database, but standard methods for integration and division have not been established.

この特許文献1は、分散データベースのデータ再配置方式に関するものである。特許文献1では、複数の計算機サイトにデータが分割配置された分散データベースに対して、計算機リソース状況とデータのアクセス回数の分布とから分割条件を生成すること、このデータ分割条件に合致するようにデータを移動させてデータを再配置し、各計算機サイトに負荷を効率良く分散させることが提案されている。 This Patent Document 1 relates to a data rearrangement method for a distributed database. In Patent Document 1, a division condition is generated from a computer resource status and a distribution of the number of times data is accessed for a distributed database in which data is divided and arranged at a plurality of computer sites, so as to match this data division condition. It has been proposed to move the data, rearrange the data, and efficiently distribute the load to each computer site.

特開平6−259478号公報Japanese Unexamined Patent Publication No. 6-259478

しかしながら、上述したデータベースの整理には以下のような課題がある。データベースが肥大化し密結合になっている場合に、保守性を向上させる観点でデータベースを整理する目的で、統合、分割が行われるが、全て手作業で手間がかかっている。 However, organizing the above-mentioned database has the following problems. When the database is bloated and tightly coupled, integration and division are performed for the purpose of organizing the database from the viewpoint of improving maintainability, but all of them are manually laborious.

また、分割や統合をする際はアプリケーションからの使われ方も考慮し、現行の処理への影響を考慮して行わなければならないが、業務有識者が人手で実施している点も手間を増やしている。 In addition, when dividing or integrating, it is necessary to consider how it is used from the application and the impact on the current processing, but the fact that it is done manually by business experts also increases the time and effort. There is.

特許文献1では、分散データベースのデータの再配置について提案があるが、アプリケーションからの使われ方も考慮することについて関知しておらず、解決策を提示するものでもない。 Patent Document 1 proposes the rearrangement of data in a distributed database, but does not know about considering how to use it from an application and does not present a solution.

本発明の目的は、業務有識者の手間を軽減しつつ、アプリケーションからの使われ方も考慮してテーブルのデータ分割を可能にした、データベースの分割システム、データベースの分割方法、及びデータベースの分割プログラムを提供することにある。 An object of the present invention is to provide a database partitioning system, a database partitioning method, and a database partitioning program that enable data partitioning of a table in consideration of usage from an application while reducing the labor of business experts. To provide.

前記目的を達成するため、本発明に係るデータベースの分割システムは、
アプリケーションのソースコードとデータベースのテーブル構造の定義情報を入力として構造解析を行うデータアクセス解析手段と、実業務の特性情報や稼働ログを入力として業務観点の分析を行う業務分析手段と、データアクセス解析手段の解析結果及び業務分析手段の分析結果を用いてテーブルのデータ分割を行うテーブル分割手段と、を含む。
In order to achieve the above object, the database partitioning system according to the present invention is used.
Data access analysis means that performs structural analysis by inputting application source code and database table structure definition information, business analysis means that analyzes business viewpoints by inputting actual business characteristic information and operation logs, and data access analysis It includes a table dividing means for dividing table data using the analysis result of the means and the analysis result of the business analysis means.

本発明に係るデータベースの分割方法は、
アプリケーションのソースコードとデータベースのテーブル構造の定義情報を入力として構造解析を行ってデータアクセスを解析し、
実業務の特性情報や稼働ログを入力として業務観点の分析を行い、
上記データアクセスの解析結果と、上記業務観点の分析結果とを用いてテーブルのデータ分割を行う。
The method of dividing the database according to the present invention is as follows.
Data access is analyzed by performing structural analysis using the application source code and database table structure definition information as input.
We analyze the business viewpoint by inputting the characteristic information and operation log of the actual business.
Data division of the table is performed using the analysis result of the data access and the analysis result of the business viewpoint.

本発明に係るデータベースの分割プログラムは、
情報処理装置を、
アプリケーションのソースコードとデータベースのテーブル構造の定義情報を入力として構造解析を行うデータアクセス解析手段と、実業務の特性情報や稼働ログを入力として業務観点の分析を行う業務分析手段と、データアクセス解析手段の解析結果及び業務分析手段の分析結果を用いてテーブルのデータ分割を行うテーブル分割手段と、して機能させる。
The database partitioning program according to the present invention is
Information processing device,
Data access analysis means that performs structural analysis by inputting application source code and database table structure definition information, business analysis means that analyzes business viewpoints by inputting actual business characteristic information and operation logs, and data access analysis It functions as a table division means for dividing table data using the analysis result of the means and the analysis result of the business analysis means.

本発明は、業務有識者の手間を軽減しつつ、アプリケーションからの使われ方も考慮してテーブルのデータ分割を可能にした、データベースの分割システム、データベースの分割方法、及びデータベースの分割プログラムを提供することができる。 The present invention provides a database partitioning system, a database partitioning method, and a database partitioning program that enable data partitioning of a table in consideration of how it is used from an application while reducing the labor of business experts. be able to.

本発明の上位概念の実施形態のデータベース分割システムを説明するための構成図である。It is a block diagram for demonstrating the database division system of embodiment of the superordinate concept of this invention. 本発明の第1実施形態のデータベース分割システムを説明するための構成図である。It is a block diagram for demonstrating the database division system of 1st Embodiment of this invention. テーブル・ファイル単位のデータアクセス情報の一例を示すテーブルである。Table This is a table showing an example of data access information for each file. データ項目単位のデータアクセス情報の一例を示すテーブルである。It is a table which shows an example of the data access information for each data item. 複製不可のデータ項目の一例を示すテーブルである。It is a table which shows an example of the data item which cannot be duplicated. 分離不可のデータ項目の一例を示すテーブルである。It is a table which shows an example of the data item which cannot be separated. 同一業務グループのプログラムの一例を示すテーブルである。It is a table which shows an example of the program of the same business group. 稼働ログの集計の一例を示すテーブルである。It is a table showing an example of aggregation of operation logs. 実施形態のデータベースの分割方法を説明するためのフローチャートである。It is a flowchart for demonstrating the division method of the database of embodiment. ルールと、そのルールの重みづけの一例を示すテーブルである。It is a table showing an example of a rule and its weighting. プログラムからのアクセスの観点で分割されたテーブルX’を説明するためのテーブルである。It is a table for explaining the table X'divided from the viewpoint of access from a program. プログラムからのアクセスの観点で分割されたテーブルX”を説明するためのテーブルである。It is a table for explaining the table X "divided from the viewpoint of access from a program.

本発明のデータベースの分割システム、データベースの分割方法、及びデータベースの分割プログラムは、一例として、ソースコード上のロジック的な観点と業務処理の観点とを考慮した、データベースの分割又は統合の設計変更案を提示するものである。 The database partitioning system, the database partitioning method, and the database partitioning program of the present invention are, for example, a proposal for design modification of database partitioning or integration in consideration of a logical viewpoint on the source code and a business processing viewpoint. Is presented.

本発明の実施形態では、ソースコードを解析し各アプリケーションからのデータベースのテーブルやテーブルに含まれるデータ項目へのアクセスを抽出し、アプリケーションからアクセスしているテーブル/データ項目と生成(C)・参照(R)・更新(U)・削除(D)のアクセス種別のプログラムロジック観点とアプリケーションが構成する業務処理上の特性を考慮した業務観点の2つの観点を組み合わせる。そして本発明の実施形態では、実際の業務処理に合致したデータベースの分割を行い、例えば有識者の手間を削減し自動的にデータ分割を行う。 In the embodiment of the present invention, the source code is analyzed to extract the access from each application to the database table or the data item included in the table, and the table / data item accessed from the application and the generation (C) / reference. The two viewpoints of the program logic viewpoint of the access type of (R), update (U), and deletion (D) and the business viewpoint considering the characteristics of the business processing configured by the application are combined. Then, in the embodiment of the present invention, the database is divided according to the actual business processing, and for example, the time and effort of an expert is reduced and the data is automatically divided.

業務観点には、データの特徴(複製の可否やデータ項目間の関連)やプログラムの特徴(同一業務、類似処理)、プログラムの実行頻度並びにデータへのアクセス頻度などがあげられる。分割方法が複数ある場合は、設定された重みづけに従って、分割することで、意図する分割を行えるようにする。重みづけには、テーブルを分割するための分割ルールの優先度と、業務的に分割をさせたくない分割抑止のルールの優先度を保持し、それらの組み合わせで方針を決定する。 Business viewpoints include data characteristics (whether or not duplication is possible and relationships between data items), program characteristics (same business, similar processing), program execution frequency, and data access frequency. When there are multiple division methods, the intended division can be performed by dividing according to the set weighting. For weighting, the priority of the division rule for dividing the table and the priority of the division suppression rule that you do not want to divide in business are held, and the policy is decided by the combination of them.

具体的な実施形態について説明する前に、本発明の上位概念の実施形態によるデータベース分割システムを説明する。図1Aは、本発明の上位概念の実施形態のデータベース分割システムを説明するための構成図である。図1Aのデータベースの分割システム30は、アプリケーションのソースコードとデータベースのテーブル構造の定義情報を入力として構造解析を行うデータアクセス解析手段31と、実業務の特性情報や稼働ログを入力として業務観点の分析を行う業務分析手段32と、を含む。さらに図1Aのデータベースの分割システム30は、データアクセス解析手段31の解析結果及び業務分析手段32の分析結果を用いてテーブルのデータ分割を行うテーブル分割手段33を含む。 Before explaining a specific embodiment, a database partitioning system according to an embodiment of the superordinate concept of the present invention will be described. FIG. 1A is a configuration diagram for explaining a database partition system according to an embodiment of the superordinate concept of the present invention. The database partitioning system 30 of FIG. 1A is a data access analysis means 31 that performs structural analysis by inputting the source code of the application and the definition information of the table structure of the database, and the business viewpoint by inputting the characteristic information and the operation log of the actual business. Includes a business analysis means 32 for performing analysis. Further, the database division system 30 of FIG. 1A includes a table division means 33 that divides table data using the analysis result of the data access analysis means 31 and the analysis result of the business analysis means 32.

データアクセス解析手段31の解析結果としては、ソースコードを解析し各アプリケーションからのデータベースのテーブルやテーブルに含まれるデータ項目へのアクセスを抽出し、アプリケーションからアクセスしているテーブル/データ項目とアクセス種別との組合せなどが考えられる。業務分析手段32の分析結果としては、データベースのデータの特徴(複製の可否やデータ項目間の関連)や、データベースへアクセスするプログラムの特徴(同一業務、類似処理)、プログラムの実行頻度並びにデータへのアクセス頻度などが考えられる。 As the analysis result of the data access analysis means 31, the source code is analyzed, the access to the database table and the data items included in the table is extracted from each application, and the table / data item and access type accessed from the application. Combination with is conceivable. The analysis results of the business analysis means 32 include the characteristics of the data in the database (whether or not replication is possible and the relationship between data items), the characteristics of the program accessing the database (same business, similar processing), the execution frequency of the program, and the data. Access frequency etc. can be considered.

本実施形態のデータベース分割システムによれば、テーブル分割手段33がデータアクセス解析手段31の解析結果及び業務分析手段32の分析結果を用いてテーブルのデータ分割を行う。すなわち、プログラムロジック観点と業務観点という2つの観点の組合せを用いて、テーブルのデータ分割を行う。 According to the database partitioning system of the present embodiment, the table partitioning means 33 divides the data of the table using the analysis result of the data access analysis means 31 and the analysis result of the business analysis means 32. That is, the data of the table is divided by using the combination of the two viewpoints of the program logic viewpoint and the business viewpoint.

これにより、業務処理にあった疎結合なデータベースを効率的に得ることができる。今まで業務の有識者がプログラムを1つ1つ確認することが必要だった手間を、大幅に削減することができる。以下具体的な実施形態について説明する。 As a result, a loosely coupled database suitable for business processing can be efficiently obtained. It is possible to significantly reduce the time and effort required for business experts to check each program one by one. A specific embodiment will be described below.

〔第1実施形態〕
初めに、本発明の第1実施形態によるデータベース分割システムについて、説明する。図1Bは、本発明の第1実施形態のデータベース分割システムを説明するための構成図である。図2Aは、テーブル・ファイル単位のデータアクセス情報の一例を示すテーブルである。図2Bは、データ項目単位のデータアクセス情報の一例を示すテーブルである。図3Aは、複製不可のデータ項目の一例を示すテーブルである。図3Bは、分離不可のデータ項目の一例を示すテーブルである。図3Cは、同一業務グループのプログラムの一例を示すテーブルである。図4は、稼働ログの集計の一例を示すテーブルである。図5は、本実施形態のデータベースの分割方法を説明するためのフローチャートである。図6は、ルールと、そのルールの重みづけの一例を示すテーブルである。図7Aは、プログラムからのアクセスの観点で分割されたテーブルX’を説明するためのテーブルである。図7Bは、プログラムからのアクセスの観点で分割されたテーブルX”を説明するためのテーブルである。
[First Embodiment]
First, the database partition system according to the first embodiment of the present invention will be described. FIG. 1B is a configuration diagram for explaining a database partition system according to the first embodiment of the present invention. FIG. 2A is a table showing an example of data access information for each table file. FIG. 2B is a table showing an example of data access information for each data item. FIG. 3A is a table showing an example of data items that cannot be duplicated. FIG. 3B is a table showing an example of inseparable data items. FIG. 3C is a table showing an example of a program of the same business group. FIG. 4 is a table showing an example of aggregation of operation logs. FIG. 5 is a flowchart for explaining a method of dividing the database of the present embodiment. FIG. 6 is a table showing a rule and an example of weighting of the rule. FIG. 7A is a table for explaining the table X'divided from the viewpoint of access from the program. FIG. 7B is a table for explaining the table X "divided from the viewpoint of access from the program.

(実施形態の構成)
本発明の第1実施形態のデータベース分割システムの構成を説明する。図1Bに示すように、本発明の実施形態によるデータベース分割システムは、アプリケーションのソースコード11とデータベースのテーブル構造のテーブル定義12を入力として構造解析を行うデータアクセス解析部1を含む。さらに図1Bに示すように、本発明の実施形態によるデータベース分割システムは、実業務の特性情報13や稼働ログ14を入力として業務観点の分析を行う業務分析部2と、データアクセス解析部1の解析結果と業務分析部2の分析結果を用いてデータ分割を行うテーブル分割部3と、を含む。テーブル分割部3では、重みづけ15を用いてテーブル分割を行い、分割結果16を出力する。
(Structure of Embodiment)
The configuration of the database partition system according to the first embodiment of the present invention will be described. As shown in FIG. 1B, the database partitioning system according to the embodiment of the present invention includes a data access analysis unit 1 that performs structural analysis by inputting the source code 11 of the application and the table definition 12 of the table structure of the database. Further, as shown in FIG. 1B, the database division system according to the embodiment of the present invention has a business analysis unit 2 that analyzes a business viewpoint by inputting characteristic information 13 and an operation log 14 of an actual business, and a data access analysis unit 1. It includes a table partitioning unit 3 that divides data using the analysis result and the analysis result of the business analysis unit 2. The table partitioning unit 3 performs table partitioning using the weighting 15 and outputs the partitioning result 16.

次に、図1Bのデータベース分割システムの各構成要素の機能や動作説明する。 Next, the functions and operations of each component of the database partition system of FIG. 1B will be described.

まず、データアクセス解析部1において、ソースコード11やテーブル定義12の情報を入力して静的解析を行い、プログラムとデータへのアクセスを可視化する。この静的解析の手法は、プログラムが記述されている言語仕様に従って行われる。図2A及び図2Bを参照して、静的解析で得られるデータへの可視化を説明する。データベースに対するデータアクセスとしては、データベースのテーブルやファイルに対するものが想定され、可視化のレベルもテーブル/ファイル単位と、さらに粒度の細かいテーブル内のデータ項目へのアクセスの可視化が考えられる。データベースへアクセスの種別も、生成(C)・参照(R)・更新(U)・削除(D)で区別し、それらを可視化したものになる。図2A及び図2Bでは表形式で可視化した場合を示しているが、表形式以外の形式で可視化することもでき、特段の形式は問わない。 First, the data access analysis unit 1 inputs the information of the source code 11 and the table definition 12 and performs static analysis to visualize the access to the program and the data. This static analysis method is performed according to the language specifications in which the program is written. Visualization to the data obtained by static analysis will be described with reference to FIGS. 2A and 2B. Data access to the database is assumed to be for tables and files in the database, and the level of visualization can be set to table / file units, and visualization of access to data items in tables with finer granularity can be considered. The types of access to the database are also distinguished by creation (C), reference (R), update (U), and deletion (D), and they are visualized. Although FIGS. 2A and 2B show the case of visualization in a tabular format, it is also possible to visualize in a format other than the tabular format, and a special format is not limited.

次に、業務分析部2では、データアクセス解析部1で解析したプログラムとデータのアクセス情報、特性情報13、及び稼働ログ14を入力とし、データアクセス解析部1で解析した情報と業務的な情報との紐付けを行う。 Next, the business analysis unit 2 inputs the program and data access information, characteristic information 13, and operation log 14 analyzed by the data access analysis unit 1, and the information and business information analyzed by the data access analysis unit 1. Link with.

図3A乃至図3Cを用いて、特性情報13について説明する。特性情報13は、実際のアプリケーションの業務的な意味合いを示すものであり、アプリケーションの設計書や運用上の規則などから必要なものを設定する。データベースの再構築のデータ観点では、図3Aの複製不可のデータ項目ではアプリケーション上、重複を許さず集中管理すべきマスターデータを示している。図3Bの分離不可のデータ項目では、整合性を持って同一テーブル/ファイルで管理すべきデータを示している。プログラム観点では、図3Cの同一業務グループと見なせるプログラムを指定することで、同一業務グループからアクセスされているデータは同じものと見なすことができる。図1Bの稼働ログ14は、アプリケーションが動作するミドルウェアのログ情報などが該当し、具体的には図4で示すように、業務分析部2でログ情報からどのプログラムが動作したのかを抽出し、プログラム名、稼働回数及び最終稼働日の情報を保持する。 The characteristic information 13 will be described with reference to FIGS. 3A to 3C. The characteristic information 13 indicates the business meaning of the actual application, and sets necessary information from the application design document, operational rules, and the like. From the data point of view of database reconstruction, the non-replicatable data item in FIG. 3A shows the master data that should be centrally managed without allowing duplication in the application. The inseparable data item in FIG. 3B shows the data to be managed in the same table / file with consistency. From the program point of view, by designating a program that can be regarded as the same business group in FIG. 3C, the data accessed from the same business group can be regarded as the same. The operation log 14 in FIG. 1B corresponds to the log information of the middleware in which the application operates. Specifically, as shown in FIG. 4, the business analysis unit 2 extracts from the log information which program has operated. Holds information on program name, number of operations and last operation date.

次に、テーブル分割部3では、データアクセス解析部1と業務分析部2で分析された結果と、重みづけ15とを用いて特定のアルゴリズムでテーブルの分割・統合を行い、分割結果16を出力する。 Next, in the table division unit 3, the table is divided / integrated by a specific algorithm using the results analyzed by the data access analysis unit 1 and the business analysis unit 2 and the weighting 15, and the division result 16 is output. To do.

(実施形態の動作)
次に図5を用いて、プログラムの分割までの一連の工程を説明する。本実施形態が想定し、分割や統合されるデータベースとしては、異なるプログラムからアクセスされているデータが対象である。まず、データアクセス解析部1の結果から異なるプログラムからアクセスされているデータがあるか判定する(ステップS1)。該当するデータがないとき(S1のNO)は、終了する。
(Operation of the embodiment)
Next, a series of steps up to the division of the program will be described with reference to FIG. Assuming this embodiment, the database to be divided or integrated is data accessed from different programs. First, it is determined from the result of the data access analysis unit 1 whether there is data accessed from a different program (step S1). When there is no corresponding data (NO in S1), the process ends.

図2A及び図2Bの例で説明すると、テーブルXがプログラムAからアクセス(図2A及び図2Bでは参照(R)の表記)され、プログラムBからアクセス(図2A及び図2Bでは参照(R)の表記)されており、データベースのテーブルXが分割対象となる。 Explaining with the example of FIGS. 2A and 2B, the table X is accessed from the program A (reference (R) notation in FIGS. 2A and 2B) and accessed from the program B (reference (R) in FIGS. 2A and 2B). (Notation), and the database table X is the target of division.

次に、業務分析部2で分析した結果で、アクセスしているプログラムが同一業務グループかどうか判定する(ステップS2)。同一業務グループであれば、業務的に同じものとして見なすことができるため、プログラムAとプログラムBが同一業務グループであれば分割の対象外となる。同一業務グループと判定されたとき(S2のNO)には、分割や統合の対象外のデータとして除外(ステップS3)し、ステップS1に戻る。 Next, it is determined whether or not the programs being accessed are in the same business group based on the result of analysis by the business analysis unit 2 (step S2). If they are in the same business group, they can be regarded as the same in terms of business. Therefore, if program A and program B are in the same business group, they are not subject to division. When it is determined that they are in the same business group (NO in S2), the data is excluded as data not subject to division or integration (step S3), and the process returns to step S1.

プログラムAとプログラムBとが同一業務グループではないと判定されたとき(S2のYES)には、ルールに合致するかどうかを判定する(ステップS4)。ここでルールとは、図6で示すようなデータの変更に関するルールのまとまりである。図6では6つのルールが示されており、優先度:1〜優先度:6が設定されている。図6ではルールのカテゴリーとして業務観点のものとプログラム観点のものを含んでおり、ルールの種別として抑止ルールと分割ルールを含んでいる。ステップS4では、ルールに合致するかどうかの判定を行う。ルールに合致していないとき(S4のNO)は、ステップS3に進み分割や統合の対象外のデータとして除外し、ステップS1に戻る。ルールに合致しているとき(S4のYES)は、さらに合致するルールが複数か否かを判定する(ステップS5)。1つのルールに該当する場合(S5のNO)は、そのルールに従って変更を行う(ステップS6)。複数のルールに合致している場合(S5のYES)は、図6の重みづけに従って優先度の高いルールに従って変更を行う(ステップS7)。 When it is determined that the program A and the program B are not in the same business group (YES in S2), it is determined whether or not the rules are met (step S4). Here, the rule is a set of rules regarding data change as shown in FIG. In FIG. 6, six rules are shown, and priority: 1 to priority: 6 are set. In FIG. 6, the categories of rules include those from a business viewpoint and those from a program viewpoint, and the types of rules include deterrence rules and division rules. In step S4, it is determined whether or not the rule is met. If the rules are not met (NO in S4), the process proceeds to step S3, the data is excluded as data not subject to division or integration, and the process returns to step S1. When the rules are matched (YES in S4), it is determined whether or not there are a plurality of matching rules (step S5). If one rule is applicable (NO in S5), the change is made according to the rule (step S6). If a plurality of rules are met (YES in S5), the change is made according to the high priority rule according to the weighting in FIG. 6 (step S7).

図2A及び図2Bの例では、プログラムAとプログラムBからのアクセスでデータ項目レベルのアクセスをみると、アクセスしている項目が異なっている。図2Bでは、プログラムAがテーブルXのデータ項目名:項目1及びデータ項目名:項目2をアクセス(図2Bでは参照(R)の表記)しており、プログラムBがテーブルXのデータ項目名:項目3、データ項目名:項目4、及びデータ項目名:項目5をアクセス(図2Bでは参照(R)の表記)しており、プログラムAとプログラムBとでアクセスしている項目が異なっている。 In the examples of FIGS. 2A and 2B, when the access from the program A and the access from the program B is viewed at the data item level, the items being accessed are different. In FIG. 2B, the program A accesses the data item name: item 1 and the data item name: item 2 in the table X (reference (R) notation in FIG. 2B), and the program B accesses the data item name in the table X: Item 3, data item name: item 4, and data item name: item 5 are accessed (reference (R) notation in FIG. 2B), and the accessed items are different between program A and program B. ..

この状況から、図7A及び図7Bで示すようにプログラム観点上は、プログラムAからアクセスされているデータ項目だけをまとめたテーブルX’とプログラムBからアクセスされているデータ項目だけをまとめたテーブルX”に分割ができる。しかしながら、図3Bに示すような分離不可データとして、テーブルXのデータ項目2とデータ項目3とが指定されている場合は、優先度に従ってルールを適用する。 From this situation, as shown in FIGS. 7A and 7B, from the viewpoint of the program, a table X'that summarizes only the data items accessed from the program A and a table X that summarizes only the data items accessed from the program B. However, when the data item 2 and the data item 3 of the table X are specified as the inseparable data as shown in FIG. 3B, the rule is applied according to the priority.

この処理を異なるプログラムからアクセスされているデータ分だけ繰り返すことで、分割結果16を得られる。分割結果自体は、変更後のテーブル定義が分かる形式とする。 By repeating this process for the data accessed from different programs, the division result 16 can be obtained. The division result itself should be in a format that allows you to understand the changed table definition.

(実施形態の効果)
本実施形態のデータベース分割システムによれば、テーブル分割部3がデータアクセス解析部1の解析結果及び業務分析部2の分析結果を用いてテーブルのデータ分割を行う。すなわち、プログラムロジック観点と業務観点という2つの観点の組合せを用いて、テーブルのデータ分割を行う。
(Effect of embodiment)
According to the database partitioning system of the present embodiment, the table partitioning unit 3 divides the data of the table using the analysis result of the data access analysis unit 1 and the analysis result of the business analysis unit 2. That is, the data of the table is divided by using the combination of the two viewpoints of the program logic viewpoint and the business viewpoint.

これにより、業務処理にあった疎結合なデータベースを効率的に得ることができる。今まで業務の有識者がプログラムを1つ1つ確認することが必要だった手間を、大幅に削減することができる。 As a result, a loosely coupled database suitable for business processing can be efficiently obtained. It is possible to significantly reduce the time and effort required for business experts to check each program one by one.

〔その他の実施形態〕
以上、第1実施形態を説明したが、本発明はこれに限定されるものではない。上述した第1実施形態のデータベース分割システムは、情報処理装置に、図1Bのデータアクセス解析部1、業務分析部2及びテーブル分割部3などの機能を実現させるデータベース分割プログラムを読み込んで実行させることによっても、実現され得る。すなわちCPU(Central Processing Unit)と、メモリと、を含む情報処理装置において、メモリが記憶するデータアクセス解析手段、業務分析手段及びテーブル分割手段などの機能を実現させるデータベース分割プログラムを読み込んで、CPUで実行させることによっても、第1実施形態のデータベース分割システムは実現され得る。
[Other Embodiments]
Although the first embodiment has been described above, the present invention is not limited thereto. The database partitioning system of the first embodiment described above causes the information processing apparatus to read and execute a database partitioning program that realizes functions such as the data access analysis unit 1, the business analysis unit 2, and the table partitioning unit 3 of FIG. 1B. It can also be realized by. That is, in an information processing device including a CPU (Central Processing Unit) and a memory, a database partitioning program that realizes functions such as data access analysis means, business analysis means, and table partitioning means stored in the memory is read by the CPU. The database partitioning system of the first embodiment can also be realized by executing it.

また、このようなプログラムは、プログラムを記録した記録媒体の形態で、流通され得る。このプログラムは、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記録デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD−ROM(Compact Disc Read Only Memory)などの光学記録媒体などの形態で、流通され得る。 In addition, such a program can be distributed in the form of a recording medium on which the program is recorded. This program is a general-purpose semiconductor recording device such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), a magnetic recording medium such as a flexible disk, or a CD-ROM (Compact Disc Read Only Memory). ), Etc., can be distributed in the form of an optical recording medium or the like.

以上、本発明の好ましい実施形態を説明したが、本発明はこれに限定されるものではない。本実施形態でテーブル分割部3は、データアクセス解析部1の解析結果と業務分析部2の分析結果を用いてデータ分割を行うものとして説明したが、本発明はこれに限られない。例えばテーブル分割部3は、データアクセス解析部1の解析結果と業務分析部2の分析結果を参照し、業務の有識者に対して図6のいずれかのルールに該当することを提示すること、実際のデータ分割は有識者の承認の後に実行するように構成することも考えられる。このようなデータベースの分割システムにおいても、有識者の負担を大幅に削減することができる。特許請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲に含まれることはいうまでもない。 Although the preferred embodiment of the present invention has been described above, the present invention is not limited thereto. In the present embodiment, the table partitioning unit 3 has been described as performing data partitioning using the analysis result of the data access analysis unit 1 and the analysis result of the business analysis unit 2, but the present invention is not limited to this. For example, the table partitioning unit 3 refers to the analysis result of the data access analysis unit 1 and the analysis result of the business analysis unit 2, and presents to a business expert that any of the rules shown in FIG. It is also conceivable to configure the data partitioning to be performed after the approval of an expert. Even in such a database partitioning system, the burden on experts can be significantly reduced. It goes without saying that various modifications are possible within the scope of the invention described in the claims, and these are also included in the scope of the present invention.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)アプリケーションのソースコードとデータベースのテーブル構造の定義情報を入力として構造解析を行うデータアクセス解析手段と、
実業務の特性情報や稼働ログを入力として業務観点の分析を行う業務分析手段と、
データアクセス解析手段の解析結果及び業務分析手段の分析結果を用いてテーブルのデータ分割を行うテーブル分割手段とを含む、
データベースの分割システム。
(付記2)前記テーブル分割手段は、所定のルールに合致するかを判定し、合致するときには前記データ分割を行う、付記1に記載のデータベースの分割システム。
(付記3)前記テーブル分割手段は、複数の所定のルールに合致するかを判定した後で、複数の所定のルールに合致するときには前記所定のルールごとの重みづけに従って優先度の高いルールに沿ったデータ分割を行う、付記2に記載のデータベースの分割システム。
(付記4)前記データアクセス解析手段の解析結果において、同じテーブルに対してアクセスしているプログラムが同一業務グループによるものであるときは、データ分割の対象外とする、付記1乃至3のいずれか一つに記載のデータベースの分割システム。
(付記5)アプリケーションのソースコードとデータベースのテーブル構造の定義情報を入力として構造解析を行ってデータアクセスを解析し、
実業務の特性情報や稼働ログを入力として業務観点の分析を行い、
前記データアクセスの解析結果と、前記業務観点の分析結果とを用いてテーブルのデータ分割を行う、
データベースの分割方法。
(付記6)前記データ分割は、所定のルールに合致するかを判定した後で、前記所定のルールに合致するときに行われる、付記5に記載のデータベースの分割方法。
(付記7)前記データ分割は、複数の所定のルールに合致するかを判定した後で、複数の所定のルールに合致するときには前記所定のルールごとに設定された優先度に基づいて決定された一つのルールに沿ったデータ分割を行う、付記6に記載のデータベースの分割方法。
(付記8)前記データアクセスの解析結果において、同じテーブルに対してアクセスしているプログラムが同一業務グループによるものであるときは、データ分割の対象外とする、付記5乃至7のいずれか一つに記載のデータベースの分割方法。
(付記9)情報処理装置を、
アプリケーションのソースコードとデータベースのテーブル構造の定義情報を入力として構造解析を行うデータアクセス解析手段と、実業務の特性情報や稼働ログを入力として業務観点の分析を行う業務分析手段と、データアクセス解析手段の解析結果及び業務分析手段の分析結果を用いてテーブルのデータ分割を行うテーブル分割手段として機能させる、
データベースの分割プログラム。
(付記10)前記テーブル分割手段が、所定のルールに合致するかを判定し、合致するときには前記データ分割を行うように機能させる、付記9に記載のデータベースの分割プログラム。
(付記11)前記テーブル分割手段が、複数の所定のルールに合致するかを判定した後で、複数の所定のルールに合致するときには前記所定のルールごとに設定された優先度に基づいて決定された一つのルールに沿ったデータ分割を行うように機能させる、付記10に記載のデータベースの分割プログラム。
(付記12)前記データアクセス解析手段の解析結果において、同じテーブルに対してアクセスしているプログラムが同一業務グループによるものであるときは、データ分割の対象外とする、付記9乃至11のいずれか一つに記載のデータベースの分割プログラム。
Some or all of the above embodiments may also be described, but not limited to:
(Appendix 1) Data access analysis means that performs structural analysis by inputting application source code and database table structure definition information, and
A business analysis method that analyzes business perspectives by inputting characteristic information and operation logs of actual business,
Includes a table partitioning means that divides table data using the analysis results of the data access analysis means and the analysis results of the business analysis means.
Database partitioning system.
(Supplementary Note 2) The database partitioning system according to Appendix 1, wherein the table partitioning means determines whether or not a predetermined rule is met, and if the table partitioning means matches, the data partitioning is performed.
(Appendix 3) After determining whether the table partitioning means matches a plurality of predetermined rules, when the table dividing means matches a plurality of predetermined rules, the table partitioning means follows the high priority rule according to the weighting for each predetermined rule. The database partitioning system according to Appendix 2, which divides the data.
(Appendix 4) In the analysis result of the data access analysis means, if the programs accessing the same table are from the same business group, the data division is excluded from any of the appendices 1 to 3. The database partitioning system described in one.
(Appendix 5) Data access is analyzed by performing structural analysis using the application source code and database table structure definition information as input.
We analyze the business viewpoint by inputting the characteristic information and operation log of the actual business.
Data division of the table is performed using the analysis result of the data access and the analysis result of the business viewpoint.
How to partition the database.
(Appendix 6) The method for dividing a database according to Appendix 5, wherein the data division is performed when the data division meets the predetermined rule after determining whether the data division meets the predetermined rule.
(Appendix 7) The data division is determined based on the priority set for each of the predetermined rules when the data division matches the plurality of predetermined rules after determining whether the data division matches the plurality of predetermined rules. The method for dividing a database according to Appendix 6, wherein data division is performed according to one rule.
(Appendix 8) In the analysis result of the data access, if the programs accessing the same table are from the same business group, any one of the appendices 5 to 7 is excluded from the data division. How to split the database as described in.
(Appendix 9) Information processing device
Data access analysis means that performs structural analysis by inputting application source code and database table structure definition information, business analysis means that analyzes business viewpoints by inputting actual business characteristic information and operation logs, and data access analysis It functions as a table division means for dividing table data using the analysis result of the means and the analysis result of the business analysis means.
Database partition program.
(Supplementary Note 10) The database partitioning program according to Appendix 9, wherein the table partitioning means determines whether or not the table partitioning means conforms to a predetermined rule, and when the table partitioning means matches, causes the table partitioning means to function to perform the data partitioning.
(Appendix 11) After determining whether the table partitioning means matches a plurality of predetermined rules, when the table dividing means matches a plurality of predetermined rules, it is determined based on the priority set for each of the predetermined rules. The database partitioning program according to Appendix 10, which functions to perform data partitioning according to one rule.
(Appendix 12) In the analysis result of the data access analysis means, if the programs accessing the same table are from the same business group, any of the appendices 9 to 11 is excluded from the data division. The database partitioning program described in one.

1 データアクセス解析部
2 業務分析部
3 テーブル分割部
11 ソースコード
12 テーブル定義
13 特性情報
14 稼働ログ
15 重みづけ
16 分割結果
1 Data access analysis department 2 Business analysis department 3 Table division department 11 Source code 12 Table definition 13 Characteristic information 14 Operation log 15 Weighting 16 Division result

Claims (10)

アプリケーションのソースコードとデータベースのテーブル構造の定義情報を入力として構造解析を行うデータアクセス解析手段と、実業務の特性情報や稼働ログを入力として業務観点の分析を行う業務分析手段と、データアクセス解析手段の解析結果及び業務分析手段の分析結果を用いてテーブルのデータ分割を行うテーブル分割手段とを含む、
データベースの分割システム。
Data access analysis means that performs structural analysis by inputting application source code and database table structure definition information, business analysis means that analyzes business viewpoints by inputting actual business characteristic information and operation logs, and data access analysis Including the table division means for dividing the data of the table using the analysis result of the means and the analysis result of the business analysis means.
Database partitioning system.
前記テーブル分割手段は、所定のルールに合致するかを判定し、合致するときには前記データ分割を行う、
請求項1に記載のデータベースの分割システム。
The table partitioning means determines whether or not the predetermined rule is met, and if so, performs the data partitioning.
The database partitioning system according to claim 1.
前記テーブル分割手段は、複数の所定のルールに合致するかを判定した後で、複数の所定のルールに合致するときには前記所定のルールごとの重みづけに従って優先度の高いルールに沿ったデータ分割を行う、
請求項2に記載のデータベースの分割システム。
After determining whether the table partitioning means matches a plurality of predetermined rules, when the table partitioning means matches the plurality of predetermined rules, the table partitioning means divides the data according to the high priority rule according to the weighting for each predetermined rule. Do, do
The database partitioning system according to claim 2.
前記データアクセス解析手段の解析結果において、同じテーブルに対してアクセスしているプログラムが同一業務グループによるものであるときは、データ分割の対象外とする、
請求項1乃至3のいずれか一項に記載のデータベースの分割システム。
In the analysis result of the data access analysis means, if the programs accessing the same table are from the same business group, they are excluded from the data division.
The database partitioning system according to any one of claims 1 to 3.
アプリケーションのソースコードとデータベースのテーブル構造の定義情報を入力として構造解析を行ってデータアクセスを解析し、
実業務の特性情報や稼働ログを入力として業務観点の分析を行い、
前記データアクセスの解析結果と、前記業務観点の分析結果とを用いてテーブルのデータ分割を行う、
データベースの分割方法。
Data access is analyzed by performing structural analysis using the application source code and database table structure definition information as input.
We analyze the business viewpoint by inputting the characteristic information and operation log of the actual business.
Data division of the table is performed using the analysis result of the data access and the analysis result of the business viewpoint.
How to partition the database.
前記データ分割は、所定のルールに合致するかを判定した後で、前記所定のルールに合致するときに行われる、
請求項5に記載のデータベースの分割方法。
The data division is performed when the predetermined rule is met after determining whether the predetermined rule is met.
The method for partitioning a database according to claim 5.
前記データ分割は、複数の所定のルールに合致するかを判定した後で、複数の所定のルールに合致するときには前記所定のルールごとに設定された優先度に基づいて決定された一つのルールに沿ったデータ分割を行う、
請求項6に記載のデータベースの分割方法。
After determining whether the data division matches a plurality of predetermined rules, when the data division matches a plurality of predetermined rules, the data division is divided into one rule determined based on the priority set for each predetermined rule. Perform data division along
The method for partitioning a database according to claim 6.
前記データアクセスの解析結果において、同じテーブルに対してアクセスしているプログラムが同一業務グループによるものであるときは、データ分割の対象外とする、
請求項5乃至7のいずれか一項に記載のデータベースの分割方法。
In the data access analysis result, if the programs accessing the same table are from the same business group, they are excluded from the data division.
The method for partitioning a database according to any one of claims 5 to 7.
情報処理装置を、
アプリケーションのソースコードとデータベースのテーブル構造の定義情報を入力として構造解析を行うデータアクセス解析手段と、実業務の特性情報や稼働ログを入力として業務観点の分析を行う業務分析手段と、データアクセス解析手段の解析結果及び業務分析手段の分析結果を用いてテーブルのデータ分割を行うテーブル分割手段として機能させる、
データベースの分割プログラム。
Information processing device,
Data access analysis means that performs structural analysis by inputting application source code and database table structure definition information, business analysis means that analyzes business viewpoints by inputting actual business characteristic information and operation logs, and data access analysis It functions as a table division means for dividing table data using the analysis result of the means and the analysis result of the business analysis means.
Database partition program.
前記テーブル分割手段が、所定のルールに合致するかを判定し、合致するときには前記データ分割を行うように機能させる、
請求項9に記載のデータベースの分割プログラム。
It is determined whether the table partitioning means matches a predetermined rule, and if it matches, the data partitioning is performed.
The database partitioning program according to claim 9.
JP2019176541A 2019-09-27 2019-09-27 Database partitioning system, database partitioning method, and database partitioning program Active JP7427896B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019176541A JP7427896B2 (en) 2019-09-27 2019-09-27 Database partitioning system, database partitioning method, and database partitioning program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019176541A JP7427896B2 (en) 2019-09-27 2019-09-27 Database partitioning system, database partitioning method, and database partitioning program

Publications (2)

Publication Number Publication Date
JP2021056570A true JP2021056570A (en) 2021-04-08
JP7427896B2 JP7427896B2 (en) 2024-02-06

Family

ID=75270733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019176541A Active JP7427896B2 (en) 2019-09-27 2019-09-27 Database partitioning system, database partitioning method, and database partitioning program

Country Status (1)

Country Link
JP (1) JP7427896B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114528288A (en) * 2021-08-31 2022-05-24 天津工业大学 Design method of multi-type organ chip database
JP7484038B2 (en) 2019-11-21 2024-05-16 日本電気株式会社 Data division device, data division method, and program.

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015036865A (en) * 2013-08-12 2015-02-23 富士通株式会社 Data access analysis program, data access analysis method, and data access analysis apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015036865A (en) * 2013-08-12 2015-02-23 富士通株式会社 Data access analysis program, data access analysis method, and data access analysis apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佐藤 賢、青山 幹雄: "「業務分析とデータ分析を統合した業務システムモダナイゼーション方法の提案と評価」", 情報処理学会 シンポジウム ソフトウェアエンジニアリングシンポジウム 2016, JPN6023031678, 24 August 2016 (2016-08-24), pages 153 - 160, ISSN: 0005118411 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7484038B2 (en) 2019-11-21 2024-05-16 日本電気株式会社 Data division device, data division method, and program.
CN114528288A (en) * 2021-08-31 2022-05-24 天津工业大学 Design method of multi-type organ chip database

Also Published As

Publication number Publication date
JP7427896B2 (en) 2024-02-06

Similar Documents

Publication Publication Date Title
US20200356901A1 (en) Target variable distribution-based acceptance of machine learning test data sets
Verbeek et al. Prom 6: The process mining toolkit
JP2021057072A (en) Processing data from multiple sources
US10713589B1 (en) Consistent sort-based record-level shuffling of machine learning data
JP6597066B2 (en) Personal information anonymization method, program, and information processing apparatus
US9477512B2 (en) Task-based modeling for parallel data integration
US20210182263A1 (en) Systems and methods for performing data processing operations using variable level parallelism
KR20130095250A (en) Processing related datasets
US9652227B2 (en) Assigning an annotation to a variable and a statement in a source code of a software application
CN106557307B (en) Service data processing method and system
Cheng et al. Efficient event correlation over distributed systems
JP2021028771A (en) Database server device, server system and request processing method
JP2021056570A (en) Database division system, database division method, and database division program
US20220121665A1 (en) Computerized Methods and Systems for Selecting a View of Query Results
JP6221584B2 (en) Processing parallel device, processing parallel method and program
JP6280270B1 (en) Internal transaction determination device, internal transaction determination method, and internal transaction determination program
JP5637071B2 (en) Processing program, processing method, and processing apparatus
PURDILĂ et al. MR-Tree-A Scalable MapReduce Algorithm for Building Decision Trees.
JP6393411B2 (en) Data analysis support system and data analysis support method
JP6422346B2 (en) Program generation apparatus and program generation method
JP6501932B2 (en) Internal transaction judging device, internal transaction judging method and internal transaction judging program
US11610151B2 (en) Distribution system, data management apparatus, data management method, and computer-readable recording medium
JP6700452B2 (en) Data aggregation device, data aggregation method, and data aggregation program
JP6824303B2 (en) Data reference authority management device, data reference authority management method and data reference authority management program
JP6600368B2 (en) Data conversion apparatus, data conversion method, and data conversion program

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211015

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230929

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240108

R151 Written notification of patent or utility model registration

Ref document number: 7427896

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151