JP2015210665A - Data management system - Google Patents

Data management system Download PDF

Info

Publication number
JP2015210665A
JP2015210665A JP2014091817A JP2014091817A JP2015210665A JP 2015210665 A JP2015210665 A JP 2015210665A JP 2014091817 A JP2014091817 A JP 2014091817A JP 2014091817 A JP2014091817 A JP 2014091817A JP 2015210665 A JP2015210665 A JP 2015210665A
Authority
JP
Japan
Prior art keywords
server
data
cpu
processing
function
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
JP2014091817A
Other languages
Japanese (ja)
Inventor
裕三 石田
Yuzo Ishida
裕三 石田
拓見 安増
Takumi Yasumasu
拓見 安増
宮本 慎也
Shinya Miyamoto
慎也 宮本
宏圭 高橋
Hiroyoshi Takahashi
宏圭 高橋
耕平 後藤
Kohei Goto
耕平 後藤
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 JP2014091817A priority Critical patent/JP2015210665A/en
Priority to PCT/JP2015/054393 priority patent/WO2015133271A1/en
Priority to SG11201607253YA priority patent/SG11201607253YA/en
Publication of JP2015210665A publication Critical patent/JP2015210665A/en
Priority to PH12016501742A priority patent/PH12016501742A1/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To improve a processing speed by effectively utilizing the multi-core of a CPU when an AP server and a DB server are achieved in the same casing.SOLUTION: A data management system 10 includes: a CPU package in which a plurality of CPU cores are incorporated and an external storage device 30 in which a plurality of tables are stored; an AP server 32 activated by the computer 11; and first DB server 36 to sixth DB server 46. A plurality of different CPU cores are exclusively assigned to the AP server 32 and each DB server. The AP server 32 includes: a function for specifying the type of data necessary for the execution of task processing; a function for requesting the extraction of necessary data to each DB server; and a function for performing necessary arithmetic processing to the data acquired from the DB server. When the extraction of data is requested to each DB server, SQL is issued in a state that the CPU core in charge of the processing is concretely designated.

Description

この発明はデータ管理システムに係り、特に、一つの筐体内に業務処理を担当するAPサーバ機能とデータベースの管理を担当するDBサーバ機能を併存させる技術に関する。   The present invention relates to a data management system, and more particularly to a technique for coexisting an AP server function in charge of business processing and a DB server function in charge of database management in a single housing.

通常、業務処理を担当するAPサーバと、業務処理の結果である各種データをデータベースに格納して管理するDBサーバとは別個のサーバコンピュータで構成され、それぞれの間を通信ネットワーク経由で接続することが行われている。このため、APサーバとDBサーバ間ではイーサネット(登録商標)による通信のオーバーヘッドが発生し、高速な処理が実現できなかった(非特許文献1参照)。   Normally, the AP server in charge of business processing and the DB server that stores and manages various data resulting from business processing in a database are configured on separate server computers, and they are connected via a communication network. Has been done. For this reason, communication overhead by Ethernet (registered trademark) occurs between the AP server and the DB server, and high-speed processing cannot be realized (see Non-Patent Document 1).

もちろん、1台のサーバコンピュータ内にAPサーバ用プログラムとDPサーバ用プログラムをセットアップすることにより、APサーバとDBサーバを同一筐体内に形成することは従来でも可能であり、これにより通信のオーバーヘッドをなくすこと自体は実現できる。
しかしながら、この場合にはAPサーバとDBサーバとの間でコンピュータのリソースを奪い合う形になるため、通信のオーバーヘッドが解消されることによる高速化のメリットが半ば相殺されてしまい、全体としての処理速度が劇的に向上することは期待できなかった。
Of course, by setting up the AP server program and the DP server program in a single server computer, it is possible to form the AP server and the DB server in the same chassis. The elimination itself can be realized.
However, in this case, since the AP server and the DB server compete for computer resources, the benefits of speeding up due to elimination of communication overhead are offset by half, resulting in overall processing speed. Could not be expected to improve dramatically.

ところで、コンピュータの処理能力の向上は、以前は主としてCPUのクロック数の向上に依存してきたが、発熱や消費電力の問題が浮上したため、2003年〜2005年頃を境にCPUのクロック数は頭打ちと状態となっている。その代わりに、近年ではCPUのマルチコア化が進み、比較的低いクロック数のCPUコアであっても、一つのパッケージ内に4〜6個のCPUコアを格納させて処理の並列化を図ることにより、増え続けるデータ処理量に対応することが期待されている。   By the way, the improvement in computer processing power has previously depended mainly on the improvement of the CPU clock frequency, but since the problems of heat generation and power consumption have emerged, the CPU clock frequency has peaked around 2003-2005. It is in a state. Instead, in recent years, CPUs have become multi-core, and even if the CPU core has a relatively low number of clocks, it is possible to store 4 to 6 CPU cores in one package and parallelize the processing. It is expected to cope with the ever-increasing amount of data processing.

確かに、DNA解析や気象解析のように、純粋な演算処理を主体とした科学技術計算の場合には、多数のCPUコアを連携させることにより、処理能力を比較的容易に向上させることができる。
これに対し、データベースに蓄積された大量のデータを複雑に組み合わせて参照する必要のある業務系処理の場合には、DBサーバにおけるデータの抽出処理や演算処理に時間を要するため、例えAPサーバ及びDBサーバを載せるサーバコンピュータのCPUコア数を増やしたとしても、直ちに処理速度の向上には結びつかないことが指摘されていた。
Certainly, in the case of science and technology calculations that are based on pure arithmetic processing, such as DNA analysis and meteorological analysis, the processing power can be improved relatively easily by linking many CPU cores. .
On the other hand, in the case of business processing that needs to refer to a large amount of data accumulated in the database in a complex combination, it takes time for data extraction processing and calculation processing in the DB server. It has been pointed out that even if the number of CPU cores of the server computer on which the DB server is mounted is increased, the processing speed cannot be improved immediately.

「ちょっと待った!」、オーバーヘッドを忘れていませんかインターネットURL:http://itpro.nikkeibp.co.jp/free/TIS/denwa/20040517/1/ 検索日:2014年4月3日Have you forgotten the overhead? "Internet URL: http://itpro.nikkeibp.co.jp/free/TIS/denwa/20040517/1/ Search date: April 3, 2014

この発明は、このような現状を鑑みて案出されたものであり、APサーバとDBサーバを同一筐体内に実現するに際して、CPUのマルチコアを有効に活用することにより、APサーバ及びDBサーバの処理速度を飛躍的に向上させる技術を提供することを目的としている。   The present invention has been devised in view of such a current situation. When the AP server and the DB server are realized in the same housing, the multi-core of the CPU is effectively used, so that the AP server and the DB server are The object is to provide a technique for dramatically improving the processing speed.

上記の目的を達成するため、請求項1に記載したデータ管理システムは、複数のCPUコアを内蔵したCPUパッケージ、及び複数のテーブルを格納しておく外部記憶装置を備えたコンピュータと、このコンピュータ上でAPサーバ用プログラムを起動させることによって構成されたAPサーバと、上記コンピュータ上でDBサーバ用プログラムを複数起動させることによって構成された複数のDBサーバを備え、上記の外部記憶装置には、相互に共通するデータを格納する複数のテーブルが、DBサーバ単位で別個に格納されており、上記のAPサーバ及び各DBサーバには、それぞれ複数の異なるCPUコアが専用的に割り当てられており、上記APサーバは、業務処理の実行に必要なデータの種類を特定する機能と、上記DBサーバの何れかに対して必要なデータの抽出を依頼する機能と、当該DBサーバから取得したデータに対して必要な演算処理を施す機能と、業務処理によって生じたデータの登録を、上記の全DBサーバに対して同時に依頼する機能を少なくとも備えており、上記DBサーバにデータの抽出または登録を依頼するに際しては、当該処理を担当するCPUコアを具体的に指定した状態でSQLを発行し、これを受けたDBサーバでは、指定されたCPUコアが対応の処理を実行することを特徴としている。   In order to achieve the above object, a data management system according to a first aspect of the present invention is a computer including a CPU package including a plurality of CPU cores and an external storage device for storing a plurality of tables; An AP server configured by starting an AP server program and a plurality of DB servers configured by starting a plurality of DB server programs on the computer. A plurality of tables for storing data common to each are stored separately for each DB server, and each of the above AP server and each DB server is assigned a plurality of different CPU cores, respectively, The AP server relies on a function that identifies the type of data required for execution of business processing and the extraction of the necessary data for any of the above DB servers. At least a function to perform the necessary arithmetic processing on the data obtained from the DB server, and a function to request all the DB servers to register the data generated by the business process at the same time When requesting extraction or registration of data from the above DB server, SQL is issued with the CPU core in charge of the processing specifically specified, and in the DB server that receives this, the specified CPU core It is characterized by executing corresponding processing.

請求項2に記載したデータ管理システムは、請求項1のシステムであって、さらに、上記コンピュータは上記CPUパッケージを複数備えており、各CPUパッケージには専用のローカルメモリが割り当てられており、上記APサーバ及び上記DBサーバの少なくとも一部には、それぞれ別個のCPUパッケージに属するCPUコアが割り当てられており、上記APサーバ及び各DBサーバには、ローカルメモリにしかアクセスできない制約が課せられていることを特徴としている。   A data management system according to a second aspect is the system according to the first aspect, wherein the computer further comprises a plurality of the CPU packages, and a dedicated local memory is allocated to each CPU package. CPU cores belonging to separate CPU packages are allocated to at least a part of the AP server and the DB server, and the AP server and each DB server are restricted to access only local memory. It is characterized by that.

請求項3に記載したデータ管理システムは、請求項1または2のシステムであって、さらに、上記APサーバには、上記の各DBサーバに対してデータの挿入及び抽出を依頼することのみが許容され、データの更新及び削除を依頼することが禁止される制約が課せられていることを特徴としている。   The data management system according to claim 3 is the system according to claim 1 or 2, and further, the AP server is only allowed to request each DB server to insert and extract data. In addition, there is a restriction that prohibits requests to update and delete data.

請求項1に記載したデータ管理システムの場合、コンピュータ上に起動されたAPサーバ及び複数のDBサーバに対して、それぞれ別個のCPUコアが専用的に割り当てられているため、同一の筐体内にAPサーバと複数のDBサーバを共存させても、CPUリソースの競合が生じることはない。
また、各DBサーバは相互に独立したテーブルを備えており、各テーブルには共通のデータが格納されているため、APサーバは複数のDBサーバに対して同時に異なるデータの抽出を依頼することで、全体における処理速度を向上させることができる。
しかも、APサーバからDBサーバにデータ抽出のSQLを発行するに際しては、当該処理を担当すべきCPUコアを指定した形でなされるため、マルチコア化されたCPUの潜在能力を極限まで引き出すことが可能となる。すなわち、業務処理に必要なデータの種類や演算の手順を知悉しているのはAPサーバであるため、同時並列的に処理可能な場面では異なるCPUコアを指定して異なるデータの抽出を依頼することで、CPUコアの稼働率を上げることができる。
APサーバは、DBサーバから抽出したデータに対し演算処理する機能を備えているため、複数のDBサーバからそれぞれ別個にデータを抽出した場合であっても、各データを結合したり、ソートやマッチングしたりする処理を、APサーバ側で有効に実行することができる。
In the case of the data management system according to claim 1, since separate CPU cores are assigned exclusively to the AP server and the plurality of DB servers started on the computer, the AP is installed in the same casing. Even if the server and multiple DB servers coexist, there is no contention for CPU resources.
Moreover, each DB server has an independent table, and common data is stored in each table. Therefore, the AP server can request multiple DB servers to extract different data at the same time. The overall processing speed can be improved.
In addition, when issuing SQL for data extraction from the AP server to the DB server, it is done in a form that specifies the CPU core that should be in charge of the processing, so it is possible to draw out the potential of the multi-core CPU to the limit It becomes. In other words, since it is the AP server that knows the types of data required for business processing and the calculation procedure, if different processing can be performed in parallel, specify different CPU cores and request extraction of different data. As a result, the operating rate of the CPU core can be increased.
The AP server has a function to perform arithmetic processing on the data extracted from the DB server, so even if data is extracted separately from multiple DB servers, each data can be combined, sorted and matched Can be executed effectively on the AP server side.

請求項2に記載したデータ管理システムの場合、APサーバ及び各DBサーバの利用可能なメモリがローカルメモリに限定され、リモートメモリへのアクセスが禁じられるため、さらなる処理の高速化が実現できる。   In the data management system according to the second aspect, the available memory of the AP server and each DB server is limited to the local memory, and access to the remote memory is prohibited, so that further processing speed can be realized.

請求項3に記載したデータ管理システムの場合、DBサーバ側の処理内容が単純化される結果、各DBサーバからの応答性能をさらに向上させることが可能となる。   In the case of the data management system according to the third aspect, the processing performance on the DB server side is simplified, and as a result, the response performance from each DB server can be further improved.

図1は、この発明に係るデータ管理システム10を実現するためのハードウェア構成を示すものであり、サーバコンピュータ11内には、第1のCPUパッケージ12、第2のCPUパッケージ14、第3のCPUパッケージ16、第4のCPUパッケージ18を備えたマザーボード20が収納されている。   FIG. 1 shows a hardware configuration for realizing a data management system 10 according to the present invention. In a server computer 11, a first CPU package 12, a second CPU package 14, and a third CPU A motherboard 20 having a CPU package 16 and a fourth CPU package 18 is accommodated.

各CPUパッケージ内には、それぞれ15個のCPUコアが形成されているため、サーバコンピュータ11は合計で60個ものCPUコアを有していることとなる。
各CPUパッケージは、マザーボード20上に設けられたCPUソケット(図示省略)にそれぞれ装着されている。
Since 15 CPU cores are formed in each CPU package, the server computer 11 has 60 CPU cores in total.
Each CPU package is attached to a CPU socket (not shown) provided on the motherboard 20.

各CPUパッケージには、それぞれ専用のメモリ(ローカルメモリ)が割り当てられている。
すなわち、第1のCPUパッケージ12には第1のメモリ22が、第2のCPUパッケージ14には第2のメモリ24が、第3のCPUパッケージ16には第3のメモリ26が、第4のCPUパッケージ18には第4のメモリ28が専属的に設けられている。
A dedicated memory (local memory) is assigned to each CPU package.
That is, the first memory 22 is included in the first CPU package 12, the second memory 24 is included in the second CPU package 14, the third memory 26 is included in the third CPU package 16, and the fourth memory. The CPU package 18 is exclusively provided with a fourth memory 28.

サーバコンピュータ11には、SSD(Solid State Drive)よりなる外部記憶装置30が接続されており、この外部記憶装置30内には各種テーブル(詳細は後述)が格納されている。SSDの代わりに、ハードディスクによって外部記憶装置30を構成することもできる。   The server computer 11 is connected to an external storage device 30 made of SSD (Solid State Drive), and various tables (details will be described later) are stored in the external storage device 30. The external storage device 30 can be configured by a hard disk instead of the SSD.

各CPUコアには、それぞれ固有の機能が予め割り当てられている。
すなわち、第1のCPUパッケージ12内に形成されたコア(01)〜コア(15)には、APサーバ32が専用的に割り当てられている。
Each CPU core is assigned a unique function in advance.
That is, the AP server 32 is exclusively assigned to the core (01) to the core (15) formed in the first CPU package 12.

また、第2のCPUパッケージ14内に形成されたコア(16)には、カーネルスレッド(OS)34が専用的に割り当てられている。
第2のCPUパッケージ14内に形成されたコア(17)〜コア(23)には、第1のDBサーバ36が専用的に割り当てられている。
同じく、第2のCPUパッケージ14内に形成されたコア(24)〜コア(30)には、第2のDBサーバ38が専用的に割り当てられている。
A kernel thread (OS) 34 is exclusively assigned to the core 16 formed in the second CPU package 14.
A first DB server 36 is exclusively assigned to the cores (17) to (23) formed in the second CPU package.
Similarly, the second DB server 38 is exclusively assigned to the core (24) to the core (30) formed in the second CPU package.

第3のCPUパッケージ16内に形成されたコア(31)〜コア(38)には、第3のDBサーバ40が専用的に割り当てられている。
同じく、第3のCPUパッケージ16内に形成されたコア(39)〜コア(45)には、第4のDBサーバ42が専用的に割り当てられている。
A third DB server 40 is exclusively allocated to the cores (31) to (38) formed in the third CPU package 16.
Similarly, the fourth DB server 42 is exclusively allocated to the cores (39) to (45) formed in the third CPU package 16.

第4のCPUパッケージ18内に形成されたコア(46)〜コア(53)には、第5のDBサーバ44が専用的に割り当てられている。
同じく、第4のCPUパッケージ18内に形成されたコア(54)〜コア(60)には、第6のDBサーバ46が専用的に割り当てられている。
A fifth DB server 44 is exclusively allocated to the cores (46) to (53) formed in the fourth CPU package.
Similarly, the sixth DB server 46 is exclusively assigned to the cores (54) to (60) formed in the fourth CPU package.

以上のように、1台のサーバコンピュータ11内には、1つのAPサーバ用プログラムと、6つのDBサーバ用プログラム(インスタンス)が起動されており、各サーバにはそれぞれ複数のCPUコアが専用的に割り当てられている。   As described above, one AP server program and six DB server programs (instances) are started in one server computer 11, and each server has a dedicated number of CPU cores. Assigned to.

また、上記した通り、APサーバ32には第1のメモリ22が、カーネルスレッド(OS)34、第1のDBサーバ36及び第2のDBサーバ38には第2のメモリ24が、第3のDBサーバ40及び第4のDBサーバ42には第3のメモリ26が、第5のDBサーバ44及び第6のDBサーバ46には第4のメモリ28が、それぞれローカルメモリとして専用的に割り当てられている。
この場合、各CPUコアはローカルメモリにはダイレクトに(高速に)アクセスできるが、他のCPUパッケージに割り当てられたリモートメモリにアクセスするためには、当該CPUパッケージに属するCPUコアを経由する必要があり、その分、処理速度が低下する問題が生じる。
このため、このシステム10においては、各CPU コアがアクセスできるのはローカルメモリのみに限定され、他のCPUパッケージの配下にあるリモートメモリへのアクセスは禁止されている。
As described above, the AP server 32 has the first memory 22, the kernel thread (OS) 34, the first DB server 36, and the second DB server 38 have the second memory 24, and the third A third memory 26 is allocated exclusively to the DB server 40 and the fourth DB server 42, and a fourth memory 28 is allocated exclusively to the fifth DB server 44 and the sixth DB server 46 as local memories. ing.
In this case, each CPU core can access the local memory directly (at high speed). However, in order to access the remote memory allocated to another CPU package, it is necessary to go through the CPU core belonging to the CPU package. There arises a problem that the processing speed decreases accordingly.
Therefore, in this system 10, each CPU core can access only to local memory, and access to remote memory under other CPU packages is prohibited.

このような割当て及び制約は、OS起動時に次のような「NUMAコントロール」のコマンドを入力することにより、実現される。   Such allocation and restrictions are realized by inputting the following “NUMA control” command when the OS is started.

[1]APサーバに関する割当て
「#numactl
-physcpubind=1-15 ←コア(01)〜(15)の割当て
-membind=0 ←第1のメモリの割当て
nice -n -5 ←プロセスの優先度の指定
java -jar aloha.jar」 ←APサーバプロセス(Java)の起動
[1] Allocation for AP server "#numactl
-physcpubind = 1-15 ← Assign cores (01)-(15)
-membind = 0 ← first memory allocation
nice -n -5 ← Specifying process priority
java -jar aloha.jar "<-Starting the AP server process (Java)

[2]第1のDBサーバに関する割当て
「#numactl
-physcpubind=17-23 ←コア(17)〜(23)の割当て
-membind=1 ←第2のメモリの割当て
nice -n -5 ←プロセスの優先度の指定
su -postgres ←プロセスの実行ユーザをpostgresに切り替え(su)
-c "pg_ctl -D data1 start"←第1のDBサーバプロセスの起動
(データ領域data1に対するデータベース)」
[2] Allocation for the first DB server “#numactl
-physcpubind = 17-23 ← Assign cores (17)-(23)
-membind = 1 ← Allocate second memory
nice -n -5 ← Specifying process priority
su -postgres <-Switch the process execution user to postgres (su)
-c "pg_ctl -D data1 start"<-Start of the first DB server process (database for data area data1) "

[3]第2のDBサーバに関する割当て
「#numactl
-physcpubind=24-30 ←コア(24)〜(30)の割当て
-membind=1 ←第2のメモリの割当て
nice -n -5 ←プロセスの優先度の指定
su -postgres ←プロセスの実行ユーザをpostgresに切り替え(su)
-c "pg_ctl -D data2 start" ←第2のDBサーバプロセスの起動
(データ領域data2に対するデータベース)」
[3] Allocation for the second DB server “#numactl
-physcpubind = 24-30 ← Assign cores (24)-(30)
-membind = 1 ← Allocate second memory
nice -n -5 ← Specifying process priority
su -postgres <-Switch the process execution user to postgres (su)
-c "pg_ctl -D data2 start"<-Start the second DB server process (database for data area data2) "

[4]第3のDBサーバに関する割当て
「#numactl
-physcpubind=31-38 ←コア(31)〜(38)の割当て
-membind=2 ←第3のメモリの割当て
nice -n -5 ←プロセスの優先度の指定
su -postgres ←プロセスの実行ユーザをpostgresに切り替え(su)
-c "pg_ctl -D data3start" ←第3のDBサーバプロセスの起動
(データ領域data3に対するデータベース)」
[4] Allocation for the third DB server “#numactl
-physcpubind = 31-38 ← Assign cores (31)-(38)
-membind = 2 ← Third memory allocation
nice -n -5 ← Specifying process priority
su -postgres <-Switch the process execution user to postgres (su)
-c "pg_ctl -D data3start"<-Starting the third DB server process (database for data area data3) "

[5]第4のDBサーバに関する割当て
「#numactl
-physcpubind=39-45 ←コア(39)〜(45)の割当て
-membind=2 ←第3のメモリの割当て
nice -n -5 ←プロセスの優先度の指定
su -postgres ←プロセスの実行ユーザをpostgresに切り替え(su)
-c "pg_ctl -D data4 start" ←第4DBサーバプロセスの起動
(データ領域data4に対するデータベース)」
[5] Allocation for the fourth DB server “#numactl
-physcpubind = 39-45 ← Assign cores (39)-(45)
-membind = 2 ← Third memory allocation
nice -n -5 ← Specifying process priority
su -postgres <-Switch the process execution user to postgres (su)
-c "pg_ctl -D data4 start"<-Start the fourth DB server process (database for data area data4) "

[6]第5のDBサーバに関する割当て
「#numactl
-physcpubind=46-53 ←コア(46)〜(53)の割当て
-membind=3 ←第4のメモリの割当て
nice -n -5 ←プロセスの優先度の指定
su -postgres ←プロセスの実行ユーザをpostgresに切り替え(su)
-c "pg_ctl -D data5 start" ←第5のDBサーバプロセスの起動
(データ領域data5に対するデータベース)」
[6] Allocation for the fifth DB server "#numactl
-physcpubind = 46-53 ← Assignment of cores (46)-(53)
-membind = 3 ← 4th memory allocation
nice -n -5 ← Specifying process priority
su -postgres <-Switch the process execution user to postgres (su)
-c "pg_ctl -D data5 start"<-Starting the fifth DB server process (database for data area data5) "

[7]第6のDBサーバに関する割当て
「#numactl
-physcpubind=54-60 ←コア(54)〜(60)の割当て
-membind=3 ←第4のメモリの割当て
nice -n -5 ←プロセスの優先度の指定
su -postgres ←プロセスの実行ユーザをpostgresに切り替え(su)
-c "pg_ctl -D data6 start" ←第6のDBサーバプロセスの起動
(データ領域data6に対するデータベース)」
[7] Allocation for the sixth DB server "#numactl
-physcpubind = 54-60 ← Assign cores (54)-(60)
-membind = 3 ← 4th memory allocation
nice -n -5 ← Specifying process priority
su -postgres <-Switch the process execution user to postgres (su)
-c "pg_ctl -D data6 start"<-Start of the sixth DB server process (database for data area data6) "

図2は、このデータ管理システム10の機能構成を示すブロック図であり、APサーバ32内には、画面処理部52と、処理内容特定部54と、DB処理割当部56と、演算処理部58が形成されている。
画面処理部52には、インターネット等の通信ネットワーク60を介して、複数のクライアント端末62が接続される。
FIG. 2 is a block diagram showing a functional configuration of the data management system 10. In the AP server 32, a screen processing unit 52, a processing content specifying unit 54, a DB processing allocation unit 56, and an arithmetic processing unit 58 are provided. Is formed.
A plurality of client terminals 62 are connected to the screen processing unit 52 via a communication network 60 such as the Internet.

これら画面処理部52、処理内容特定部54、DB処理割当部56及び演算処理部58は、業務処理用のアプリケーションプログラムに従い、CPUコア(01)〜コア(15)が所定の処理を実行することにより実現されるのであるが、この際、OSやミドルウェアによって複数のスレッドが起動されて各CPUコアに割り当てられることにより、マルチタスク処理が実現される。   The screen processing unit 52, the processing content specifying unit 54, the DB processing allocation unit 56, and the arithmetic processing unit 58 are configured such that the CPU core (01) to the core (15) execute predetermined processing in accordance with an application program for business processing. In this case, multitask processing is realized by activating a plurality of threads by the OS or middleware and assigning them to each CPU core.

図3は、各CPUコアと複数のスレッド64との対応関係を表しており、各スレッド64にはスレッドプール66が設けられ、そこに配置された複数のタスク68をスレッド64が順次処理していくイメージが描かれている。
この図におけるスレッド64が、APサーバ32の画面処理部52、処理内容特定部54、DB処理割当部56、演算処理部58として機能し、これらの各機能構成部が実行する具体的な処理が、タスク68に相当する。
FIG. 3 shows the correspondence between each CPU core and a plurality of threads 64. Each thread 64 is provided with a thread pool 66, and the threads 64 sequentially process a plurality of tasks 68 arranged there. The image to go is drawn.
The thread 64 in this figure functions as the screen processing unit 52, the processing content specifying unit 54, the DB processing allocation unit 56, and the arithmetic processing unit 58 of the AP server 32, and the specific processing executed by each of these functional components is as follows. Corresponds to task 68.

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

DB処理割当部56は、第1のDBサーバ36〜第6のDBサーバ46に対してSQLを発行し、業務処理に必要なデータの抽出(セレクト)や追加(インサート)を指令する機能を果たす。   The DB processing allocation unit 56 has a function of issuing SQL to the first DB server 36 to the sixth DB server 46 and instructing extraction (selection) and addition (insertion) of data necessary for business processing. .

DB処理割当部56と各DBサーバとの間は、それぞれのCPUコア数に対応した本数のコネクションプール70を介して接続されている。
例えば、第1のDBサーバ36には7個のCPUコアが割り当てられているため7本のコネクションプール70が設けられ、各コネクションプール70は予め特定のCPUコアと関連付けられている。
また、第5のDBサーバ44には8個のCPUコアが割り当てられているため8本のコネクションプール70が設けられ、各コネクションプール70は予め特定のCPUコアと関連付けられている。
The DB processing allocation unit 56 and each DB server are connected via the number of connection pools 70 corresponding to the number of CPU cores.
For example, since seven CPU cores are assigned to the first DB server 36, seven connection pools 70 are provided, and each connection pool 70 is associated with a specific CPU core in advance.
Further, since eight CPU cores are allocated to the fifth DB server 44, eight connection pools 70 are provided, and each connection pool 70 is associated with a specific CPU core in advance.

外部記憶装置30内には、例えば、仕入テーブル72、注文テーブル73、注文明細テーブル74、注文取消テーブル75、品目テーブル76、完成品テーブル77、原材料テーブル78、原材料目録テーブル79、原価テーブル80、供給者テーブル81等を含むテーブル群が、各DBサーバ単位で複数セット格納されている。
ここでは、第1のDBサーバ36〜第6のDBサーバ46が設けられているため、A〜Fの6セットのテーブル群が、それぞれ各DBサーバ専用として外部記憶装置30内の別個の領域に格納されている。
また、後述のように、各テーブル群に属する同一名称のテーブルには、それぞれ同一のレコードが同時に重複して格納される。
In the external storage device 30, for example, a purchase table 72, an order table 73, an order details table 74, an order cancellation table 75, an item table 76, a finished product table 77, a raw material table 78, a raw material inventory table 79, a cost table 80 A plurality of table groups including the supplier table 81 and the like are stored for each DB server.
Here, since the first DB server 36 to the sixth DB server 46 are provided, six sets of table groups A to F are dedicated to each DB server in separate areas in the external storage device 30. Stored.
Also, as will be described later, the same record belonging to each table group stores the same record at the same time.

図4は、各テーブルに格納されているレコードの構成を例示するものである。
すなわち、仕入テーブル72には、「仕入ID」、「原価ID」、「数量」のデータ項目を備えたレコードが格納されている。
また、注文テーブル73には、「注文ID」、「顧客ID」のデータ項目を備えたレコードが格納されている。
注文明細テーブル74には、「注文明細ID」、「注文ID」、「品目ID」、「数量」のデータ項目を備えたレコードが格納されている。
注文取消テーブル75には、「注文明細ID」のデータ項目を備えたレコードが格納されている。
FIG. 4 illustrates the configuration of records stored in each table.
That is, the purchase table 72 stores records having data items of “purchase ID”, “cost ID”, and “quantity”.
Further, the order table 73 stores a record having data items of “order ID” and “customer ID”.
The order detail table 74 stores records having data items of “order detail ID”, “order ID”, “item ID”, and “quantity”.
The order cancellation table 75 stores a record including a data item of “order details ID”.

品目テーブル76には、「品目ID」のデータ項目を備えたレコードが格納されている。
完成品テーブル77には、「品目ID」のデータ項目を備えたレコードが格納されている。
原材料テーブル78には、「品目ID」のデータ項目を備えたレコードが格納されている。
原材料目録テーブル79には、「原材料目録ID」、「親品目ID」、「子品目ID」、「数量」のデータ項目を備えたレコードが格納されている。
原価テーブル80には、「原価ID」、「供給者品目ID」、「原価」のデータ項目を備えたレコードが格納されている。
供給者テーブル81には、「供給者品目ID」、「供給者ID」、「品目ID」のデータ項目を備えたレコードが格納されている。
The item table 76 stores a record having a data item of “item ID”.
The finished product table 77 stores a record having a data item of “item ID”.
The raw material table 78 stores a record having a data item of “item ID”.
The raw material inventory table 79 stores records having data items of “raw material inventory ID”, “parent item ID”, “child item ID”, and “quantity”.
The cost table 80 stores records having data items of “cost ID”, “supplier item ID”, and “cost”.
The supplier table 81 stores a record including data items of “supplier item ID”, “supplier ID”, and “item ID”.

上記の各テーブル72〜81に関しては、以下の(1)〜(3)の制約が予め課せられている。
(1)キー項目は一つに限定される。
したがって、複数の項目の組合せによってキー項目を構成すること(複合キー)は、禁止される。
With respect to each of the tables 72 to 81, the following restrictions (1) to (3) are imposed 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)APサーバ32が各テーブルにアクセスするに際しては、レコードの参照と追加のみが許容され、既存レコードの削除と更新は禁止される。 (2) When the AP server 32 accesses each table, only reference and addition of records are permitted, and deletion and update of existing records are prohibited.

このため、既存データを無効にする必要が生じた場合には、レコードを削除する代わりに、他のテーブルに新たなレコードを追加することによって削除と同等の状態が実現される。例えば、注文の取り消しがなされた場合、一般的には取消の対象となる注文データに「取消」を示す値を記述することで状態が管理されることになるが、このシステム10においては、注文取消テーブル75に対象となる「注文明細ID」のレコードを追加することで「取消」の事実が表現される。   For this reason, when it becomes necessary to invalidate the existing data, a state equivalent to the deletion is realized by adding a new record to another table instead of deleting the record. For example, when an order is canceled, the status is generally managed by describing a value indicating “cancel” in the order data subject to cancellation. The fact of “cancel” is expressed by adding the record of “order item ID” as a target to the cancel table 75.

また、既存レコードの値に変更が生じた場合には、修正済みの値を備えた異なるプライマリキーのレコードを同一テーブルに追加することで、実質的に値の更新が実現される。例えば、注文明細テーブル74に格納されたあるレコードの数量を「3」から「5」に変更する場合、数量を「5」とした新たなレコードが注文明細テーブル74に追加される。各レコードにはミリ秒精度のタイムスタンプが刻印されているため、これを比較することでレコード間の新旧(更新の事実)が明確化される。 Further, when a change occurs in the value of an existing record, a value update is substantially realized by adding a record of a different primary key having a corrected value to the same table. For example, when the quantity of a certain record stored in the order detail table 74 is changed from “3” to “5”, a new record with the quantity “5” is added to the order detail table 74. Each record is stamped with a millisecond precision time stamp, and comparing this makes it clearer between the old and new records (update facts).

(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.

上記のようにAPサーバ32によるレコードの削除及び更新が禁止されているため、各テーブルには過去の如何なる時点のデータも温存されることとなり、将来において変更履歴の再現が必要となった場合にも対応できる利点がある。
ただし、十分に時間が経過し、データ保持の必要性が完全になくなった場合には、各DBサーバに直接ログインして削除のSQLを発行することにより、レコードを削除することはできる。
As described above, deletion and update of records by the AP server 32 is prohibited, so that data at any time in the past will be preserved in each table, and if it is necessary to reproduce the change history in the future There is an advantage that can also respond.
However, if enough time has passed and the need for data retention is completely gone, records can be deleted by logging in directly to each DB server and issuing a delete SQL.

このシステム10の場合、各テーブルに格納される個々のレコードが上記の通り極限まで正規化されており、またデータ間の演算処理はAPサーバ32の演算処理部58によって行われ、DBサーバ側の演算処理によって冗長な中間データが生成されることもないため、レコードの削除や更新の代わりにレコードの挿入によって対応するとしても、ディスク容量が従来に比べて徒に圧迫されることはない。また、キャッシュメモリのヒット率が向上するため、DBサーバの処理の高速化にも資する。   In the case of this system 10, the individual records stored in each table are normalized to the limit as described above, and arithmetic processing between data is performed by the arithmetic processing unit 58 of the AP server 32, and on the DB server side Since redundant intermediate data is not generated by the arithmetic processing, even if it is handled by inserting a record instead of deleting or updating a record, the disk capacity is not squeezed compared to the conventional case. In addition, the cache memory hit rate is improved, which contributes to speeding up the processing of the DB server.

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

このようなテーブル群によって業務データが管理されている状況下において、新規データの登録を希望するユーザは、画面処理部52からクライアント端末62に送信されたデータ入力画面(図示省略)を通じて、データを入力する。 In a situation where business data is managed by such a group of tables, a user who wishes to register new data transmits data through a data input screen (not shown) transmitted from the screen processing unit 52 to the client terminal 62. input.

この入力データを画面処理部52から受け取った処理内容特定部54は、DB処理割当部56に対してデータの登録を依頼する。
DB処理割当部56は、この入力データの登録を依頼するSQLを第1のDBサーバ36〜第6のDBサーバ46に発行する。この際、DB処理割当部56は各DBサーバに対し、特定のCPUコアに関連付けられたコネクションプールを通じてSQLを発行することにより、各DBサーバにおける担当CPUコアを指定する。
The processing content identification unit 54 that has received this input data from the screen processing unit 52 requests the DB processing allocation unit 56 to register the data.
The DB process allocation unit 56 issues a SQL requesting registration of the input data to the first DB server 36 to the sixth DB server 46. At this time, the DB processing allocation unit 56 issues a SQL to each DB server through a connection pool associated with a specific CPU core, thereby designating a responsible CPU core in each DB server.

これを受けた各DBサーバでは、DB処理割当部56によって指定されたCPUコアにより、対応のテーブルに対するレコードの挿入が一斉に実行される。
この結果、各DBサーバが独立して管理している同名テーブルに、同一レコードが重複して格納されることとなる。
In each DB server that has received this, the CPU core specified by the DB process allocation unit 56 inserts records into the corresponding tables all at once.
As a result, the same record is stored in duplicate in the same name table managed independently by each DB server.

つぎに、ある完成品(例えば品目ID「NRI-0001」)の在庫数についてクライアント端末から照会リクエストが送信された場合の処理手順について、図5及び図6のフローチャートに従い説明する。   Next, a processing procedure when an inquiry request is transmitted from the client terminal regarding the number of stocks of a certain finished product (for example, the item ID “NRI-0001”) will be described with reference to the flowcharts of FIGS.

まず、画面処理部52から送信された検索条件指定画面上でユーザが完成品である品目ID「NRI-0001」の在庫検索を指定すると、この検索リクエストの実現に必要な処理が処理内容特定部54によって特定される(図5のS10)。   First, when the user specifies an inventory search for the item ID “NRI-0001”, which is a finished product, on the search condition specification screen transmitted from the screen processing unit 52, the processing necessary for realizing this search request is performed by the processing content specifying unit. 54 (S10 in FIG. 5).

具体的には、以下の処理内容が特定された後、順次実行される。
(01)注文明細テーブルから、品目ID「NRI-0001」を備えた全レコードを抽出する(S12)。
(02)品目ID「NRI-0001」の累積注文数量を算出する(S14)。
(03)注文取消テーブルから、品目ID「NRI-0001」を備えた全レコードを抽出する(S16)。
(04)品目ID「NRI-0001」の累積注文取消数量を算出する(S18)。
(05)品目ID「NRI-0001」の累積注文数量から累積注文取消数量を減算して、現時点における累積実注文数量を算出する(S20)。
(06)原材料目録テーブルを参照し、品目ID「NRI-0001」を親品目IDとしている子品目IDと、その数量を取得する(S22)。この子品目IDが、完成品である品目ID「NRI-0001」の原材料を示している。
(07)各子品目IDをキーにして、供給者テーブルから供給者品目IDを取得する(図6のS24)。
(08)供給者品目IDをキーにして、原価テーブルから原価IDを取得する(S26)。
(09)原価IDをキーにして、仕入テーブルから当該原材料に係る全レコードを抽出する(S28)。
(10)原材料毎に、累積仕入数量を算出する(S30)。
(11)各原材料の累積仕入数量に基づいて、品目ID「NRI-0001」の生産可能数量を算出する(S32)。
(12)この生産可能数量から累積実注文数量を減算することにより、当該完成品の現在における在庫数量を算出する(図5のS34)。
(13)最後に、「NRI-0001」の在庫数量が記載された処理結果画面をクライアント端末62に送信する(S36)。
Specifically, after the following processing content is specified, it is sequentially executed.
(01) All records having the item ID “NRI-0001” are extracted from the order details table (S12).
(02) The cumulative order quantity of the item ID “NRI-0001” is calculated (S14).
(03) All records having the item ID “NRI-0001” are extracted from the order cancellation table (S16).
(04) The cumulative order cancellation quantity of the item ID “NRI-0001” is calculated (S18).
(05) The cumulative order cancellation quantity is subtracted from the cumulative order quantity of the item ID “NRI-0001” to calculate the current cumulative actual order quantity (S20).
(06) Referring to the raw material inventory table, the child item ID having the item ID “NRI-0001” as the parent item ID and its quantity are acquired (S22). This child item ID indicates the raw material of the item ID “NRI-0001” which is a finished product.
(07) The supplier item ID is obtained from the supplier table using each child item ID as a key (S24 in FIG. 6).
(08) The cost ID is acquired from the cost table using the supplier item ID as a key (S26).
(09) All records relating to the raw material are extracted from the purchase table using the cost ID as a key (S28).
(10) The cumulative purchase quantity is calculated for each raw material (S30).
(11) The producible quantity of the item ID “NRI-0001” is calculated based on the cumulative purchase quantity of each raw material (S32).
(12) By subtracting the accumulated actual order quantity from the production possible quantity, the current inventory quantity of the finished product is calculated (S34 in FIG. 5).
(13) Finally, a processing result screen describing the inventory quantity of “NRI-0001” is transmitted to the client terminal 62 (S36).

これらの処理の中、データの抽出処理は、DB処理割当部56から各DBサーバに対してSQLを発行することによって実行される。この際、DB処理割当部56は各DBサーバに対し、特定のCPUコアに関連付けられたコネクションプールを通じてSQLを送信する。この結果、DBサーバにおけるレコードの抽出処理は、指定されたCPUコアによって実行される。
また、各DBサーバから送信されたデータに対しては、演算処理部58によってソートやマージ、マッチング、コントロールブレイク等の必要な演算処理が施される。
Among these processes, the data extraction process is executed by issuing an SQL from the DB process allocation unit 56 to each DB server. At this time, the DB process allocation unit 56 transmits the SQL to each DB server through a connection pool associated with a specific CPU core. As a result, the record extraction process in the DB server is executed by the designated CPU core.
Further, the arithmetic processing unit 58 performs necessary arithmetic processing such as sorting, merging, matching, and control break on the data transmitted from each DB server.

ところで、上記の各処理の中には、先行する処理が完了しないと後続の処理を実行できないものと、同時並行して処理が可能なものとがある。
例えば、図5に示したように、注文明細テーブル74から該当品目IDのレコードを抽出するS12の処理と、注文取消テーブル75から該当品目IDのレコードを抽出するS16の処理と、原材料目録テーブル79を参照し、該当品目IDを親品目IDとしている子品目ID及び数量を取得するS22の処理は、品目IDが特定された時点で同時並行することができる。
このため、DB処理割当部56は、上記の処理をそれぞれ別個のCPUコアを指定して何れかのDBサーバに抽出処理を依頼する。
By the way, in each of the above-mentioned processes, there are a process that cannot be executed unless the preceding process is completed, and a process that can be executed in parallel.
For example, as shown in FIG. 5, the process of S12 for extracting the record of the corresponding item ID from the order detail table 74, the process of S16 for extracting the record of the corresponding item ID from the order cancellation table 75, and the raw material inventory table 79 , And the process of S22 for acquiring the child item ID and the quantity having the corresponding item ID as the parent item ID can be performed simultaneously when the item ID is specified.
For this reason, the DB process allocation unit 56 designates a separate CPU core for each of the above processes and requests an extraction process from any DB server.

また、S22の処理によって完成品を生産するのに必要な原材料の種類が特定された時点で、図6に示したように、各原材料の仕入数量を算出するのに必要なデータの抽出処理が開始されることになるが、このS24〜S28も原材料毎に同時並行で処理される。
例えば、原材料の数が50種類であった場合、DB処理割当部56は、それぞれ異なる50個のCPUコアを指定して、各DBサーバにレコードの抽出を依頼する。
このように、特定のCPUコアに具体的なレコードの抽出を直接的に割り振ることにより、効率的にデータの参照が可能となる。
In addition, when the types of raw materials necessary for producing a finished product are specified by the processing of S22, as shown in FIG. 6, data extraction processing for calculating the purchased quantity of each raw material is performed. However, S24 to S28 are also processed in parallel for each raw material.
For example, when the number of raw materials is 50, the DB processing allocation unit 56 designates 50 different CPU cores and requests each DB server to extract records.
As described above, data can be efficiently referred to by directly allocating specific record extractions to a specific CPU core.

なお、原材料の種類が数百種以上に及ぶ場合、原材料単位の処理を一度に異なるCPUコアに割り当てることができなくなる。
このような場合、DB処理割当部56は各CPUコアに順番に原材料毎の処理を依頼し、処理が完了した時点で当該CPUコアに残りの原材料単位の処理を順番に割り当てることを繰り返す。
In addition, when the number of types of raw materials reaches several hundreds or more, processing of raw material units cannot be assigned to different CPU cores at once.
In such a case, the DB process assigning unit 56 requests each CPU core to process each raw material in order, and repeats assigning the remaining raw material unit processes in order to the CPU core when the process is completed.

特定の業務処理を実現するために必要なデータの種類や抽出手順についてはAPサーバ32のアプリケーションプログラムが認識しているため、具体的なレコードの抽出を各DBサーバに対しCPUコアを指定した形で依頼することにより、マルチコアCPUの潜在能力を最も効果的に引き出すことが可能となる。   Since the application program of the AP server 32 recognizes the types of data and extraction procedures necessary to implement a specific business process, a specific record extraction is performed by specifying the CPU core for each DB server. By making a request, it is possible to extract the potential of the multi-core CPU most effectively.

なお、OSには統計情報に基づいてデータ処理の効率化や省電力化を実現するため、処理の途中で敢えてCPUのクロック数をダウンさせる機能が設けられているが、本システム10のようにCPUコア単位で処理内容をきめ細かく制御する際には邪魔になるため、この種の余計なサービスは事前に無効化しておくことが望ましい。   Note that the OS has a function to deliberately reduce the number of CPU clocks in the middle of processing in order to achieve data processing efficiency and power saving based on statistical information. It is desirable to disable this kind of extra service in advance because it is an obstacle to finely control the processing contents in units of CPU cores.

この発明に係るデータ管理システムを実現するためのハードウェア構成を示す模式図である。It is a schematic diagram which shows the hardware constitutions for implement | achieving the data management system which concerns on this invention. この発明に係るデータ管理システムの機能構成を示すブロック図である。It is a block diagram which shows the function structure of the data management system which concerns on this invention. APサーバの各CPUコアと複数のスレッド64との対応関係を示す模式図である。3 is a schematic diagram showing a correspondence relationship between each CPU core of an AP server and a plurality of threads 64. FIG. 各テーブルに格納されているレコードの構成例を示す図である。It is a figure which shows the structural example of the record stored in each table. このシステムにおける処理手順を示すフローチャートである。It is a flowchart which shows the process sequence in this system. このシステムにおける処理手順を示すフローチャートである。It is a flowchart which shows the process sequence in this system.

10 データ管理システム
11 サーバコンピュータ
12 第1のパッケージ
14 第2のパッケージ
16 第3のパッケージ
18 第4のパッケージ
20 マザーボード
22 第1のメモリ
24 第2のメモリ
26 第3のメモリ
28 第4のメモリ
30 外部記憶装置
32 APサーバ
36 第1のDBサーバ
38 第2のDBサーバ
40 第3のDBサーバ
42 第4のDBサーバ
44 第5のDBサーバ
46 第6のDBサーバ
52 画面処理部
54 処理内容特定部
56 DB処理割当部
58 演算処理部
60 通信ネットワーク
62 クライアント端末
64 スレッド
66 スレッドプール
68 タスク
70 コネクションプール
72 仕入テーブル
73 注文テーブル
74 注文明細テーブル
75 注文取消テーブル
76 品目テーブル
77 完成品テーブル
78 原材料テーブル
79 原材料目録テーブル
80 原価テーブル
81 供給者テーブル
10 Data management system
11 Server computer
12 First package
14 Second package
16 Third package
18 Fourth package
20 Motherboard
22 First memory
24 Second memory
26 Third memory
28 Fourth memory
30 External storage
32 AP server
36 First DB server
38 Second DB server
40 Third DB server
42 Fourth DB server
44 Fifth DB server
46 6th DB server
52 Screen processor
54 Processing content identification part
56 DB processing allocation part
58 Arithmetic processing section
60 Communication network
62 Client terminal
64 threads
66 Thread Pool
68 tasks
70 Connection pool
72 Purchase table
73 Order table
74 Order details table
75 Order cancellation table
76 Material table
77 Finished product table
78 Raw material table
79 Raw material inventory table
80 Cost table
81 Supplier table

Claims (3)

複数のCPUコアを内蔵したCPUパッケージ、及び複数のテーブルを格納しておく外部記憶装置を備えたコンピュータと、
このコンピュータ上でAPサーバ用プログラムを起動させることによって構成されたAPサーバと、
上記コンピュータ上でDBサーバ用プログラムを複数起動させることによって構成された複数のDBサーバを備え、
上記の外部記憶装置には、相互に共通するデータを格納する複数のテーブルが、DBサーバ単位で別個に格納されており、
上記のAPサーバ及び各DBサーバには、それぞれ複数の異なるCPUコアが専用的に割り当てられており、
上記APサーバは、業務処理の実行に必要なデータの種類を特定する機能と、
上記DBサーバの何れかに対して必要なデータの抽出を依頼する機能と、
当該DBサーバから取得したデータに対して必要な演算処理を施す機能と、
業務処理によって生じたデータの登録を、上記の全DBサーバに対して同時に依頼する機能を少なくとも備えており、
上記DBサーバにデータの抽出または登録を依頼するに際しては、当該処理を担当するCPUコアを具体的に指定した状態でSQLを発行し、
これを受けたDBサーバでは、指定されたCPUコアが対応の処理を実行することを特徴とするデータ管理システム。
A computer package having a CPU package incorporating a plurality of CPU cores and an external storage device for storing a plurality of tables;
An AP server configured by starting an AP server program on this computer;
A plurality of DB servers configured by starting a plurality of DB server programs on the computer;
In the above external storage device, a plurality of tables storing data common to each other are stored separately for each DB server,
A plurality of different CPU cores are assigned exclusively to the above AP server and each DB server,
The AP server has a function to identify the type of data required for execution of business processing,
A function to request extraction of necessary data from any of the above DB servers;
A function for performing necessary arithmetic processing on the data acquired from the DB server;
It has at least the function to request the registration of data generated by business processing to all DB servers at the same time
When requesting extraction or registration of data from the above DB server, issue a SQL with the CPU core in charge of the processing specified specifically,
A data management system in which the specified CPU core executes the corresponding processing in the DB server that receives this.
上記コンピュータは、上記CPUパッケージを複数備えており、
各CPUパッケージには専用のローカルメモリが割り当てられており、
上記APサーバ及び上記DBサーバの少なくとも一部には、それぞれ別個のCPUパッケージに属するCPUコアが割り当てられており、
上記APサーバ及び各DBサーバには、ローカルメモリにのみアクセス可能で、他のCPUパッケージに専用的に割り当てられたローカルメモリにはアクセスできない制約が課せられていることを特徴とする請求項1に記載のデータ管理システム。
The computer includes a plurality of the CPU packages,
Each CPU package is assigned a dedicated local memory,
CPU cores belonging to separate CPU packages are allocated to at least a part of the AP server and the DB server,
2. The AP server and each DB server are restricted to be able to access only local memory and not to access local memory dedicated to other CPU packages. The data management system described.
上記APサーバには、上記の各DBサーバに対してデータの挿入及び抽出を依頼することのみが許容され、データの更新及び削除を依頼することが禁止される制約が課せられていることを特徴とする請求項1または2に記載のデータベース管理システム。   The AP server is only allowed to request insertion and extraction of data from each of the above DB servers, and has a restriction that prohibits requests to update and delete data. The database management system according to claim 1 or 2.
JP2014091817A 2014-03-03 2014-04-25 Data management system Pending JP2015210665A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014091817A JP2015210665A (en) 2014-04-25 2014-04-25 Data management system
PCT/JP2015/054393 WO2015133271A1 (en) 2014-03-03 2015-02-18 Data management system, service provision system, and method for expanding functionality thereof
SG11201607253YA SG11201607253YA (en) 2014-03-03 2015-02-18 Data management system, service provision system, and method for expanding functionality thereof
PH12016501742A PH12016501742A1 (en) 2014-03-03 2016-09-05 Data management system, service provision system, and method for expanding functionality thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014091817A JP2015210665A (en) 2014-04-25 2014-04-25 Data management system

Publications (1)

Publication Number Publication Date
JP2015210665A true JP2015210665A (en) 2015-11-24

Family

ID=54612800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014091817A Pending JP2015210665A (en) 2014-03-03 2014-04-25 Data management system

Country Status (1)

Country Link
JP (1) JP2015210665A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342299A (en) * 2001-05-18 2002-11-29 Nec Corp Cluster system, computer and program
JP2009015534A (en) * 2007-07-03 2009-01-22 Hitachi Ltd Resource allocation method, resource allocation program, and resource allocation device
JP2009187223A (en) * 2008-02-05 2009-08-20 Nec Corp Processor, electronic equipment, interrupt control method, and interrupt control program
JP2014016887A (en) * 2012-07-10 2014-01-30 Nomura Research Institute Ltd Data utilization system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342299A (en) * 2001-05-18 2002-11-29 Nec Corp Cluster system, computer and program
JP2009015534A (en) * 2007-07-03 2009-01-22 Hitachi Ltd Resource allocation method, resource allocation program, and resource allocation device
JP2009187223A (en) * 2008-02-05 2009-08-20 Nec Corp Processor, electronic equipment, interrupt control method, and interrupt control program
JP2014016887A (en) * 2012-07-10 2014-01-30 Nomura Research Institute Ltd Data utilization system

Similar Documents

Publication Publication Date Title
US20220067025A1 (en) Ordering transaction requests in a distributed database according to an independently assigned sequence
US11593365B2 (en) Splitting a time-range query into multiple sub-queries for serial execution
US11803546B2 (en) Selecting interruptible resources for query execution
US10936589B1 (en) Capability-based query planning for heterogenous processing nodes
CN109716323B (en) Spatial variation detector in stream data
US9659081B1 (en) Independent data processing environments within a big data cluster system
US9197703B2 (en) System and method to maximize server resource utilization and performance of metadata operations
US11016971B2 (en) Splitting a time-range query into multiple sub-queries for parallel execution
CN109101528A (en) Data processing method, data processing equipment and electronic equipment
US10608954B2 (en) Hierarchical resource tree allocation
CN103177059A (en) Split processing paths for database calculation engine
KR20160124743A (en) Design and implementation of clustered in-memory database
TW201229795A (en) Web service patterns for globally distributed service fabric
EP3519987B1 (en) Intents and locks with intent
US20180075080A1 (en) Computer System and Database Management Method
CN109416682A (en) System and method for managing database
US20140059000A1 (en) Computer system and parallel distributed processing method
US20180165469A1 (en) Access operation request management
JP2010272090A (en) Device, program and method for managing processing request destination
JP6272556B2 (en) Shared resource update device and shared resource update method
JP5604478B2 (en) Data utilization system
JP2015210665A (en) Data management system
CN106202271A (en) The read method of the product database of OTA
CN108429780A (en) Data calling system between interconnected system and method
JP2016031682A (en) Service providing system and function extension method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180703