JP2013235328A - Data management system - Google Patents

Data management system Download PDF

Info

Publication number
JP2013235328A
JP2013235328A JP2012105947A JP2012105947A JP2013235328A JP 2013235328 A JP2013235328 A JP 2013235328A JP 2012105947 A JP2012105947 A JP 2012105947A JP 2012105947 A JP2012105947 A JP 2012105947A JP 2013235328 A JP2013235328 A JP 2013235328A
Authority
JP
Japan
Prior art keywords
server
data
search
unit
search condition
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
Application number
JP2012105947A
Other languages
Japanese (ja)
Inventor
Yuzo Ishida
裕三 石田
Junichi Kubo
順一 久保
Kohei Goto
耕平 後藤
Yuichi Tanaka
悠一 田中
Yusuke Sakaguchi
雄介 坂口
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2012105947A priority Critical patent/JP2013235328A/en
Publication of JP2013235328A publication Critical patent/JP2013235328A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a data management system for maintaining data at a plurality of base points, and for validly utilizing a facility at each base point even in a normal time.SOLUTION: The data management system includes: AP servers 16 installed at a plurality of base points; a plurality of DB servers 18 installed at each base point; and a plurality of management servers 12. Each DB server includes a table for storing data which are common at all base points. In the case of adding data, the registration of additional data is commanded from any one management server to the AP server at each base point, and each AP server requests the registration of the additional data to each DB server in the same base point, and each DB server inserts the additional data into the table. In the case of searching data, any one management server transmits search conditions to the AP server at any one base point, and the AP server divides the search conditions into a plurality of portions, and issues the divided search conditions to each DB server in the same base point, and each DB server extracts the corresponding data from the table, and transmits the data to the AP server, and the AP server integrates the data transmitted from each DB server, and transmits the data to the management sever.

Description

この発明はデータ管理システムに係り、特に、業務データを複数の拠点に設置されたサーバに重複格納することで、大規模災害の発生等によって業務データが消失するリスクを分散する技術に関する。   The present invention relates to a data management system, and more particularly to a technique for distributing the risk of losing business data due to the occurrence of a large-scale disaster or the like by storing business data in multiple servers installed at a plurality of locations.

地震や津波、噴火等の大規模災害、あるいは原発事故やテロ等の人災によってデータベースが物理的に損壊する場合に備え、企業の基幹システムにおいては、業務データを遠隔地に設置したバックアップ用のデータベースに重複登録することが以前より行われている。
例えば、特許文献1においては、正制御装置のディスク装置にデータを登録した後、遠隔地に設置された副制御装置に同一データを送信し、その登録を求める技術が開示されている。
特開平11−85408号
In the case of a large-scale disaster such as an earthquake, tsunami, or eruption, or when a database is physically damaged due to a nuclear disaster or terrorist or other man-made disaster, a corporate database is a backup database in which business data is installed remotely. Duplicate registration has been done for a long time.
For example, Patent Document 1 discloses a technique for registering data in a disk device of a primary control device, and then transmitting the same data to a sub-control device installed at a remote place and requesting the registration.
JP-A-11-85408

このように、正副2台の制御装置によってデータを二重持ちすることにより、一方の地域において地震等が発生し、ディスク装置が物理的に破損した場合であっても、生き残った他方のディスク装置内のデータを活用することで、業務処理の連続性を担保することが可能となる。
しかしながら、従来のデータ保全技術の場合、副制御装置はあくまでも緊急事態に備えた保険として設けられるものであり、通常時にこれが有効に活用されることはなく、その非効率性が問題となっていた。
In this way, by holding data twice by the primary and secondary control devices, even if an earthquake or the like occurs in one area and the disk device is physically damaged, the other disk device that survived By utilizing the data inside, it becomes possible to ensure the continuity of business processing.
However, in the case of the conventional data maintenance technology, the secondary control device is provided as insurance for emergency situations only, and it is not used effectively in normal times, and its inefficiency has been a problem. .

この発明は、このような現状に鑑みて案出されたものであり、大切な業務データを複数拠点に確実に保全できると共に、緊急時はもちろんのこと、通常時においても各拠点の設備が有効活用可能なデータ管理システムを提供することを目的としている。   The present invention has been devised in view of such a current situation, and important business data can be reliably maintained at a plurality of bases, and facilities at each base are effective not only in an emergency but also in a normal time. It aims to provide a data management system that can be used.

上記の目的を達成するため、請求項1に記載したデータ管理システムは、相互に所定の距離を隔てた複数の拠点にそれぞれ設置されたAPサーバと、上記拠点毎に複数設置され、同一拠点内のAPサーバとネットワークを介して接続されたDBサーバと、各拠点のAPサーバとネットワークを介して接続された複数の管理サーバとを備え、上記の各APサーバは、追加データ複製部と、複数の登録処理部と、検索条件分割部と、複数の検索処理部と、複数のデータ加工部と、検索結果統合部を備え、上記の各DBサーバは、全拠点を通じて相互に共通するデータを保持した複数のテーブルをそれぞれ備えており、各テーブルには、キー項目が一つに限定される制約と、データの更新が禁止される制約が設けられており、クライアント端末から何れかの管理サーバに追加データが送信された場合に、当該管理サーバは、各拠点に配置されたAPサーバに対して当該追加データの登録を指令する処理を実行し、各APサーバの上記追加データ複製部は、送信された追加データの複製物と、同一拠点内に配置されたDBサーバの特定情報を含むデータ追加リクエストを、上記の各登録処理部に割り当てる処理を実行し、上記の各登録処理部は、上記追加データの登録を求めるSQL文を生成し、自己に割り当てられたDBサーバに発行する処理を実行し、各DPサーバは、上記追加データに対応するレコードをテーブルに挿入する処理を実行し、クライアント端末から何れかの管理サーバに検索条件が送信された場合に、当該管理サーバは何れか一つの拠点内のAPサーバに当該検索条件を送信する処理を実行し、当該APサーバの検索条件分割部は、管理サーバから送信された検索条件を解析して複数の検索条件に分割すると共に、各検索条件及び担当のDBサーバを上記複数の検索処理部に割り当てる処理を実行し、上記の各検索処理部は、自己に割り当てられた検索条件に対応したSQL文を生成し、自己に割り当てられたDBサーバに発行する処理と、DBサーバから一定量の検索結果データが送信される度に、必要な演算処理を上記の各データ加工処理部に割り当てる処理と、各データ加工処理部から部分的な加工処理結果データが返される度に、これをメモリに格納すると共に、DBサーバから送信されたデータをメモリ上から削除する処理と、DBサーバからのデータ送信が完了し、部分的な検索結果データに基づく部分的な加工処理結果データが全て揃った時点で、これらを集計して上記検索結果統合部に集計結果を出力する処理を実行し、上記検索結果統合部は、各検索処理部から渡された集計結果を集計し、検索結果として上記管理サーバに送信する処理を実行し、上記管理サーバは、APサーバから送信されたデータを検索結果として上記クライアント端末に送信する処理を実行することを特徴としている。   In order to achieve the above object, the data management system according to claim 1 includes a plurality of AP servers installed at a plurality of bases spaced apart from each other by a predetermined distance, and a plurality of AP servers installed at each of the bases. A DB server connected to the AP server via the network, and a plurality of management servers connected to the AP server at each site via the network. Each AP server includes an additional data replication unit, a plurality of Registration processing unit, search condition dividing unit, multiple search processing units, multiple data processing units, and search result integration unit, each DB server described above holds data common to all sites Each table is provided with a restriction that the key item is limited to one and a restriction that data updating is prohibited. When the additional data is transmitted to the management server, the management server executes processing for instructing the AP server arranged at each site to register the additional data, and the additional data replication unit of each AP server A process of assigning a copy of the transmitted additional data and a data addition request including specific information of the DB server arranged in the same site to each of the above registration processing units, and each of the above registration processing units, Generate a SQL statement that requests registration of the additional data and execute a process that is issued to the DB server assigned to itself, and each DP server executes a process of inserting a record corresponding to the additional data into the table. When a search condition is transmitted from a client terminal to any management server, the management server executes a process of transmitting the search condition to an AP server in any one of the bases. The search condition dividing unit analyzes the search condition transmitted from the management server and divides it into a plurality of search conditions, and executes a process of assigning each search condition and a responsible DB server to the plurality of search processing units, Each search processing unit generates a SQL statement corresponding to the search condition assigned to itself, issues it to the DB server assigned to itself, and sends a certain amount of search result data from the DB server. In addition, each time the required arithmetic processing is assigned to each data processing unit and the partial processing result data is returned from each data processing unit, it is stored in the memory and transmitted from the DB server. When the processing to delete the processed data from the memory and the data transmission from the DB server are completed, and all the partial processing result data based on the partial search result data are prepared, A process of counting and executing the process of outputting the counting result to the search result integrating unit, wherein the search result integrating unit totals the counting result passed from each search processing unit, and transmits it to the management server as a search result And the management server executes a process of transmitting the data transmitted from the AP server to the client terminal as a search result.

請求項2に記載したデータ管理システムは、請求項1に記載のシステムであって、さらに、上記検索条件分割部は、入力された検索条件が時間的な範囲を含んでいる場合に、これをより短い時間的な範囲に分割することを特徴としている。   The data management system according to claim 2 is the system according to claim 1, wherein the search condition dividing unit further performs processing when the input search condition includes a temporal range. It is characterized by dividing into shorter time ranges.

請求項3に記載したデータ管理システムは、請求項1に記載のシステムであって、さらに、上記検索条件分割部は、入力された検索条件が地域的な範囲を含んでいる場合に、これをより狭い地域的な範囲に分割することを特徴としている。   The data management system according to claim 3 is the system according to claim 1, wherein the search condition dividing unit further performs processing when the input search condition includes a regional range. It is characterized by dividing it into narrower regional areas.

請求項4に記載したデータ管理システムは、請求項1〜3に記載のシステムであって、さらに、インデックス生成部及びインデックス記憶部を有するインデックスサーバを備えており、また上記の各DBサーバは、データベース管理システムと、暫定記憶領域及び永続記憶領域を備えており、上記データベース管理システムは、上記APサーバから送信された追加データを上記暫定記憶領域に格納する処理と、所定の時間間隔で暫定記憶領域内の追加データを上記永続記憶領域に移動する処理を実行し、上記インデックスサーバのインデックス生成部は、所定の時間間隔で上記DBサーバの暫定記憶領域に格納された追加データを取得する処理と、この追加データに基づいてインデックスを生成し、上記インデックス記憶部に格納する処理を実行し、上記APサーバの各検索処理部は、自己に割り当てられた検索条件に対応した上記SQL文を生成するに際し、上記インデックスサーバのインデックス記憶部を参照し、検索条件に該当する各データの主キーを取得する処理と、この主キーによって取得対象データを指定したSQL文を生成する処理を実行することを特徴としている。   A data management system according to a fourth aspect is the system according to the first to third aspects, further comprising an index server having an index generation unit and an index storage unit, and each of the above DB servers includes: The database management system includes a temporary storage area and a permanent storage area. The database management system stores the additional data transmitted from the AP server in the temporary storage area and temporarily stores the data at a predetermined time interval. A process of moving the additional data in the area to the permanent storage area, and the index generation unit of the index server acquires the additional data stored in the temporary storage area of the DB server at a predetermined time interval. , Generate an index based on this additional data, and execute the process of storing in the index storage unit, Each search processing unit of the AP server refers to the index storage unit of the index server when generating the SQL statement corresponding to the search condition assigned to itself, and determines the primary key of each data corresponding to the search condition. It is characterized by executing the process of acquiring and the process of generating the SQL statement specifying the acquisition target data by this primary key.

請求項5に記載したデータ管理システムは、請求項1〜4に記載のシステムであって、さらに、上記の各DBサーバは、メモリ上に設けられた更新ログ記憶領域を備えており、上記データベース管理システムは、上記APサーバから送信された追加データを上記更新ログ記憶領域に順次格納する処理を実行することを特徴としている。   A data management system according to a fifth aspect is the system according to the first to fourth aspects, wherein each of the DB servers further includes an update log storage area provided on a memory, and the database The management system is characterized by executing processing for sequentially storing additional data transmitted from the AP server in the update log storage area.

請求項1に記載したデータ管理システムの場合、データの追加に際しては、複数の拠点に設置されたAPサーバを介して同拠点内に配置された複数のDBサーバに対するデータの追加が同時に実行される仕組みを備えているため、何れかの拠点が大規模災害等によって壊滅的な被害を被ったとしても、他の拠点に配置されたDBサーバ内のデータに基づいて、業務処理をシームレスに続行可能となる。
同一機能を備えた管理サーバも複数用意されているため、それぞれを地理的に十分な距離を隔てた場所に設置しておくことで、管理サーバレベルでもリスク分散が図れる。
In the case of the data management system according to claim 1, when data is added, the addition of data to a plurality of DB servers arranged in the same base is executed simultaneously via an AP server installed in the plurality of bases. Because it has a mechanism, even if one of the sites suffers catastrophic damage due to a large-scale disaster, business processing can be continued seamlessly based on the data in the DB server located at the other site It becomes.
Since a plurality of management servers having the same function are also prepared, risk distribution can be achieved even at the management server level by installing each of them at a location that is geographically separated by a sufficient distance.

また、各拠点の設備には正副の別がなく、管理サーバは検索処理に際し、直近の処理実績や距離等を勘案して自由に拠点を選択できるため、通常時であっても各拠点に配置された設備の有効活用が図れる。   In addition, there is no difference between primary and secondary equipment at each base, and the management server can select a base freely in consideration of the latest processing results and distance during the search process. Effective utilization of the installed facilities can be achieved.

また、DBサーバが管理する各テーブルの正規化が極限まで追求され、構造の単純化が実現される一方で、テーブルから抽出したデータの加工処理(ソートやマッチング、コントロールブレイク等)はAPサーバ側で実行され、DBサーバはデータの出し入れに専念できるため、テーブル数の増大やテーブル間の関係の複雑化に伴いSQLの発行数が増大しても、DBサーバ側の負担増を抑制することが可能となる。   In addition, the normalization of each table managed by the DB server is pursued to the limit, and the structure is simplified, while the processing of data extracted from the table (sorting, matching, control break, etc.) is performed on the AP server side Since the DB server can concentrate on data in / out, even if the number of SQL issues increases as the number of tables increases and the relationship between tables increases, the burden on the DB server can be suppressed. It becomes possible.

さらに、同一内容のデータを備えたDBサーバが物理的に複数台用意され、検索処理時には検索条件が各DBサーバに分散される仕組みであるため、個々のDBサーバにおけるデータ抽出処理が軽減される結果、システム全体の処理速度を向上させることができる。   In addition, since multiple DB servers with the same data are physically prepared and the search conditions are distributed to each DB server during search processing, data extraction processing in each DB server is reduced. As a result, the processing speed of the entire system can be improved.

しかも、APサーバにおいては、入力された検索条件が複数に分割され、それぞれ複数の検索処理部を介してDBサーバにデータの検索依頼が送信されると共に、DBサーバから各検索処理部に対して返された検索結果データに対しても、一定量単位で複数のデータ加工処理部による並列処理が実行されるため、DBサーバから大量のデータが送信される場合であっても、多数のCPUコアを用いることで効率的な処理が可能となる。また、このようにDBサーバからの検索結果データが全て揃うまで待機することなく、一定量のデータが揃った時点で部分的な加工処理に移行することにより、DBサーバ側のDISK/IOによる遅延を緩和することも可能となる。   Moreover, in the AP server, the input search condition is divided into a plurality of parts, and a search request for data is transmitted to the DB server via each of the plurality of search processing units, and the DB server sends each search processing unit to each search processing unit. The returned search result data is also processed in parallel by multiple data processing units in a fixed unit, so even if a large amount of data is sent from the DB server, many CPU cores By using, efficient processing becomes possible. In addition, without waiting until all the search result data from the DB server is complete in this way, by shifting to partial processing when a certain amount of data is complete, the delay due to DISK / IO on the DB server side Can be relaxed.

これまで、DNA解析や気象解析のように純粋な演算処理を主体とした科学技術計算と異なり、データベースに蓄積された大量のデータを参照する必要のある業務系処理の場合には、DBサーバからの応答を待つDISK/IOがボトルネックとなるため、APサーバ側のCPUコアの数を増やしたとしても、直ちに処理速度の向上には結びつかないという問題があった。
これに対し、上記のような仕組みをAPサーバに設けることにより、テーブルの正規化の追求に伴うDBサーバ側の負担増を、APサーバ側の処理の効率化によってカバーすることが可能となった。
Until now, unlike scientific and engineering calculations that are purely computational, such as DNA analysis and meteorological analysis, in the case of business processing that needs to refer to a large amount of data stored in the database, from the DB server DISK / IO that waits for the response to the bottleneck becomes a bottleneck, so even if the number of CPU cores on the AP server side is increased, there is a problem that the processing speed is not immediately improved.
On the other hand, by providing the above mechanism in the AP server, it became possible to cover the increase in the burden on the DB server side due to the pursuit of table normalization by improving the efficiency of processing on the AP server side. .

請求項4に記載のデータ管理システムの場合、インデックス(二次索引)の作成処理が外部の独立したインデックスサーバに移譲されているため、これに纏わるDBサーバ側の負担を解消することができる。
しかも、データ参照時には個々のデータの主キーを指定した形のSQLがAPサーバから発行されるため、DBサーバ側でテーブルをソートする必要がなくなり、その分、DBサーバの負荷を低減することができる。
In the case of the data management system according to the fourth aspect, since the index (secondary index) creation process is transferred to an external independent index server, the burden on the DB server side associated therewith can be eliminated.
In addition, when the data is referenced, an SQL server that specifies the primary key of each data is issued from the AP server, so there is no need to sort the table on the DB server side, which can reduce the load on the DB server. it can.

請求項5に記載のデータ管理システムの場合、DBサーバの更新ログがメモリ上に格納される機構を備えているため、更新ログをディスク上に格納する場合に比べて、DBサーバ側のDISK/IOを低減することができる。
しかも、DBサーバが物理的に複数台用意されると共に、各DBサーバにおいては同一の追加データが更新ログとして更新ログ記憶領域に蓄積される仕組みであるため、停電等の事故によって一のDBサーバにおいて更新ログが消えた場合でも、他のDBサーバに格納された更新ログによって容易に復旧可能となる。
In the case of the data management system according to claim 5, since the update log of the DB server is stored in the memory, the DISK / on the DB server side is compared with the case where the update log is stored on the disk. IO can be reduced.
In addition, a plurality of DB servers are physically prepared, and the same additional data is stored in the update log storage area as an update log in each DB server. Even if the update log disappears in, it can be easily recovered by the update log stored in another DB server.

図1は、この発明に係るデータ管理システム10の全体構成を示すものであり、複数の拠点にそれぞれ配置された管理サーバ12と、APサーバ16と、複数のDBサーバ18とを備えている。
同一拠点内の管理サーバ12とAPサーバ16間及びAPサーバ16とDBサーバ18間は、LAN等の通信ネットワークを介して接続されている。
また、拠点を異にする管理サーバ12とAPサーバ16間は、WAN等の通信ネットワーク20を介して接続されている。
FIG. 1 shows an overall configuration of a data management system 10 according to the present invention, which includes a management server 12, an AP server 16, and a plurality of DB servers 18 respectively arranged at a plurality of bases.
The management server 12 and the AP server 16 and the AP server 16 and the DB server 18 in the same base are connected via a communication network such as a LAN.
In addition, the management server 12 and the AP server 16 at different bases are connected via a communication network 20 such as a WAN.

各管理サーバ12には、インターネット等の通信ネットワーク20を介して、ユーザの操作するクライアント端末22が接続される。
クライアント端末22は、PC等のコンピュータよりなり、OSやWebブラウザ等のプログラムを搭載している。
各クライアント端末22は、基本的には最寄りの拠点に設置された管理サーバ12にアクセスするようにWebブラウザ上で設定されているが、大規模災害の発生等によって当該拠点が機能不全に陥り、所定時間内に応答がない場合には、アクセス先が他の拠点内の管理サーバ12に自動または手動で切り替えられる機能を備えている。
A client terminal 22 operated by a user is connected to each management server 12 via a communication network 20 such as the Internet.
The client terminal 22 is composed of a computer such as a PC, and is loaded with a program such as an OS and a web browser.
Each client terminal 22 is basically set on the Web browser to access the management server 12 installed at the nearest base, but the base falls into malfunction due to the occurrence of a large-scale disaster, etc. When there is no response within a predetermined time, the access destination is provided with a function of automatically or manually switching to the management server 12 in another base.

各拠点は、地理的に所定の距離を隔てた場所に設けられたデータセンター等が該当する。例えば、図1においては、第1の拠点14aが東京に、第2の拠点14bが大阪に設けられている。
なお、拠点の数は2箇所に限定されるものではなく、災害によるリスク分散という観点からは、より多くの拠点(札幌、名古屋、福岡、那覇等)が設けられることが望ましい。
Each base corresponds to a data center or the like provided at a geographical location at a predetermined distance. For example, in FIG. 1, a first base 14a is provided in Tokyo and a second base 14b is provided in Osaka.
The number of bases is not limited to two, and it is desirable that more bases (Sapporo, Nagoya, Fukuoka, Naha, etc.) are provided from the viewpoint of risk distribution due to disasters.

図示の便宜上、各拠点14a, 14bには1台の管理サーバ12と1台のAPサーバ16が描かれているが、実際には複数の管理サーバ12と複数のAPサーバ16が設置され、それぞれロードバランサによって負荷分散されている。また、各拠点14a, 14bに設置されるDBサーバ18の数も3台に限定されるものでなく、実際には4台以上のDBサーバ18が設置されている。
各DBサーバ18は、全DBサーバ18間に共通するデータを格納した複数のテーブル群と、データベース管理システム(RDBMS)とを備えている。
For convenience of illustration, one management server 12 and one AP server 16 are depicted in each of the bases 14a and 14b, but actually, a plurality of management servers 12 and a plurality of AP servers 16 are installed, The load is balanced by the load balancer. Further, the number of DB servers 18 installed at each base 14a, 14b is not limited to three, and actually four or more DB servers 18 are installed.
Each DB server 18 includes a plurality of table groups storing data common to all the DB servers 18 and a database management system (RDBMS).

図2は、各DBサーバ18に格納されたテーブル群の具体例を示しており、顧客管理テーブル24と、予約管理テーブル26と、売上管理テーブル28と、予約取消管理テーブル30と、請求管理テーブル32とによって、各店舗の売り上げが管理されている。   FIG. 2 shows a specific example of a table group stored in each DB server 18, and includes a customer management table 24, a reservation management table 26, a sales management table 28, a reservation cancellation management table 30, and a billing management table. 32, the sales of each store are managed.

顧客管理テーブル24は、「顧客ID(主キー)」及び「地域」のデータ項目を備えている。
また、予約管理テーブル26は、「予約ID(主キー)」、「店ID」、「顧客ID(外部キー)」、「金額」及び「予約年月日」のデータ項目を備えている。
売上管理テーブル28は、「予約ID(主キー/外部キー)」及び「売上年月日」のデータ項目を備えている。
予約取消管理テーブル30は、「予約ID(主キー/外部キー)」及び「予約取消年月日」のデータ項目を備えている。
請求管理テーブル32は、「請求ID(主キー)」、「請求年月日」及び「予約ID(外部キー)」のデータ項目を備えている。
The customer management table 24 includes data items of “customer ID (primary key)” and “region”.
The reservation management table 26 includes data items of “reservation ID (primary key)”, “store ID”, “customer ID (external key)”, “amount”, and “reservation date”.
The sales management table 28 includes data items of “reservation ID (primary key / foreign key)” and “sales date”.
The reservation cancellation management table 30 includes data items of “reservation ID (primary key / foreign key)” and “reservation cancellation date”.
The billing management table 32 includes data items of “billing ID (primary key)”, “billing date”, and “reservation ID (foreign key)”.

上記の各テーブル24〜32には、以下の(1)〜(3)の制約が予め課せられている。
(1)キー項目は一つに限定される。
したがって、複数の項目の組合せによってキー項目を構成すること(複合キー)は、禁止される。
The following restrictions (1) to (3) are imposed on the respective tables 24 to 32 in advance.
(1) The key item is limited to one.
Therefore, it is prohibited to configure a key item (composite key) by combining a plurality of items.

(2)各テーブルにはレコードの追加のみが許容され、既存レコードの値の更新及びレコードの削除は禁止される。
したがって、値に変更が生じた場合など、発生タイミングの異なる情報は別テーブルに格納されることとなる。
(2) Only addition of records is allowed in each table, and updating of existing record values and deletion of records are prohibited.
Therefore, information having different generation timings is stored in a separate table, such as when a value has changed.

(3)各テーブルのカラムには、NULL値禁止制約、フラグ値禁止制約、区分値禁止制約が課せられる。
まず「NULL値禁止制約」とは、データ項目の値としてNULL(値なし)を充填することが禁止されることを意味しており、このようなNULL値の充填を想定したデータ項目の設定自体が許容されないことになる。
つぎに「フラグ値禁止制約」とは、データ項目の値としてフラグ値(「1/0」、「ON/OFF」、「TRUE/FALSE」等の2値データ)を充填することが禁止されることを意味しており、このようなフラグ値の充填を想定したデータ項目の設定自体が許容されないことになる。
「区分値禁止制約」とは、データ項目の値として区分値(「1:正社員」、「2:パート」、「3:アルバイト」等)を充填することが禁止されることを意味しており、このような区分値の充填を想定したデータ項目の設定自体が許容されないことになる。
(3) A NULL value prohibition constraint, a flag value prohibition constraint, and a partition value prohibition constraint are imposed on the columns of each table.
First, "NULL value prohibition constraint" means that it is prohibited to fill NULL (no value) as the value of the data item, and the setting of the data item assuming such filling of the NULL value itself Is not allowed.
Next, “flag value prohibition constraint” prohibits filling of flag values (binary data such as “1/0”, “ON / OFF”, “TRUE / FALSE”, etc.) as data item values. This means that setting of data items assuming such filling of flag values is not allowed.
“Category value prohibition constraint” means that it is prohibited to fill a data item value with a category value (“1: regular employee”, “2: part”, “3: part-time job”, etc.). Therefore, the setting of the data items assuming such filling of the segment values is not allowed.

これらの制約ルールは、新規テーブルの設計時やSQL文発行時に、DBサーバ18のデータベース管理システムによって適否がチェックされ、制約ルールに違反する処理の実行が拒絶されることにより、その実効性が担保される。   These constraint rules are checked for suitability by the database management system of the DB server 18 when designing a new table or issuing a SQL statement, and the execution of processing that violates the constraint rules is rejected, ensuring its effectiveness. Is done.

図2より明らかなように、各テーブルは単一のデータ項目によって主キー(PK)が構成されている。
また、「予約取消」に関するデータも、通常であれば予約管理テーブル26において「予約取消フラグ」等のデータ項目が設けられ、各レコードに「1/0」等のフラグ値を充填することで状態が管理されるところであるが、予約取消管理テーブル30を予約管理テーブル26とは別個に設けることにより、予約取消の状態管理がなされている。すなわち、この予約取消管理テーブル30に登録された予約IDが「予約取消」状態にあることとなり、レコードの有無によって予約取消の有無が表現されている。
As apparent from FIG. 2, each table has a primary key (PK) constituted by a single data item.
In addition, data relating to “reservation cancellation” is usually provided with data items such as “reservation cancellation flag” in the reservation management table 26, and each record is filled with a flag value such as “1/0”. Although the reservation cancellation management table 30 is provided separately from the reservation management table 26, reservation cancellation status management is performed. That is, the reservation ID registered in the reservation cancellation management table 30 is in the “reservation cancellation” state, and the presence or absence of the reservation cancellation is expressed by the presence or absence of the record.

各テーブルには上記(2)の制約(値の更新禁止)が課せられているため、例えばある顧客の「地域」に変動が生じた場合でも、顧客管理テーブル24における該当レコードの「地域」の値が書き換えられることはない。
図示は省略したが、このような場合には例えば「顧客ID」、「変更地域」、「変更年月日」等のデータ項目を備えた「顧客地域変更管理テーブル」が新たに設けられて、当該顧客の顧客ID、変更後の地域、変更年月日が格納される。
Since each table has the restriction (2) (restriction of value update), for example, even if there is a change in the “region” of a customer, the “region” of the corresponding record in the customer management table 24 The value is never rewritten.
Although illustration is omitted, in such a case, for example, a “customer region change management table” including data items such as “customer ID”, “change region”, “change date” is newly provided, Stores the customer ID of the customer, the area after the change, and the date of change.

この結果、顧客の地域別に売上を集計する必要が生じた場合、APサーバ16側では顧客管理テーブル24を参照して各顧客の地域情報を取得した後、顧客地域変更管理テーブルを参照して地域変更の生じた顧客を特定し、変更後の地域に差し替える処理を実行することになる。   As a result, if it is necessary to aggregate sales by customer region, AP server 16 refers to customer management table 24 to obtain each customer's region information, and then refers to customer region change management table to determine the region. A process for identifying a customer who has changed and replacing it with the area after the change is executed.

図3は、クライアント端末22から何れかの管理サーバ12に送信されたデータ追加のリクエストが、各拠点14a, 14b内の各DBサーバ18に格納される場面での機能構成を表しており、管理サーバ12は、追加データ受付部34と、拠点数に対応した複数の追加データ送信部36を備えている。
また、各APサーバ16は、追加データ複製部38と、DBサーバ18の数に対応した複数の登録処理部40を備えている。
FIG. 3 shows a functional configuration in a situation where a data addition request transmitted from the client terminal 22 to any one of the management servers 12 is stored in each DB server 18 in each base 14a, 14b. The server 12 includes an additional data receiving unit 34 and a plurality of additional data transmitting units 36 corresponding to the number of locations.
Each AP server 16 includes an additional data replication unit 38 and a plurality of registration processing units 40 corresponding to the number of DB servers 18.

図4は、クライアント端末22から何れかの管理サーバ12に送信された検索リクエストが、管理サーバ12及び一の拠点のAPサーバ16を経由して同拠点内の各DBサーバ18に送信される場面での機能構成を表しており、管理サーバ12は、検索条件送信部42を備えている。
また、APサーバ16は、検索条件分割部44と、DBサーバ18の数に対応した複数の検索処理部46を備えている。
FIG. 4 shows a situation in which a search request transmitted from the client terminal 22 to any management server 12 is transmitted to each DB server 18 in the same site via the management server 12 and the AP server 16 at one site. The management server 12 includes a search condition transmission unit 42.
The AP server 16 also includes a search condition dividing unit 44 and a plurality of search processing units 46 corresponding to the number of DB servers 18.

図5は、DBサーバ18から検索結果が送信される場面での機能構成を表しており、APサーバ16は、各検索処理部46単位で複数割り当てられたデータ加工部47と、検索結果統合部48を備えている。
また管理サーバ12は、検索結果送信部50を備えている。
FIG. 5 shows a functional configuration in a case where a search result is transmitted from the DB server 18. The AP server 16 includes a plurality of data processing units 47 assigned to each search processing unit 46, and a search result integrating unit. Has 48.
The management server 12 also includes a search result transmission unit 50.

各管理サーバ12の追加データ受付部34、追加データ送信部36、検索条件送信部42、検索結果送信部50は、管理サーバ12に搭載された多数のCPUコアが、専用のアプリケーションプログラムに従って所定の処理を実行することで実現されるのであるが、この際、OSまたは専用のミドルウェアによって複数のスレッドが起動され、各CPUコアにタスクが割り当てられることにより、マルチタスク処理が実現される。   The additional data reception unit 34, the additional data transmission unit 36, the search condition transmission unit 42, and the search result transmission unit 50 of each management server 12 have a predetermined number of CPU cores mounted on the management server 12 according to a dedicated application program. This process is realized by executing the process. At this time, a plurality of threads are activated by the OS or dedicated middleware, and a task is assigned to each CPU core, thereby realizing multitask processing.

また、各APサーバ16の追加データ複製部38、登録処理部40、検索条件分割部44、検索処理部46、データ加工部47、検索結果統合部48は、各APサーバ16に搭載された多数のCPUコアが、専用のアプリケーションプログラムに従って所定の処理を実行することで実現されるのであるが、この際、OSまたは専用のミドルウェアによって複数のスレッドが起動され、各CPUコアにタスクが割り当てられることにより、マルチタスク処理が実現される。   In addition, the additional data replication unit 38, the registration processing unit 40, the search condition division unit 44, the search processing unit 46, the data processing unit 47, and the search result integration unit 48 of each AP server 16 are installed in each AP server 16. CPU cores are realized by executing predetermined processing according to a dedicated application program. At this time, multiple threads are started by the OS or dedicated middleware, and tasks are assigned to each CPU core. Thus, multitask processing is realized.

図6は、CPUコア52とスレッド54との対応関係を表しており、各スレッド54にはスレッドプール56が設けられ、そこに配置された複数のタスク58をスレッド54が順次処理していくイメージが描かれている。
この図におけるスレッド54が、管理サーバ12の追加データ受付部34、追加データ送信部36、検索条件送信部42、検索結果送信部50として機能し、あるいはAPサーバ16の追加データ複製部38、登録処理部40、検索条件分割部44、検索処理部46、データ加工部47、検索結果統合部48として機能し、これらの各機能構成部が実行する具体的な処理が、タスク58に相当する。
FIG. 6 shows the correspondence between the CPU core 52 and the thread 54. Each thread 54 has a thread pool 56, and the thread 54 sequentially processes a plurality of tasks 58 arranged there. Is drawn.
The thread 54 in this figure functions as the additional data reception unit 34, additional data transmission unit 36, search condition transmission unit 42, search result transmission unit 50 of the management server 12, or additional data replication unit 38 of the AP server 16, registration The specific processing executed by each of these functional components corresponds to the task 58, which functions as the processing unit 40, the search condition dividing unit 44, the search processing unit 46, the data processing unit 47, and the search result integration unit 48.

各スレッド54は、スレッドプール56に蓄積されたタスク58を古い順に次々と実行していき、自己のスレッドプール56が空になった場合には、他のスレッド54のスレッドプール56に蓄積されたタスク58を、新しい順に実行していく。   Each thread 54 executes the tasks 58 accumulated in the thread pool 56 one after another from the oldest, and when its own thread pool 56 becomes empty, it is accumulated in the thread pool 56 of the other thread 54 Tasks 58 are executed in order from the newest.

つぎに図7のフローチャート及び図3のブロック図に従い、このシステム10のデータ追加時における処理手順を説明する。
まず、クライアント端末22から送信されたデータ追加のリクエストを管理サーバ12が受信すると(S10)、追加データ受付部34が追加データを拠点数分コピーし(S12)、それぞれを各追加データ送信部36に渡す。
各追加データ送信部36は、受け取った追加データを自己が担当する拠点のAPサーバ16に送信する(S14)。
Next, according to the flowchart of FIG. 7 and the block diagram of FIG.
First, when the management server 12 receives a data addition request transmitted from the client terminal 22 (S10), the additional data receiving unit 34 copies the additional data for the number of locations (S12), and each additional data transmitting unit 36 To pass.
Each additional data transmission unit 36 transmits the received additional data to the AP server 16 at the site that it is in charge of (S14).

これを受けた各APサーバ16の追加データ複製部38は(S16)、追加データをDBサーバ18の台数分コピーし(S18)、それぞれを登録処理部40に渡す。
各登録処理部40は、自己が担当するDBサーバ18に対して上記の追加データの登録を求めるSQL文を発行する(S20)。
これを受けた各DBサーバ18は(S22)、該当のテーブルに対して一斉に対応のレコードを追加する(S24)。この結果、全拠点における全DBサーバ18が管理するデータの同一性が確保される。
Upon receiving this, the additional data replication unit 38 of each AP server 16 (S16) copies the additional data as many as the number of DB servers 18 (S18), and passes each to the registration processing unit 40.
Each registration processing unit 40 issues an SQL statement for requesting registration of the additional data to the DB server 18 that it is in charge of (S20).
Receiving this (S22), each DB server 18 adds corresponding records to the corresponding table all at once (S24). As a result, the identity of the data managed by all DB servers 18 at all bases is ensured.

つぎに、図8〜図10のフローチャート及び図4、図5のブロック図に従い、このシステム10のデータ検索時における処理手順を説明する。
まず、クライアント端末22から送信された検索条件を第1の拠点14a内の管理サーバ12が受信すると(図8のS30)、検索条件送信部42が検索処理を担当する一つのAPサーバ16を決定し(S32)、当該APサーバ16に検索条件を送信する(S34)。
通常は、同一の拠点14a内に配置されたAPサーバ16が選択されるが、当該APサーバ16が何らかの理由で動作していない場合、管理サーバ12の検索条件送信部42は、他の拠点までの物理的な距離や通信ネットワークの混雑状況、過去の実績等を勘案し、現時点で検索結果が最も早く戻ってくると判断した拠点のAPサーバ16を選択する。
Next, a processing procedure at the time of data search of the system 10 will be described according to the flowcharts of FIGS. 8 to 10 and the block diagrams of FIGS.
First, when the management server 12 in the first base 14a receives the search condition transmitted from the client terminal 22 (S30 in FIG. 8), the search condition transmission unit 42 determines one AP server 16 in charge of the search process. Then, the search condition is transmitted to the AP server 16 (S34).
Normally, the AP server 16 located in the same base 14a is selected, but if the AP server 16 is not operating for some reason, the search condition transmission unit 42 of the management server 12 In consideration of the physical distance, the congestion status of the communication network, the past results, etc., the AP server 16 of the base that has been determined that the search result returns the earliest at the present time is selected.

上記の検索条件を第1の拠点14aのAPサーバ16が受信すると(S36)、検索条件分割部44が検索条件を解析し、検索条件の内容に応じて複数の検索条件に分割する(S38)。   When the AP server 16 at the first site 14a receives the above search conditions (S36), the search condition dividing unit 44 analyzes the search conditions and divides them into a plurality of search conditions according to the contents of the search conditions (S38). .

ここで分割の基準となるのは、時間(日、週、月、年等)や地域(都道府県、市町村等)など、検索対象データを論理的に複数に区分できるものが該当する。
例えば、「2010年における全チェーン店の売上を集計する」という検索条件が与えられた場合に、「2010年1月分の全チェーン店の売上」、「2010年2月の全チェーン店の売上」、「2010年3月の全チェーン店の売上」…というように、年を月単位に12分割することが該当する。
また、各チェーン店の所在地データに着目し、「2010年における東京所在チェーン店の売上」、「2010年における北海道所在チェーン店の売上」、「2010年における沖縄所在チェーン店の売上」…というように、全国を都道府県単位に47分割することも該当する。
もちろん、「2010年1月分の東京所在チェーン店の売上」や「2010年1月の北海道所在チェーン店の売上」のように、月×都道府県単位で564分割することもできる。
Here, the criteria for the division are those that can logically divide the search target data into a plurality of data such as time (day, week, month, year, etc.) and region (prefecture, municipality, etc.).
For example, if the search condition “aggregate sales of all chain stores in 2010” is given, “sales of all chain stores for January 2010”, “sales of all chain stores in February 2010” ”,“ Sales of all chain stores in March 2010 ”, etc., and the year is divided into 12 units per month.
Focusing on the location data of each chain store, “Sales of chain stores in Tokyo in 2010”, “Sales of chain stores in Hokkaido in 2010”, “Sales of chain stores in Okinawa in 2010”… In addition, dividing the whole country into 47 prefectures is also applicable.
Of course, it can also be divided into 564 by month × prefectural unit, such as “sales of chain stores in Tokyo for January 2010” and “sales of chain stores in Hokkaido in January 2010”.

これらの分割基準は、クライアント端末22から発せられると予測される検索条件や、対象となるデータの量等に鑑みて、事前に幾つかの分割パターンがプログラム設計者によって策定され、検索条件分割部44を実現するためのプログラム中にコーディングされている。   These division criteria are determined in advance by the program designer in consideration of the search condition predicted to be issued from the client terminal 22, the amount of target data, and the like. It is coded in the program to realize 44.

ここでは、クライアント端末22から「A店の8月分の請求額を地域毎に集計せよ」という内容の検索リクエストが送信されたものとして、説明を続ける。
まず検索条件分割部44は、「8月=31日間」というカレンダー情報に従い、「8月1日分」、「8月2日分」、「8月3日分」…「8月31日分」というように、検索条件を31分割する。
Here, the description will be continued on the assumption that the client terminal 22 has transmitted a search request with the content “Aggregate bills for August of store A for each region”.
First, according to the calendar information “August = 31 days”, the search condition dividing unit 44 “for August 1”, “for August 2”, “for August 3” ... “for August 31” The search condition is divided into 31 parts.

つぎに検索条件分割部44は、これらの分割された各検索条件(「A店の8月1日分の請求額を地域毎に集計せよ」等)及び担当すべき対応DBサーバ18を、31個の検索処理部46に割り当てる(S40)。   Next, the search condition dividing unit 44 selects each of the divided search conditions (such as “Aggregate the amount billed for August 1 of store A for each region”) and the corresponding DB server 18 to be in charge of 31 The search processing units 46 are assigned (S40).

これに対し各検索処理部46は、自己に割り当てられた請求日を指定した、請求管理テーブル32から請求データを取得するためのSQL文を生成し、自己が担当するDBサーバ18に発行する(図9のS42)。   On the other hand, each search processing unit 46 generates an SQL statement for acquiring the billing data from the billing management table 32 specifying the billing date assigned to itself, and issues it to the DB server 18 in charge of the search processing unit 46 ( S42 in FIG. 9).

そして、DBサーバ18から該当日の請求年月日を備えた請求データが送信されると、検索処理部46は対応のDBサーバ18から全ての検索結果データが送信されるのを待つことなく、予め設定された一定量のデータ(例えば1,000件のレコード相当分)が送信された時点で(S44/Y)、必要な演算処理を複数のデータ加工部47に割り当てる(S46)。   Then, when the billing data including the billing date of the corresponding day is transmitted from the DB server 18, the search processing unit 46 does not wait for all the search result data to be transmitted from the corresponding DB server 18, When a predetermined amount of preset data (for example, equivalent to 1,000 records) is transmitted (S44 / Y), necessary arithmetic processing is assigned to a plurality of data processing units 47 (S46).

具体的には、以下のような処理がデータ加工部47によって実行される。
(1)各請求データの「予約ID」を指定したSQL文を生成してDBサーバ18に発行し、「予約管理テーブル26」から対応の予約データを取得する。
(2)送信された予約データの中で、該当店舗の「店ID」を有するデータのみを抽出し、他の店IDのデータを除外する。
(3)各予約データの「顧客ID」を指定したSQL文を生成してDBサーバ18に発行し、顧客管理テーブル24から対応の顧客データを取得する。
(4)顧客データの「地域」毎に、予約データ中の「金額」の値を集計する。
これら(1)〜(4)の処理は、具体的にはタスク58として各データ加工部47のスレッドプール56に配置される。
Specifically, the following processing is executed by the data processing unit 47.
(1) An SQL statement specifying the “reservation ID” of each billing data is generated and issued to the DB server 18, and the corresponding reservation data is acquired from the “reservation management table 26”.
(2) In the transmitted reservation data, only the data having the “store ID” of the corresponding store is extracted, and the data of other store IDs are excluded.
(3) A SQL statement specifying the “customer ID” of each reservation data is generated and issued to the DB server 18, and the corresponding customer data is acquired from the customer management table 24.
(4) For each “region” of customer data, the “amount” value in the reservation data is aggregated.
Specifically, the processes (1) to (4) are arranged in the thread pool 56 of each data processing unit 47 as a task 58.

検索処理部46は、データ加工部47から1,OOO件単位の処理結果データが返信された時点で(S48/Y)、この単位データ量当たりの処理結果をメモリに格納すると共に、DBサーバ18から送信されたデータをメモリ上から削除する(S50)。
各検索処理部46は、DBサーバ18からのデータ送信が完了するまで、DBサーバ18から送信されるデータが一定量に達する度にS46〜S50の処理を繰り返す(S52/N、S44/Y)。
そして、DBサーバ18からのデータ送信が完了し、S46〜S50の最後の処理が完了して1日分の処理結果データが揃った時点で(S52/Y)、検索処理部46はこれまでの部分的な処理結果の集計値を集計し(S54)、検索結果統合部48に集計結果を出力する(S56)。
The search processing unit 46 stores the processing result per unit data amount in the memory when the processing result data in units of 1, OOO is returned from the data processing unit 47 (S48 / Y), and the DB server 18 The data transmitted from is deleted from the memory (S50).
Each search processing unit 46 repeats the processing of S46 to S50 every time the data transmitted from the DB server 18 reaches a certain amount until the data transmission from the DB server 18 is completed (S52 / N, S44 / Y). .
Then, when the data transmission from the DB server 18 is completed and the last processing of S46 to S50 is completed and the processing result data for one day is prepared (S52 / Y), the search processing unit 46 has executed the previous processing. The total values of the partial processing results are totaled (S54), and the total results are output to the search result integration unit 48 (S56).

これを受けた検索結果統合部48は(図10のS58)、各検索処理部44から集計結果が送信される度に、全ての検索処理部44からの集計結果が揃ったか否かをチェックし(S60)、全てが揃った段階で全検索処理部44の集計結果を集計する(S62)。
そして、その最終的な集計結果を管理サーバ12に送信する(S64)。
これを受けた管理サーバ12の検索結果送信部50は(図8のS66)、この集計結果を含むWebファイルを生成し、クライアント端末22に送信する(S68)。
Receiving this, the search result integrating unit 48 (S58 in FIG. 10) checks whether or not the total results from all the search processing units 44 have been prepared each time the total results are transmitted from each search processing unit 44. (S60) When all of them have been prepared, the total results of all the search processing units 44 are totaled (S62).
Then, the final count result is transmitted to the management server 12 (S64).
Receiving this, the search result transmission unit 50 of the management server 12 (S66 in FIG. 8) generates a Web file including the total result and transmits it to the client terminal 22 (S68).

このシステム10の場合、DBサーバ18からのフェッチが完了するまでAPサーバ16が待つことはなく、一定量のデータを受信する度に複数のデータ加工部47による処理が開始される仕組みであるため、DBサーバ18のDISK/IOによるボトルネックを解消することができる。   In the case of this system 10, the AP server 16 does not wait until the fetch from the DB server 18 is completed, and the process by the plurality of data processing units 47 is started each time a certain amount of data is received. The bottleneck due to DISK / IO of the DB server 18 can be resolved.

また、APサーバ16における部分的な集計が完了する度に、DBサーバ18から送信されたデータが占めていたメモリが解放され、データ量が格段に小さな集計結果データのみがメモリに格納される仕組みであるため、APサーバ16のメモリが大きなデータに占拠され続けることを回避できる。   Also, every time the partial aggregation in the AP server 16 is completed, the memory occupied by the data sent from the DB server 18 is released, and only the aggregation result data with a much smaller amount of data is stored in the memory. Therefore, it can be avoided that the memory of the AP server 16 is continuously occupied by large data.

さらに、図11に示すように、各DBサーバ18は同じ内容のデータを保持しており、APサーバ16の各検索処理部46は、DBサーバ18aから「8/1(8月1日分)」のデータを取得し、DBサーバ18bからは「8/2(8月2日分)」のデータを、DBサーバ18cからは「8/3(8月3日分)」のデータを…、というように、自己に割り当てられた一つのDBサーバ18から自己に割り当てられた1日分のデータを取得するSQL文を分散して発行できる。このため、個々のDBサーバ18における処理の負担が必然的に低減することとなり、全体の処理速度を高速化することができる。また、各検索処理部46に担当のDBサーバ18を割り振る際に、DBサーバ18毎の特性(保持データの範囲等)を考慮することなく、機械的に対応付けることができる。   Furthermore, as shown in FIG. 11, each DB server 18 holds the same data, and each search processing unit 46 of the AP server 16 receives “8/1 (for August 1) from the DB server 18a. "8/2 (for August 2)" from the DB server 18b, "8/3 (for August 3)" from the DB server 18c, ... In this way, it is possible to distribute and issue SQL statements for acquiring data for one day allocated to itself from one DB server 18 allocated to itself. Therefore, the processing load on each DB server 18 is inevitably reduced, and the overall processing speed can be increased. Further, when the assigned DB server 18 is allocated to each search processing unit 46, it can be mechanically associated without considering the characteristics (the range of retained data, etc.) for each DB server 18.

なお、処理速度の向上という観点からは、分割した検索条件と等しい数の検索処理部46及びDBサーバ18を用意することが望ましいが、検索処理部46及びDBサーバ18に数はこれに限定されるものではない。
例えば、分割された検索条件が31個あり、検索処理部46が31個設けられたにもかかわらず、DBサーバ18が物理的に10台しか用意されていない場合には、各DBサーバ18に対して3〜4個の検索条件が割り振られることになる。この場合でも、1台のDBサーバ18のみで全てを処理する場合に比べ、大幅な高速化が期待できる。
From the viewpoint of improving the processing speed, it is desirable to prepare the same number of search processing units 46 and DB servers 18 as the divided search conditions, but the numbers are limited to the search processing units 46 and DB servers 18. It is not something.
For example, if there are 31 divided search conditions and 31 search processing units 46 are provided, but only 10 DB servers 18 are physically prepared, each DB server 18 has On the other hand, 3 to 4 search conditions are allocated. Even in this case, a significant increase in speed can be expected compared to a case where only one DB server 18 is used for processing.

上記の通り、複数の拠点には同じ機能構成を備えた管理サーバ12、APサーバ16及び複数のDBサーバ18が配置されており、データの追加時には一の拠点内の管理サーバ12から全拠点のAPサーバ16に対してデータ追加の指令が同時に送信され、各APサーバ16から同一拠点内の各DBサーバ18に対してデータ追加のSQLが一斉に発行される仕組みを備えているため、地震等の自然災害によって何れかの拠点が壊滅的な被害を被った場合であっても、クライアント端末22は即座に他の拠点の管理サーバ12にアクセスすることで、当該拠点に配置されたAPサーバ16及びDBサーバ18を通じて、業務データの検索や追加といった処理を継続することができる。   As described above, the management server 12, the AP server 16, and the plurality of DB servers 18 having the same functional configuration are arranged in the plurality of bases. When adding data, the management server 12 in one base Data addition commands are sent to the AP server 16 at the same time, and data addition SQL is issued from each AP server 16 to each DB server 18 at the same location. Even if one of the bases is devastated by a natural disaster, the client terminal 22 immediately accesses the management server 12 of the other base, so that the AP server 16 placed in the base In addition, processing such as search and addition of business data can be continued through the DB server 18.

また平常時においても、各拠点の管理サーバ12やAPサーバ16、DBサーバ18は近隣のクライアント端末22に対して通常の業務サービスを休みなく提供しており、漫然と待機しているわけではないため、保有設備の有効活用と拠点単位での負荷分散が実現される。   Even during normal times, the management server 12, AP server 16, and DB server 18 at each site provide normal business services to neighboring client terminals 22 without interruption and are not waiting in a casual manner. Effective utilization of owned equipment and load distribution at each site are realized.

なお、管理サーバ12は必ずしもAPサーバ16及びDBサーバ18と同一の拠点内に配置される必要はなく、各管理サーバ12を他の場所に設置することも当然に可能である。   The management server 12 is not necessarily arranged in the same base as the AP server 16 and the DB server 18, and each management server 12 can naturally be installed in another location.

上記のように、実際には各拠点内には複数のAPサーバ16が設置され、図示しないロードバランサによって負荷分散されているため、各拠点内にはAPロックサーバ(図示省略)が設置され、APサーバ16間における拠点単位での排他制御が実行されている。
また、拠点間を跨ってデータの整合性を確保する必要がある場合(オークションの入札リクエスト等)には、図示は省略したが、各管理サーバ12間に管理ロックサーバを設け、管理サーバ12間における排他制御が実行される。
As described above, a plurality of AP servers 16 are actually installed in each site, and load is distributed by a load balancer (not shown), so an AP lock server (not shown) is installed in each site, Exclusive control for each site between the AP servers 16 is executed.
In addition, when it is necessary to ensure data consistency across bases (auction bid requests, etc.), although not shown, a management lock server is provided between the management servers 12, and between the management servers 12. Exclusive control in is performed.

この発明にあっては、上記のようにDBサーバ18が管理する各テーブルの構造が極限まで単純化される分、テーブルの数が増え、SQL文の発行数自体は増大するが、演算処理は多数のCPUコアを用いた並列処理によって高速化されたAPサーバ16側で行われ、DBサーバ18は単純化されたデータの管理(インサートとセレクト)に専念でき、データの更新や削除から解放されるため、DBサーバ18の負担は大幅に軽減される。
しかも、DBサーバ18は筐体レベルで複数台用意され、検索時にはデータの抽出処理がそれぞれに分散される。
このため、テーブルの正規化の追求に伴いDBサーバ18側の処理速度が低下することを、有効に回避できる。
In the present invention, as the structure of each table managed by the DB server 18 is simplified to the limit as described above, the number of tables increases and the number of SQL statements issued increases, but the arithmetic processing is performed. Performed on the AP server 16 speeded up by parallel processing using a large number of CPU cores, the DB server 18 can concentrate on simplified data management (insert and select), freeing from data updates and deletions Therefore, the burden on the DB server 18 is greatly reduced.
In addition, a plurality of DB servers 18 are prepared at the chassis level, and data extraction processing is distributed to each when searching.
For this reason, it is possible to effectively avoid a decrease in the processing speed on the DB server 18 side in pursuit of table normalization.

また、フラグ値や区分値のように、特殊なビジネスルールに基づいた値の格納が禁止される結果、データモデルの見通しが良好となり、テスト・データの作成効率が向上するという効果も期待できる。   In addition, as a result of prohibiting the storage of values based on special business rules such as flag values and division values, it is possible to expect an effect that the prospect of the data model is improved and test data creation efficiency is improved.

図12に示すように、各DBサーバ18とAPサーバ16との間にインデックスサーバ60を設けることにより、このシステム10における検索処理をより高速化することができる。
この場合、各DBサーバ18は、データベース管理システム(RDBMS)61と、当日分データ記憶領域(暫定記憶領域)62と、過去分データ記憶領域(永続記憶領域)63とを備える。
As shown in FIG. 12, by providing an index server 60 between each DB server 18 and the AP server 16, the search process in the system 10 can be further accelerated.
In this case, each DB server 18 includes a database management system (RDBMS) 61, a data storage area (provisional storage area) 62 for the day, and a data storage area (permanent storage area) 63 for the past.

また、インデックスサーバ60は、インデックス生成部64と、インデックス記憶部65と、インデックス提供部66とを備えている。
インデックス生成部64及びインデックス提供部66は、インデックスサーバ60のCPUが専用のプログラムに従って動作することにより実現され、インデックス記憶部65は、インデックスサーバ60のSSD(Solid State Drive)内に設けられている。
The index server 60 includes an index generation unit 64, an index storage unit 65, and an index provision unit 66.
The index generating unit 64 and the index providing unit 66 are realized by the CPU of the index server 60 operating according to a dedicated program, and the index storage unit 65 is provided in an SSD (Solid State Drive) of the index server 60. .

APサーバ16の登録処理部40から送信された追加データは、DBサーバ18のデータベース管理システム61によって当日分データ記憶領域62に一旦格納された後、夜間バッチ処理によって過去分データ記憶領域63に移される。
また、インデックスサーバ60のインデックス生成部64は、夜間バッチ処理により、データベース管理システム61から当日分データ記憶領域62内に格納された追加データを取得し、追加分のインデックスを作成した後、インデックス記憶部65に格納する。
The additional data transmitted from the registration processing unit 40 of the AP server 16 is temporarily stored in the data storage area 62 for the current day by the database management system 61 of the DB server 18 and then transferred to the past data storage area 63 by nighttime batch processing. It is.
In addition, the index generation unit 64 of the index server 60 obtains additional data stored in the data storage area 62 for the current day from the database management system 61 by nighttime batch processing, creates an additional index, Store in part 65.

この場合、APサーバ16の各検索処理部46は、各DBサーバ18に対してSQL文を発行するに際し、インデックスサーバ60のインデックス提供部66を介してインデックス記憶部65を参照し、過去分データ記憶領域63に格納されたデータに関しては、検索条件の範囲に含まれる個々のデータの主キーを取得した後、個々の主キーを特定したSQL文を生成する。   In this case, each search processing unit 46 of the AP server 16 refers to the index storage unit 65 via the index providing unit 66 of the index server 60 when issuing the SQL statement to each DB server 18, and the past data As for the data stored in the storage area 63, after acquiring the primary key of each data included in the range of the search condition, an SQL sentence specifying each primary key is generated.

例えば、管理サーバ12から送信された検索条件が、特定店舗における過去1年分の売上データを取得するものであった場合、検索処理部46はこの条件に合致する全データの主キーをインデックスサーバ60から取得した上で、SQL文中にこれらの主キーを記述してDBサーバ18に発行する。   For example, if the search condition transmitted from the management server 12 is to acquire sales data for the past year in a specific store, the search processing unit 46 sets the primary key of all data that matches this condition to the index server. After obtaining from 60, describe these primary keys in the SQL statement and issue them to the DB server 18.

このため、DBサーバ18のデータベース管理システム61は、データの検索処理を行うことなく、過去分データ記憶領域63に格納された各テーブルから主キーによって指定されたデータをダイレクトに取り出し、検索処理部46に迅速に返すことが可能となる。
しかも、インデックスはハードディスクよりも高速な動作が可能なSSDに格納されているため、APサーバ16がインデックスを参照する際のDISK/IOを低減することができる。
For this reason, the database management system 61 of the DB server 18 directly retrieves data designated by the primary key from each table stored in the past data storage area 63 without performing data retrieval processing, It becomes possible to return to 46 quickly.
Moreover, since the index is stored in an SSD that can operate at a higher speed than the hard disk, DISK / IO when the AP server 16 refers to the index can be reduced.

なお、インデックスは上記の通り夜間バッチにて生成されるため、当日分データについてはインデックスが用意されていない。このため、当日分データを取得する必要がある場合、検索処理部46は主キーを指定することなく、検索条件を指定したSQL文をDBサーバ18に発行する。   Since the index is generated in the night batch as described above, no index is prepared for the data for the day. For this reason, when it is necessary to acquire data for the current day, the search processing unit 46 issues an SQL statement specifying a search condition to the DB server 18 without specifying a primary key.

このシステム10においては、上記の通り、個々のレコードに関して更新や削除が生じることがなく、新規レコードの追加のみが許容される仕組みを採用しているため、DBサーバ18において当日分データと過去分データを明確に分離することが可能となる。   In this system 10, as described above, there is no update or deletion of individual records, and only a new record is allowed to be added. Data can be clearly separated.

図13は、各DBサーバ18の内部構造をより詳細に示すものであり、メモリ上に設けられたバッファ・キャッシュ領域70と、データベース管理システム(RDBMS)61と、OS(Linux/登録商標)72と、テーブル記憶領域74と、更新ログ記憶領域76とが描かれている。
ここでテーブル記憶領域74は、ハードディスク(HDD)内に設けられており、上記した顧客管理テーブル24や予約管理テーブル26等が格納されている。また更新ログ記憶領域76は、OSによってメモリ(tmpfs)内に設けられている。
FIG. 13 shows the internal structure of each DB server 18 in more detail. A buffer / cache area 70 provided in the memory, a database management system (RDBMS) 61, and an OS (Linux / registered trademark) 72. A table storage area 74 and an update log storage area 76 are drawn.
Here, the table storage area 74 is provided in the hard disk (HDD), and stores the customer management table 24, the reservation management table 26, and the like. The update log storage area 76 is provided in the memory (tmpfs) by the OS.

この図に示されているように、DBサーバ18においては一般に、テーブル内のデータはブロック78単位でテーブル記憶領域74からバッファ・キャッシュ領域70に取り出されると共に、バッファ・キャッシュ領域70に書き込まれたデータはブロック78単位でテーブル記憶領域74に格納される。
このため、上記のように各テーブルに格納されるレコードの構造が極限まで簡素化されていると、1つのブロック78に収納できるレコード数を増やすことが可能となり、その分、DBサーバ18における処理の効率化を実現することが可能となる。
As shown in this figure, in the DB server 18, generally, data in a table is fetched from the table storage area 74 to the buffer cache area 70 and written to the buffer cache area 70 in units of blocks 78. The data is stored in the table storage area 74 in units of blocks 78.
Therefore, if the structure of the records stored in each table is simplified to the limit as described above, the number of records that can be stored in one block 78 can be increased, and the processing in the DB server 18 correspondingly. It becomes possible to realize efficiency improvement.

また、更新ログ79をハードディスクよりも高速に動作するメモリ上に設けられた更新ログ記憶領域76に格納することにより、その分DISK/IOを削減することが可能となり、DBサーバ18における処理のさらなる高速化を実現可能となる。   Further, by storing the update log 79 in the update log storage area 76 provided on the memory that operates faster than the hard disk, it becomes possible to reduce DISK / IO correspondingly, and further processing in the DB server 18 High speed can be realized.

ところで、更新ログ79はDBサーバ18に何らかのトラブルが発生した場合に、データを復旧させるための最後の拠り所となる重要な構成要素であるため、通常は電源OFFによってデータが消失してしまうメモリ上に設けられることはない。
これに対し、このシステム10の場合には、上記のようにDBサーバ18が拠点毎に物理的に複数台設けられており、各DBサーバ18には同一内容のデータが保存される仕組みを備えているため、データ消失の危険を有効に分散させることが可能となる。
By the way, the update log 79 is an important component that will be the last base for data recovery in the event of any trouble in the DB server 18, so data is usually lost when the power is turned off. Is not provided.
On the other hand, in the case of this system 10, as described above, a plurality of DB servers 18 are physically provided for each site, and each DB server 18 has a mechanism for storing the same data. Therefore, it is possible to effectively disperse the risk of data loss.

しかも、各テーブルにはデータの更新や削除が許容されないというルールが適用されているため、一のDBサーバ18の更新ログが消失してしまい、他のDBサーバ18の更新ログに基づいてデータを復旧させる必要性が生じた場合であっても、ハードディスクに格納された既存のデータとの間で整合性を確保する必要がなく、新たに追加された当日分のデータのみを追記させれば済むという利点も生じる。因みに、この復旧が完了するまでの間、当該DBサーバ18についてはWRITE ONLY状態(データの書き込み可/読み込み不可)に置かれる。   In addition, since the rule that data update or deletion is not allowed is applied to each table, the update log of one DB server 18 is lost, and data is stored based on the update log of another DB server 18. Even if it is necessary to restore, it is not necessary to ensure consistency with the existing data stored on the hard disk, and only the newly added data for the current day needs to be added. There is also an advantage. Incidentally, until this recovery is completed, the DB server 18 is placed in a WRITE ONLY state (data can be written / not readable).

なお、上記の更新ログ記憶領域76は、上記のように各DBサーバ18のOSによってメモリ上に設定されると共に、更新ログの格納処理もOSの機能によって実現される仕組みであるため、DBサーバ用のアプリケーションプログラムがクラッシュ等しても、OSがダウンしない限り当該DBサーバ内で復旧可能である。   The update log storage area 76 is set on the memory by the OS of each DB server 18 as described above, and the update log storage process is also realized by the function of the OS. Even if an application program crashes, it can be recovered in the DB server as long as the OS does not go down.

この発明に係るデータ管理システムの全体構成を示す模式図である。It is a schematic diagram which shows the whole structure of the data management system which concerns on this invention. DBサーバに格納されたテーブルを例示する図である。It is a figure which illustrates the table stored in DB server. クライアント端末から送信されたデータ追加のリクエストが、DBサーバに送信される場面での機能構成を示すブロック図である。It is a block diagram which shows the function structure in the scene where the data addition request | requirement transmitted from the client terminal is transmitted to DB server. 検索リクエストがDBサーバに送信される場面での機能構成を示すブロック図である。It is a block diagram which shows the function structure in the scene where a search request is transmitted to DB server. DBサーバから検索結果が送信される場面での機能構成を示すブロック図である。It is a block diagram which shows the function structure in the scene where a search result is transmitted from DB server. CPUコアとスレッドとの対応関係を示す模式図である。It is a schematic diagram which shows the correspondence of a CPU core and a thread. データ追加時の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence at the time of data addition. データ検索時の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence at the time of data search. データ検索時の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence at the time of data search. データ検索時の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence at the time of data search. 共通のデータを保持した複数のDBサーバから、それぞれ別個のデータを分散取得する様子を示す模式図である。It is a schematic diagram which shows a mode that each separate data is separately acquired from several DB server holding the common data. この発明に係るデータ管理システムにインデックスサーバを追加した例を示すブロック図である。It is a block diagram which shows the example which added the index server to the data management system which concerns on this invention. DBサーバの内部構造を示す模式図である。It is a schematic diagram which shows the internal structure of DB server.

10 データ管理システム
12 管理サーバ
14a 拠点
14b 拠点
16 APサーバ
18 DBサーバ
20 通信ネットワーク
22 クライアント端末
24 顧客管理テーブル
26 予約管理テーブル
28 売上管理テーブル
30 予約取消管理テーブル
32 請求管理テーブル
34 追加データ受付部
36 追加データ送信部
38 追加データ複製部
40 登録処理部
42 検索条件送信部
44 検索処理部
44 検索条件分割部
46 検索処理部
47 データ加工部
48 検索結果統合部
50 検索結果送信部
52 CPUコア
54 スレッド
56 スレッドプール
58 タスク
60 インデックスサーバ
61 データベース管理システム
62 当日分データ記憶領域
63 過去分データ記憶領域
64 インデックス生成部
65 インデックス記憶部
66 インデックス提供部
70 キャッシュ領域
74 テーブル記憶領域
76 更新ログ記憶領域
78 ブロック
79 更新ログ
10 Data management system
12 Management server
14a locations
14b locations
16 AP server
18 DB server
20 Communication network
22 Client terminal
24 Customer management table
26 Reservation management table
28 Sales management table
30 Reservation cancellation management table
32 Billing management table
34 Additional data reception
36 Additional data transmitter
38 Additional data replica
40 Registration Processing Department
42 Search condition transmitter
44 Search processing section
44 Search condition division
46 Search processing section
47 Data processing section
48 Search Results Integration Department
50 Search result sending part
52 CPU cores
54 threads
56 Thread Pool
58 tasks
60 Index server
61 Database management system
62 Data storage area for the day
63 Past data storage area
64 Index generator
65 Index storage
66 Index provision department
70 Cache area
74 Table storage area
76 Update log storage area
78 blocks
79 Update log

Claims (5)

相互に所定の距離を隔てた複数の拠点にそれぞれ設置されたAPサーバと、上記拠点毎に複数設置され、同一拠点内のAPサーバとネットワークを介して接続されたDBサーバと、各拠点のAPサーバとネットワークを介して接続された複数の管理サーバとを備え、
上記の各APサーバは、追加データ複製部と、複数の登録処理部と、検索条件分割部と、複数の検索処理部と、複数のデータ加工部と、検索結果統合部を備え、
上記の各DBサーバは、全拠点を通じて相互に共通するデータを保持した複数のテーブルをそれぞれ備えており、各テーブルには、キー項目が一つに限定される制約と、データの更新が禁止される制約が設けられており、
クライアント端末から何れかの管理サーバに追加データが送信された場合に、当該管理サーバは、各拠点に配置されたAPサーバに対して当該追加データの登録を指令する処理を実行し、
各APサーバの上記追加データ複製部は、送信された追加データの複製物と、同一拠点内に配置されたDBサーバの特定情報を含むデータ追加リクエストを、上記の各登録処理部に割り当てる処理を実行し、
上記の各登録処理部は、上記追加データの登録を求めるSQL文を生成し、自己に割り当てられたDBサーバに発行する処理を実行し、
各DPサーバは、上記追加データに対応するレコードをテーブルに挿入する処理を実行し、
クライアント端末から何れかの管理サーバに検索条件が送信された場合に、当該管理サーバは何れか一つの拠点内のAPサーバに当該検索条件を送信する処理を実行し、
当該APサーバの検索条件分割部は、管理サーバから送信された検索条件を解析して複数の検索条件に分割すると共に、各検索条件及び担当のDBサーバを上記複数の検索処理部に割り当てる処理を実行し、
上記の各検索処理部は、自己に割り当てられた検索条件に対応したSQL文を生成し、自己に割り当てられたDBサーバに発行する処理と、DBサーバから一定量の検索結果データが送信される度に、必要な演算処理を上記の各データ加工処理部に割り当てる処理と、各データ加工処理部から部分的な加工処理結果データが返される度に、これをメモリに格納すると共に、DBサーバから送信されたデータをメモリ上から削除する処理と、DBサーバからのデータ送信が完了し、部分的な検索結果データに基づく部分的な加工処理結果データが全て揃った時点で、これらを集計して上記検索結果統合部に集計結果を出力する処理を実行し、
上記検索結果統合部は、各検索処理部から渡された集計結果を集計し、検索結果として上記管理サーバに送信する処理を実行し、
上記管理サーバは、APサーバから送信されたデータを検索結果として上記クライアント端末に送信する処理を実行することを特徴とするデータ管理システム。
AP servers installed at a plurality of bases separated from each other by a predetermined distance, a plurality of DB servers installed at the respective bases and connected to the AP server at the same base via a network, and the APs of the bases A plurality of management servers connected to the server via a network;
Each AP server includes an additional data duplicating unit, a plurality of registration processing units, a search condition dividing unit, a plurality of search processing units, a plurality of data processing units, and a search result integrating unit,
Each of the above DB servers has a plurality of tables each holding data common to all the bases. Each table is restricted to one key item and data updating is prohibited. Restrictions have been established,
When additional data is transmitted from the client terminal to any of the management servers, the management server executes processing for instructing the AP server arranged at each site to register the additional data,
The additional data replication unit of each AP server performs a process of assigning a copy of the transmitted additional data and a data addition request including specific information of the DB server arranged in the same site to each of the registration processing units. Run,
Each of the above registration processing units generates an SQL statement for requesting registration of the additional data, and executes a process to be issued to the DB server assigned to itself.
Each DP server executes a process of inserting a record corresponding to the additional data into the table,
When the search condition is transmitted from the client terminal to any management server, the management server executes a process of transmitting the search condition to the AP server in any one of the bases,
The search condition dividing unit of the AP server analyzes the search condition transmitted from the management server and divides it into a plurality of search conditions, and assigns each search condition and the responsible DB server to the plurality of search processing units. Run,
Each of the above search processing units generates a SQL statement corresponding to the search condition assigned to itself, issues it to the DB server assigned to itself, and a certain amount of search result data is transmitted from the DB server. Each time the necessary arithmetic processing is assigned to each data processing unit and each partial processing result data is returned from each data processing unit, it is stored in the memory and from the DB server. When the process of deleting the sent data from the memory and the data transmission from the DB server is completed, and when all the partial processing result data based on the partial search result data are collected, these are totaled Execute the process to output the aggregation results to the search result integration unit,
The search result integration unit totalizes the aggregation results passed from each search processing unit, and executes a process of transmitting to the management server as a search result,
The data management system, wherein the management server executes a process of transmitting data transmitted from the AP server to the client terminal as a search result.
上記検索条件分割部は、入力された検索条件が時間的な範囲を含んでいる場合に、これをより短い時間的な範囲に分割することを特徴とする請求項1に記載のデータ管理システム。   2. The data management system according to claim 1, wherein the search condition dividing unit divides the input search condition into a shorter time range when the input search condition includes a time range. 上記検索条件分割部は、入力された検索条件が地域的な範囲を含んでいる場合に、これをより狭い地域的な範囲に分割することを特徴とする請求項1に記載のデータ管理システム。   2. The data management system according to claim 1, wherein, when the input search condition includes a regional range, the search condition dividing unit divides the search condition into a narrower regional range. 請求項1〜3の何れかに記載のデータ管理システムであって、
インデックス生成部及びインデックス記憶部を有するインデックスサーバを備えており、
また上記の各DBサーバは、データベース管理システムと、暫定記憶領域及び永続記憶領域を備えており、
上記データベース管理システムは、上記APサーバから送信された追加データを上記暫定記憶領域に格納する処理と、所定の時間間隔で暫定記憶領域内の追加データを上記永続記憶領域に移動する処理を実行し、
上記インデックスサーバのインデックス生成部は、所定の時間間隔で上記DBサーバの暫定記憶領域に格納された追加データを取得する処理と、この追加データに基づいてインデックスを生成し、上記インデックス記憶部に格納する処理を実行し、
上記APサーバの各検索処理部は、自己に割り当てられた検索条件に対応した上記SQL文を生成するに際し、上記インデックスサーバのインデックス記憶部を参照し、検索条件に該当する各データの主キーを取得する処理と、この主キーによって取得対象データを指定したSQL文を生成する処理を実行することを特徴とするデータ管理システム。
The data management system according to any one of claims 1 to 3,
An index server having an index generation unit and an index storage unit;
Each DB server described above includes a database management system, a temporary storage area, and a permanent storage area.
The database management system executes a process of storing additional data transmitted from the AP server in the temporary storage area and a process of moving additional data in the temporary storage area to the permanent storage area at predetermined time intervals. ,
The index generation unit of the index server obtains additional data stored in the temporary storage area of the DB server at predetermined time intervals, generates an index based on the additional data, and stores the index in the index storage unit Execute the process to
Each search processing unit of the AP server refers to the index storage unit of the index server when generating the SQL statement corresponding to the search condition assigned to itself, and determines the primary key of each data corresponding to the search condition. A data management system characterized by executing a process of acquiring and a process of generating an SQL statement in which data to be acquired is specified by the primary key.
上記の各DBサーバは、メモリ上に設けられた更新ログ記憶領域を備えており、
上記データベース管理システムは、上記APサーバから送信された追加データを上記更新ログ記憶領域に順次格納する処理を実行することを特徴とする請求項1〜4の何れかに記載のデータ管理システム。
Each of the above DB servers has an update log storage area provided on the memory,
The data management system according to any one of claims 1 to 4, wherein the database management system executes a process of sequentially storing additional data transmitted from the AP server in the update log storage area.
JP2012105947A 2012-05-07 2012-05-07 Data management system Pending JP2013235328A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012105947A JP2013235328A (en) 2012-05-07 2012-05-07 Data management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012105947A JP2013235328A (en) 2012-05-07 2012-05-07 Data management system

Publications (1)

Publication Number Publication Date
JP2013235328A true JP2013235328A (en) 2013-11-21

Family

ID=49761424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012105947A Pending JP2013235328A (en) 2012-05-07 2012-05-07 Data management system

Country Status (1)

Country Link
JP (1) JP2013235328A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015133271A1 (en) * 2014-03-03 2015-09-11 株式会社野村総合研究所 Data management system, service provision system, and method for expanding functionality thereof
JP2015165357A (en) * 2014-03-03 2015-09-17 株式会社野村総合研究所 data management system
WO2016157358A1 (en) * 2015-03-30 2016-10-06 株式会社野村総合研究所 Data processing system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015133271A1 (en) * 2014-03-03 2015-09-11 株式会社野村総合研究所 Data management system, service provision system, and method for expanding functionality thereof
JP2015165357A (en) * 2014-03-03 2015-09-17 株式会社野村総合研究所 data management system
WO2016157358A1 (en) * 2015-03-30 2016-10-06 株式会社野村総合研究所 Data processing system
JPWO2016157358A1 (en) * 2015-03-30 2018-01-18 株式会社野村総合研究所 Data processing system

Similar Documents

Publication Publication Date Title
US10942812B2 (en) System and method for building a point-in-time snapshot of an eventually-consistent data store
US10078682B2 (en) Differentiated secondary index maintenance in log structured NoSQL data stores
US7788233B1 (en) Data store replication for entity based partition
US20190266131A1 (en) Scalable Grid Deduplication
JP5727258B2 (en) Distributed database system
JP5608633B2 (en) Data utilization system
WO2012140957A1 (en) Information storage system and data replication method thereof
CN104754001A (en) Cloud storage system and data storage method
JP5238915B1 (en) Distributed database system
RU2606058C2 (en) Improved reserve management system and method for implementation thereof
JP5878232B2 (en) Data processing system
JP2013235328A (en) Data management system
CN110543606B (en) Method and system for storing genealogy data based on alliance chain
JP5604478B2 (en) Data utilization system
JP5604403B2 (en) Data utilization system
US9361351B2 (en) Data management via active and inactive table space containers
EP3519985A1 (en) Flexible in-memory column store placement
JP2015165357A (en) data management system
Shukla Examining cassandra constraints: Pragmatic eyes
Kvet et al. Temporal index dispatcher layer service for intelligent transport system
US10757181B1 (en) Dynamic balancing of operations by selecting subsets of nodes
CN116719481B (en) Configuration data processing method and device and related equipment
Boytsov et al. Multi-tenant Database Clusters for SaaS
Fernandez Casani et al. Designing Alternative Transport Methods for the Distributed Data Collection of ATLAS EventIndex Project
Al-Saeedi Factors influencing the database selection for B2C web applications