WO2017212525A1 - Computer and database processing method - Google Patents

Computer and database processing method Download PDF

Info

Publication number
WO2017212525A1
WO2017212525A1 PCT/JP2016/066768 JP2016066768W WO2017212525A1 WO 2017212525 A1 WO2017212525 A1 WO 2017212525A1 JP 2016066768 W JP2016066768 W JP 2016066768W WO 2017212525 A1 WO2017212525 A1 WO 2017212525A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
delta
bus
main table
cpu
Prior art date
Application number
PCT/JP2016/066768
Other languages
French (fr)
Japanese (ja)
Inventor
伊藤 大輔
功 大原
雄策 清田
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2016/066768 priority Critical patent/WO2017212525A1/en
Publication of WO2017212525A1 publication Critical patent/WO2017212525A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Definitions

  • the present invention generally relates to database processing.
  • OLTP Online Transaction Processing
  • OLAP Online analysis processing
  • a CPU Central Processing Unit
  • the delta merge process is a process with a high access load on data
  • the bandwidth of the memory bus connecting the CPU and the main memory is greatly compressed.
  • the compression of the memory bus bandwidth also leads to a delay in processing other than the delta merge processing in the CPU.
  • one of the objects of the present invention is to provide a computer and a database processing method that reduce the usage rate of the memory bus bandwidth by the delta merge processing.
  • a computer includes a CPU, a first memory, a second memory, and a logic circuit.
  • the CPU and the first memory are connected by a first bus, and the CPU, the logic circuit, and the second memory are connected by a second bus.
  • the second bus has a slower transmission speed than the first bus.
  • a first main table is stored in the second memory.
  • the first memory stores a first delta table in which write data received after the creation of the first main table is written.
  • the logic circuit performs a merge operation for merging the first delta table of the first memory with the first main table of the second memory to generate a second main table.
  • the structural example of the computer based on a present Example is shown. It is a figure for demonstrating a delta merge process. It is a sequence chart which shows an example of the process (initialization process) before the delta merge process which concerns on a present Example. It is a sequence chart which shows an example in the delta merge process which concerns on a present Example. FIG. 5 is a sequence chart showing a continuation of the delta merge process of FIG. 4. It is a sequence chart which shows an example of the recovery process which concerns on a present Example.
  • program is used as the subject.
  • the program performs processing determined by being executed by the processor using the memory and the communication port (communication control device)
  • the processor is used as the subject.
  • the explanation may be as follows. Further, the processing disclosed with the program as the subject may be processing performed by a computer such as a management server or an information processing apparatus. Further, part or all of the program may be realized by dedicated hardware.
  • Various programs may be installed in each computer by a program distribution server or a storage medium that can be read by the computer.
  • the program distribution server includes a CPU and storage resources, and the storage resources further store a distribution program and a program to be distributed.
  • the distribution program is executed by the CPU, the CPU of the program distribution server distributes the distribution target program to other computers.
  • FIG. 1 shows a configuration example of a computer 2 according to this embodiment.
  • the computer 2 includes a CPU 10, a DRAM 12 that is an example of a first memory, an SCM (Storage Class Memory) 14 that is an example of a second memory, and an FPGA (Field Programmable) that is an example of a logic circuit or a PLD (Programmable Logic Device). Gate Array) 16.
  • the CPU 10 may include a core processor (not shown), an IIO (Integrated I / O) 20, and an MCT (memory controller) 22.
  • a core processor not shown
  • IIO Integrated I / O
  • MCT memory controller
  • the DRAM 12 and the MCT 22 of the CPU 10 are connected via a memory bus 30.
  • the memory bus 30 may be, for example, a DDR (Double-Data-Rate) bus.
  • the SCM 14 and the IIO 20 of the CPU 10 are connected via an I / O bus 34.
  • the FPGA 16 and the IIO 20 of the CPU 10 are connected via an I / O bus 32.
  • the I / O buses 32 and 34 may be, for example, a PCIe (PCI-Express) bus.
  • the SCM 14 is a non-volatile memory, for example, ReRAM (Resistive Random-Access Memory), PCM (Phase Change Access Memory), FeRAM (Ferroelectric Random Access Memory, Memory RAM, or Memory RAM).
  • ReRAM Resistive Random-Access Memory
  • PCM Phase Change Access Memory
  • FeRAM Feroelectric Random Access Memory
  • Memory RAM Memory RAM
  • Memory RAM Memory RAM
  • the SCM 14 (second memory) has a slower access speed than the DRAM 12 (first memory), and the SCM 14 (second memory) has a larger storage capacity than the DRAM 12 (first memory).
  • the PCIe buses (I / O buses) 32 and 34 have a transmission speed slower than that of the DDR bus (memory bus) 30.
  • the contents of the present embodiment are not necessarily limited to such a relationship.
  • the computer 2 may perform delta merge processing as appropriate. This is to speed up OLAP. Next, the delta merge process will be described.
  • FIG. 2 is a diagram for explaining the delta merge processing.
  • the first main table 101 and the second main table 102 are column-oriented databases, and the first delta table 201 and the second delta table 202 are row-oriented databases.
  • the computer 2 may perform the following process.
  • the CPU 10 performs an operation (write operation) for writing data to the database on the first delta table 201.
  • the write operation may be an operation related to OLTP.
  • the CPU 10 performs an operation (read operation) for reading data from the database on the first main table 101 and the first delta table 201.
  • the read operation may be an operation related to OLAP.
  • the computer 2 may perform the following process.
  • the CPU 10 performs a write operation on the second delta table 202.
  • the second delta table 202 may include write data that has not been committed to the first delta table 201 at the start of the delta merge process.
  • the CPU 10 performs a read operation on the first main table 101, the first delta table 201, and the second delta table 202.
  • the FPGA 16 performs a merge operation for merging the first delta table 201 with the first main table 101 to generate the second main table 102.
  • This merging operation may also include an operation of converting the first delta table 201 into a column-oriented database.
  • the computer 2 may perform the following process.
  • the CPU 10 performs a read operation on the second main table 102 and the second delta table 202. Then, the CPU 10 deletes the first main table 101 and the first delta table 201. The CPU 10 continues to perform the write operation on the second delta table 209.
  • the computer 2 may appropriately execute the above-described delta merge process. As a result, the size of the delta table is not so large. Therefore, most of the read operations related to OLAP are performed on the main table, which is a column-oriented database, so that OLAP can be executed at high speed while executing OLTP.
  • the CPU 10 may perform the delta merge process, but in order to reduce the processing load on the CPU 10, in the present embodiment, the FPGA 16 performs the delta merge process. However, when the FPGA 16 performs the delta merge process in this way, the following problem may occur.
  • the computer 2 stores the main tables 101 and 102 used for the delta merge processing in the SCM 14. Further, the computer 2 may secure a work area related to the delta merge process in the SCM 14. Thereby, the usage rate of the bandwidth of the memory bus 30 during the delta merge process can be reduced. Further, it is possible to avoid pressure on the user area of the DRAM 12 during the delta merge process. Therefore, it is possible to reduce the performance degradation of other applications executed by the CPU 10 during the delta merge process.
  • FIG. 3 is a sequence chart showing an example of processing (initialization processing) before the delta merge processing according to the present embodiment.
  • the DB application 90 may be an application for controlling the DB.
  • the runtime may be a library or an application for controlling the delta merge process according to the present embodiment.
  • the FPGA driver may be a driver for controlling the FPGA 16 according to the present embodiment.
  • the DB application 90, the runtime, and the FPGA driver may be programs executed by the CPU 10.
  • the line time and the FPGA driver may be expressed as “runtime or the like” without distinction.
  • the DB application 90 arranges the first main table 101A in the DRAM 12 (S100).
  • the CPU 10 may access the first main table 101A of the DRAM 12 in OLAP.
  • the DB application 90 arranges the first main table 101B in the SCM 14 (S102).
  • the first main table 101B may be a copy of the first main table 101A.
  • the FPGA 16 may access the first main table 101B of the SCM 14 in the delta merge process.
  • the DB application 90 secures a command table area in the DRAM 12 (S104).
  • the DB application 90 performs a write operation to the database that occurs after the process of S104 on the first delta table 201 of the DRAM 12 (S120).
  • FIG. 4 is a sequence chart showing an example during the delta merge process according to the present embodiment.
  • the DB application 90 creates the second delta table 202 in the DRAM 12. Then, the DB application 90 writes data relating to the subsequent write operation to the second delta table 202 (S200). That is, the DB application 90 switches the write destination for the DB from the first delta table 201 to the second delta table 202.
  • the DB application 90 stores the merge execution command in the command table 300 of the DRAM 12 (S202).
  • the DB application 90 starts OLAP.
  • the DB application 90 performs a read operation on the first main table 101A and the first delta table 201 of the DRAM 12 in OLAP (S204).
  • the runtime or the like 92 acquires a merge execution command from the command table 300 of the DRAM 12 (S206), the process proceeds to S208.
  • the runtime or the like 92 may be configured to acquire a command from the command table 300 of the DRAM 12 when receiving a command table update notification from the DB application 90, or to access the command table 300 of the DRAM 12 periodically. It may be configured to.
  • the runtime etc. 92 sets the merge execution status of the DRAM 12 to “ON” (S208).
  • the merge execution status is information indicating whether or not the delta merge process is currently in progress. For example, the merge execution status “on” indicates that the delta merge process is being performed, and the merge execution status “off” indicates that the delta merge process is not being performed.
  • the runtime etc. 92 creates a work area 400 in the SCM 14 (S210).
  • the work area 400 may be used when the FPGA 16 performs the delta merge process.
  • the runtime etc. 92 issues a command table update notification to the FPGA 16 (S212).
  • the FPGA 16 Upon receiving the command table update notification in S212, the FPGA 16 acquires a merge execution command from the command table 300 in the DRAM 12 (S214). Then, the FPGA 16 may execute the following delta merge process according to the merge execution command.
  • the FPGA 16 reads the first delta table 201 from the DRAM 12 (S216).
  • the FPGA 16 merges the first main table 101B of the SCM 14 and the first delta table 201 read in S216 using the work area 400 of the SCM 14, and generates the second main table 102 in the SCM 14 (S218). .
  • the FPGA 16 copies back the second main table 102 of the SCM 14 to the DRAM 12 (S220).
  • the FPGA 16 deletes the first main table 101B from the SCM 14 (S222).
  • the second main table 102 obtained by merging the first main table 101 and the first delta table 201 is generated and stored in the DRAM 12.
  • the DB application 90 performs a write operation on the database after S200 with respect to the second delta table 202 of the DRAM 12 (S250).
  • FIG. 5 is a sequence chart showing the continuation of the delta merge process of FIG.
  • the FPGA 16 issues a merge completion command to the runtime etc. 92 after S222 (S230).
  • the runtime etc. 92 Upon receiving the merge completion command in S230, the runtime etc. 92 sets the merge execution status of the DRAM 12 to “off” (S232).
  • the runtime etc. 92 issues a merge completion command to the DB application 90 (S234).
  • the DB application 90 When the DB application 90 receives the merge completion command of S234, the DB application 90 deletes the first main table 101 and the first delta table 201 from the DRAM 12 (S236).
  • the DB application 90 changes the read operation destination to the second main table 102 and the second delta table 202 of the DRAM 12 (S238).
  • the read operation destination is switched from the first main table 101 and the first delta table 201 to the second main table 102 and the second delta table 202 in the DRAM 12.
  • FIG. 6 is a sequence chart showing an example of the recovery process according to the present embodiment.
  • the SCM 14 or the FPGA 16 notifies the DB application 90 that an error has occurred after the restart (S400 or S402).
  • the DB application 90 When the DB application 90 receives the error notification in S400 or S402, the DB application 90 restarts the database (S404).
  • the SCM 14 Since the SCM 14 is a non-volatile memory, it retains the first main table 101B even after restarting. Therefore, the DB application 90 copies back the first main table 101B of the SCM 14 to the DRAM 12 (S406).
  • the DB application 90 copies back the first delta table 201 and the second delta table 202 stored in a predetermined backup storage (for example, HDD (Hard Disk Drive) or SSD (Solid State Drive) (not shown)) to the DRAM 12. (S408). As a result, the first main table 101, the first delta table 201, and the second delta table 202 are restored to the DRAM 12.
  • a predetermined backup storage for example, HDD (Hard Disk Drive) or SSD (Solid State Drive) (not shown)
  • the SCM 14 has a faster I / O speed than the backup storage. Therefore, according to the above processing, when restoring each table to the DRAM 12, only the relatively small delta table is copied from the backup storage, and the relatively large main table is copied back from the SCM 14. Therefore, the time required for the recovery process can be shortened.
  • This embodiment may be expressed as follows.
  • (Expression 1) A computer having a CPU, a first memory, a second memory, and a logic circuit, The CPU and the first memory are connected by a first bus, The CPU, the logic circuit, and the second memory are connected by a second bus, The second bus is slower in transmission speed than the first bus, A first main table is stored in the second memory; The first memory stores a first delta table to which write data received after creation of the first main table is written, The logic circuit is a computer that performs a merging operation for merging the first delta table of the first memory with the first main table of the second memory to generate a second main table.
  • the second memory has a larger capacity than the first memory, The computer according to expression 1, wherein the logic circuit generates the second main table in the second memory using a work area of the second memory in the merge operation. (Expression 3) 3. The computer according to expression 1 or 2, wherein the CPU copies the second main table of the second memory to the first memory after completion of the merge operation. (Expression 4) The first memory further stores a first main table and a second delta table into which write data received during the merge operation is written, The CPU, during the merge operation, Performing a read operation on the first main table, the first delta table and the second delta table of the first memory; 4. The computer according to any one of expressions 1 to 3, wherein a write operation is performed on the second delta table of the first memory.
  • the first main table and the second main table are column-oriented databases, The first delta table and the second delta table are row-oriented databases;
  • the read operation is a read operation according to OLAP (OnLine Analytical Processing), 5.
  • the computer according to any one of expressions 1 to 4, wherein the write operation is a write operation related to OLTP (OnLine Transaction Processing).
  • the second memory is a non-volatile memory; 6.
  • the computer according to any one of expressions 1 to 5, wherein when a restart occurs during the merge operation, the CPU copies the first main table of the second memory to the first memory.
  • the first memory is a DRAM (Dynamic Random Access Memory),
  • the second memory is an SCM (Storage Class Memory),
  • the first bus is a bus corresponding to DDR (Double-Data-Rate),
  • the second bus is a bus corresponding to PCI-Express,
  • the computer according to any one of Expressions 1 to 6, wherein the logic circuit is a PLD (Programmable Logic Device).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

According to the present invention, a computer comprises a CPU, a first memory, a second memory, and a logic circuit. The CPU and the first memory are connected to each other via a first bus, and the CPU, the logic circuit, and the second memory are connected to one another via a second bus. The second bus has a lower transmission rate than the first bus. The second memory stores a first main table. The first memory stores a first delta table to which write data received after the first main table is created is written. The logic circuit performs a merge operation to merge the first delta table of the first memory with the first main table of the second memory so as to generate a second main table.

Description

計算機、及びデータベース処理方法Computer and database processing method
 本発明は、概して、データベースの処理に関する。 The present invention generally relates to database processing.
 データベース処理には、大きく2種類の処理がある。1つは、オンライントランザクション処理(OnLine Transaction Processing:OLTP)であり、もう1つは、オンライン分析処理(OnLine Analytical Processing:OLAP)である。OLTPは、データベースを行単位で更新する操作が多いため、行指向データベースによって効率よく処理できる。OLAPは、データベースを読み出し傾向を分析する操作が多いため、列指向データベースによって効率よく処理できる。 There are two types of database processing. One is online transaction processing (OnLine Transaction Processing: OLTP), and the other is online analysis processing (OnLine Analytical Processing: OLAP). Since OLTP has many operations for updating the database in units of rows, it can be efficiently processed by a row-oriented database. Since OLAP has many operations for reading a database and analyzing the tendency, it can be efficiently processed by a column-oriented database.
 近年、OLTPによって更新されたデータベースを用いて、刻々と変化する傾向をOLAPにて即時に分析することが求められている。このように1つのデータベースに対してOLTPとOLAPの2つの処理が行えるデータベースが求められており、行指向データベースと列指向データベースの両方の特性を持ち合わせたデータベースシステムが登場している。この様なデータベースでは、内部で行指向データベースから列指向データベースへ変換することが行われている。 In recent years, it has been demanded to analyze immediately changing tendency by OLAP using a database updated by OLTP. Thus, there is a demand for a database that can perform two processes of OLTP and OLAP on one database, and a database system that has characteristics of both a row-oriented database and a column-oriented database has appeared. In such a database, conversion from a row-oriented database to a column-oriented database is performed internally.
 OLAPの高速化のために、OLTPによる更新データの行データを列データに変換し、列指向のメインデータにマージするデルタマージ処理が知られている(特許文献1)。 In order to speed up OLAP, a delta merge process is known in which row data of update data by OLTP is converted into column data and merged with column-oriented main data (Patent Document 1).
特開2014-16983号公報JP 2014-16983 A
 従来、CPU(Central Processing Unit)はデルタマージ処理をメインメモリで行う。デルタマージ処理は、データへのアクセス負荷の高い処理であるため、CPUがデルタマージ処理を行うと、CPUとメインメモリとを結ぶメモリバスの帯域が非常に圧迫される。メモリバス帯域の圧迫は、CPUにおけるデルタマージ処理以外の処理の遅延にもつながる。 Conventionally, a CPU (Central Processing Unit) performs delta merge processing in the main memory. Since the delta merge process is a process with a high access load on data, when the CPU performs the delta merge process, the bandwidth of the memory bus connecting the CPU and the main memory is greatly compressed. The compression of the memory bus bandwidth also leads to a delay in processing other than the delta merge processing in the CPU.
 そこで本発明の目的の一つは、デルタマージ処理によるメモリバス帯域の使用率を軽減する計算機及びデータベース処理方法を提供することにある。 Therefore, one of the objects of the present invention is to provide a computer and a database processing method that reduce the usage rate of the memory bus bandwidth by the delta merge processing.
 一実施例に係る計算機は、CPUと、第1メモリと、第2メモリと、論理回路とを有する。CPUと第1メモリとは第1バスで接続されており、CPUと論理回路と第2メモリとは第2バスで接続されている。第2バスは、第1バスよりも伝送速度が遅い。第2メモリには、第1メインテーブルが格納されている。第1メモリには、第1メインテーブルの作成後に受領したライトデータが書き込まれる第1デルタテーブルが格納されている。論理回路は、第2メモリの第1メインテーブルに第1メモリの第1デルタテーブルをマージして第2メインテーブルを生成するマージ操作を行う。 A computer according to an embodiment includes a CPU, a first memory, a second memory, and a logic circuit. The CPU and the first memory are connected by a first bus, and the CPU, the logic circuit, and the second memory are connected by a second bus. The second bus has a slower transmission speed than the first bus. A first main table is stored in the second memory. The first memory stores a first delta table in which write data received after the creation of the first main table is written. The logic circuit performs a merge operation for merging the first delta table of the first memory with the first main table of the second memory to generate a second main table.
 本発明によれば、デルタマージ処理によるメモリバス帯域の使用率を軽減することができる。 According to the present invention, it is possible to reduce the memory bus bandwidth usage rate by the delta merge processing.
本実施例に係る計算機の構成例を示す。The structural example of the computer based on a present Example is shown. デルタマージ処理を説明するための図である。It is a figure for demonstrating a delta merge process. 本実施例に係るデルタマージ処理前の処理(初期化処理)の一例を示すシーケンスチャートである。It is a sequence chart which shows an example of the process (initialization process) before the delta merge process which concerns on a present Example. 本実施例に係るデルタマージ処理中の一例を示すシーケンスチャートである。It is a sequence chart which shows an example in the delta merge process which concerns on a present Example. 図4のデルタマージ処理の続きを示すシーケンスチャートである。FIG. 5 is a sequence chart showing a continuation of the delta merge process of FIG. 4. 本実施例に係る復旧処理の一例を示すシーケンスチャートである。It is a sequence chart which shows an example of the recovery process which concerns on a present Example.
 以下、幾つかの実施例を説明する。 Hereinafter, some examples will be described.
 なお、以後の説明では「aaaテーブル」、「aaaDB」等の表現にて本発明の情報を説明するが、これらの情報は、テーブル、DB(DataBase)等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「aaaテーブル」、「aaaDB」等について「aaa情報」と呼ぶことがある。 In the following description, the information of the present invention will be described using expressions such as “aaa table” and “aaaDB”. However, these information may be expressed in a form other than a data structure such as a table or DB (DataBase). Good. For this reason, “aaa table”, “aaaDB” and the like are sometimes referred to as “aaa information” to indicate that they do not depend on the data structure.
 以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御デバイス)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。 In the following description, there is a case where “program” is used as the subject. However, since the program performs processing determined by being executed by the processor using the memory and the communication port (communication control device), the processor is used as the subject. The explanation may be as follows. Further, the processing disclosed with the program as the subject may be processing performed by a computer such as a management server or an information processing apparatus. Further, part or all of the program may be realized by dedicated hardware.
 また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。この場合、プログラム配布サーバはCPUと記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムを記憶している。そして、配布プログラムをCPUが実行することで、プログラム配布サーバのCPUは配布対象のプログラムを他の計算機に配布する。 Various programs may be installed in each computer by a program distribution server or a storage medium that can be read by the computer. In this case, the program distribution server includes a CPU and storage resources, and the storage resources further store a distribution program and a program to be distributed. When the distribution program is executed by the CPU, the CPU of the program distribution server distributes the distribution target program to other computers.
 図1は、本実施例に係る計算機2の構成例を示す。 FIG. 1 shows a configuration example of a computer 2 according to this embodiment.
 計算機2は、CPU10と、第1メモリの例であるDRAM12と、第2メモリの例であるSCM(Storage Class Memory)14と、論理回路又はPLD(Programmable Logic Device)の例であるFPGA(Field Programmable Gate Array)16とを有する。 The computer 2 includes a CPU 10, a DRAM 12 that is an example of a first memory, an SCM (Storage Class Memory) 14 that is an example of a second memory, and an FPGA (Field Programmable) that is an example of a logic circuit or a PLD (Programmable Logic Device). Gate Array) 16.
 CPU10は、コアプロセッサ(不図示)、IIO(Integrated I/O)20、及び、MCT(メモリコントローラ)22を含んで良い。 The CPU 10 may include a core processor (not shown), an IIO (Integrated I / O) 20, and an MCT (memory controller) 22.
 DRAM12とCPU10のMCT22とは、メモリバス30を介して接続される。メモリバス30は、例えばDDR(Double-Data-Rate)バスであってよい。 The DRAM 12 and the MCT 22 of the CPU 10 are connected via a memory bus 30. The memory bus 30 may be, for example, a DDR (Double-Data-Rate) bus.
 SCM14とCPU10のIIO20とは、I/Oバス34を介して接続される。 The SCM 14 and the IIO 20 of the CPU 10 are connected via an I / O bus 34.
 FPGA16とCPU10のIIO20とは、I/Oバス32を介して接続される。I/Oバス32、34は、例えばPCIe(PCI-Express)バスであってよい。 The FPGA 16 and the IIO 20 of the CPU 10 are connected via an I / O bus 32. The I / O buses 32 and 34 may be, for example, a PCIe (PCI-Express) bus.
 SCM14は、不揮発性メモリであり、例えば、ReRAM(Resistive Random-Access Memory)、PCM(Phase Change Access Memory)、FeRAM(Ferroelectric RandomAccess Memory)、又はMRAM(Magnetoresistive Random Access Memory)である。 The SCM 14 is a non-volatile memory, for example, ReRAM (Resistive Random-Access Memory), PCM (Phase Change Access Memory), FeRAM (Ferroelectric Random Access Memory, Memory RAM, or Memory RAM).
 典型的には、SCM14(第2メモリ)はDRAM12(第1メモリ)よりもアクセス速度が遅く、SCM14(第2メモリ)はDRAM12(第1メモリ)よりも記憶容量が大きい。また、PCIeバス(I/Oバス)32、34は、DDRバス(メモリバス)30よりも伝送速度が遅い。しかし、本実施例の内容は、必ずしもこのような関係性に限定されるものではない。 Typically, the SCM 14 (second memory) has a slower access speed than the DRAM 12 (first memory), and the SCM 14 (second memory) has a larger storage capacity than the DRAM 12 (first memory). The PCIe buses (I / O buses) 32 and 34 have a transmission speed slower than that of the DDR bus (memory bus) 30. However, the contents of the present embodiment are not necessarily limited to such a relationship.
 計算機2(CPU10で実行されるプログラム)は、適宜、デルタマージ処理を行ってよい。OLAPの高速化のためである。次にデルタマージ処理について説明する。 The computer 2 (program executed by the CPU 10) may perform delta merge processing as appropriate. This is to speed up OLAP. Next, the delta merge process will be described.
 図2は、デルタマージ処理を説明するための図である。 FIG. 2 is a diagram for explaining the delta merge processing.
 第1メインテーブル101及び第2メインテーブル102は列指向データベース、第1デルタテーブル201及び第2デルタテーブル202は行指向データベースである。 The first main table 101 and the second main table 102 are column-oriented databases, and the first delta table 201 and the second delta table 202 are row-oriented databases.
 (A)デルタマージ処理前、計算機2は次の処理を行ってよい。CPU10は、データをデータベースにライトする操作(ライト操作)を、第1デルタテーブル201に対して行う。ライト操作は、OLTPに係る操作であってよい。CPU10は、データベースからデータをリードする操作(リード操作)を、第1メインテーブル101と第1デルタテーブル201とに対して行う。リード操作は、OLAPに係る操作であってよい。 (A) Before the delta merge process, the computer 2 may perform the following process. The CPU 10 performs an operation (write operation) for writing data to the database on the first delta table 201. The write operation may be an operation related to OLTP. The CPU 10 performs an operation (read operation) for reading data from the database on the first main table 101 and the first delta table 201. The read operation may be an operation related to OLAP.
 (B)デルタマージ処理中、計算機2は次の処理を行ってよい。CPU10は、ライト操作を、第2デルタテーブル202に対して行う。第2デルタテーブル202は、デルタマージ処理開始時に第1デルタテーブル201に対して未コミットであったライトデータを含んでよい。CPU10は、リード操作を、第1メインテーブル101と、第1デルタテーブル201と、第2デルタテーブル202とに対して行う。FPGA16は、第1メインテーブル101に第1デルタテーブル201をマージして第2メインテーブル102を生成するマージ操作を行う。このマージ操作は、第1デルタテーブル201を列指向データベースに変換する操作も含んでよい。 (B) During the delta merge process, the computer 2 may perform the following process. The CPU 10 performs a write operation on the second delta table 202. The second delta table 202 may include write data that has not been committed to the first delta table 201 at the start of the delta merge process. The CPU 10 performs a read operation on the first main table 101, the first delta table 201, and the second delta table 202. The FPGA 16 performs a merge operation for merging the first delta table 201 with the first main table 101 to generate the second main table 102. This merging operation may also include an operation of converting the first delta table 201 into a column-oriented database.
 (C)デルタマージ処理後、計算機2は次の処理を行って良い。CPU10は、リード操作を、第2メインテーブル102及び第2デルタテーブル202に対して行う。そして、CPU10は、第1メインテーブル101及び第1デルタテーブル201を削除する。CPU10は、ライト操作を、引き続き第2デルタテーブル209に対して行う。 (C) After the delta merge process, the computer 2 may perform the following process. The CPU 10 performs a read operation on the second main table 102 and the second delta table 202. Then, the CPU 10 deletes the first main table 101 and the first delta table 201. The CPU 10 continues to perform the write operation on the second delta table 209.
 計算機2は、上述のデルタマージ処理を適宜実行してよい。これにより、デルタテーブルのサイズはそれほど大きくならない。よって、OLAPに係るリード操作の大部分は列指向データベースであるメインテーブルに対して行われるので、OLTPを実行しながらでも高速にOLAPを実行することができる。 The computer 2 may appropriately execute the above-described delta merge process. As a result, the size of the delta table is not so large. Therefore, most of the read operations related to OLAP are performed on the main table, which is a column-oriented database, so that OLAP can be executed at high speed while executing OLTP.
 CPU10がデルタマージ処理を行っても良いが、CPU10の処理負荷を軽減するために、本実施例では、FPGA16がデルタマージ処理を行う。しかし、このようにFPGA16がデルタマージ処理を行う場合、次のような問題が生じ得る。 The CPU 10 may perform the delta merge process, but in order to reduce the processing load on the CPU 10, in the present embodiment, the FPGA 16 performs the delta merge process. However, when the FPGA 16 performs the delta merge process in this way, the following problem may occur.
 (1)FPGA16が、デルタマージ処理において、DRAM12のメインテーブル及びデルタテーブルに頻繁にアクセスすると、メモリバス30の帯域が圧迫される。 (1) When the FPGA 16 frequently accesses the main table and the delta table of the DRAM 12 in the delta merge process, the bandwidth of the memory bus 30 is compressed.
 (2)FPGA16が、デルタマージ処理に係るワーク領域をDRAM12に確保すると、DRAM12のユーザ領域が圧迫される。 (2) When the FPGA 16 secures a work area related to the delta merge process in the DRAM 12, the user area of the DRAM 12 is compressed.
 これらの問題は、CPU10で実行される他のアプリケーションの性能低下につながる。そこで本実施例に係る計算機2は、デルタマージ処理に用いるメインテーブル101、102をSCM14に格納する。さらに、計算機2は、デルタマージ処理に係るワーク領域をSCM14に確保してよい。これにより、デルタマージ処理中におけるメモリバス30の帯域の使用率を低減することができる。また、デルタマージ処理中におけるDRAM12のユーザ領域の圧迫を回避することができる。よって、デルタマージ処理中におけるCPU10で実行される他のアプリケーションの性能低下を軽減することができる。 These problems lead to performance degradation of other applications executed by the CPU 10. Therefore, the computer 2 according to this embodiment stores the main tables 101 and 102 used for the delta merge processing in the SCM 14. Further, the computer 2 may secure a work area related to the delta merge process in the SCM 14. Thereby, the usage rate of the bandwidth of the memory bus 30 during the delta merge process can be reduced. Further, it is possible to avoid pressure on the user area of the DRAM 12 during the delta merge process. Therefore, it is possible to reduce the performance degradation of other applications executed by the CPU 10 during the delta merge process.
 図3は、本実施例に係るデルタマージ処理前の処理(初期化処理)の一例を示すシーケンスチャートである。 FIG. 3 is a sequence chart showing an example of processing (initialization processing) before the delta merge processing according to the present embodiment.
 DBアプリケーション90は、DBを制御するためのアプリケーションであってよい。ランタイムは、本実施例に係るデルタマージ処理を制御するためのライブラリ又はアプリケーションであってよい。 The DB application 90 may be an application for controlling the DB. The runtime may be a library or an application for controlling the delta merge process according to the present embodiment.
 FPGAドライバは、本実施例に係るFPGA16を制御するためのドライバであってよい。DBアプリケーション90、ランタイム及びFPGAドライバは、CPU10で実行されるプログラムであってよい。以下の説明では、ラインタイム及びFPGAドライバを区別せずに「ランタイム等」と表現することがある。 The FPGA driver may be a driver for controlling the FPGA 16 according to the present embodiment. The DB application 90, the runtime, and the FPGA driver may be programs executed by the CPU 10. In the following description, the line time and the FPGA driver may be expressed as “runtime or the like” without distinction.
 DBアプリケーション90は、DRAM12に第1メインテーブル101Aを配置する(S100)。CPU10は、OLAPにおいて、このDRAM12の第1メインテーブル101Aにアクセスしてよい。 The DB application 90 arranges the first main table 101A in the DRAM 12 (S100). The CPU 10 may access the first main table 101A of the DRAM 12 in OLAP.
 DBアプリケーション90は、SCM14に第1メインテーブル101Bを配置する(S102)。第1メインテーブル101Bは、第1メインテーブル101Aのコピーであってよい。FPGA16は、デルタマージ処理において、このSCM14の第1メインテーブル101Bにアクセスしてよい。 The DB application 90 arranges the first main table 101B in the SCM 14 (S102). The first main table 101B may be a copy of the first main table 101A. The FPGA 16 may access the first main table 101B of the SCM 14 in the delta merge process.
 次に、DBアプリケーション90は、DRAM12に、コマンドテーブル領域を確保する(S104)。 Next, the DB application 90 secures a command table area in the DRAM 12 (S104).
 なお、DBアプリケーション90は、S104の処理後に発生したデータベースへのライト操作については、DRAM12の第1デルタテーブル201に対して行う(S120)。 Note that the DB application 90 performs a write operation to the database that occurs after the process of S104 on the first delta table 201 of the DRAM 12 (S120).
 以上の処理により、本実施例に係るデルタマージ処理前の状態(図2参照)が構成される。 By the above processing, the state before the delta merge processing according to the present embodiment (see FIG. 2) is configured.
 図4は、本実施例に係るデルタマージ処理中の一例を示すシーケンスチャートである。 FIG. 4 is a sequence chart showing an example during the delta merge process according to the present embodiment.
 DBアプリケーション90は、DRAM12に第2デルタテーブル202を作成する。そして、DBアプリケーション90は、その後のライト操作に係るデータについては、その第2デルタテーブル202にライトする(S200)。すなわち、DBアプリケーション90は、DBに対するライト先を、第1デルタテーブル201から第2デルタテーブル202へ切り替える。 The DB application 90 creates the second delta table 202 in the DRAM 12. Then, the DB application 90 writes data relating to the subsequent write operation to the second delta table 202 (S200). That is, the DB application 90 switches the write destination for the DB from the first delta table 201 to the second delta table 202.
 DBアプリケーション90は、DRAM12のコマンドテーブル300に、マージ実行コマンドを格納する(S202)。 The DB application 90 stores the merge execution command in the command table 300 of the DRAM 12 (S202).
 DBアプリケーション90は、OLAPを開始する。DBアプリケーション90は、OLAPにおいて、DRAM12の第1メインテーブル101A及び第1デルタテーブル201に対してリード操作を行う(S204)。 The DB application 90 starts OLAP. The DB application 90 performs a read operation on the first main table 101A and the first delta table 201 of the DRAM 12 in OLAP (S204).
 一方、ランタイム等92は、DRAM12のコマンドテーブル300から、マージ実行コマンドを取得すると(S206)、S208の処理へ進む。なお、ランタイム等92は、DBアプリケーション90からコマンドテーブルの更新通知を受領したときに、DRAM12のコマンドテーブル300からコマンドを取得する構成であっても良いし、定期的にDRAM12のコマンドテーブル300にアクセスする構成であってもよい。 On the other hand, when the runtime or the like 92 acquires a merge execution command from the command table 300 of the DRAM 12 (S206), the process proceeds to S208. Note that the runtime or the like 92 may be configured to acquire a command from the command table 300 of the DRAM 12 when receiving a command table update notification from the DB application 90, or to access the command table 300 of the DRAM 12 periodically. It may be configured to.
 ランタイム等92は、DRAM12のマージ実行中ステータスを「オン」にする(S208)。マージ実行中ステータスは、現在、デルタマージ処理中であるか否かを示す情報である。例えば、マージ実行中ステータス「オン」はデルタマージ処理中であることを示し、マージ実行中ステータス「オフ」はデルタマージ処理中でないことを示す。 The runtime etc. 92 sets the merge execution status of the DRAM 12 to “ON” (S208). The merge execution status is information indicating whether or not the delta merge process is currently in progress. For example, the merge execution status “on” indicates that the delta merge process is being performed, and the merge execution status “off” indicates that the delta merge process is not being performed.
 ランタイム等92は、SCM14に、ワーク領域400を作成する(S210)。このワーク領域400は、FPGA16がデルタマージ処理を行う際に使用されてよい。 The runtime etc. 92 creates a work area 400 in the SCM 14 (S210). The work area 400 may be used when the FPGA 16 performs the delta merge process.
 ランタイム等92は、FPGA16に対して、コマンドテーブルの更新通知を発行する(S212)。 The runtime etc. 92 issues a command table update notification to the FPGA 16 (S212).
 FPGA16は、S212のコマンドテーブルの更新通知を受領すると、DRAM12のコマンドテーブル300から、マージ実行コマンドを取得する(S214)。そして、FPGA16は、このマージ実行コマンドに従って、次のようなデルタマージ処理を実行してよい。 Upon receiving the command table update notification in S212, the FPGA 16 acquires a merge execution command from the command table 300 in the DRAM 12 (S214). Then, the FPGA 16 may execute the following delta merge process according to the merge execution command.
 FPGA16は、DRAM12から第1デルタテーブル201をリードする(S216)。 The FPGA 16 reads the first delta table 201 from the DRAM 12 (S216).
 そして、FPGA16は、SCM14のワーク領域400を用いて、SCM14の第1メインテーブル101Bと、S216でリードした第1デルタテーブル201とをマージし、SCM14に第2メインテーブル102を生成する(S218)。 Then, the FPGA 16 merges the first main table 101B of the SCM 14 and the first delta table 201 read in S216 using the work area 400 of the SCM 14, and generates the second main table 102 in the SCM 14 (S218). .
 FPGA16は、第2メインテーブル102を生成し終えた後、SCM14の第2メインテーブル102をDRAM12にコピーバックする(S220)。 After completing the generation of the second main table 102, the FPGA 16 copies back the second main table 102 of the SCM 14 to the DRAM 12 (S220).
 FPGA16は、SCM14から第1メインテーブル101Bを削除する(S222)。 The FPGA 16 deletes the first main table 101B from the SCM 14 (S222).
 これにより、第1メインテーブル101と第1デルタテーブル201とをマージした第2メインテーブル102が生成され、DRAM12に格納される。 Thereby, the second main table 102 obtained by merging the first main table 101 and the first delta table 201 is generated and stored in the DRAM 12.
 なお、DBアプリケーション90は、S200の後におけるデータベースに対するライト操作については、DRAM12の第2デルタテーブル202に対して行う(S250)。 The DB application 90 performs a write operation on the database after S200 with respect to the second delta table 202 of the DRAM 12 (S250).
 図5は、図4のデルタマージ処理の続きを示すシーケンスチャートである。 FIG. 5 is a sequence chart showing the continuation of the delta merge process of FIG.
 FPGA16は、S222の後、ランタイム等92に対して、マージ完了コマンドを発行する(S230)。 The FPGA 16 issues a merge completion command to the runtime etc. 92 after S222 (S230).
 ランタイム等92は、S230のマージ完了コマンドを受領すると、DRAM12のマージ実行ステータスを「オフ」にする(S232)。 Upon receiving the merge completion command in S230, the runtime etc. 92 sets the merge execution status of the DRAM 12 to “off” (S232).
 そして、ランタイム等92は、DBアプリケーション90に対して、マージ完了コマンドを発行する(S234)。 The runtime etc. 92 issues a merge completion command to the DB application 90 (S234).
 DBアプリケーション90は、S234のマージ完了コマンドを受領すると、DRAM12から第1メインテーブル101及び第1デルタテーブル201を削除する(S236)。 When the DB application 90 receives the merge completion command of S234, the DB application 90 deletes the first main table 101 and the first delta table 201 from the DRAM 12 (S236).
 そして、DBアプリケーション90は、リード操作先を、DRAM12の第2メインテーブル102及び第2デルタテーブル202に変更する(S238)。これにより、リード操作先が、DRAM12において、第1メインテーブル101及び第1デルタテーブル201から、第2メインテーブル102及び第2デルタテーブル202に切り替わる。 Then, the DB application 90 changes the read operation destination to the second main table 102 and the second delta table 202 of the DRAM 12 (S238). As a result, the read operation destination is switched from the first main table 101 and the first delta table 201 to the second main table 102 and the second delta table 202 in the DRAM 12.
 以上の処理により、本実施例に係るデルタマージ処理中及びデルタマージ処理後の状態(図2参照)が構成される。 By the above processing, the state (see FIG. 2) during and after the delta merge processing according to the present embodiment is configured.
 図6は、本実施例に係る復旧処理の一例を示すシーケンスチャートである。 FIG. 6 is a sequence chart showing an example of the recovery process according to the present embodiment.
 例えば、FPGA16が第2メインテーブル102をSCM14に生成中(S214~S218の処理中)に、FPGA16又はSCM14で何らかの障害が発生し、FPGA16又はSCM14が再起動したとする。その場合、次のような復旧処理が実行されてよい。 For example, it is assumed that some failure occurs in the FPGA 16 or the SCM 14 while the FPGA 16 is generating the second main table 102 in the SCM 14 (processing in S214 to S218), and the FPGA 16 or the SCM 14 is restarted. In that case, the following recovery process may be executed.
 SCM14又はFPGA16は、再起動後、DBアプリケーション90に対して、エラーが発生した旨を通知する(S400又はS402)。 The SCM 14 or the FPGA 16 notifies the DB application 90 that an error has occurred after the restart (S400 or S402).
 DBアプリケーション90は、S400又はS402のエラー通知を受領すると、データベースを再起動する(S404)。 When the DB application 90 receives the error notification in S400 or S402, the DB application 90 restarts the database (S404).
 SCM14は、不揮発性メモリであるので、再起動後も第1メインテーブル101Bを保持している。そこで、DBアプリケーション90は、SCM14の第1メインテーブル101Bを、DRAM12にコピーバックする(S406)。 Since the SCM 14 is a non-volatile memory, it retains the first main table 101B even after restarting. Therefore, the DB application 90 copies back the first main table 101B of the SCM 14 to the DRAM 12 (S406).
 DBアプリケーション90は、所定のバックアップストレージ(例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive)。不図示)に格納されている第1デルタテーブル201及び第2デルタテーブル202を、DRAM12にコピーバックする(S408)。これにより、DRAM12に、第1メインテーブル101、第1デルタテーブル201、及び、第2デルタテーブル202が復元される。 The DB application 90 copies back the first delta table 201 and the second delta table 202 stored in a predetermined backup storage (for example, HDD (Hard Disk Drive) or SSD (Solid State Drive) (not shown)) to the DRAM 12. (S408). As a result, the first main table 101, the first delta table 201, and the second delta table 202 are restored to the DRAM 12.
 そして、DBアプリケーション90は、S200からの処理を開始する。 Then, the DB application 90 starts processing from S200.
 典型的には、SCM14は、バックアップストレージよりもI/O速度が速い。したがって、上記の処理によれば、DRAM12に各テーブルを復元する際に、比較的サイズの小さいデルタテーブルのみをバックアップストレージからコピーし、比較的サイズの大きいメインテーブルについてはSCM14からコピーバックすればよいので、復旧処理にかかる時間を短縮することができる。 Typically, the SCM 14 has a faster I / O speed than the backup storage. Therefore, according to the above processing, when restoring each table to the DRAM 12, only the relatively small delta table is copied from the backup storage, and the relatively large main table is copied back from the SCM 14. Therefore, the time required for the recovery process can be shortened.
 上述した実施例は、本発明の説明のための例示であり、本発明の範囲を実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。 The above-described embodiments are examples for explaining the present invention, and are not intended to limit the scope of the present invention only to the embodiments. Those skilled in the art can implement the present invention in various other modes without departing from the gist of the present invention.
 本実施例は、以下のように表現されてもよい。
 (表現1)
 CPUと、第1メモリと、第2メモリと、論理回路とを有する計算機であって、
 前記CPUと前記第1メモリとは、第1バスで接続されており、
 前記CPUと前記論理回路と前記第2メモリとは、第2バスで接続されており、
 前記第2バスは、前記第1バスよりも伝送速度が遅く、
 前記第2メモリには、第1メインテーブルが格納されており、
 前記第1メモリには、前記第1メインテーブルの作成後に受領したライトデータが書き込まれる第1デルタテーブルが格納されており、
 前記論理回路は、前記第2メモリの前記第1メインテーブルに前記第1メモリの前記第1デルタテーブルをマージして第2メインテーブルを生成するマージ操作を行う
計算機。
 (表現2)
 前記第2メモリは、前記第1メモリよりも容量が大きく、
 前記論理回路は、前記マージ操作において、前記第2メモリのワーク領域を用いて当該第2メモリに前記第2メインテーブルを生成する
表現1に記載の計算機。
 (表現3)
 前記CPUは、前記マージ操作の完了後、前記第2メモリの前記第2メインテーブルを前記第1メモリにコピーする
表現1又は2に記載の計算機。
 (表現4)
 前記第1メモリには、さらに、第1メインテーブルと、前記マージ操作中に受領したライトデータが書き込まれる第2デルタテーブルとが格納されており、
 前記CPUは、前記マージ操作中において、
  前記第1メモリの第1メインテーブル、第1デルタテーブル及び第2デルタテーブルに対してリード操作を行い、
  前記第1メモリの第2デルタテーブルに対してライト操作を行う
表現1乃至3の何れかに記載の計算機。
 (表現5)
 第1メインテーブル及び第2メインテーブルは、列指向データベースであり、
 第1デルタテーブル及び第2デルタテーブルは、行指向データベースであり、
 前記リード操作は、OLAP(OnLine Analytical Processing)に係るリード操作であり、
 前記ライト操作は、OLTP(OnLine Transaction Processing)に係るライト操作である
表現1乃至4の何れかに記載の計算機。
 (表現6)
 前記第2メモリは、不揮発性メモリであり、
 前記マージ操作中に再起動が発生した場合、前記CPUは、前記第2メモリの第1メインテーブルを前記第1メモリにコピーする
表現1乃至5の何れかに記載の計算機。
 (表現7)
 前記第1メモリは、DRAM(Dynamic Random Access Memory)であり、
 前記第2メモリは、SCM(Storage Class Memory)であり、
 前記第1バスは、DDR(Double-Data-Rate)に対応するバスであり、
 前記第2バスは、PCI-Expressに対応するバスであり、
 前記論理回路は、PLD(Programmable Logic Device)である
表現1乃至6の何れかに記載の計算機。
 (表現8)
 CPUと、第1メモリと、第2メモリと、論理回路とを有する計算機によるデータベース処理方法であって、
 前記CPUと前記第1メモリとは、第1バスで接続されており、
 前記CPUと前記論理回路と前記第2メモリとは、第2バスで接続されており、
 前記第2バスは、前記第1バスよりも伝送速度が遅く、
 前記第2メモリには、第1メインテーブルが格納されており、
 前記第1メモリには、前記第1メインテーブルの作成後に受領したライトデータが書き込まれる第1デルタテーブルが格納されており、
 前記論理回路が、前記第2メモリの前記第1メインテーブルに前記第1メモリの前記第1デルタテーブルをマージして第2メインテーブルを生成するマージ操作を行う
データベース処理方法。
This embodiment may be expressed as follows.
(Expression 1)
A computer having a CPU, a first memory, a second memory, and a logic circuit,
The CPU and the first memory are connected by a first bus,
The CPU, the logic circuit, and the second memory are connected by a second bus,
The second bus is slower in transmission speed than the first bus,
A first main table is stored in the second memory;
The first memory stores a first delta table to which write data received after creation of the first main table is written,
The logic circuit is a computer that performs a merging operation for merging the first delta table of the first memory with the first main table of the second memory to generate a second main table.
(Expression 2)
The second memory has a larger capacity than the first memory,
The computer according to expression 1, wherein the logic circuit generates the second main table in the second memory using a work area of the second memory in the merge operation.
(Expression 3)
3. The computer according to expression 1 or 2, wherein the CPU copies the second main table of the second memory to the first memory after completion of the merge operation.
(Expression 4)
The first memory further stores a first main table and a second delta table into which write data received during the merge operation is written,
The CPU, during the merge operation,
Performing a read operation on the first main table, the first delta table and the second delta table of the first memory;
4. The computer according to any one of expressions 1 to 3, wherein a write operation is performed on the second delta table of the first memory.
(Expression 5)
The first main table and the second main table are column-oriented databases,
The first delta table and the second delta table are row-oriented databases;
The read operation is a read operation according to OLAP (OnLine Analytical Processing),
5. The computer according to any one of expressions 1 to 4, wherein the write operation is a write operation related to OLTP (OnLine Transaction Processing).
(Expression 6)
The second memory is a non-volatile memory;
6. The computer according to any one of expressions 1 to 5, wherein when a restart occurs during the merge operation, the CPU copies the first main table of the second memory to the first memory.
(Expression 7)
The first memory is a DRAM (Dynamic Random Access Memory),
The second memory is an SCM (Storage Class Memory),
The first bus is a bus corresponding to DDR (Double-Data-Rate),
The second bus is a bus corresponding to PCI-Express,
The computer according to any one of Expressions 1 to 6, wherein the logic circuit is a PLD (Programmable Logic Device).
(Expression 8)
A database processing method by a computer having a CPU, a first memory, a second memory, and a logic circuit,
The CPU and the first memory are connected by a first bus,
The CPU, the logic circuit, and the second memory are connected by a second bus,
The second bus is slower in transmission speed than the first bus,
A first main table is stored in the second memory;
The first memory stores a first delta table to which write data received after creation of the first main table is written,
A database processing method in which the logic circuit performs a merge operation for merging the first delta table of the first memory with the first main table of the second memory to generate a second main table.
 2:計算機 10:CPU 12:DRAM 14:SCM 16:FPGA 30:メモリバス 34:I/Oバス 2: Computer 10: CPU 12: DRAM 14: SCM 16: FPGA 30: Memory bus 34: I / O bus

Claims (8)

  1.  CPUと、第1メモリと、第2メモリと、論理回路とを有する計算機であって、
     前記CPUと前記第1メモリとは、第1バスで接続されており、
     前記CPUと前記論理回路と前記第2メモリとは、第2バスで接続されており、
     前記第2バスは、前記第1バスよりも伝送速度が遅く、
     前記第2メモリには、第1メインテーブルが格納されており、
     前記第1メモリには、前記第1メインテーブルの作成後に受領したライトデータが書き込まれる第1デルタテーブルが格納されており、
     前記論理回路は、前記第2メモリの前記第1メインテーブルに前記第1メモリの前記第1デルタテーブルをマージして第2メインテーブルを生成するマージ操作を行う
    計算機。
    A computer having a CPU, a first memory, a second memory, and a logic circuit,
    The CPU and the first memory are connected by a first bus,
    The CPU, the logic circuit, and the second memory are connected by a second bus,
    The second bus is slower in transmission speed than the first bus,
    A first main table is stored in the second memory;
    The first memory stores a first delta table to which write data received after creation of the first main table is written,
    The logic circuit is a computer that performs a merging operation for merging the first delta table of the first memory with the first main table of the second memory to generate a second main table.
  2.  前記第2メモリは、前記第1メモリよりも容量が大きく、
     前記論理回路は、前記マージ操作において、前記第2メモリのワーク領域を用いて当該第2メモリに前記第2メインテーブルを生成する
    請求項1に記載の計算機。
    The second memory has a larger capacity than the first memory,
    2. The computer according to claim 1, wherein the logic circuit generates the second main table in the second memory by using a work area of the second memory in the merge operation.
  3.  前記CPUは、前記マージ操作の完了後、前記第2メモリの前記第2メインテーブルを前記第1メモリにコピーする
    請求項2に記載の計算機。
    The computer according to claim 2, wherein the CPU copies the second main table of the second memory to the first memory after completion of the merge operation.
  4.  前記第1メモリには、さらに、第1メインテーブルと、前記マージ操作中に受領したライトデータが書き込まれる第2デルタテーブルとが格納されており、
     前記CPUは、前記マージ操作中において、
      前記第1メモリの第1メインテーブル、第1デルタテーブル及び第2デルタテーブルに対してリード操作を行い、
      前記第1メモリの第2デルタテーブルに対してライト操作を行う
    請求項1に記載の計算機。
    The first memory further stores a first main table and a second delta table into which write data received during the merge operation is written,
    The CPU, during the merge operation,
    Performing a read operation on the first main table, the first delta table and the second delta table of the first memory;
    The computer according to claim 1, wherein a write operation is performed on the second delta table of the first memory.
  5.  第1メインテーブル及び第2メインテーブルは、列指向データベースであり、
     第1デルタテーブル及び第2デルタテーブルは、行指向データベースであり、
     前記リード操作は、OLAP(OnLine Analytical Processing)に係るリード操作であり、
     前記ライト操作は、OLTP(OnLine Transaction Processing)に係るライト操作である
    請求項4に記載の計算機。
    The first main table and the second main table are column-oriented databases,
    The first delta table and the second delta table are row-oriented databases;
    The read operation is a read operation according to OLAP (OnLine Analytical Processing),
    The computer according to claim 4, wherein the write operation is a write operation according to OLTP (OnLine Transaction Processing).
  6.  前記第2メモリは、不揮発性メモリであり、
     前記マージ操作中に再起動が発生した場合、前記CPUは、前記第2メモリの第1メインテーブルを前記第1メモリにコピーする
    請求項4に記載の計算機。
    The second memory is a non-volatile memory;
    5. The computer according to claim 4, wherein when a restart occurs during the merge operation, the CPU copies the first main table of the second memory to the first memory.
  7.  前記第1メモリは、DRAM(Dynamic Random Access Memory)であり、
     前記第2メモリは、SCM(Storage Class Memory)であり、
     前記第1バスは、DDR(Double-Data-Rate)に対応するバスであり、
     前記第2バスは、PCI-Expressに対応するバスであり、
     前記論理回路は、PLD(Programmable Logic Device)である
    請求項1に記載の計算機。
    The first memory is a DRAM (Dynamic Random Access Memory),
    The second memory is an SCM (Storage Class Memory),
    The first bus is a bus corresponding to DDR (Double-Data-Rate),
    The second bus is a bus corresponding to PCI-Express,
    The computer according to claim 1, wherein the logic circuit is a PLD (Programmable Logic Device).
  8.  CPUと、第1メモリと、第2メモリと、論理回路とを有する計算機によるデータベース処理方法であって、
     前記CPUと前記第1メモリとは、第1バスで接続されており、
     前記CPUと前記論理回路と前記第2メモリとは、第2バスで接続されており、
     前記第2バスは、前記第1バスよりも伝送速度が遅く、
     前記第2メモリには、第1メインテーブルが格納されており、
     前記第1メモリには、前記第1メインテーブルの作成後に受領したライトデータが書き込まれる第1デルタテーブルが格納されており、
     前記論理回路が、前記第2メモリの前記第1メインテーブルに前記第1メモリの前記第1デルタテーブルをマージして第2メインテーブルを生成するマージ操作を行う
    データベース処理方法。
    A database processing method by a computer having a CPU, a first memory, a second memory, and a logic circuit,
    The CPU and the first memory are connected by a first bus,
    The CPU, the logic circuit, and the second memory are connected by a second bus,
    The second bus is slower in transmission speed than the first bus,
    A first main table is stored in the second memory;
    The first memory stores a first delta table to which write data received after creation of the first main table is written,
    A database processing method in which the logic circuit performs a merge operation for merging the first delta table of the first memory with the first main table of the second memory to generate a second main table.
PCT/JP2016/066768 2016-06-06 2016-06-06 Computer and database processing method WO2017212525A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/066768 WO2017212525A1 (en) 2016-06-06 2016-06-06 Computer and database processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/066768 WO2017212525A1 (en) 2016-06-06 2016-06-06 Computer and database processing method

Publications (1)

Publication Number Publication Date
WO2017212525A1 true WO2017212525A1 (en) 2017-12-14

Family

ID=60579010

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/066768 WO2017212525A1 (en) 2016-06-06 2016-06-06 Computer and database processing method

Country Status (1)

Country Link
WO (1) WO2017212525A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013141308A1 (en) * 2012-03-22 2013-09-26 日本電気株式会社 Distributed storage system, storage control method and program
WO2015190007A1 (en) * 2014-06-13 2015-12-17 株式会社日立製作所 Information processing device, computer system, and data processing method therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013141308A1 (en) * 2012-03-22 2013-09-26 日本電気株式会社 Distributed storage system, storage control method and program
WO2015190007A1 (en) * 2014-06-13 2015-12-17 株式会社日立製作所 Information processing device, computer system, and data processing method therefor

Similar Documents

Publication Publication Date Title
US9600202B2 (en) Method and device for implementing memory migration
CN111095223A (en) Method and system for implementing active persistent memory via memory bus
US9766992B2 (en) Storage device failover
US20140325148A1 (en) Data storage devices which supply host with data processing latency information, and related data processing methods
US20130007488A1 (en) Power management of a storage device including multiple processing cores
US9836223B2 (en) Changing storage volume ownership using cache memory
US11379300B2 (en) Storage device and method for operating storage device
US11204797B2 (en) Computing systems and methods of operating computing systems
WO2018051505A1 (en) Storage system
CN110941395A (en) Dynamic random access memory, memory management method, system and storage medium
EP3699747A1 (en) Raid aware drive firmware update
US20190340089A1 (en) Method and apparatus to provide uninterrupted operation of mission critical distributed in-memory applications
US10915267B2 (en) Atomic cross-media writes on a storage device
US20190042365A1 (en) Read-optimized lazy erasure coding
US11416403B2 (en) Method and apparatus for performing pipeline-based accessing management in storage server with aid of caching metadata with hardware pipeline module during processing object write command
CN113504876A (en) Data writing method and device, data reading method and device, and electronic device
US10642531B2 (en) Atomic write method for multi-transaction
CN112540869A (en) Memory controller, memory device, and method of operating memory device
WO2017212525A1 (en) Computer and database processing method
US11099739B2 (en) System and method for accessing redundant array of independent disks
WO2021159608A1 (en) Protocol buffers-based mirror cache method
US11200210B2 (en) Method of efficient backup of distributed file system files with transparent data access
TWI769193B (en) Operating method of memory system
JP6788566B2 (en) Computing system and how it works
CN111177027A (en) Dynamic random access memory, memory management method, system and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16904560

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16904560

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP