WO2018083751A1 - Intelligent storage subsystem - Google Patents

Intelligent storage subsystem Download PDF

Info

Publication number
WO2018083751A1
WO2018083751A1 PCT/JP2016/082558 JP2016082558W WO2018083751A1 WO 2018083751 A1 WO2018083751 A1 WO 2018083751A1 JP 2016082558 W JP2016082558 W JP 2016082558W WO 2018083751 A1 WO2018083751 A1 WO 2018083751A1
Authority
WO
WIPO (PCT)
Prior art keywords
execution unit
relational database
data
read
column
Prior art date
Application number
PCT/JP2016/082558
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/082558 priority Critical patent/WO2018083751A1/en
Publication of WO2018083751A1 publication Critical patent/WO2018083751A1/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 relates to a storage subsystem that improves the performance of an RDBMS, and more particularly to a storage subsystem that improves performance by offloading database processing and converting from a row format to a column format.
  • RDBMS relational database system
  • RDBMS is characterized by storing data in a table format (table) consisting of rows (rows) and columns (columns).
  • RDBMS data configuration methods are broadly divided into row-oriented and column-oriented types.
  • the row-oriented type is a more general method and stores data in units of rows.
  • the efficiency of processing for reading and writing the entire row as in online transaction processing is high, but the efficiency is low in analysis processing for extracting only a small number of columns of data from a long row.
  • the column-oriented type has the opposite characteristics. For this reason, in many RDBMS, measures are taken such as adopting one of the data construction methods for narrowing the application, or reorganizing column-oriented data from row-oriented data and storing redundant data ( For example, Patent Document 1).
  • the former method has a problem in that performance in a poor application is deteriorated
  • the latter method has a problem of a time lag caused by data reorganization or an increase in storage requirement due to redundant data.
  • the present invention is a storage system that includes a DB offload processing execution unit and a storage device, and performs relational database read processing,
  • the DB offload processing execution unit converts the block read from the storage device into a format consisting only of the data in the relational database based on the received command including information on the relational database column, and transmits the converted block.
  • the invention of the present application is a storage system that includes a DB offload processing execution unit and a storage device, and performs a read process of a relational database,
  • a storage system in which the DB offload processing execution unit reads and transmits only blocks in a range specified by the index from the storage device based on the received command including information on the index of the relational database.
  • the present invention solves the above problem by providing the storage system according to Paragraph 0006 or Paragraph 0007, in which the transmission destination is a main memory of a graphic processing unit.
  • the invention of the present application is a device driver program that is executed on a host computer connected to a storage system that includes a DB offload processing execution unit and a storage device and performs a read process of a relational database, An instruction for transmitting a command including information on a column to be read in the relational database to the DB offload processing execution unit;
  • the above problem is solved by providing a device driver program including a command for receiving data converted into a column format based on information on the column to be read from the DB offload processing execution unit.
  • the invention of the present application is a device driver program that is executed on a host computer connected to a storage system that includes a DB offload processing execution unit and a storage device and performs a read process of a relational database, A command including information related to the index of the relational database, and a command for transmitting the command to the DB offload processing execution unit;
  • the above-mentioned problem is solved by providing a device driver program including an instruction for receiving, from the DB offload processing execution unit, data consisting only of blocks in the range specified by the index transmitted from the DB offload processing execution unit To do.
  • the present invention further includes a command for directly writing the received block to the main memory of the graphic processing unit.
  • the present invention also includes a DB offload processing execution unit and a storage device, and is a computer-implemented method for acquiring data from a storage system that performs a relational database read process, Sending a command including information about a column to be read of the relational database; Converting data read from the storage device into column format data based on information about the column to be read;
  • the above-mentioned problem is solved by providing a method including the step of transmitting the column format data.
  • the present invention also includes a DB offload processing execution unit and a storage device, and is a computer-implemented method for acquiring data from a storage system that performs a relational database read process, Sending a command including information about an index of the relational database; Reading only blocks in the range specified by the index; The above problem is solved by providing a method including the step of transmitting the read block.
  • the present invention further includes a step of directly writing the transmitted block into a main memory of a graphic processing unit.
  • the above problem is solved by providing the method described in paragraph 0012 or paragraph 0013.
  • RDBMS access can be accelerated without storing redundant data.
  • FIG. 1 shows the overall structure of a first embodiment of the storage subsystem according to the present invention.
  • the host computer (101) is a general computer server machine or a server machine dedicated to storage processing called NAS (Network-Attached Storage), and has an RDBMS (relational database management system) (102), driver software (103 ), An operating system (not shown), and an application program (not shown).
  • the driver software (103) may include a file system function.
  • a DMA buffer (105) is provided on the main memory (104) of the host computer (101) to temporarily store data used for storage input / output.
  • the storage subsystem (121) is typically a storage device using SSD (solid-state drive), and it is integrated with the host computer (101) even if it is independent of the host computer (101). It may be a device.
  • the storage subsystem (121) has a command / data transmission / reception unit (122), an SSD control unit (123), and a storage / read / write unit for controlling storage according to a command (command) transmitted by the driver software (103).
  • the database processing offload execution unit (124) is provided.
  • the DB processing offload execution unit (124) is a component of the SSD control unit (123), and performs optimization in the database access processing according to the present invention, thereby improving the efficiency of processing of the RDBMS (102).
  • the command / data transmission / reception unit (122), the SSD control unit (123), and the DB processing offload execution unit (124) may be realized by a dedicated processor that generally runs a program called microcode or firmware.
  • the DB processing offload execution unit (124) is preferably realized by dedicated hardware such as FPGA (Field Programmable Grid Array) to ensure the maximum speed.
  • the SSD storage block (125) is a means for storing data in units of blocks, and is not limited to SSD, but can use any random access nonvolatile memory technology such as flash memory or DRAM with power backup. May be used. Further, it may be a conventional HDD (Hard Disk Disk Drive).
  • the host computer (101) and the storage subsystem (121) may be connected via a storage network such as Fiber Channel or Gigabit Ethernet (Ethernet is a registered trademark), but the host computer (101) and the storage subsystem ( 121) are preferably connected in the high-speed I / O bus (130) in the case.
  • a storage network such as Fiber Channel or Gigabit Ethernet (Ethernet is a registered trademark)
  • the host computer (101) and the storage subsystem ( 121) are preferably connected in the high-speed I / O bus (130) in the case.
  • FIG. 2 shows the flow of data and commands in the first embodiment of the storage subsystem according to the present invention.
  • the driver software (103) converts the database access request of the RDBMS (102) into a command for accessing the SSD storage block (125), and the command / data transmission / reception unit (122 ).
  • the SSD access command is extended from the standard specification, and includes information about which column the database access request of the RDBMS (102) targets (details will be described later).
  • the SSD control unit (123) reads the SSD storage block (125) based on the SSD access command passed from the command / data transmission / reception unit (122).
  • the read data is passed to the DB processing offload execution unit (124), and the DB processing offload execution unit (124) is required based on the database column information included in the SSD access command. Extract column information only.
  • the command / data transmission / reception unit (122) receives data consisting only of columns required for the RDBMS (102) from the DB processing offload execution unit (124), and transmits it to the driver software (203).
  • the driver software (103) places the data in the DMA buffer and completes the RDBMS (102) database access request (when the host computer (101) and the storage subsystem are connected via a high-speed I / O bus, This processing is preferably performed directly using the DMA mechanism without using the driver software (103).
  • RDBMS (102) database access requests often require only a small number of columns from very long rows of data. In such a case, it is inefficient to send the entire row data from the storage subsystem (121) to the host computer (101) via the high-speed I / O bus (130). As the processing speed of computers increases, the movement of data between subsystems is becoming a bottleneck for the entire process. This bottleneck can be eliminated by sending only the necessary columns.
  • FIG. 3 shows an example of a command (SSD extension command) transmitted from the driver software (103) to the command / data transmission / reception unit (122).
  • This command is preferably based on industry standard specifications such as NVME (Non-Volatile Memory Express).
  • NVME Non-Volatile Memory Express
  • the standard command only contains block information to be read and written, it does not contain information about database columns, but it is expanded to include information (metadata) about the columns to be read. Thus, conversion from the row format to the column format on the storage subsystem (121) side becomes possible.
  • the SSD control unit (123) that has received the extended command reads data from the SSD storage block (125) designated by the read source, and passes it to the DB processing offload execution unit (124).
  • the DB processing offload execution unit (124) expands each column included in the read block based on the column number to be requested included in the expanded SSD command and the specification of the table definition information (column The information is stored as metadata in the SSD storage block (125) instead of the command body, and pointer information (storage block number or the like) to the metadata may be included in the expanded SSD command). Note that this processing is independent for each block and can be easily parallelized, so that the benefits of parallel hardware can be easily received. Further, the DB processing offload execution unit (124) converts the data into a column format and places the data in the DMA buffer (105) via the command / data transmission / reception unit (122).
  • FIG. 4 illustrates the above example.
  • FIG. 4 is equivalent to FIG. 1 although illustration of some elements is omitted for simplification.
  • SQL_SCAN defined as an extended SSD command is transmitted from the host computer (101) to the storage subsystem (121).
  • This extended SSD command is the same as the command for a normal SSD.
  • the column information to be read in this example, column information called col_x and col_z.
  • the SSD control unit (123) reads the blocks specified in the extended SSD command (in this example, block 5, block 6, and block 7) from the SSD storage block (121), and the DB processing offload execution unit (124) To pass.
  • the DB processing offload execution unit (124) (implemented by hardware in this example) extracts only the data related to col_x and col_z from the read block based on the column information specified in the extended SSD command, Convert to format data (array). This column format data is written back to the DMA buffer (105) of the host computer (101).
  • FIG. 5 shows a second embodiment of the present invention.
  • the block read according to the specification of the extended SSD command is converted into the column format by the DB processing offload execution unit (124), which is the same as in the first embodiment.
  • the DB processing offload execution unit (124) which is the same as in the first embodiment.
  • the GPU internal memory (502) which is a component of the GPU (Graphic Processing Unit) (501) provided in the host computer (101). Transfer data directly to the DMA buffer (105) in the above GPU (in this example, the host computer (101) and storage subsystem (121) are connected via an I / O bus, not a storage network) ).
  • the GPU (501) can be used not only as a graphic-related process but also as a general-purpose parallel processing processor.
  • Data parallel processing can be executed more efficiently. For example, data subjected to parallel processing such as sorting by the GPU (501) is transferred to the DMA buffer (105) on the main memory (104), and the database access processing by the RDBMS (102) is completed.
  • the third embodiment of the present invention will be described below.
  • This embodiment is characterized in that the DB processing offload execution unit (124) performs index processing in addition to the conversion from the row format to the column format in the first embodiment and the second embodiment. .
  • the DB processing offload execution unit (124) determines blocks that do not match the search conditions based on the index information, and does not send those blocks to the host computer (101), thereby reducing the amount of transferred data and processing efficiency. To improve.
  • BRIN Block-Range INdex
  • BRIN is a type of index that bundles a plurality of data blocks and holds the maximum value / minimum value as a summary.
  • Fig. 6 shows an example of BRIN. For example, if it is determined by BRIN set in a certain column (for example, Col_X) that the minimum value of the column is 100 and the maximum value is 654 in all records included in block 0 to block 2, col_X ⁇ It can be seen that there is no need to read block 2 from block 0 and send it to the host computer (101) for a query with 1000 as a search condition.
  • FIG. 7 shows an example of an extended SSD command used in the third embodiment of the present invention.
  • the block number including the index, the number of blocks, the number of the column in which the index (search key) is set, and the minimum value and maximum value of the value are included. included.
  • These values can be set by the driver software (103) based on information obtained from the RDBMS (102).
  • the SSD control unit (123) reads data corresponding to the index from the block including the index itself and passes it to the DB processing offload execution unit (124).
  • the DB processing offload execution unit (124) specifies whether or not the block specified as the reading target is included in the block range that matches the search condition.
  • the DB processing offload execution unit (124) instructs the SSD control unit (123) to read blocks other than block 2 and block 5.
  • the subsequent processing as in the first embodiment, it is desirable to read only the blocks corresponding to the necessary columns, convert them to the column format, and return them to the host computer (101).
  • the data composed of the read blocks may be directly written to the DMA buffer on the GPU main memory via the DMA.
  • the index processing is also a routine processing, it is desirable to increase the hardware speed by means such as FPGA.

Abstract

[Problem] To provide a storage subsystem of an SSD base with which it is possible to efficiently process access to an RDBMS in line format or column format, while minimizing storage of duplicate data. [Solution] An SSD command transmitted to a storage subsystem is expanded and information pertaining to a RDBMS column is included. On the basis of the column information, conversion from a line format to a column format is dynamically executed on the storage subsystem side. In addition, unnecessary blocks are not read on the basis of the index, whereby further efficiency is achieved.

Description

インテリジェント・ストレージ・サブシステムIntelligent storage subsystem
本願発明は、RDBMSの性能向上を実現するストレージサブシステム、より詳細には、データベース処理をオフロードし、行形式から列形式への変換を行なうことで性能を向上するストレージサブシステムに関する。 The present invention relates to a storage subsystem that improves the performance of an RDBMS, and more particularly to a storage subsystem that improves performance by offloading database processing and converting from a row format to a column format.
RDBMS(リレーショナル・データベース・システム、関係データベース・システム)が今日の情報通信技術分野における一般的技術となっている。ほとんどの情報システムにおいてはRDBMS関連処理が処理全体の大きな割合を占めるため、その効率性を向上することがシステム全体の性能向上に結びつき、大きな価値を提供する。 RDBMS (relational database system) has become a common technology in today's information and communication technology field. In most information systems, RDBMS-related processing accounts for a large proportion of the total processing, so improving the efficiency leads to improvement in the performance of the entire system, and provides great value.
RDBMSは行(ロー)と列(カラム)から成る表形式(テーブル)でデータを保存する点に特徴がある。RDBMSのデータの構成方法は大きく行指向型と列指向型に分かれる。行指向型はより一般的な方法であり、行を単位にデータを保存する。オンライントランザクション処理等におけるような行全体を読み書きする処理の効率性は高いが、長い行から少数の列のデータのみを抽出するような分析処理等では効率性が低い。列指向型はそれと逆の特性を持つ。そのため、多くのRDBMSでは、用途を絞ってどちらか一方のデータ構成方法を採用する、または、行指向データから列指向データを再編し、冗長なデータを保存するなどの対策が行なわれている(たとえば特許文献1)。しかし、前者の方法では、不得意な用途での性能が悪化する、後者の方法ではデータ再編により生じるタイムラグ、または、冗長データによるストレージ所要量の増加という問題点があった。 RDBMS is characterized by storing data in a table format (table) consisting of rows (rows) and columns (columns). RDBMS data configuration methods are broadly divided into row-oriented and column-oriented types. The row-oriented type is a more general method and stores data in units of rows. The efficiency of processing for reading and writing the entire row as in online transaction processing is high, but the efficiency is low in analysis processing for extracting only a small number of columns of data from a long row. The column-oriented type has the opposite characteristics. For this reason, in many RDBMS, measures are taken such as adopting one of the data construction methods for narrowing the application, or reorganizing column-oriented data from row-oriented data and storing redundant data ( For example, Patent Document 1). However, the former method has a problem in that performance in a poor application is deteriorated, and the latter method has a problem of a time lag caused by data reorganization or an increase in storage requirement due to redundant data.
特許公開公報 特表2010-539616Patent Publication Gazette Special Table 2010-539616
冗長なデータを保存することなくRDBMSのアクセスを高速化できるストレージサブシステムを提供する。 To provide a storage subsystem that can speed up RDBMS access without storing redundant data.
本願発明は、DBオフロード処理実行部とストレージ装置とを含み、リレーショナルデータベースの読取り処理を行なう、ストレージシステムであって、
前記DBオフロード処理実行部が、受信した前記リレーショナルデータベースの列に関する情報を含むコマンドに基づいて、前記ストレージ装置から読み出したブロックを前記リレーショナルデータベースの列のデータのみから成る形式に変換して送信する
ストレージシステムを提供することで上記課題を解決する。
The present invention is a storage system that includes a DB offload processing execution unit and a storage device, and performs relational database read processing,
The DB offload processing execution unit converts the block read from the storage device into a format consisting only of the data in the relational database based on the received command including information on the relational database column, and transmits the converted block. The above problem is solved by providing a storage system.
また、本願発明は、DBオフロード処理実行部とストレージ装置とを含み、リレーショナルデータベースの読取り処理を行なう、ストレージシステムであって、
前記DBオフロード処理実行部が、受信した前記リレーショナルデータベースのインデックスに関する情報を含むコマンドに基づいて、前記インデックスに指定された範囲のブロックのみを前記ストレージ装置から読み出して送信する
ストレージシステムを提供することで上記課題を解決する。
The invention of the present application is a storage system that includes a DB offload processing execution unit and a storage device, and performs a read process of a relational database,
Provided is a storage system in which the DB offload processing execution unit reads and transmits only blocks in a range specified by the index from the storage device based on the received command including information on the index of the relational database. To solve the above problem.
また、本願発明は、前記送信先はグラフィック・プロセッシング・ユニットのメインメモリーである段落0006または段落0007に記載のストレージシステムを提供することで上記課題を解決する。 The present invention solves the above problem by providing the storage system according to Paragraph 0006 or Paragraph 0007, in which the transmission destination is a main memory of a graphic processing unit.
また、本願発明は、DBオフロード処理実行部とストレージ装置とを含み、リレーショナルデータベースの読取り処理を行なうストレージシステムに接続されたホストコンピューター上で実行されるデバイスドライバープログラムであって、
前記リレーショナルデータベースの読取り対象の列に関する情報を含むコマンドを前記DBオフロード処理実行部に送信する命令と、
DBオフロード処理実行部から前記読取り対象の列に関する情報に基づいて列形式に変換されたデータを受信する命令とを含む
デバイスドライバープログラムを提供することで上記課題を解決する。
The invention of the present application is a device driver program that is executed on a host computer connected to a storage system that includes a DB offload processing execution unit and a storage device and performs a read process of a relational database,
An instruction for transmitting a command including information on a column to be read in the relational database to the DB offload processing execution unit;
The above problem is solved by providing a device driver program including a command for receiving data converted into a column format based on information on the column to be read from the DB offload processing execution unit.
また、本願発明は、DBオフロード処理実行部とストレージ装置とを含み、リレーショナルデータベースの読取り処理を行なうストレージシステムに接続されたホストコンピューター上で実行されるデバイスドライバープログラムであって、
前記リレーショナルデータベースのインデックスに関する情報を含むコマンドを、前記DBオフロード処理実行部に送信する命令と、
DBオフロード処理実行部から送信された前記インデックスで指定された範囲のブロックのみから成るデータを前記DBオフロード処理実行部から受信する命令とを含む
デバイスドライバープログラムを提供することで上記課題を解決する。
The invention of the present application is a device driver program that is executed on a host computer connected to a storage system that includes a DB offload processing execution unit and a storage device and performs a read process of a relational database,
A command including information related to the index of the relational database, and a command for transmitting the command to the DB offload processing execution unit;
The above-mentioned problem is solved by providing a device driver program including an instruction for receiving, from the DB offload processing execution unit, data consisting only of blocks in the range specified by the index transmitted from the DB offload processing execution unit To do.
また、本願発明は、前記受信したブロックを、グラフィック・プロセッシング・ユニットのメインメモリーに直接書き込む命令をさらに含む、
段落0009または段落0010に記載のストレージシステムを提供することで上記課題を解決する。
The present invention further includes a command for directly writing the received block to the main memory of the graphic processing unit.
The above problem is solved by providing the storage system according to paragraph 0009 or paragraph 0010.
また、本願発明は、DBオフロード処理実行部とストレージ装置とを含み、リレーショナルデータベースの読取り処理を行なうストレージシステムからデータを取得する、コンピューターで実行される方法であって、
前記リレーショナルデータベースの読取り対象の列に関する情報を含むコマンドを送信するステップと、
前記読取り対象の列に関する情報に基づいて前記ストレージ装置から読み出したデータを列形式データに変換するステップと、
前記列形式データを送信するステップとを含む方法を提供することで上記課題を解決する。
The present invention also includes a DB offload processing execution unit and a storage device, and is a computer-implemented method for acquiring data from a storage system that performs a relational database read process,
Sending a command including information about a column to be read of the relational database;
Converting data read from the storage device into column format data based on information about the column to be read;
The above-mentioned problem is solved by providing a method including the step of transmitting the column format data.
また、本願発明は、DBオフロード処理実行部とストレージ装置とを含み、リレーショナルデータベースの読取り処理を行なうストレージシステムからデータを取得する、コンピューターで実行される方法であって、
前記リレーショナルデータベースのインデックスに関する情報を含むコマンドを送信するステップと、
前記インデックスで指定された範囲のブロックのみを読み取るステップと、
前記読み取られたブロックを送信するステップとを含む方法を提供することで上記課題を解決する。
The present invention also includes a DB offload processing execution unit and a storage device, and is a computer-implemented method for acquiring data from a storage system that performs a relational database read process,
Sending a command including information about an index of the relational database;
Reading only blocks in the range specified by the index;
The above problem is solved by providing a method including the step of transmitting the read block.
また、本願発明は、前記送信されたブロックを、グラフィック・プロセッシング・ユニットのメインメモリーに直接書き込むステップとをさらに含む、
段落0012または段落0013に記載の方法を提供することで上記課題を解決する。
The present invention further includes a step of directly writing the transmitted block into a main memory of a graphic processing unit.
The above problem is solved by providing the method described in paragraph 0012 or paragraph 0013.
冗長なデータを保存することなくRDBMSのアクセスを高速化できる。 RDBMS access can be accelerated without storing redundant data.
本願発明に係るストレージサブシステムの第一の実施例の全体構造を表わす図である。It is a figure showing the whole structure of the 1st Example of the storage subsystem which concerns on this invention. 本願発明に係るストレージサブシステムの第一の実施例のデータおよびコマンドの流れの概略を表わす図である。It is a figure showing the outline of the flow of the data of the 1st Example of the storage subsystem which concerns on this invention, and a command. 本願発明に係るストレージサブシステムの第一の実施例で使用される拡張SSDコマンドの例を表わす図である。It is a figure showing the example of the extended SSD command used in the 1st Example of the storage subsystem which concerns on this invention. 本願発明に係るストレージサブシステムの第一の実施例における処理の流れの詳細を表わす図である。It is a figure showing the detail of the flow of a process in the 1st Example of the storage subsystem which concerns on this invention. 本願発明に係るストレージサブシステムの第二の実施例のデータおよびコマンドの流れを表わす図である。It is a figure showing the flow of the data of the 2nd Example of the storage subsystem concerning this invention, and a command flow. 本願発明に係るストレージサブシステムの第三の実施例に関連するインデックスを説明するための図である。It is a figure for demonstrating the index relevant to the 3rd Example of the storage subsystem which concerns on this invention. 本願発明に係るストレージサブシステムの第三の実施例で使用される拡張SSDコマンドの例を表わす図である。It is a figure showing the example of the extended SSD command used in the 3rd Example of the storage subsystem which concerns on this invention.
以下に図を参照しながら本願発明の実施例について説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1に本願発明に係るストレージサブシステムの第一の実施例の全体構造を示す。ホストコンピューター(101)は一般的なコンピューター・サーバ機、あるいは、NAS(Network-Attached Storage)と呼ばれるストレージ処理専用のサーバ機等であり、RDBMS(リレーショナルデータベース管理システム)(102)、ドライバーソフトウェア(103)、オペレーティング・システム(図示していない)および、アプリケーション・プログラム(図示していない)等のプログラムを稼働する。ドライバーソフトウェア(103)にはファイルシステムの機能が含まれていてもよい。ホストコンピューター(101)のメインメモリー(104)上にはDMAバッファ(105)が設けられ、ストレージ入出力に使用されるデータが一時的に保存される。 FIG. 1 shows the overall structure of a first embodiment of the storage subsystem according to the present invention. The host computer (101) is a general computer server machine or a server machine dedicated to storage processing called NAS (Network-Attached Storage), and has an RDBMS (relational database management system) (102), driver software (103 ), An operating system (not shown), and an application program (not shown). The driver software (103) may include a file system function. A DMA buffer (105) is provided on the main memory (104) of the host computer (101) to temporarily store data used for storage input / output.
ストレージ・サブシステム(121)は、典型的にはSSD(ソリッドステート・ドライブ)を使用したストレージ機器であり、ホストコンピューター(101)とは独立した機器であっても、ホストコンピューター(101)と一体となった機器であってもよい。ストレージ・サブシステム(121)はドライバーソフトウェア(103)が送信する指令(コマンド)に応じてストレージの読み書きや制御を行なうための、コマンド/データ送受信部(122)、SSD制御部(123)、および、DB処理オフロード実行部(124)を備える。DB処理オフロード実行部(124)はSSD制御部(123)の一構成要素であり、本願発明に係るデータベース・アクセス処理における最適化を行ない、RDBMS(102)の処理の効率性を向上する。コマンド/データ送受信部(122)、SSD制御部(123)、および、DB処理オフロード実行部(124)は一般にマイクロコードまたはファームウェアと呼ばれるプログラムを稼働する専用プロセッサにより実現してもよいが、特にDB処理オフロード実行部(124)はFPGA(Field Programmable Grid Array)などの専用ハードウェアで実現し、最大限の高速性を確保することが好ましい。SSD記憶ブロック(125)は、データをブロック単位で保存するための手段であり、SSDに限定されず、フラッシュメモリー、あるいは、電源バックアップを伴うDRAM等の任意のランダムアクセス型の不揮発性メモリテクノロジーを使用してよい。また、従来型のHDD(Hard Disk Drive)であってもよい。ホストコンピューター(101)とストレージ・サブシステム(121)はファイバーチャネルやギガビットイーサネット(イーサネットは登録商標)等のストレージ・ネットワーク経由で接続されてもよいが、ホストコンピューター(101)とストレージ・サブシステム(121)が同一筐体内にある場合等には、筐体内の高速I/Oバス(130)で接続されることが好ましい。 The storage subsystem (121) is typically a storage device using SSD (solid-state drive), and it is integrated with the host computer (101) even if it is independent of the host computer (101). It may be a device. The storage subsystem (121) has a command / data transmission / reception unit (122), an SSD control unit (123), and a storage / read / write unit for controlling storage according to a command (command) transmitted by the driver software (103). The database processing offload execution unit (124) is provided. The DB processing offload execution unit (124) is a component of the SSD control unit (123), and performs optimization in the database access processing according to the present invention, thereby improving the efficiency of processing of the RDBMS (102). The command / data transmission / reception unit (122), the SSD control unit (123), and the DB processing offload execution unit (124) may be realized by a dedicated processor that generally runs a program called microcode or firmware. The DB processing offload execution unit (124) is preferably realized by dedicated hardware such as FPGA (Field Programmable Grid Array) to ensure the maximum speed. The SSD storage block (125) is a means for storing data in units of blocks, and is not limited to SSD, but can use any random access nonvolatile memory technology such as flash memory or DRAM with power backup. May be used. Further, it may be a conventional HDD (Hard Disk Disk Drive). The host computer (101) and the storage subsystem (121) may be connected via a storage network such as Fiber Channel or Gigabit Ethernet (Ethernet is a registered trademark), but the host computer (101) and the storage subsystem ( 121) are preferably connected in the high-speed I / O bus (130) in the case.
図2に本願発明に係るストレージサブシステムの第一の実施例のデータおよびコマンドの流れを示す。(S201)RDBMS(102)のデータベース・アクセス要求をドライバーソフトウェア(103)が、SSD記憶ブロック(125)をアクセスするためのコマンドに変換し、ストレージサブシステム(121)のコマンド/データ送受信部(122)に送信する。ここで、SSDアクセス・コマンドは標準仕様から拡張されており、RDBMS(102)のデータベース・アクセス要求がどの列を対象にするかの情報が含まれる(詳細は後述する)。 FIG. 2 shows the flow of data and commands in the first embodiment of the storage subsystem according to the present invention. (S201) The driver software (103) converts the database access request of the RDBMS (102) into a command for accessing the SSD storage block (125), and the command / data transmission / reception unit (122 ). Here, the SSD access command is extended from the standard specification, and includes information about which column the database access request of the RDBMS (102) targets (details will be described later).
(S202)SSD制御部(123)は、コマンド/データ送受信部(122)から渡されたSSDアクセス・コマンドに基づき、SSD記憶ブロック(125)を読み取る。(S203)読み取られたデータは、DB処理オフロード実行部(124)に渡され、DB処理オフロード実行部(124)は、SSDアクセス・コマンドに含まれるデータベースの列情報に基づいて、必要な列の情報のみを抽出する。(S204)コマンド/データ送受信部(122)は、RDBMS(102)に必要とされる列のみから成るデータを、DB処理オフロード実行部(124)から受け取り、ドライバーソフトウェア(203)に送信する。ドライバーソフトウェア(103)は、DMAバッファにデータを置き、RDBMS(102)のデータベース・アクセス要求を完了する(ホストコンピューター(101)とストレージサブシステムが高速I/Oバスで接続されている時は、この処理はドライバーソフトウェア(103)を介すことなく、直接DMAの仕組みを使用して行なうことが望ましい。 (S202) The SSD control unit (123) reads the SSD storage block (125) based on the SSD access command passed from the command / data transmission / reception unit (122). (S203) The read data is passed to the DB processing offload execution unit (124), and the DB processing offload execution unit (124) is required based on the database column information included in the SSD access command. Extract column information only. (S204) The command / data transmission / reception unit (122) receives data consisting only of columns required for the RDBMS (102) from the DB processing offload execution unit (124), and transmits it to the driver software (203). The driver software (103) places the data in the DMA buffer and completes the RDBMS (102) database access request (when the host computer (101) and the storage subsystem are connected via a high-speed I / O bus, This processing is preferably performed directly using the DMA mechanism without using the driver software (103).
特に分析系のアプリケーションでは、RDBMS(102)のデータベース・アクセス要求が、きわめて長い行のデータから少数の列だけを求めることが多い。このような場合に、高速I/Oバス(130)を介して、ストレージ・サブシステム(121)からホストコンピューター(101)に行データ全体を送ることは非効率的である。コンピューターの処理速度が増大するにしたがい、サブシステム間のデータの移動が処理全体のボトルネックとなることが多くなっている。必要な列のみを送ることでこのボトルネックを解消できる。 Especially in analytical applications, RDBMS (102) database access requests often require only a small number of columns from very long rows of data. In such a case, it is inefficient to send the entire row data from the storage subsystem (121) to the host computer (101) via the high-speed I / O bus (130). As the processing speed of computers increases, the movement of data between subsystems is becoming a bottleneck for the entire process. This bottleneck can be eliminated by sending only the necessary columns.
図3にドライバー・ソフトウェア(103)がコマンド/データ送受信部(122)に送信するコマンド(SSD拡張コマンド)の例を示す。このコマンドはNVME(Non-Volatile Memory Express)などの業界標準の仕様に基づき、それを拡張するものであることが望ましい。標準的なコマンドでは読み書き対象となるブロック情報が含まれているだけであり、データベースの列に関する情報は含まれていないが、それを拡張し、読み出す対象となる列に関する情報(メタデータ)を含めることで、ストレージサブシステム(121)側での行形式から列形式への変換が可能となる。 FIG. 3 shows an example of a command (SSD extension command) transmitted from the driver software (103) to the command / data transmission / reception unit (122). This command is preferably based on industry standard specifications such as NVME (Non-Volatile Memory Express). The standard command only contains block information to be read and written, it does not contain information about database columns, but it is expanded to include information (metadata) about the columns to be read. Thus, conversion from the row format to the column format on the storage subsystem (121) side becomes possible.
前記拡張コマンドを受信したSSD制御部(123)は読み出し元で指定されたSSD記憶ブロック(125)からデータを読み出し、これをDB処理オフロード実行部(124)に渡す。次に、DB処理オフロード実行部(124)は、拡張されたSSDコマンドに含まれる要求する列番号とテーブル定義情報の指定に基づいて、読み出したブロックに含まれる個々の列を展開する(列情報はコマンド本体ではなくSSD記憶ブロック(125)にメタデータとして保存され、拡張されたSSDコマンドにそのメタデータへのポインター情報(保存ブロック番号等)を含める構成でもよい)。なお、この処理はブロックごとに独立したものであり、容易に並列化可能なので、並列ハードウェアの恩恵を容易に受けることができる。さらに、DB処理オフロード実行部(124)は、列形式へとデータを変換し、コマンド/データ送受信部(122)を介してDMAバッファ(105)にデータを置く。 The SSD control unit (123) that has received the extended command reads data from the SSD storage block (125) designated by the read source, and passes it to the DB processing offload execution unit (124). Next, the DB processing offload execution unit (124) expands each column included in the read block based on the column number to be requested included in the expanded SSD command and the specification of the table definition information (column The information is stored as metadata in the SSD storage block (125) instead of the command body, and pointer information (storage block number or the like) to the metadata may be included in the expanded SSD command). Note that this processing is independent for each block and can be easily parallelized, so that the benefits of parallel hardware can be easily received. Further, the DB processing offload execution unit (124) converts the data into a column format and places the data in the DMA buffer (105) via the command / data transmission / reception unit (122).
図4に上記の例を図示する。図4は簡略化のために一部要素の図示を省略しているが、図1と同等である。拡張SSDコマンドとして定義されたSQL_SCANが、ホストコンピューター(101)からストレージサブシステム(121)に送信される。この拡張SSDコマンドは通常のSSDに対するコマンドと同様の読取り対象のブロック番号、ブロック数、結果を書き戻すDMAバッファ(105)のアドレスとサイズに加えて、読取り対象の列の情報(この例では、col_xとcol_zという列の情報)が含まれる。SSD制御部(123)は、SSD記憶ブロック(121)から拡張SSDコマンドに指定されたブロック(この例ではブロック5、ブロック6、および、ブロック7)を読み出し、DB処理オフロード実行部(124)に渡す。DB処理オフロード実行部(124)(この例ではハードウェアにより実装されている)は、拡張SSDコマンドに指定された列情報に基づき、読み出したブロックからcol_xとcol_zに関するデータのみを抽出し、列形式データ(配列)に変換する。この列形式データは、ホストコンピューター(101)のDMAバッファ(105)に書き戻される。 FIG. 4 illustrates the above example. FIG. 4 is equivalent to FIG. 1 although illustration of some elements is omitted for simplification. SQL_SCAN defined as an extended SSD command is transmitted from the host computer (101) to the storage subsystem (121). This extended SSD command is the same as the command for a normal SSD. In addition to the block number to be read, the number of blocks, the address and size of the DMA buffer (105) to which the result is written back, the column information to be read (in this example, column information called col_x and col_z). The SSD control unit (123) reads the blocks specified in the extended SSD command (in this example, block 5, block 6, and block 7) from the SSD storage block (121), and the DB processing offload execution unit (124) To pass. The DB processing offload execution unit (124) (implemented by hardware in this example) extracts only the data related to col_x and col_z from the read block based on the column information specified in the extended SSD command, Convert to format data (array). This column format data is written back to the DMA buffer (105) of the host computer (101).
図5に本願発明の第二の実施例を示す。拡張SSDコマンドの指定に従って読み出されたブロックがDB処理オフロード実行部(124)によって列形式に変換される点は第一の実施例と同等である。第二の実施例では、ホストコンピューター(101)のメインメモリー(104)ではなく、ホストコンピューター(101)に設けられたGPU(Graphic Processing Unit)(501)の構成要素であるGPU内メモリー(502)上のGPU内DMAバッファ(105)に直接的にデータ転送を行なう(この例ではストレージ・ネットワークではなく、I/Oバスでホストコンピューター(101)とストレージサブシステム(121)が接続されていることを前提としている)。一般に、GPU(501)は、グラフィック関連処理のみならず、汎用の並列演算処理プロセッサとして利用することが可能であり、予めデータを列形式で規則的に整列しておくことで余分な処理なしにデータの並列処理をいっそう効率的に実行できる。GPU(501)で、たとえば、ソートなどの並列処理をされたデータはメインメモリー(104)上のDMAバッファー(105)に転送され、RDBMS(102)によるデータベース・アクセス処理が完了する。 FIG. 5 shows a second embodiment of the present invention. The block read according to the specification of the extended SSD command is converted into the column format by the DB processing offload execution unit (124), which is the same as in the first embodiment. In the second embodiment, not the main memory (104) of the host computer (101) but the GPU internal memory (502) which is a component of the GPU (Graphic Processing Unit) (501) provided in the host computer (101). Transfer data directly to the DMA buffer (105) in the above GPU (in this example, the host computer (101) and storage subsystem (121) are connected via an I / O bus, not a storage network) ). In general, the GPU (501) can be used not only as a graphic-related process but also as a general-purpose parallel processing processor. By arranging data in a regular sequence in advance, there is no extra processing. Data parallel processing can be executed more efficiently. For example, data subjected to parallel processing such as sorting by the GPU (501) is transferred to the DMA buffer (105) on the main memory (104), and the database access processing by the RDBMS (102) is completed.
以下に、本願発明の第三の実施例について説明する。本実施例では、第一の実施例、および、第二の実施例における行形式から列形式への変換に加えて、インデックス処理をDB処理オフロード実行部(124)が行なう点に特徴がある。DB処理オフロード実行部(124)は、インデックス情報に基づいて検索条件にマッチしないブロックを判別し、それらのブロックをホストコンピューター(101)に送信しないことで、転送データ量を削減し、処理効率を向上する。 The third embodiment of the present invention will be described below. This embodiment is characterized in that the DB processing offload execution unit (124) performs index processing in addition to the conversion from the row format to the column format in the first embodiment and the second embodiment. . The DB processing offload execution unit (124) determines blocks that do not match the search conditions based on the index information, and does not send those blocks to the host computer (101), thereby reducing the amount of transferred data and processing efficiency. To improve.
この例では普及しているオープンソースRDBMSであるPostgreSQLの一機能であるBRIN(Block-Range INdex)と呼ばれるインデックスを使用した処理効率化手法を示す。BRINは、複数のデータブロックを束ねて、その最大値/最小値をサマリとして保持するタイプのインデックスである。図6にBRINの例を示す。たとえば、ある列(たとえば、Col_X)に設定されたBRINによりブロック0からブロック2に含まれるすべてのレコードにおいてその列の最小値が100、最大値が654であったことが判明すれば、col_X≧1000を検索条件としたクエリーに対しては、ブロック0からブロック2を読み込んでホストコンピューター(101)に送る必要性はないことがわかる。 This example shows a processing efficiency improvement method using an index called BRIN (Block-Range INdex), which is a function of PostgreSQL, a popular open source RDBMS. BRIN is a type of index that bundles a plurality of data blocks and holds the maximum value / minimum value as a summary. Fig. 6 shows an example of BRIN. For example, if it is determined by BRIN set in a certain column (for example, Col_X) that the minimum value of the column is 100 and the maximum value is 654 in all records included in block 0 to block 2, col_X ≧ It can be seen that there is no need to read block 2 from block 0 and send it to the host computer (101) for a query with 1000 as a search condition.
図7に本願発明の第三の実施例で使用される拡張SSDコマンドの例を示す。本実施例で使用される拡張SSDコマンドには、インデックスを含むブロック番号とブロック数、および、そのインデックス(検索キー)が設定された列の番号と、そして、その値の最小値と最大値が含まれる。これらの値はRDBMS(102)から得た情報に基づいてドライバーソフトウェア(103)が設定することができる。まず、SSD制御部(123)は拡張SSDコマンドの内容に基づき、インデックス自身を含むブロックからインデックスに相当するデータを読み取り、DB処理オフロード実行部(124)に渡す。次に、DB処理オフロード実行部(124)が、読み取り対象として指定されたブロックが検索条件に合致するブロックレンジに含まれるかどうかを特定する。図6のインデックスに対して、検索キーとして最小値が600であることが指定されているとすると、ブロック2とブロック5を読み取る必要はないことがわかる。次に、DB処理オフロード実行部(124)はブロック2とブロック5以外のブロックを読み取るようSSD制御部(123)に命じる。以降の処理では第一の実施例と同様に必要な列に相当するブロックのみを読み取り、列形式に変換した後にホストコンピューター(101)に戻すことが望ましい。また、第二の実施例に示したようにホストコンピューター(101)のメインメモリーではなく、GPUのメインメモリー上のDMAバッファに読み取ったブロックから成るデータをDMA経由で直接書き込むようにしてもよい。また、インデックスの処理も定型的処理であるため、FPGA等の手段によりハードウェア化し、高速化することが望ましい。 FIG. 7 shows an example of an extended SSD command used in the third embodiment of the present invention. In the extended SSD command used in the present embodiment, the block number including the index, the number of blocks, the number of the column in which the index (search key) is set, and the minimum value and maximum value of the value are included. included. These values can be set by the driver software (103) based on information obtained from the RDBMS (102). First, based on the contents of the extended SSD command, the SSD control unit (123) reads data corresponding to the index from the block including the index itself and passes it to the DB processing offload execution unit (124). Next, the DB processing offload execution unit (124) specifies whether or not the block specified as the reading target is included in the block range that matches the search condition. If it is specified that the minimum value is 600 as a search key for the index of FIG. 6, it is understood that it is not necessary to read block 2 and block 5. Next, the DB processing offload execution unit (124) instructs the SSD control unit (123) to read blocks other than block 2 and block 5. In the subsequent processing, as in the first embodiment, it is desirable to read only the blocks corresponding to the necessary columns, convert them to the column format, and return them to the host computer (101). Further, as shown in the second embodiment, instead of the main memory of the host computer (101), the data composed of the read blocks may be directly written to the DMA buffer on the GPU main memory via the DMA. In addition, since the index processing is also a routine processing, it is desirable to increase the hardware speed by means such as FPGA.
(本願発明の技術的に顕著な効果)
本願発明が提供する技術的に顕著な効果について再度まとめる。第一に、従来は書き込み中心/読み出し中心というワークロード特性に応じてデータベースシステムの使用するデータ形式を使い分けていたところ、本願発明により、データの一元管理、すなわち、重複データの維持が不要になる。第二に、本願発明によりホストコンピューターとストレージサブシステム間のデータ転送量を削減し、貴重なリソースであるI/Oバスやストレージ・ネットワークの帯域幅を効率的に活用できるようになる。第三に、書き込み中心型のトランザクション処理では行形式データを使用しつつ、データウェアハウスなどの読取りが中心のワークロードでは列形式データを使用することで、GPUやベクトルプロセッサなどの今日的な並列プロセッサの能力を容易に引き出せるようになる。
(Technologically significant effect of the present invention)
The technically significant effects provided by the present invention will be summarized again. First, in the past, the data format used by the database system was selectively used according to the workload characteristics of write center / read center, but according to the present invention, unified management of data, that is, maintenance of duplicate data becomes unnecessary. . Second, the present invention reduces the amount of data transferred between the host computer and the storage subsystem, and makes it possible to efficiently use the bandwidth of the I / O bus and storage network, which are valuable resources. Third, write-centric transaction processing uses row-format data, while read-intensive workloads such as data warehouses use column-format data to provide modern parallelism such as GPUs and vector processors. It becomes possible to easily draw out the capacity of the processor.

Claims (9)

  1. DBオフロード処理実行部とストレージ装置とを含み、リレーショナルデータベースの読取り処理を行なう、ストレージシステムであって、
    前記DBオフロード処理実行部が、受信した前記リレーショナルデータベースの列に関する情報を含むコマンドに基づいて、前記ストレージから読み出したブロックを前記リレーショナルデータベースの列のデータのみから成る形式に変換して送信する
    ストレージシステム。
    A storage system that includes a DB offload processing execution unit and a storage device, and performs a read process of a relational database,
    Storage in which the DB offload processing execution unit converts the block read from the storage into a format consisting only of the data of the relational database based on the received command including information on the relational database column and transmits the storage system.
  2. DBオフロード処理実行部とストレージ装置とを含み、リレーショナルデータベースの読取り処理を行なう、ストレージシステムであって、
    前記DBオフロード処理実行部が、受信した前記リレーショナルデータベースのインデックスに関する情報を含むコマンドに基づいて、前記インデックスに指定された範囲のブロックのみを前記ストレージから読み出して送信する
    ストレージシステム。
    A storage system that includes a DB offload processing execution unit and a storage device, and performs a read process of a relational database,
    The storage system in which the DB offload processing execution unit reads and transmits only the blocks in the range specified by the index based on the received command including information on the index of the relational database.
  3. 前記送信先はグラフィック・プロセッシング・ユニットのメインメモリーである請求項1または請求項2に記載のストレージシステム。 The storage system according to claim 1 or 2, wherein the transmission destination is a main memory of a graphic processing unit.
  4. DBオフロード処理実行部とストレージ装置とを含み、リレーショナルデータベースの読取り処理を行なうストレージシステムに接続されたホストコンピューター上で実行されるデバイスドライバープログラムであって、
    前記リレーショナルデータベースの読取り対象の列に関する情報を含むコマンドを前記DBオフロード処理実行部に送信する命令と、
    DBオフロード処理実行部から前記読取り対象の列に関する情報に基づいて列形式に変換されたデータを受信する命令とを含む
    デバイスドライバープログラム。
    A device driver program that is executed on a host computer connected to a storage system that includes a DB offload processing execution unit and a storage device, and that reads a relational database;
    An instruction for transmitting a command including information on a column to be read in the relational database to the DB offload processing execution unit;
    A device driver program including an instruction for receiving data converted into a column format based on information on the column to be read from a DB offload processing execution unit.
  5. DBオフロード処理実行部とストレージ装置とを含み、リレーショナルデータベースの読取り処理を行なうストレージシステムに接続されたホストコンピューター上で実行されるデバイスドライバープログラムであって、
    前記リレーショナルデータベースのインデックスに関する情報を含むコマンドを、前記DBオフロード処理実行部に送信する命令と、
    DBオフロード処理実行部から前記インデックスで指定された範囲のブロックのみを前記DBオフロード処理実行部から受信する命令とを含む
    デバイスドライバープログラム。
    A device driver program that is executed on a host computer connected to a storage system that includes a DB offload processing execution unit and a storage device, and that reads a relational database;
    A command including information related to the index of the relational database, and a command for transmitting the command to the DB offload processing execution unit;
    A device driver program including an instruction for receiving, from the DB offload processing execution unit, only blocks in a range specified by the index from the DB offload processing execution unit.
  6. 前記受信したデータまたはブロックを、グラフィック・プロセッシング・ユニットのメインメモリーに直接書き込む命令をさらに含む、
    請求項4または請求項5に記載のストレージシステム。
    Further comprising an instruction to directly write the received data or block to the main memory of the graphics processing unit;
    The storage system according to claim 4 or 5.
  7. DBオフロード処理実行部とストレージ装置とを含み、リレーショナルデータベースの読取り処理を行なうストレージシステムからデータを取得する、コンピューターで実行される方法であって、
    前記リレーショナルデータベースの読取り対象の列に関する情報を含むコマンドを送信するステップと、
    前記読取り対象の列に関する情報に基づいて前記ストレージ装置から読み出したデータを列形式データに変換するステップと、
    前記列形式データを送信するステップとを含む方法。
    A computer-executed method for acquiring data from a storage system that includes a DB offload processing execution unit and a storage device and that performs a read process of a relational database,
    Sending a command including information about a column to be read of the relational database;
    Converting data read from the storage device into column format data based on information about the column to be read;
    Transmitting the column format data.
  8. DBオフロード処理実行部とストレージ装置とを含み、リレーショナルデータベースの読取り処理を行なうストレージシステムからデータを取得する方法であって、
    前記リレーショナルデータベースのインデックスに関する情報を含むコマンドを送信するステップと、
    前記インデックスで指定された範囲のブロックのみを読み取るステップと、
    前記読み取られたブロックを送信するステップとを含む方法。
    A method of acquiring data from a storage system that includes a DB offload processing execution unit and a storage device and performs a read process of a relational database,
    Sending a command including information about an index of the relational database;
    Reading only blocks in the range specified by the index;
    Transmitting the read block.
  9. 前記送信されたデータまたはブロックを、グラフィック・プロセッシング・ユニットのメインメモリーに直接書き込むステップとをさらに含む、
    請求項7または請求項8に記載の方法。
    Writing the transmitted data or block directly into the main memory of the graphics processing unit;
    9. A method according to claim 7 or claim 8.
PCT/JP2016/082558 2016-11-02 2016-11-02 Intelligent storage subsystem WO2018083751A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/082558 WO2018083751A1 (en) 2016-11-02 2016-11-02 Intelligent storage subsystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/082558 WO2018083751A1 (en) 2016-11-02 2016-11-02 Intelligent storage subsystem

Publications (1)

Publication Number Publication Date
WO2018083751A1 true WO2018083751A1 (en) 2018-05-11

Family

ID=62076835

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/082558 WO2018083751A1 (en) 2016-11-02 2016-11-02 Intelligent storage subsystem

Country Status (1)

Country Link
WO (1) WO2018083751A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015105043A1 (en) * 2014-01-08 2015-07-16 日本電気株式会社 Computing system, database management device and computing method
WO2015166540A1 (en) * 2014-04-28 2015-11-05 株式会社日立製作所 Storage apparatus, data-processing method therefor, and storage system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015105043A1 (en) * 2014-01-08 2015-07-16 日本電気株式会社 Computing system, database management device and computing method
WO2015166540A1 (en) * 2014-04-28 2015-11-05 株式会社日立製作所 Storage apparatus, data-processing method therefor, and storage system

Similar Documents

Publication Publication Date Title
US10176092B2 (en) System and method for executing data processing tasks using resilient distributed datasets (RDDs) in a storage device
US8819335B1 (en) System and method for executing map-reduce tasks in a storage device
TWI664541B (en) Methods and systems for autonomous memory searching
US20170286507A1 (en) Database search system and database search method
WO2015166540A1 (en) Storage apparatus, data-processing method therefor, and storage system
KR102610636B1 (en) Offload parallel compute to database accelerators
US10810174B2 (en) Database management system, database server, and database management method
US11042328B2 (en) Storage apparatus and method for autonomous space compaction
CN104765574A (en) Data cloud storage method
US10482087B2 (en) Storage system and method of operating the same
CN112346647A (en) Data storage method, device, equipment and medium
US11194522B2 (en) Networked shuffle storage
US11797506B2 (en) Database management systems for managing data with data confidence
CN104052824A (en) Distributed cache method and system
US10437478B1 (en) Replication based on a differential multiple write command
WO2018083751A1 (en) Intelligent storage subsystem
US10860577B2 (en) Search processing system and method for processing search requests involving data transfer amount unknown to host
US20180329756A1 (en) Distributed processing system, distributed processing method, and storage medium
WO2019008715A1 (en) Data loading program, data loading method, and data loading device
WO2016135874A1 (en) Computer and database management method
US20230297575A1 (en) Storage system and data cache method
US20190065559A1 (en) Computer system and database management method
US20240111743A1 (en) Efficient evaluation of queries across multiple columnar storage tiers
WO2016181640A1 (en) Calculation apparatus, method, and program

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

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP