JP2006031631A - Data base processing system and method, and program for data base processing - Google Patents
Data base processing system and method, and program for data base processing Download PDFInfo
- Publication number
- JP2006031631A JP2006031631A JP2004213407A JP2004213407A JP2006031631A JP 2006031631 A JP2006031631 A JP 2006031631A JP 2004213407 A JP2004213407 A JP 2004213407A JP 2004213407 A JP2004213407 A JP 2004213407A JP 2006031631 A JP2006031631 A JP 2006031631A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- database
- transaction data
- data
- grouping
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 180
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000008569 process Effects 0.000 claims abstract description 31
- 238000000605 extraction Methods 0.000 claims abstract description 16
- 238000003672 processing method Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 20
- 238000004458 analytical method Methods 0.000 description 17
- 238000013500 data storage Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 7
- 230000002596 correlated effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、データベース処理システムにかかり、特に、大量のトランザクションデータに対してデータベース照合等の検索処理を行って出力結果を得るバッチシステムやオンラインシステムなどのデータベース処理システムに関する。また、データベース処理方法及びデータベース処理用プログラムに関する。 The present invention relates to a database processing system, and more particularly to a database processing system such as a batch system or an online system that obtains an output result by performing a search process such as database collation on a large amount of transaction data. The present invention also relates to a database processing method and a database processing program.
従来より、データベース処理において、その処理を高速化する技術開発が進められ、例えば以下の2つの技術が存在した。 Conventionally, in database processing, technological development for speeding up the processing has been advanced. For example, the following two technologies existed.
まず、「キャッシュ技術」という技術は、一度アクセスされたデータベース上のデータをメモリ上に一定期間蓄え、次に同じデータがアクセスされたときにディスクアクセスを行わずメモリ上のデータにアクセスして処理を高速化するという技術である。しかし、かかるキャッシュ技術においては、一般的にコピーされるアクセス対象は物理ブロックであり、トランザクションデータのキー分布が広範囲に分布し、キャッシュ容量と比して分布が大きい場合には、キャッシュヒット率が低下する、という問題が生じる。 First, the technology called “cache technology” stores the data on the database once accessed in the memory for a certain period of time, and then accesses and processes the data on the memory without accessing the disk when the same data is accessed. It is a technology that speeds up. However, in such a cache technology, generally, the access target to be copied is a physical block, the key distribution of transaction data is distributed over a wide range, and if the distribution is large compared to the cache capacity, the cache hit rate is The problem of being reduced arises.
また、「事前ソート技術」という技術は、データベースアクセスを行うキー順にあらかじめトランザクションデータの並び替えを行い、トランザクションデータのキー値がブレイクするタイミングでのみDBアクセスを行うように業務ロジックを搭載し、処理を高速化するという技術である。しかし、かかる事前ソート技術においては、トランザクションデータの処理順序に意味があり、ソートが適さない処理には適用できないという問題が生じ、また、トランザクションデータ中のキー分布が広範でキー値の連続率が低い場合、ソートを行うことでシステム全体として結果的に処理時間が増大し逆効果となる場合があるという問題が生じる。さらに、事前にソートが可能なバッチ処理のみの適用となり汎用性に欠けるという問題や、業務ロジックにてブレイク処理の対応が必要となる、という問題も生じる。 In addition, the technology called “pre-sorting technology” is equipped with business logic so that DB data is accessed only at the timing when the key value of the transaction data breaks in advance in the order of the key for database access and the key value of the transaction data breaks. It is a technology that speeds up. However, such a pre-sort technique has a problem that the processing order of transaction data is meaningful and cannot be applied to processing that is not suitable for sorting, and the key distribution in transaction data is wide and the continuity rate of key values is high. If it is low, sorting causes a problem that processing time increases as a result of the entire system, which may be counterproductive. Furthermore, there are problems that only batch processing that can be sorted in advance is applied and lacks versatility, and that break processing is required in business logic.
また、下記の特許文献1には、利用者の指示情報に基づいて当該利用者が必要とする業務的な目的をもった特定のデータベースを作成し、かかるデータベースに対する処理を行うシステムが開示されている。しかし、かかる構成では、利用者が変われば目的とするデータベースも変わるため、新たに作成するデータベースに対する効果的な処理は期待できない、と言う問題が生じる。
以上より、上述した従来のデータベース検索システムでは、検索対象データの母体件数が多い場合には1件あたりの処理に時間がかかり、大量のトランザクションともなれば全体の処理時間がかかっていたため、キャッシュ技術などを用いて物理的に高速な装置を効果的に用いるなどの手法で対応を行ってきたが、かかる手法ではシステムに一律汎用的に作用するため、効果のある適用領域には条件と限界があった。すなわち、全てのデータベース処理に対して処理の高速化を図ることができない。 As described above, in the above-described conventional database search system, it takes time to process each case when the number of base data of the search target data is large, and the entire processing time is required for a large number of transactions. However, since this method works universally on the system, there are conditions and limitations in the effective application area. there were. That is, it is impossible to increase the processing speed for all database processing.
また、業務特性を考慮することで、ある特定の環境下では著しく効率化することが可能となる場合があるが、このような特性は一般的に業務固有のアプローチが必要であり、特性に応じた分析を行った後に効果度合いを判断するというように個別対応が多く、やはり全てのデータベース処理に対する高速化を図ることができない。 Considering business characteristics, it may be possible to improve the efficiency significantly in a specific environment. However, such characteristics generally require a business-specific approach, and depending on the characteristics. In other words, there are many individual correspondences such as judging the degree of effect after performing the analysis, and it is impossible to speed up all the database processing.
このため、本発明では、上記従来例の有する不都合を改善し、特に、あらゆるデータベース処理システムに対して、全体での処理の高速化を図ることができるデータベース処理システムを提供することをその目的とする。 Therefore, the present invention has an object to provide a database processing system that can improve the disadvantages of the above-described conventional example, and in particular, can increase the overall processing speed for any database processing system. To do.
そこで、本発明であるデータベース処理システムの一形態としては、
マスタデータベースに対する一連の処理の集合から成るトランザクションデータを予め定められたルールにてグループ化を行うグループ化手段と、
グループ化された特定のグループにおけるトランザクションデータに基づいてマスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出手段と、
サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理手段と、
を備えたことを特徴としている。
Therefore, as one form of the database processing system according to the present invention,
Grouping means for grouping transaction data consisting of a set of processes for the master database according to a predetermined rule;
A master extraction means for extracting a sub-database including data capable of processing the transaction data from the master database based on the transaction data in the grouped specific group;
Transaction processing means for processing transaction data grouped in the sub-database;
It is characterized by having.
そして、上記グループ化手段が、トランザクションデータの処理対象となるマスタデータベースに対する処理特性に応じてグループ化を行う、という構成にしてもよい。具体的には、上記グループ化手段が、トランザクションデータ内に存在するマスタデータベースに対する検索キーに関連するデータに基づいてグループ化を行う、という構成にしてもよい。 The grouping means may be configured to perform grouping according to processing characteristics for a master database that is a processing target of transaction data. Specifically, the grouping unit may perform grouping based on data related to a search key for a master database existing in transaction data.
さらに、上記構成に加えて、
グループ化手段が、グループ化に用いる予め定められたルールを複数設定すると共に、これら複数のルールのうちの全部又は一部を利用することによってグループ数が予め定められた数値範囲になるようグループ化を行う、という構成にしてもよい。
In addition to the above configuration,
The grouping means sets a plurality of predetermined rules to be used for grouping, and uses all or a part of the plurality of rules so that the number of groups falls within a predetermined numerical range It may be configured to perform.
上記構成にすることにより、まず、マスタ引き当てのキー値や処理の時間帯など、トランザクションデータの特徴値に応じてグループ化するためのルールが予め設定されており、これに基づいて複数のグループにグループ化される。このとき、所定の数のグループに分けられるよう、複数のルールを用いてグループ化を行う。続いて、それぞれのグループ内におけるトランザクションデータに共通する特性に基づいて、マスタデータベースから一時的なサブデータベースを抽出して生成する。特に、サブデータベースは、所定のグループにおけるトランザクションデータを処理可能なデータを含むよう抽出される。例えば、グループ化の際に用いられた上記検索キーを含むサブデータベースが生成される。その後、各グループに対応するサブデータベースに対して、当該グループのトランザクションデータの処理が実行される。 With the above configuration, rules for grouping according to transaction data feature values, such as master assigned key values and processing time zones, are set in advance. Grouped. At this time, grouping is performed using a plurality of rules so as to be divided into a predetermined number of groups. Subsequently, based on characteristics common to transaction data in each group, a temporary sub-database is extracted and generated from the master database. In particular, the sub-database is extracted to include data that can process transaction data in a predetermined group. For example, a sub-database including the search key used for grouping is generated. Thereafter, the transaction data of the group is processed for the sub-database corresponding to each group.
従って、サブデータベースにはトランザクションデータの処理を実行可能なデータが含まれている可能性が高いため、その処理の精度を維持しつつ、また、その母体数も少数であるため、処理時間の短縮化を図ることができ、かつ、トランザクション処理を行うコンピュータの負荷を軽減できる。 Therefore, it is highly possible that the sub-database contains data that can execute transaction data processing, so the processing accuracy is maintained and the number of hosts is small, so the processing time is reduced. And the load on the computer that performs transaction processing can be reduced.
また、本発明の別の形態として、データベース処理用プログラムを提供しており、当該プログラムは、
所定の記憶装置に記憶された処理対象となるデータ群であるマスタデータベースに対して、所定の記憶装置に記憶されたトランザクションデータの処理を行うコンピュータに、
マスタデータベースに対する一連の処理の集合から成るトランザクションデータを予め定められたルールにてグループ化を行うグループ化手段と、
グループ化された特定のグループにおけるトランザクションデータに基づいてマスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出手段と、
サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理手段と、を実現するためのプログラムである。
Further, as another embodiment of the present invention, a database processing program is provided, and the program is
A computer that processes transaction data stored in a predetermined storage device for a master database, which is a data group to be processed, stored in a predetermined storage device,
Grouping means for grouping transaction data consisting of a set of processes for the master database according to a predetermined rule;
A master extraction means for extracting a sub-database including data capable of processing the transaction data from the master database based on the transaction data in the grouped specific group;
And a transaction processing means for processing the transaction data grouped with respect to the sub-database.
さらに、本発明の別の形態として、データベース処理方法を提供しており、
コンピュータを用いて、所定の記憶装置に記憶された処理対象となるデータ群であるマスタデータベースに対して、所定の記憶装置に記憶されたトランザクションデータの処理を行うデータベース処理方法であって、
マスタデータベースに対する一連の処理の集合から成るトランザクションデータを予め定められたルールにてグループ化を行うグループ化工程と、
グループ化された特定のグループにおけるトランザクションデータに基づいてマスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出工程と、
サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理工程と、を有することを特徴としている。
Furthermore, as another aspect of the present invention, a database processing method is provided,
A database processing method for processing transaction data stored in a predetermined storage device with respect to a master database that is a processing target data group stored in a predetermined storage device using a computer,
A grouping step of grouping transaction data consisting of a set of processes for the master database according to a predetermined rule;
A master extraction step for extracting a sub-database including data capable of processing the transaction data from the master database based on the transaction data in the grouped specific group;
A transaction processing step for processing transaction data grouped in the sub-database.
上記構成のデータベース処理プログラム、及び、データベース処理方法であっても、上述したデータベース処理システム同様に作用するため、上記目的を達成することができる。 Even the database processing program and the database processing method configured as described above operate in the same manner as the above-described database processing system, and thus the above-described object can be achieved.
本発明は、以上のように構成され機能するので、これによると、あらゆるトランザクション処理を行うシステムに対して、データベース処理の精度を維持しつつ、また、処理対象の母体数も少数となることから処理時間の短縮化を図ることができ、かつ、トランザクション処理を行うコンピュータの付加を軽減できる、という従来にない優れた効果を有する。 Since the present invention is configured and functions as described above, according to this, the accuracy of database processing is maintained for a system that performs any transaction processing, and the number of bases to be processed is also small. The present invention has an unprecedented excellent effect that the processing time can be shortened and the addition of a computer for performing transaction processing can be reduced.
本発明であるデータベース処理システムは、例えば、データベース照合等の検索処理を行って出力結果を得るバッチシステムまたはオンラインシステムである。そして、トランザクションデータをある指標値でグループ分けし、グループ毎にトランザクションデータの分布特性に応じたある規則性から本来のデータベース(マスタデータベース)から別の単一または複数の一時データベース(サブデータベース)を自動的に生成し、生成された一時データベース群を用いて本来の処理と同一または同様の結果を得る、ことを特徴としている。これにより、システム全体として少ない処理時間で処理結果を得ることができ、システムへの負担を抑制しつつ、データベース処理の高速化を図ることができる。 The database processing system according to the present invention is, for example, a batch system or an online system that obtains an output result by performing a search process such as database collation. Then, the transaction data is grouped by a certain index value, and from the regular database (master database) to another single or multiple temporary databases (sub-databases) according to the distribution characteristics of the transaction data for each group It is characterized by being automatically generated and obtaining the same or similar result as the original process using the generated temporary database group. As a result, processing results can be obtained in a short processing time for the entire system, and the speed of database processing can be increased while suppressing the burden on the system.
そして、上述したようにすることにより、コアとなる業務プログラムに手を入れることなく、従来の汎用的手法による限界を超えた処理の高速化という効果を得ることができる。特に、本発明はバッチ処理とオンライン問合せ処理の双方に適用が可能であり、スループットの向上を図ることができる。これは一定の負荷がかかっている環境下において、オンライン処理においてはレスポンス平均値の向上、バッチ処理においてはエラップスの向上に繋がる。なお、バッチ処理の方がオンライン処理よりも業務特性の分析精度を上げやすいため、効果の期待度は大きい。以下、システムの構成について、実施例を参照して詳述する。 And by doing as mentioned above, the effect of speeding up the process beyond the limit by the conventional general-purpose method can be acquired, without putting a hand in the business program used as a core. In particular, the present invention can be applied to both batch processing and online inquiry processing, and throughput can be improved. This leads to an improvement in average response value in online processing and an improvement in Elax in batch processing under an environment where a certain load is applied. Since batch processing is easier to improve the analysis accuracy of business characteristics than online processing, the expectation of the effect is large. Hereinafter, the configuration of the system will be described in detail with reference to examples.
本発明の第1の実施例を、図1乃至図7を参照して説明する。図1は、データベース処理システムとなるコンピュータの構成を示す機能ブロック図である。図2は、データベース処理の様子を示す説明図である。図3は、データベースの構成を示す説明図である。図4は、システムの動作を示す説明図である。図5は、動作の一部を示す説明図である。図6乃至図7は、本発明の効果を示すための説明図である。 A first embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a functional block diagram showing a configuration of a computer that becomes a database processing system. FIG. 2 is an explanatory diagram showing a state of database processing. FIG. 3 is an explanatory diagram showing the structure of the database. FIG. 4 is an explanatory diagram showing the operation of the system. FIG. 5 is an explanatory diagram showing a part of the operation. 6 to 7 are explanatory diagrams for illustrating the effects of the present invention.
本実施例で説明するデータベース処理システムは、上述したように、例えば、データベース照合等の検索処理を行って出力結果を得るバッチシステム、あるいは、オンラインシステムである。但し、かかるシステムに限定されることなく、データベースに対して予め定められた複数のトランザクションデータの処理を行うシステムであれば、いかなるシステムでもよい。 As described above, the database processing system described in the present embodiment is, for example, a batch system or an online system that obtains an output result by performing a search process such as database collation. However, the present invention is not limited to such a system, and any system may be used as long as it is a system that processes a plurality of predetermined transaction data for a database.
ここで、トランザクションデータに基づく検索処理とは、例えば、図2に示すように「処理A」にて示し、データベースをマスタ表のような単純な構成(商品マスタ)とし、入力されたコード値(商品コード)をキーとして名称(商品名称)をマスタから引き当てる処理を想定する。そして、この「処理A」に想定する処理が、本実施例では後述するようにサブデータベースに対して実行される。なお、トランザクションデータの項目には「商品コード」以外に、その他の関連情報も存在している。 Here, the search processing based on transaction data is, for example, indicated by “Processing A” as shown in FIG. 2, the database has a simple configuration (product master) like a master table, and an input code value ( Assume a process of assigning a name (product name) from a master using a product code) as a key. Then, the process assumed for the “process A” is executed on the sub-database as described later in this embodiment. In addition to the “product code”, other related information exists in the transaction data item.
<構成>
本発明であるデータベース処理システムは、図1に示すように、コンピュータ1にて構築される。そして、このコンピュータ1は、一般的なコンピュータにて構成されており、演算処理装置であるCPU10、記憶装置であるハードディスク20やRAMなどのメモリ30を備えている。そして、CPU10には、本発明の特徴となるデータベース処理を実現するためのデータベース処理用プログラムが組み込まれることで、以下に説明する各処理部11〜15が構築されることとなる。また、ハードディスク20には、予め設定されているデータを記憶する各記憶部21〜23が形成され、メモリ30には、上記各処理部11〜15の作用により生成されたデータを記憶する各記憶部31〜33が形成されている。上記構成について、以下に詳述する。
<Configuration>
The database processing system according to the present invention is constructed by a
まず、ハードディスク20には、処理対象となるデータベースであるマスタデータベースを記憶するマスタデータベース記憶部23が形成されている。また、このマスタデータベースに対する一連の処理の集合から成るトランザクションデータを記憶するトランザクションデータ記憶部21が形成されている。さらには、このトランザクションデータ記憶部21に記憶されているトランザクションデータを、グループ化するための区分け基準を表すグループ化ルールデータを記憶するグループ化ルールデータ記憶部22が形成されている。このグループ化ルールデータは、後述するディスパッチ処理部11にてグループ化する際に用いられるデータであるため、当該ディスパッチ処理部11の説明時に詳述する。なお、ハードディスク20に記憶されている上記各データは、コンピュータ1に接続された他のコンピュータの記憶装置に記憶されていてもよい。
First, a master
次に、CPU10には、上述したように、所定のプログラムが組み込まれることで、マスタデータベースに対する一連の処理の集合から成るトランザクションデータを予め定められたルールにてグループ化を行うディスパッチ処理部11(グループ化手段)と、このグループ化したトランザクションデータを分析するトランザクション分析処理部12と、グループ化された特定のグループにおけるトランザクションデータに基づいてマスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出処理部13(マスタ抽出手段)と、サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理部14(トランザクション処理手段)と、この処理結果を出力する出力処理部15と、が構築されている。
Next, as described above, the
上記ディスパッチ処理部11は、トランザクションデータに対してある指標値(以下、グループ化関数と呼ぶ)でグループ化を行う。このとき、グループ化関数の引数の1つとして、トランザクションデータのマスタデータベースに対する処理特性に応じたデータが選択される。特に、トランザクションデータ内にデータベース検索キーの分布特性と相関関係を持ったものがあれば、その相関関係を持ったデータが関数の引数の1つとして選択される。すなわち、このようなグループ化関数を選択する指令が、上記グループ化ルールデータ記憶部22に記憶されているか、あるいは、ディスパッチ処理部11に予め組み込まれていて、上記グループ化関数に基づいて、ディスパッチ処理部11にてグループ化処理が行われる。
The
そして、具体的に、グループ化関数の性質としては、マスタ引き当てのキー値の分布特性を反映するものが望ましいため、例えば、トランザクションデータ中から「支社コード」などのように、適度に集約され、かつ「商品コード」の分布と相関関係のある変数が引数として複数選択される。そして、バッチ処理においては、データの処理順にこれら変数ができるだけ適度に連続して現れる性質を持っているものが望ましい。 And, specifically, as the property of the grouping function, it is desirable to reflect the distribution characteristics of the key value assigned by the master, so for example, it is moderately aggregated from the transaction data, such as “branch code”, In addition, a plurality of variables correlated with the distribution of “product code” are selected as arguments. In batch processing, it is desirable that these variables have a property of appearing as moderately as possible in the order of data processing.
なお、上述したような検索キーと相関関係を持った変数が全く何もない場合であっても、例えば以下に示すトランザクションデータのマスタデータベースに対する処理特性に応じたデータが、グループ化関数の引数の1つとして選択される。例えば、オンラインシステムでは、トランザクションデータ中の処理時間帯別や、アクセス端末番号の上2桁による分類、受付番号順に1万件ずつなど、また、バッチ処理システムでは、接続元やレコード番号等、入力データ種別毎、データ順に1万件ずつなどの指標が変数(引数)の候補となる。また「商品コードの頭2桁」などを変数に採用したり、前日の処理結果の統計情報を用いるなど日々変動型の条件を変数に採用することも応用例として検討対象となりうる。これらの変数を選択することは、ランダムな関数を選択することに比べて、一般的にはキー値分布と相関関係があると見込まれるためである。 Even if there is no variable correlated with the search key as described above, for example, the data corresponding to the processing characteristics of the transaction data shown below for the master database is the argument of the grouping function. Selected as one. For example, in the online system, by processing time zone in the transaction data, classification by the first two digits of the access terminal number, 10,000 items in order of the reception number, etc. In the batch processing system, input the connection source, record number, etc. Indicators such as 10,000 records for each data type and data order are candidates for variables (arguments). In addition, adopting a daily variable type condition as a variable, such as using “the first two digits of the product code” as a variable or using statistical information of the processing result of the previous day, can be considered as an application example. This is because selecting these variables is generally expected to correlate with the key value distribution as compared to selecting a random function.
そして、いかなるグループ化関数を用いるかは、システムの利用者がデータベースの特性やトランザクション処理の特性に応じて特定し、コンピュータ1に入力することにより設定される。
The grouping function to be used is set by the system user specifying it according to the characteristics of the database and the characteristics of transaction processing and inputting them to the
なお、バッチ処理においては、データの処理順に変数P=(P1,P2,…)が適度に連続している場合には、当初のグループ化関数Goのかわりに、Go(P)の値が変化する(Pがブレイクすると呼ぶ)毎にカウントアップするような関数Gを新たなグループ化関数として構成する。これは、バッチ処理においてはグループ毎の単位で処理がスケジュールされる傾向があるため、データの順序性が必要であったり、グループ分けの処理が高負荷となることによる弊害を回避するために用いる。 In batch processing, when the variable P = (P1, P2,...) Is moderately continuous in the data processing order, the value of Go (P) changes instead of the original grouping function Go. A function G that counts up each time (P is called a break) is configured as a new grouping function. This is because batch processing tends to be scheduled on a group-by-group basis, so that data ordering is necessary and adverse effects caused by high load on grouping processing are used. .
なお、以下では、トランザクションデータ全体の集合をT、マスタデータベース全体の集合をM、マスタ引き当て関数(TからM内のデータを引き当てる関数)をΦ、グループ化関数をG、Gの値域を{1,2,…,N}として表すこととする。 In the following, T is a set of all transaction data, M is a set of the entire master database, Φ is a master assigning function (function that assigns data in M from T), G is a grouping function, and {1 is a range of G , 2,..., N}.
そして、上記ディスパッチ処理部11は、グループ化したトランザクションデータを、メモリ31に形成されたグループ化トランザクションデータ記憶部31に記憶する。このとき、ディスパッチ処理部11は、グループ化の分割数などが適度な分布となるように、分割数が多すぎる場合は引数または返値の適度な集約や関数の不採用、分割数が少なすぎる時は引数の追加や別の関数を追加して、分割数を調整する。すなわち、グループ化を行う際に使用するルールを増減することによって、自動的にグループ数が予め定められた数値範囲になるようグループ化を行う機能を有する。これは、後述するように、サブデータベースがシステムのキャッシュを効果的に利用できるレベルの大きさまで小さくなるようにするためである。
The
続いて、上記トランザクション分析処理部12について説明する。このトランザクション分析処理部12は、グループ化した各トランザクションデータ(符号31内のデータ)に対して、走査分析を行い、データベース引き当て時のキー値として使用されているものを洗い出す。そして、このキー値として使用されているデータを、各グループ毎に、グループ分析データとしてメモリ30内のグループ分析データ記憶部32に記憶する。
Next, the transaction
続いて、上記マスタ抽出処理部13について説明する。このマスタ抽出処理部13は、グループ分けされたトランザクションデータのまとまり毎に、まとまり内のトランザクションデータの分布特性に応じた一時的なデータベース(以下、サブデータベースと呼ぶ)を、元の検索対象データベースであるマスタデータベースから自動的に生成する。このとき、上記トランザクション分析処理部12にて分析したグループ分析データ記憶部32に記憶されたキー値に基づいて、これに対応するデータをマスタデータベースから抽出することによって構成することができる。なお、サブデータベースはマスタデータベースの部分集合であり、グループ内のトランザクションデータを処理することが可能なデータを含んだものである。
Next, the master
具体的には、例えば、グループnに属するトランザクションの集合をTn、Tnのキーが参照するマスタデータベースの部分集合(サブデータベースと呼ぶ)をMnとする。バッチ処理においては、スケジュール単位としてのグループの処理開始前に全数調査を行ってMnを確定する。また、オンライン処理においては、初期予想と都度追加の2段階で構成する。このため、今処理しようとするトランザクションデータによる検索対象データが、サブデータベースに存在することを保証する、という構成を採る。その簡易的な手法として、トランザクションデータ1件毎にサブデータベース照会処理を実施する方法があるが、結果としてサブデータベース検索処理が2回発生することになるため本発明の効果が弱くなる。これを抑えるため、通常はトランザクションデータ中の別の条件ですでに存在することが保障されている別の指標値を選択し、その指標から外れたデータのみをサブデータベース検索処理で照会を行うように構成する。 Specifically, for example, a set of transactions belonging to group n is Tn, and a subset of the master database (referred to as a sub-database) referenced by the key of Tn is Mn. In batch processing, Mn is determined by conducting a total survey before starting processing of a group as a schedule unit. Further, the online processing is composed of two stages of initial prediction and addition each time. For this reason, a configuration is adopted in which it is ensured that search target data based on transaction data to be processed exists in the sub-database. As a simple method, there is a method of executing a sub database inquiry process for each transaction data. However, since the sub database search process occurs twice as a result, the effect of the present invention is weakened. To suppress this, usually select another index value that is guaranteed to already exist under different conditions in the transaction data, and only the data that deviates from that index is queried in the sub-database search process. Configure.
そして、上記で構成したMnの集合は、検索処理においてミスヒットしないように最低限必要なものとして構成したものであるから、これ以外に余分なデータが少量含まれていることは構わない。特にオンライン処理においては、TnのΦによる写像としてのΦ(Tn)を事前に生成することは困難であるから、ある程度の予想としてのM’nを事前に構成しておき、Mnを、Φ(Tn)とM’nの和集合として構成を行うこととなる。すると、一般的には図3に示すように、各サブデータベースの各々の集合は、属する要素に重なりを持っており、全サブデータベースを合わせても元のマスタデータベースになるとは限らない。 The set of Mn configured as described above is configured as a minimum necessary so as not to be mis-hit in the search process. Therefore, it is possible that a small amount of extra data is included in addition to this. In particular, in online processing, it is difficult to generate Φ (Tn) as a mapping of Φ of Tn in advance. Therefore, M′n as a certain degree of prediction is configured in advance, and Mn is expressed as Φ ( The configuration is performed as a union of Tn) and M′n. Then, generally, as shown in FIG. 3, each set of sub-databases has an overlapping element, and even if all sub-databases are combined, the original master database is not always obtained.
なお、サブデータベースの生成タイミングにおいては、バッチ処理においてはグループ毎にトランザクションデータの全数調査を事前に行って一括処理を行うことが最も効率的である。オンライン処理においては、上述したようにグループ分けのある程度の想定条件で事前に予想して作成しておき(この事前作成処理は必ずしも実施しなくてもよい)、足りないものを都度追加する方法で行う。この場合、足りているか足りていないかを常に判断する処理が別途必要となる。 It should be noted that at the generation timing of the sub-database, it is most efficient in batch processing to perform batch processing by checking all transaction data in advance for each group. In online processing, as described above, it is created in advance by forecasting under certain assumptions for grouping (this pre-creation processing does not necessarily have to be performed), and a method for adding missing ones each time is used. Do. In this case, a separate process for always determining whether it is sufficient or not is necessary.
このようにして作成したサブデータベースをメモリ31内のサブマスタデータベース記憶部33に記憶しておき、上記トランザクション処理部14にて、各々グループ分けしたトランザクションにマスタデータベースの替わりに適用することで、データベース引き当て処理を変更することなく、本来の目的と同等の処理結果を得ることが可能となる。
The sub-database created in this way is stored in the sub-master
<動作>
次に、上記構成のシステムの動作を、図4乃至図5を参照して説明する。図4は、CPU10内の処理の様子を示す説明図である。図5は、グループが複数あった場合の処理を説明する説明図である。
<Operation>
Next, the operation of the system configured as described above will be described with reference to FIGS. FIG. 4 is an explanatory diagram showing a state of processing in the
まず、ディスパッチ処理部11にて、グループ化関数を用いてトランザクションデータをグループ化する。すなわち、トランザクションデータT(21)を、T1〜TNに分解する処理を行う。そして、グループn(31)が生成される。なお、このディスパッチ処理により、図5に示すように、複数のグループ(グループ1(31a)、グループ2(31b))が生成されてもよく、生成されるグループの数は限定されない。
First, the
次に、グループ化されたトランザクションデータの分析がトランザクション分析処理部12で行われ、その分析データ32が記憶保持される。すなわち、TnからMnを作成するための情報を分析する処理を行う。そして、この分析データ32を用いて、マスタデータベース23からマスタ抽出処理部13にてマスタ抽出処理を行い、サブデータベース33を生成する。すなわち、MからM1〜MNを作成する処理を行う。このとき、複数のグループが生成される場合には、それに対応して複数のサブデータベース(サブDB1(33a),サブDB2(33b))が生成される(図5参照)。
Next, analysis of the grouped transaction data is performed by the transaction
その後、各グループのトランザクションデータの処理を、トランザクション処理部14にて当該グループに対応したサブデータベース33(33a,33b)に対して行う。これにより、トランザクションに対する出力結果を表す出力データ40が生成される。
Thereafter, the transaction data of each group is processed by the
このようにすることにより、サブデータベースにはトランザクションデータの処理を実行可能なデータが含まれている可能性が高いため、その処理の精度を維持しつつ、また、その母体数も少数であるため、処理時間の短縮化を図ることができ、かつ、トランザクション処理を行うコンピュータの付加を軽減できる。 By doing so, it is highly possible that the sub-database contains data that can execute transaction data processing, so the accuracy of the processing is maintained and the number of hosts is also small. The processing time can be shortened and the addition of a computer that performs transaction processing can be reduced.
上記効果を、さらに図6乃至図7を参照して説明する。図6には、トランザクションデータとキー値分布の関係を表したものである。トランザクションデータ1件を処理する時間として、検索処理の処理時間は、検索対象マスタの母体の大きさと相関関係がある。この相関関係のスケールオーダを縦軸に表現したとするならば、トランザクション全体の処理Aに相当する処理時間は、図6のグラフの面積に比例することとなる。これらを比較すると、面積は下記のようになる。
グループ化分割を行わない場合:面積=T×M
グループ化分割を行った場合 :面積=Σn=1〜N(Tn×Mn)
The above effect will be further described with reference to FIGS. FIG. 6 shows the relationship between transaction data and key value distribution. As the time for processing one transaction data, the processing time of the search processing has a correlation with the size of the base of the search target master. If the scale order of this correlation is expressed on the vertical axis, the processing time corresponding to the processing A of the entire transaction is proportional to the area of the graph of FIG. When these are compared, the area is as follows.
When grouping is not performed: Area = T × M
When grouped and divided: Area = Σ n = 1 to N (Tn × Mn)
上記からも明らかなように、グループ化分割を行った場合の方が明らかに小さい。なお、本発明においては、「トランザクション分析」処理や「マスタ抽出」処理が必要となるため、多少のオーバーヘッドが発生するものの、通常これらのオーバーヘッド処理は、トランザクションデータの母体の大きさには比例するが、マスタ母体の大きさとは相関関係が低い傾向にあるため、マスタ母体が大きくなれば本発明の適用の優位性が増すこととなる。この様子を、図7に示す。この図の(A)には、本願発明を適用しない場合のトランザクション処理の処理時間を表したグラフを示し、(B)には、本願発明を適用した場合のトランザクション処理を含む全処理時間を表したグラフを示す。なお、(B)は、本願発明を適用したときのトランザクション処理のみの処理時間(B1)と、本願発明を適用したときのオーバーヘッド処理時間(B2)と、を併せた処理時間となる((B)=(B1)+(B2))。この図を参照すると、検索対象のデータベースのデータ数がa値を超えたときに、処理の高速化を図ることができる。 As is clear from the above, the grouping / dividing is obviously smaller. In the present invention, since "transaction analysis" processing and "master extraction" processing are required, some overhead occurs, but usually these overhead processing is proportional to the base size of transaction data. However, since the correlation with the size of the master matrix tends to be low, the advantage of application of the present invention increases as the master matrix increases. This is shown in FIG. (A) of this figure shows a graph showing the processing time of transaction processing when the present invention is not applied, and (B) shows the total processing time including transaction processing when the present invention is applied. The graph is shown. Note that (B) is a processing time obtained by combining the processing time (B1) of only the transaction processing when the present invention is applied and the overhead processing time (B2) when the present invention is applied ((B ) = (B1) + (B2)). Referring to this figure, the processing speed can be increased when the number of data in the search target database exceeds the value a.
ここで、上記構成に加え、上述した従来技術であるキャッシュ技術を併用することで、さらなる処理の高速化を図ることができる。なお、キャッシュへの取り込みにおいて元データベースのランダムアクセスが発生するが、本発明では通常、バッチ処理の適用において、この部分をキャッシュ技術の場合よりも少ない負荷で抑えることが可能な場合がある。これは、データベース処理システムの実装にも依存するが、一括処理において突合せ処理などのシーケンシャルアクセスが可能となるためである。 Here, in addition to the above-described configuration, the processing speed can be further increased by using the above-described conventional cache technology together. In addition, although random access of the original database occurs during fetching into the cache, in the present invention, in some cases, this portion can be suppressed with a smaller load than in the case of the cache technology in the application of batch processing. This is because although it depends on the implementation of the database processing system, sequential access such as matching processing is possible in the batch processing.
本発明は、大量のトランザクションデータを処理するデータベース処理システムに組み込むことで、当該トランザクションデータの処理の高速化を図ることができるため、産業上の利用可能性を有する。 The present invention has industrial applicability because it can be processed in a database processing system for processing a large amount of transaction data to increase the processing speed of the transaction data.
1 コンピュータ(データベース処理システム)
10 CPU
11 ディスパッチ処理部(グループ化手段)
12 トランザクション分析処理部
13 マスタ抽出処理部(マスタ抽出手段)
14 トランザクション処理部(トランザクション処理手段)
15 出力処理部
20 ハードディスク
21 トランザクションデータ記憶部(トランザクションデータ)
22 グループ化ルールデータ記憶部
23 マスタデータベース記憶部(マスタデータベース)
30 メモリ
31 グループ化トランザクションデータ記憶部
32 グループ分析データ記憶部
33 サブデータベース記憶部(サブデータベース)
1 Computer (database processing system)
10 CPU
11 Dispatch processing part (grouping means)
12 Transaction
14 Transaction processing unit (transaction processing means)
15
22 Grouping rule
30
Claims (6)
グループ化された特定のグループにおけるトランザクションデータに基づいて前記マスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出手段と、
前記サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理手段と、
を備えたことを特徴とするデータベース処理システム。 Grouping means for grouping transaction data consisting of a set of processes for the master database according to a predetermined rule;
Master extraction means for extracting a sub-database including data capable of processing the transaction data from the master database based on transaction data in a specific grouped group;
Transaction processing means for processing transaction data grouped with respect to the sub-database;
A database processing system comprising:
前記マスタデータベースに対する一連の処理の集合から成るトランザクションデータを予め定められたルールにてグループ化を行うグループ化手段と、
グループ化された特定のグループにおけるトランザクションデータに基づいて前記マスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出手段と、
前記サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理手段と、
を実現するためのデータベース処理用プログラム。 A computer that processes transaction data stored in a predetermined storage device for a master database, which is a data group to be processed, stored in a predetermined storage device,
Grouping means for grouping transaction data consisting of a set of processes for the master database according to a predetermined rule;
Master extraction means for extracting a sub-database including data capable of processing the transaction data from the master database based on transaction data in a specific grouped group;
Transaction processing means for processing transaction data grouped with respect to the sub-database;
A database processing program for realizing
マスタデータベースに対する一連の処理の集合から成るトランザクションデータを予め定められたルールにてグループ化を行うグループ化工程と、
グループ化された特定のグループにおけるトランザクションデータに基づいて前記マスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出工程と、
前記サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理工程と、
を有することを特徴とするデータベース処理方法。
A database processing method for processing transaction data stored in a predetermined storage device with respect to a master database that is a processing target data group stored in a predetermined storage device using a computer,
A grouping step of grouping transaction data consisting of a set of processes for the master database according to a predetermined rule;
A master extraction step of extracting a sub-database including data capable of processing the transaction data from the master database based on transaction data in a specific grouped group;
A transaction processing step for processing transaction data grouped with respect to the sub-database;
A database processing method characterized by comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004213407A JP2006031631A (en) | 2004-07-21 | 2004-07-21 | Data base processing system and method, and program for data base processing |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004213407A JP2006031631A (en) | 2004-07-21 | 2004-07-21 | Data base processing system and method, and program for data base processing |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2006031631A true JP2006031631A (en) | 2006-02-02 |
Family
ID=35897858
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004213407A Pending JP2006031631A (en) | 2004-07-21 | 2004-07-21 | Data base processing system and method, and program for data base processing |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2006031631A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010537338A (en) * | 2007-08-30 | 2010-12-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Transaction aggregation to increase transaction processing throughput |
| JP2012008725A (en) * | 2010-06-23 | 2012-01-12 | Internatl Business Mach Corp <Ibm> | Device and method for sorting data |
| CN114238476A (en) * | 2021-12-15 | 2022-03-25 | 深圳市科漫达智能管理科技有限公司 | Data processing method and device, terminal equipment and storage medium |
-
2004
- 2004-07-21 JP JP2004213407A patent/JP2006031631A/en active Pending
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010537338A (en) * | 2007-08-30 | 2010-12-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Transaction aggregation to increase transaction processing throughput |
| US8904393B2 (en) | 2007-08-30 | 2014-12-02 | International Business Machines Corporation | Transaction aggregation to increase transaction processing throughput |
| JP2012008725A (en) * | 2010-06-23 | 2012-01-12 | Internatl Business Mach Corp <Ibm> | Device and method for sorting data |
| US8725734B2 (en) | 2010-06-23 | 2014-05-13 | International Business Machines Corporation | Sorting multiple records of data using ranges of key values |
| US9213782B2 (en) | 2010-06-23 | 2015-12-15 | International Business Machines Corporation | Sorting multiple records of data using ranges of key values |
| US9658826B2 (en) | 2010-06-23 | 2017-05-23 | International Business Machines Corporation | Sorting multiple records of data using ranges of key values |
| US9727308B2 (en) | 2010-06-23 | 2017-08-08 | International Business Machines Corporation | Sorting multiple records of data using ranges of key values |
| CN114238476A (en) * | 2021-12-15 | 2022-03-25 | 深圳市科漫达智能管理科技有限公司 | Data processing method and device, terminal equipment and storage medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9892187B2 (en) | Data analysis method, data analysis device, and storage medium storing processing program for same | |
| US11442694B1 (en) | Merging database tables by classifying comparison signatures | |
| US9195693B2 (en) | Transaction prediction modeling method | |
| JP5460486B2 (en) | Apparatus and method for sorting data | |
| CN113672375B (en) | Resource allocation prediction method, device, equipment and storage medium | |
| CN102129425B (en) | The access method of big object set table and device in data warehouse | |
| CN112052138A (en) | Service data quality detection method and device, computer equipment and storage medium | |
| RU2556425C1 (en) | Method for automatic iterative clusterisation of electronic documents according to semantic similarity, method for search in plurality of documents clustered according to semantic similarity and computer-readable media | |
| US12242514B2 (en) | Multi-level conflict-free entity clusters | |
| US20140325405A1 (en) | Auto-completion of partial line pattern | |
| US10824694B1 (en) | Distributable feature analysis in model training system | |
| Castro et al. | Review and comparison of Apriori algorithm implementations on Hadoop-MapReduce and Spark | |
| JP6242540B1 (en) | Data conversion system and data conversion method | |
| US10127192B1 (en) | Analytic system for fast quantile computation | |
| US10929441B1 (en) | System and techniques for data record merging | |
| JPWO2017203672A1 (en) | Item recommendation method, item recommendation program and item recommendation device | |
| US20070239663A1 (en) | Parallel processing of count distinct values | |
| JP2006031631A (en) | Data base processing system and method, and program for data base processing | |
| CN104217032A (en) | Method and device for processing database dimensions | |
| CN113742116A (en) | Abnormity positioning method, abnormity positioning device, abnormity positioning equipment and storage medium | |
| CN112860850A (en) | Man-machine interaction method, device, equipment and storage medium | |
| CN112364007A (en) | Mass data exchange method, device, equipment and storage medium based on database | |
| US10671644B1 (en) | Adaptive column set composition | |
| JP7710939B2 (en) | causal search device | |
| JPWO2016170600A1 (en) | Data analysis support system and data analysis support method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081028 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090317 |