JP6378497B2 - Information processing apparatus, information processing method, and program - Google Patents

Information processing apparatus, information processing method, and program Download PDF

Info

Publication number
JP6378497B2
JP6378497B2 JP2014036228A JP2014036228A JP6378497B2 JP 6378497 B2 JP6378497 B2 JP 6378497B2 JP 2014036228 A JP2014036228 A JP 2014036228A JP 2014036228 A JP2014036228 A JP 2014036228A JP 6378497 B2 JP6378497 B2 JP 6378497B2
Authority
JP
Japan
Prior art keywords
record
records
tenant
columns
column
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014036228A
Other languages
Japanese (ja)
Other versions
JP2015162039A (en
Inventor
樋口 清志
清志 樋口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Services International Dentsu Ltd
Original Assignee
Information Services International Dentsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Information Services International Dentsu Ltd filed Critical Information Services International Dentsu Ltd
Priority to JP2014036228A priority Critical patent/JP6378497B2/en
Publication of JP2015162039A publication Critical patent/JP2015162039A/en
Application granted granted Critical
Publication of JP6378497B2 publication Critical patent/JP6378497B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本件は、情報処理装置、情報処理方法、プログラム及びデータ構造に関する。   This case relates to an information processing apparatus, an information processing method, a program, and a data structure.

従来、1つのシステムのリソースを複数のユーザで共有することにより、コストの低減を図るマルチテナント型のアーキテクチャが提案されている。例えば、テナント用の情報処理装置から入力されたデータ内の各カラムに対してシリアライズ処理の対象であるか否かを判断し、シリアライズ処理の対象と判断された全てのカラムのデータをまとめてシリアライズ処理してデータスキーマのシリアル化カラム内のカラムに格納するという技術が提案されている(特許文献1)。この技術によれば、予め設定されたカラム数に制限されることがなくなる。また、シリアライズ処理されていないデータを格納するためのカラムから構成される機能フィールドに対しては、検索等のデータベースシステムが提供する機能を適用することができる。   Conventionally, there has been proposed a multi-tenant architecture that reduces costs by sharing the resources of one system among a plurality of users. For example, it is determined whether or not each column in the data input from the tenant information processing apparatus is a target of serialization processing, and data of all columns determined to be serialization processing is serialized together. A technique of processing and storing in a column in a serialized column of a data schema has been proposed (Patent Document 1). According to this technique, the number of columns is not limited to a preset number. In addition, a function provided by a database system such as a search can be applied to a function field including columns for storing data that has not been serialized.

国際公開第2011/111532号パンフレットInternational Publication No. 2011-111532 Pamphlet

上述した技術では、将来的に検索対象となる可能性のあるデータについて、予め「シリアライズ対象ではない」と判断して機能フィールドの適切なカラムに格納しておく必要がある。そして、シリアライズ対象か否かの判断は、アプリケーションの開発者によって行われるか、又はプログラムコード若しくは実行履歴の解析によって行われるとされている。しかしながら、設計ミスが生じる可能性があるとともに、将来的な仕様の変更を見越して設計を行うのは困難であるという問題があった。   In the above-described technique, data that may be a search target in the future needs to be determined in advance as “not a serialization target” and stored in an appropriate column of the function field. The determination as to whether or not to be serialized is made by an application developer or by analysis of program code or execution history. However, there is a problem that a design error may occur and it is difficult to design in anticipation of future specification changes.

そこで、本発明は、マルチテナントシステムで用いる汎用的なデータベースにおいて、カラム数の制約を排除するとともに、DBMS(DataBase Management System:データベース管理システム)が提供する機能の利用性を向上させることを目的とする。   Accordingly, the present invention aims to eliminate the restriction on the number of columns in a general-purpose database used in a multi-tenant system and improve the usability of functions provided by a DBMS (DataBase Management System). To do.

本発明の一側面に係る情報処理装置は、マルチテナントデータベースにおいて複数のテナントが共有する物理テーブルに対してデータ操作を行う。具体的には、テナント毎に定義される論理テーブルのカラムと物理テーブルのカラムとの対応付けをテナント毎に定義するマッピング情報に基づき、論理テーブルにおける第1のレコードを、物理テーブルにおける第2のレコード及び第3のレコードに分解し、当該第2のレコードと当該第3のレコードとの接続関係を示す情報を付与して登録する登録部と、マッピング情報及び接続関係を示す情報に基づき、第2のレコード及び第3のレコードを物理テーブルから読み出し、結合して出力する抽出部とを備える。   An information processing apparatus according to an aspect of the present invention performs data operations on a physical table shared by a plurality of tenants in a multi-tenant database. Specifically, based on the mapping information that defines the correspondence between the columns of the logical table defined for each tenant and the columns of the physical table for each tenant, the first record in the logical table is changed to the second record in the physical table. Based on a registration unit that disassembles a record and a third record and adds and registers information indicating a connection relationship between the second record and the third record, and mapping information and information indicating a connection relationship. An extraction unit that reads the second record and the third record from the physical table, and outputs the combined record.

このようにすれば、テナントが定義する論理テーブルのレコードを、複数のレコードに分解して物理テーブルに登録することができ、物理テーブルにおけるカラム数の制約を排除することができる。また、論理テーブルのカラムは、対応付けられている物理テーブルのカラムに登録されるため、DBMSが提供する検索等の機能は論理テーブルの各カラムに間接的に適用できる。すなわち、マルチテナントシステムで用いる汎用的なデータベースにおいて、カラム数の制約を排除するとともに、DBMSが提供する機能の利用性を向
上させることができるようになる。
In this way, the record of the logical table defined by the tenant can be decomposed into a plurality of records and registered in the physical table, and the restriction on the number of columns in the physical table can be eliminated. Further, since the columns of the logical table are registered in the columns of the associated physical table, functions such as search provided by the DBMS can be indirectly applied to each column of the logical table. That is, in the general-purpose database used in the multi-tenant system, it is possible to eliminate the restriction on the number of columns and improve the usability of the functions provided by the DBMS.

また、物理テーブルは、データ型の異なる複数のカラムを含むようにしてもよい。このようにすれば、DBMSが提供する機能の利用性をさらに向上させることができる。   The physical table may include a plurality of columns having different data types. In this way, the usability of functions provided by the DBMS can be further improved.

また、マッピング情報において論理テーブルにおける1つのレコードが物理テーブルにおける3以上のレコードと対応付けられている場合、登録部は、マッピング情報に基づき、論理テーブルにおける1つのレコードを、物理テーブルにおける3以上のレコードに分解し、当該3以上のレコードの接続関係を示す情報を付与して登録し、抽出部は、マッピング情報に基づき、3以上のレコードを物理テーブルから読み出し、結合して出力するようにしてもよい。このように、論理テーブルにおける1つのレコードを物理テーブルにおける3以上のレコードに分解して保持すれば、カラム数の制約はなくなる。   Further, when one record in the logical table is associated with three or more records in the physical table in the mapping information, the registration unit converts one record in the logical table into three or more records in the physical table based on the mapping information. Break down into records, add and register information indicating the connection relationship of the three or more records, and the extraction unit reads out the three or more records from the physical table based on the mapping information, and outputs them by combining them Also good. As described above, if one record in the logical table is divided into three or more records in the physical table and held, the restriction on the number of columns is eliminated.

また、情報処理装置は物理テーブルを複数備え、マッピング情報は、論理テーブルと複数の物理テーブルのいずれかとの対応付けをさらに定義するようにしてもよい。このように物理テーブルを分散させることにより、レコード数の増加にともなるレスポンスの悪化を抑制することができるようになる。   The information processing apparatus may include a plurality of physical tables, and the mapping information may further define a correspondence between the logical table and any of the plurality of physical tables. By distributing the physical table in this way, it becomes possible to suppress the deterioration of the response due to the increase in the number of records.

本発明の他の側面に係るデータ構造は、マルチテナントデータベースにおいて複数のテナントが共有する物理テーブルに適用される。具体的には、テナント毎に定義される論理テーブルのレコードを一意に特定するための情報を保持する1又は複数のカラムと、論理テーブルのレコードが、物理テーブルにおいて複数のレコードに分解して登録される場合における、当該複数のレコードの接続関係を示す情報を保持するカラムと、論理テーブルの複数のカラムに保持される値をそれぞれ独立に保持する複数のカラムとを含む。   The data structure according to another aspect of the present invention is applied to a physical table shared by a plurality of tenants in a multi-tenant database. Specifically, one or more columns that hold information for uniquely identifying the logical table record defined for each tenant, and the logical table record are divided into multiple records in the physical table and registered. In this case, a column that holds information indicating a connection relation of the plurality of records and a plurality of columns that hold values held in the plurality of columns of the logical table independently.

このようにすれば、テナントが定義する論理テーブルのレコードを、複数のレコードに分解して物理テーブルに登録することができ、物理テーブルにおけるカラム数の制約を排除することができる。また、論理テーブルの複数のカラムに登録保持される値をそれぞれ独立に保持する複数のカラムを含むため、DBMSが提供する検索等の機能は論理テーブルの各カラムに間接的に適用できる。すなわち、マルチテナントシステムで用いる汎用的なデータベースにおいて、カラム数の制約を排除するとともに、DBMSが提供する機能の利用性を向上させることができるようになる。   In this way, the record of the logical table defined by the tenant can be decomposed into a plurality of records and registered in the physical table, and the restriction on the number of columns in the physical table can be eliminated. In addition, since it includes a plurality of columns that independently hold values registered and held in a plurality of columns of the logical table, functions such as search provided by the DBMS can be indirectly applied to each column of the logical table. That is, in the general-purpose database used in the multi-tenant system, it is possible to eliminate the restriction on the number of columns and improve the usability of the functions provided by the DBMS.

上記課題を解決するための手段の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、上記手段をコンピュータが実行する方法を実施したり、上記手段をコンピュータに実行させるプログラムを提供等したりするようにしてもよい。プログラムは、コンピュータが読み取り可能な記録媒体に記録して提供するようにしてもよい。コンピュータが読み取り可能な記録媒体とは、情報を電気的、磁気的、光学的、機械的、又は化学的作用によって蓄積し、コンピュータによって読み取ることができる記録媒体をいう。このような記録媒体のうち、コンピュータから取り外し可能なものとしては、例えば光ディスク、光磁気ディスク、フレキシブルディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としてHDD(Hard Disk Drive)、SSD(Solid State Drive)、ROM(Read Only Memory)等がある。   The contents of the means for solving the above problems can be combined as much as possible without departing from the problems and technical ideas of the present invention. Also, a method for executing the above means by a computer may be implemented, or a program for causing the computer to execute the above means may be provided. The program may be provided by being recorded on a computer-readable recording medium. A computer-readable recording medium refers to a recording medium that stores information by electrical, magnetic, optical, mechanical, or chemical action and can be read by a computer. Among such recording media, those removable from the computer include, for example, optical disks, magneto-optical disks, flexible disks, magnetic tapes, memory cards, and the like. Further, there are HDD (Hard Disk Drive), SSD (Solid State Drive), ROM (Read Only Memory) and the like as recording media fixed to the computer.

本発明によれば、マルチテナントシステムで用いる汎用的なデータベースにおいて、カラム数の制約を排除するとともに、DBMSが提供する機能の利用性を向上させることができる。   According to the present invention, in a general-purpose database used in a multi-tenant system, it is possible to eliminate the restriction on the number of columns and improve the usability of functions provided by the DBMS.

システム全体の概略構成を示す図である。It is a figure which shows schematic structure of the whole system. マルチテナントシステムの一例を示す機能ブロック図である。It is a functional block diagram which shows an example of a multi-tenant system. コンピュータの一例を示す装置構成図である。It is an apparatus block diagram which shows an example of a computer. テナントAの論理テーブルの一例を示す表である。It is a table | surface which shows an example of the logical table of tenant A. テナントAの論理テーブルの一例を示す表である。It is a table | surface which shows an example of the logical table of tenant A. テナントBの論理テーブルの一例を示す表である。It is a table | surface which shows an example of the logical table of the tenant B. 物理テーブルの一例を示す表である。It is a table | surface which shows an example of a physical table. メタデータの一例を示す表である。It is a table | surface which shows an example of metadata. データ操作処理の一例を示す処理フロー図である。It is a processing flowchart which shows an example of a data operation process. 設定処理の一例を示す処理フロー図である。It is a processing flowchart which shows an example of a setting process. データ型の対応関係を説明するための図である。It is a figure for demonstrating the correspondence of a data type. インデックステーブルの一例を示す表である。It is a table | surface which shows an example of an index table. テーブルスペースを説明するための図である。It is a figure for demonstrating a table space.

以下、図面を参照して本発明を実施するための形態について説明する。以下の実施の形態の構成は例示であり、本発明は実施の形態の構成に限定されない。   Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. The configuration of the following embodiment is an exemplification, and the present invention is not limited to the configuration of the embodiment.

<システム構成>
図1は、システムの概略構成の一例を示す図である。図1の例では、本発明に係るマルチテナントシステム1と、テナント端末2(図1では、2a及び2b)とが、ネットワーク3を介して接続されている。マルチテナントシステム1は、複数のテナント(すなわち、複数のユーザ)に対してハードウェアリソース及びソフトウェアリソースを共通に使用させるシステムであり、本発明に係るデータ構造を有する物理テーブルを使用させる。すなわち、いわゆるSaaS(Software as a Service)を提供するシステムである。また
、テナント端末2は、それぞれネットワーク3を介してマルチテナントシステム1に対しデータ操作を要求したり、結果を受け取ったりする。便宜上、テナント端末2aはテナントAの端末であり、テナント端末2bはテナントBの端末であるものとする。図1では2つのテナント端末を示しているが、テナント端末の数は2つには限られない。
<System configuration>
FIG. 1 is a diagram illustrating an example of a schematic configuration of a system. In the example of FIG. 1, a multi-tenant system 1 according to the present invention and a tenant terminal 2 (2 a and 2 b in FIG. 1) are connected via a network 3. The multi-tenant system 1 is a system that commonly uses hardware resources and software resources for a plurality of tenants (that is, a plurality of users), and uses a physical table having a data structure according to the present invention. That is, the system provides so-called SaaS (Software as a Service). In addition, the tenant terminal 2 requests a data operation from the multi-tenant system 1 via the network 3 and receives a result. For convenience, it is assumed that the tenant terminal 2a is a tenant A terminal and the tenant terminal 2b is a tenant B terminal. Although FIG. 1 shows two tenant terminals, the number of tenant terminals is not limited to two.

<マルチテナントシステム>
図2は、マルチテナントシステム1の一例を示す機能ブロック図である。図2のマルチテナントシステム1は、DBMS11と、メタデータ記憶部12と、設定部13と、要求受付部14と、変換部15と、結果応答部16とを有する。
<Multi-tenant system>
FIG. 2 is a functional block diagram illustrating an example of the multi-tenant system 1. The multi-tenant system 1 of FIG. 2 includes a DBMS 11, a metadata storage unit 12, a setting unit 13, a request reception unit 14, a conversion unit 15, and a result response unit 16.

DBMS11は、データベース(例えば、RDB(Relational Database))の運用管
理に必要な機能を提供するシステムであり、物理テーブル111と、データ操作部112とを有する。物理テーブル111は、所定のデータ構造(スキーマ)で物理的なファイルとしてデータレコードを格納する記憶装置である。本実施形態では、データ構造が同一の物理テーブル111を、複数のテナントが共有する。すなわち、異なるテナントのデータを同一の物理テーブル111に保持する。また、データ操作部112は、レコードの挿入(登録)、レコードの選択(検索)、レコードの更新、レコードの削除等の操作を物理テーブル111に対して行う。なお、DBMS11は、様々なベンダーが提供する既存の製品を利用することができる。
The DBMS 11 is a system that provides functions necessary for operation management of a database (for example, RDB (Relational Database)), and includes a physical table 111 and a data operation unit 112. The physical table 111 is a storage device that stores data records as physical files with a predetermined data structure (schema). In the present embodiment, a plurality of tenants share the physical table 111 having the same data structure. That is, data of different tenants is held in the same physical table 111. Further, the data operation unit 112 performs operations such as record insertion (registration), record selection (search), record update, and record deletion on the physical table 111. The DBMS 11 can use existing products provided by various vendors.

また、メタデータ記憶部12は、各テナントが業務等に応じて定義する論理テーブルのデータ構造と物理テーブル111のデータ構造との対応付けを示すメタデータを記憶する。本実施形態では、物理テーブル111は各テナントに共通であり、汎用的なデータ構造を有している。そして、メタデータにおいて、論理テーブルの1カラム(「列」、「項目
」、「フィールド」とも呼ぶ)に対し、物理テーブル111の1カラムを割り当てる。このとき、対応するデータ型のカラムを割り当てるものとする。なお、メタデータを「マッピング情報」とも呼ぶ。
In addition, the metadata storage unit 12 stores metadata indicating a correspondence between the data structure of the logical table and the data structure of the physical table 111 that each tenant defines in accordance with the business or the like. In this embodiment, the physical table 111 is common to each tenant and has a general-purpose data structure. In the metadata, one column of the physical table 111 is assigned to one column (also referred to as “row”, “item”, or “field”) of the logical table. At this time, a column of a corresponding data type is assigned. The metadata is also referred to as “mapping information”.

ここで、各テナントが定義する論理テーブルの1レコードは、物理テーブル111の1レコードで保持できない場合がある。例えば、物理テーブル111のカラム数の方が論理テーブルのカラム数よりも少ない場合は論理テーブルのレコードを物理テーブルの1レコードでは保持することができない。また、あるデータ型のカラムが、物理テーブル111に予め用意された数の方が論理テーブルに定義された数よりも少ない場合も、論理テーブルのレコードを物理テーブルの1レコードで保持することができない。このような場合、論理テーブルにおける1レコードを、物理テーブル111における2以上のレコードに分解して保持する。このため、物理テーブル111は、複数のレコードの接続関係(「ページ」とも呼ぶ)を示すカラムを含む。そして、メタデータは、論理テーブルのカラムと、物理テーブル111のカラム及びページとを対応付けることで、値を1対1に対応付けるものとする。   Here, one record of the logical table defined by each tenant may not be held by one record of the physical table 111. For example, if the number of columns in the physical table 111 is smaller than the number of columns in the logical table, a record in the logical table cannot be held by one record in the physical table. Further, even when the number of columns of a certain data type prepared in advance in the physical table 111 is smaller than the number defined in the logical table, the logical table record cannot be held by one record in the physical table. . In such a case, one record in the logical table is divided into two or more records in the physical table 111 and held. For this reason, the physical table 111 includes a column indicating a connection relationship (also referred to as “page”) of a plurality of records. The metadata associates the values in a one-to-one correspondence by associating the columns of the logical table with the columns and pages of the physical table 111.

設定部13は、ネットワーク3を介してテナント端末2からメタデータを設定するための命令を受け付け、メタデータ記憶部12に記憶させる。また、要求受付部14は、ネットワーク3を介してテナント端末2からデータ操作を行うための要求を受け付け、変換部15に渡す。変換部15は、メタデータ記憶部12が記憶するメタデータに基づいて、テナント端末から受け付けたデータ操作要求を、DBMSにおいて実行可能なデータ操作命令(「クエリ」、「問合せ」とも呼ぶ)に変換し、DBMS11のデータ操作部112に伝送する。同様に、データ操作部112から取得したデータ操作の結果を受け取り、各テナントの論理テーブルにおける項目に変換して結果応答部16に渡す。結果応答部16は、テナント端末2から受け付けたデータ操作要求の結果を、テナント端末2へ送信する。   The setting unit 13 receives a command for setting metadata from the tenant terminal 2 via the network 3 and stores the command in the metadata storage unit 12. In addition, the request reception unit 14 receives a request for performing a data operation from the tenant terminal 2 via the network 3 and passes the request to the conversion unit 15. Based on the metadata stored in the metadata storage unit 12, the conversion unit 15 converts the data operation request received from the tenant terminal into a data operation command (also referred to as “query” or “query”) that can be executed in the DBMS. The data is transmitted to the data operation unit 112 of the DBMS 11. Similarly, the result of the data operation acquired from the data operation unit 112 is received, converted into an item in the logical table of each tenant, and passed to the result response unit 16. The result response unit 16 transmits the result of the data operation request received from the tenant terminal 2 to the tenant terminal 2.

<装置構成>
図3は、コンピュータの一例を示す装置構成図である。マルチテナントシステム1及びテナント端末2は、図3に示すようなコンピュータである。図3に示すコンピュータ1000は、CPU(Central Processing Unit)1001、主記憶装置1002、補助記憶
装置1003、通信IF(Interface)1004、入出力IF(Interface)1005、ドライブ装置1006、通信バス1007を備えている。CPU1001は、プログラム(「ソフトウェア」又は「アプリケーション」とも呼ぶ)を実行することにより本実施の形態に係る処理を行う。主記憶装置1002は、CPU1001が読み出したプログラムやデータをキャッシュしたり、CPUの作業領域を展開したりする。主記憶装置は、具体的には、RAM(Random Access Memory)やROM(Read Only Memory)等である。補助記憶装置1003は、CPU1001により実行されるプログラムや、本実施の形態で用いる設定情報などを記憶する。補助記憶装置1003は、具体的には、HDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等である。主記憶装置1002や補助記憶装置1003は、マルチテナントシステム1の物理テーブル111やメタデータ記憶部12、その他の一時データを記憶する手段として働く。通信IF1004は、他のコンピュータとの間でデータを送受信する。通信IF1004は、具体的には、有線又は無線のネットワークカード等である。マルチテナントシステム1及びテナント端末2は、通信IF1004を介してインターネット等のネットワーク3に接続されている。入出力IF1005は、入出力装置と接続され、ユーザから操作を受け付けたり、ユーザへ情報を提示したりする。入出力装置は、具体的には、キーボード、マウス、ディスプレイ、タッチパネル等である。ドライブ装置1006は、磁気ディスク、光磁気ディスク、光ディスク等の記憶媒体に記録されたデータを読み出したり、記憶媒体にデータを書き込んだりする。以上のような構成要素が、通信バス1007で接続されている。なお、これらの構成要素はそれぞれ複数設けられていてもよいし、一部の構成要素(例えば、ドライブ
装置1006等)を設けないようにしてもよい。また、入出力装置がコンピュータと一体に構成されていてもよい。また、ドライブ装置1006で読み取り可能な可搬性の記憶媒体や、フラッシュメモリのような可搬性の補助記憶装置1003、通信IF1004などを介して、本実施の形態で実行されるプログラムが提供されるようにしてもよい。そして、CPU1001が所定のプログラムを実行することにより、図3に示したコンピュータをマルチテナントシステム1として働かせる。
<Device configuration>
FIG. 3 is an apparatus configuration diagram illustrating an example of a computer. The multi-tenant system 1 and the tenant terminal 2 are computers as shown in FIG. A computer 1000 shown in FIG. 3 includes a CPU (Central Processing Unit) 1001, a main storage device 1002, an auxiliary storage device 1003, a communication IF (Interface) 1004, an input / output IF (Interface) 1005, a drive device 1006, and a communication bus 1007. ing. The CPU 1001 performs processing according to the present embodiment by executing a program (also referred to as “software” or “application”). The main storage device 1002 caches programs and data read by the CPU 1001 and develops a work area of the CPU. Specifically, the main storage device is a RAM (Random Access Memory), a ROM (Read Only Memory), or the like. The auxiliary storage device 1003 stores programs executed by the CPU 1001, setting information used in the present embodiment, and the like. Specifically, the auxiliary storage device 1003 is an HDD (Hard-disk Drive), an SSD (Solid State Drive), a flash memory, or the like. The main storage device 1002 and the auxiliary storage device 1003 function as means for storing the physical table 111, the metadata storage unit 12, and other temporary data of the multi-tenant system 1. The communication IF 1004 transmits / receives data to / from other computers. The communication IF 1004 is specifically a wired or wireless network card or the like. The multi-tenant system 1 and the tenant terminal 2 are connected to a network 3 such as the Internet via a communication IF 1004. The input / output IF 1005 is connected to the input / output device and accepts an operation from the user or presents information to the user. Specifically, the input / output device is a keyboard, a mouse, a display, a touch panel, or the like. The drive device 1006 reads data recorded on a storage medium such as a magnetic disk, a magneto-optical disk, and an optical disk, and writes data to the storage medium. The above components are connected by a communication bus 1007. A plurality of these components may be provided, or some of the components (for example, the drive device 1006) may not be provided. Further, the input / output device may be integrated with the computer. In addition, the program executed in this embodiment is provided via a portable storage medium readable by the drive device 1006, a portable auxiliary storage device 1003 such as a flash memory, a communication IF 1004, and the like. It may be. Then, when the CPU 1001 executes a predetermined program, the computer shown in FIG.

<データ構造>
次に、物理テーブル111のデータ構造と論理テーブルのデータ構造との対応関係の一例を説明する。図4〜図6に示す表は、テナントA又はテナントBがマルチテナントシステム1において保持している論理テーブルと格納データの一例である。図4は、テナントAが管理する「user」テーブルのカラム名と登録されたレコードの一例を示す表である。図4に示す「user」テーブルは、「名前」、「性別」、「身長」、「体重」及び「誕生日」の各カラムを有する。なお、データ型は、例えば、「名前」及び「性別」が文字列型、「身長」及び「体重」が固定小数点型、「誕生日」が日付型である。図5は、テナントAが管理する「div」テーブルに登録されたデータの一例を示す表である。図5に示す「div」テーブルは、「部署名」及び「部署種別」の各カラムを有する。なお、データ型は、例えば、「部署名」及び「部署種別」とも文字列型である。図6は、テナントBが管理する「item」テーブルに登録されたデータの一例を示す表である。図6に示す「item」テーブルは、「商品名」、「商品種別」、「単位名」、「価格」及び「発売日」の各カラムを有する。なお、データ型は、例えば、「商品名」、「商品種別」、「単位名」が文字列型、「価格」が整数型、「発売日」が日付型である。
<Data structure>
Next, an example of the correspondence between the data structure of the physical table 111 and the data structure of the logical table will be described. The tables shown in FIGS. 4 to 6 are examples of logical tables and stored data that the tenant A or the tenant B holds in the multi-tenant system 1. FIG. 4 is a table showing an example of column names and registered records of the “user” table managed by the tenant A. The “user” table shown in FIG. 4 has columns of “name”, “sex”, “height”, “weight”, and “birthday”. For example, “name” and “gender” are character string types, “height” and “weight” are fixed-point types, and “birthday” is a date type. FIG. 5 is a table showing an example of data registered in the “div” table managed by the tenant A. The “div” table illustrated in FIG. 5 includes columns of “department name” and “department type”. The data type is, for example, a character string type for both “department name” and “department type”. FIG. 6 is a table showing an example of data registered in the “item” table managed by the tenant B. The “item” table illustrated in FIG. 6 includes columns of “product name”, “product type”, “unit name”, “price”, and “release date”. The data type is, for example, “product name”, “product type”, “unit name” is a character string type, “price” is an integer type, and “release date” is a date type.

図7に示す表は、物理テーブル111のデータ構造と格納データの一例である。図7の物理テーブルは、「TenantID」、「TypeID」、「DataID」、「PageID」、「Char1」、「Char2」、「Num1」、「Num2」、「Date1」、「Date2」等のカラムを有する。なお、データ型は、例えば、「TenantID」、「TypeID」、「Char1」及び「Char2」が文字列型、「Num1」及び「Num2」が数値型、「Date1」及び「Date2」が日付型である。なお、各カラムのデータサイズ(「データ長」とも呼ぶ)は、可変長としても固定長としてもよい。図7には明示していないが、データ型は同一であってデータサイズが異なる複数のカラムを設けてもよい。   The table shown in FIG. 7 is an example of the data structure of the physical table 111 and stored data. The physical table of FIG. 7 includes columns such as “TenantID”, “TypeID”, “DataID”, “PageID”, “Char1”, “Char2”, “Num1”, “Num2”, “Date1”, “Date2”, etc. Have. The data types are, for example, “TenantID”, “TypeID”, “Char1” and “Char2” are character string types, “Num1” and “Num2” are numeric types, and “Date1” and “Date2” are date types. is there. The data size of each column (also referred to as “data length”) may be a variable length or a fixed length. Although not explicitly shown in FIG. 7, a plurality of columns having the same data type and different data sizes may be provided.

「TenantID」のカラムには、マルチテナントシステム1のユーザであるテナントを識別するための識別情報が登録される。本実施形態では、テナント端末2のユーザがマルチテナントシステム1を利用する際、まず、テナントの識別情報(例えば「TenantID」)及びパスワードを用いて認証処理を行うものとする。そして、基本的に各テナントは物理テーブル111に登録されたレコードのうち、「TenantID」のカラムに自身の識別情報が登録されたレコードに対して選択、更新、削除等の操作を行うことができるものとする。また、各テナントが物理テーブル111に新たなレコードを挿入する場合、「TenantID」のカラムに自身の識別情報を登録するものとする。このようにすることで、ハードウェアリソースからアプリケーション及びデータベース構造までを共有したSaaSを実現することができる。   In the “TenantID” column, identification information for identifying a tenant who is a user of the multi-tenant system 1 is registered. In this embodiment, when the user of the tenant terminal 2 uses the multi-tenant system 1, first, authentication processing is performed using tenant identification information (for example, “TenantID”) and a password. Basically, each tenant can perform operations such as selection, update, and deletion of a record whose identification information is registered in the “TenantID” column among the records registered in the physical table 111. Shall. Further, when each tenant inserts a new record into the physical table 111, his / her identification information is registered in the “TenantID” column. By doing in this way, SaaS which shared from a hardware resource to an application and a database structure is realizable.

「TypeID」のカラムには、各テナントにおいて論理テーブルを識別するための識別情報が登録される。また、「DataID」のカラムには、各論理テーブルにおいてレコードを一意に特定するための識別情報が登録される。各論理テーブルにおいてレコードを一意に特定できるように「DataID」の値を付与(採番)すれば、「TenantID」、「TypeID」及び「DataID」の複合キーによって各テナントの論理テーブルにおけるレコードを一意に特定できるようになる。なお、図7に示すように、全ての論理テーブルにおいてレコードを一意に特定できるように「DataID」の値を付与するようにしてもよい。   Identification information for identifying a logical table in each tenant is registered in the “TypeID” column. In the column “DataID”, identification information for uniquely specifying a record in each logical table is registered. By assigning (numbering) the value of “DataID” so that the record can be uniquely identified in each logical table, the record in each tenant's logical table is uniquely identified by the composite key of “TenantID”, “TypeID”, and “DataID” Can be specified. Note that, as shown in FIG. 7, a value of “DataID” may be assigned so that a record can be uniquely specified in all logical tables.

「PageID」のカラムには、論理テーブルにおける1レコードが物理テーブル111において複数のレコードに分解されて登録される場合の接続関係(接続順序)を表す情報が登録される。なお、図7の例では、接続関係を表す情報として、通し番号を登録している。図7の例では、「DataID」及び「PageID」によって、論理テーブルのカラムを特定することができるため、物理テーブル111の複数のレコードから論理テーブルにおける1レコードを復元できるようになる。なお、「TenantID」、「TypeID」、「DataID」及び「PageID」のカラムを複合キーとして物理テーブル111のレコードを一意に特定できるようにしてもよい。   In the “PageID” column, information representing a connection relationship (connection order) when one record in the logical table is divided into a plurality of records and registered in the physical table 111 is registered. In the example of FIG. 7, a serial number is registered as information representing the connection relationship. In the example of FIG. 7, since the column of the logical table can be specified by “DataID” and “PageID”, one record in the logical table can be restored from a plurality of records in the physical table 111. Note that the records of the physical table 111 may be uniquely identified using the “TenantID”, “TypeID”, “DataID”, and “PageID” columns as composite keys.

また、「Char1」、「Char2」、「Num1」、「Num2」、「Date1」、「Date2」・・・のカラムには、論理テーブルの各カラムの値が登録される。すなわち、これらは、論理テーブルの複数のカラムに保持される値をそれぞれ独立に保持するカラムである。例えば、「Char1」及び「Char2」は、文字列型のカラムである。また、「Num1」及び「Num2」は、数値型のカラムである。「Date1」及び「Date2」は、日付型のカラムである。なお、図7はカラムの構成を簡略化した例であり、物理テーブル111は、他のデータ型のカラムをさらに有していてもよいし、各データ型のカラムを3列以上有していてもよい。また、物理テーブル111に設けられる各データ型のカラム数は、同数でなくてもよい。例えば、物理テーブル111は、文字列型のカラムを30列、数値型のカラムを10列、日付型のカラムを5列設けるといった定義が可能である。ただし、マルチテナントシステムにおいては汎用性が求められるため、平均的に各データ型のカラム数を決定したり、テナントのニーズや使用実績等に基づいて各データ型のカラム数を決定してもよい。なお、論理テーブルのデータ構造と物理テーブル111のデータ構造との対応付けは、テナント毎に予めメタデータに定義される。   In addition, the values of each column of the logical table are registered in the columns “Char1”, “Char2”, “Num1”, “Num2”, “Date1”, “Date2”,. That is, these are columns that independently hold values held in a plurality of columns of the logical table. For example, “Char1” and “Char2” are character string type columns. “Num1” and “Num2” are numeric type columns. “Date1” and “Date2” are date type columns. 7 is an example in which the column configuration is simplified. The physical table 111 may further include columns of other data types, and may include three or more columns of each data type. Also good. The number of columns of each data type provided in the physical table 111 may not be the same. For example, the physical table 111 can be defined to have 30 character string columns, 10 numeric columns, and 5 date columns. However, since multi-tenant systems require versatility, the number of columns for each data type may be determined on average, or the number of columns for each data type may be determined based on tenant needs, actual usage, etc. . The association between the data structure of the logical table and the data structure of the physical table 111 is defined in the metadata in advance for each tenant.

図8は、メタデータとして登録される内容の一例を示す表である。メタデータは、例えばテナントごとにDBMS上のテーブル又はファイルシステム上のファイルとして保持される。本実施形態では、テナント(例えば「テナントA」、「テナントB」等)及び論理テーブル(例えば「user」テーブル、「div」テーブル、「item」テーブル等)の組合せ
に対して、物理テーブル111の「TypeID」が一意に割り当てられる。さらに、メタデータは、図4〜図6に示した論理テーブルのカラムと図7に示した物理テーブルのカラムとの対応付けを示している。また、本実施形態では、論理テーブルの1レコードを物理テーブル111において複数のレコードに分解して登録する場合がある。よって、論理テーブルの「カラム名」に対し、物理テーブル111の「対応カラム名」及び分解された各レコードを一意に特定するための「PageID」が対応付けられている。図7の「DataID」の値が「001」〜「004」のレコードのように、ある「DataID」に対し「PageID」が1のみである場合、論理テーブルのレコードは分解されずに物理テーブル111に格納されていることがわかる。一方、図7の「DataID」の値が「005」及び「006」のレコードのように、「DataID」の値が同一であって「PageID」の値が2以上のレコードが存在する場合、論理テーブルのレコードは複数に分解されて物理テーブル111に格納されていることがわかる。このように、「PageID」のカラムは、物理テーブル111における複数のレコード間の接続関係を示すデータともいえる。
FIG. 8 is a table showing an example of contents registered as metadata. The metadata is stored as a table on the DBMS or a file on the file system for each tenant, for example. In the present embodiment, the physical table 111 has a combination of a tenant (eg, “tenant A”, “tenant B”, etc.) and a logical table (eg, “user” table, “div” table, “item” table, etc.). “TypeID” is assigned uniquely. Further, the metadata indicates the correspondence between the columns of the logical tables shown in FIGS. 4 to 6 and the columns of the physical table shown in FIG. In the present embodiment, one record of the logical table may be decomposed into a plurality of records in the physical table 111 and registered. Therefore, the “column name” of the logical table is associated with the “corresponding column name” of the physical table 111 and “PageID” for uniquely identifying each decomposed record. When the “PageID” is only 1 for a certain “DataID” like the records of “001” to “004” in FIG. 7, the logical table record is not decomposed and the physical table 111 is not decomposed. It can be seen that On the other hand, when there is a record having the same “DataID” value and a “PageID” value of 2 or more, such as the “DataID” value “005” and “006” in FIG. It can be seen that the table records are divided into a plurality of pieces and stored in the physical table 111. Thus, the “PageID” column can be said to be data indicating a connection relationship between a plurality of records in the physical table 111.

本実施形態では、基本的にテナント毎に論理テーブルやメタデータが定義される。ただし、各テナントが共通に利用するマスターデータを用意するようにしてもよい。例えば、郵便番号と住所の一部を対応付けて記憶する郵便番号マスタを、各テナントに共通のメタデータで保持するようにしてもよい。このような郵便番号マスタの内容は郵便制度の規格によって決まるため、各テナントが共通に利用する方が効率的である。共通のメタデータはファイルシステム上のファイルとしてマルチテナントシステム1の管理者が一元管理し、各テナントのメタデータはDBMS上のレコードとして「TenantID」と関連付けて管理
するようにしてもよい。
In the present embodiment, logical tables and metadata are basically defined for each tenant. However, master data shared by each tenant may be prepared. For example, a postal code master that stores a postal code and a part of an address in association with each other may be held with metadata common to each tenant. Since the contents of such a zip code master are determined by the standard of the postal system, it is more efficient that each tenant uses it in common. The common metadata may be centrally managed by the administrator of the multi-tenant system 1 as a file on the file system, and the metadata of each tenant may be managed in association with “TenantID” as a record on the DBMS.

<データ操作処理>
図9は、データ操作処理の一例を示す処理フローである。なお、マルチテナントシステム1は、テナント端末2から接続の要求を受ける際、まず所定の認証処理を行うことでテナントを識別しているものとする。また、予めメタデータ記憶部には図8に示したメタデータが保持されているものとする。
<Data manipulation processing>
FIG. 9 is a process flow showing an example of the data operation process. Note that when the multi-tenant system 1 receives a connection request from the tenant terminal 2, it first identifies the tenant by performing a predetermined authentication process. Further, it is assumed that the metadata shown in FIG. 8 is held in advance in the metadata storage unit.

マルチテナントシステム1の要求受付部14は、テナント端末2からデータ操作に係る要求を受け付ける(図9:S1)。要求は、例えば、論理テーブルに対してレコードの挿入、選択、更新、削除等を要求するクエリ(例えば、SQL等の問合せ言語)として受け付ける。そして、要求受付部14は、要求を変換部15に伝送する。なお、要求は、各テナントのいわゆる業務アプリケーションから発行されるものであってもよい。例えば、ネットワーク3に接続された顧客の端末から商品購入の要求を受けた場合に、マルチテナントシステム1のアプリケーションがデータ操作の要求を生成するようにしてもよい。   The request accepting unit 14 of the multi-tenant system 1 accepts a request for data operation from the tenant terminal 2 (FIG. 9: S1). The request is accepted as, for example, a query (for example, a query language such as SQL) that requests the logical table to insert, select, update, and delete records. Then, the request reception unit 14 transmits the request to the conversion unit 15. The request may be issued from a so-called business application of each tenant. For example, when a product purchase request is received from a customer terminal connected to the network 3, the application of the multi-tenant system 1 may generate a data operation request.

マルチテナントシステム1の変換部15は、メタデータ記憶部12に記憶されているメタデータに基づいて、要求受付部14から受けた要求を物理テーブル111に対する要求に変換する(S2)。ここでは、図8に示したメタデータに基づき、クエリの内容を修正する。すなわち、レコード間の接続関係を示す情報である、物理テーブルのカラム「PageID」に保持された値に基づいて、1又は2以上のレコードを仮想的に1つのレコードとして扱う。具体的には、「TenantID」の値が要求元のテナントの識別情報と一致するレコードを操作の対象とする条件を付加する。また、操作対象のテーブルを物理テーブル111に変更し、変換前の要求における操作対象の論理テーブルの指定を、カラム「TypeID」の値の指定に置き換える。さらに、変換前の要求におけるカラムの指定を、物理テーブル111のカラム及び「PageID」の指定に置き換える。   The conversion unit 15 of the multi-tenant system 1 converts the request received from the request reception unit 14 into a request for the physical table 111 based on the metadata stored in the metadata storage unit 12 (S2). Here, the content of the query is corrected based on the metadata shown in FIG. That is, one or two or more records are virtually handled as one record based on the value held in the column “PageID” of the physical table, which is information indicating the connection relationship between records. More specifically, a condition is added in which a record whose value of “TenantID” matches the identification information of the requesting tenant is targeted. Also, the operation target table is changed to the physical table 111, and the specification of the operation target logical table in the request before conversion is replaced with the specification of the value of the column “TypeID”. Further, the column specification in the request before conversion is replaced with the column of the physical table 111 and the specification of “PageID”.

例えば、テナントBが検索を行うために次のようなクエリ1Aを送信する例について説明する。
(クエリ1A)
SELECT 商品名, 商品種別, 単位名, 価格, 発売日 FROM item WHERE 商品種別=’食品’;
For example, an example in which the tenant B transmits the following query 1A for searching will be described.
(Query 1A)
SELECT product name, product type, unit name, price, release date FROM item WHERE product type = 'food';

この例は、論理テーブル「item」から「商品種別」の値が「食品」のレコードを抽出し、「商品名」、「商品種別」、「単位名」、「価格」及び「発売日」の各項目の値を表示させる要求である。そして、クエリ1Aは、変換部15によって、次のようなクエリ1Bに変換される。なお、物理テーブル111の物理名は「DataTable」であるものとする。
(クエリ1B)
SELECT p1.Char1, p1.Char2, p2.Char1, p1.Num1, p1.Date1
FROM DataTable p1 LEFT OUTER JOIN DataTable p2
ON p1.DataID=p2.DataID and p2.PageID=2
WHERE p1.Char2=’食品’
AND p1.TenantID=’B’ AND p1.TypeID=’item’ AND p1.PageID=1;
In this example, a record whose value of “product type” is “food” is extracted from the logical table “item”, and “product name”, “product type”, “unit name”, “price”, and “release date” are extracted. This is a request to display the value of each item. Then, the query 1A is converted into the following query 1B by the conversion unit 15. It is assumed that the physical name of the physical table 111 is “DataTable”.
(Query 1B)
SELECT p1.Char1, p1.Char2, p2.Char1, p1.Num1, p1.Date1
FROM DataTable p1 LEFT OUTER JOIN DataTable p2
ON p1.DataID = p2.DataID and p2.PageID = 2
WHERE p1.Char2 = 'food'
AND p1.TenantID = 'B' AND p1.TypeID = 'item' AND p1.PageID = 1;

この例では、「PageID」の値が1のレコードと「PageID」の値が2のレコードとを自己結合させいる。また、図8のメタデータに基づき、論理テーブルの「商品種別」は物理テーブル111において「PageID」が1の「Char2」(すなわち、p1.Char2)に変換されて
いる。なお、DBMS11からは「PageID」が1のレコードと2のレコードとをそれぞれ抽出し、変換部15が仮想的な1つのレコードに結合するという構成にしてもよい。また、「PageID」の値が3以上のレコードがある場合、変換後のクエリにおいて3つ以上のレコードを自己結合させることも可能である。
In this example, a record having a “PageID” value of 1 and a record having a “PageID” value of 2 are self-joined. Further, based on the metadata in FIG. 8, the “product type” in the logical table is converted to “Char2” (that is, p1.Char2) whose “PageID” is 1 in the physical table 111. Note that the DBMS 11 may extract a record with “PageID” of 1 and a record of 2, respectively, and the conversion unit 15 may be combined into one virtual record. Further, when there is a record having a “PageID” value of 3 or more, it is possible to self-join three or more records in the converted query.

次に、テナントBがレコード数の計数を行うために次のようなクエリ2Aを送信する例について説明する。
(クエリ2A)
SELECT COUNT(*) FROM item WHERE 商品種別=’食品’;
Next, an example will be described in which the tenant B transmits the following query 2A in order to count the number of records.
(Query 2A)
SELECT COUNT (*) FROM item WHERE product type = 'food';

クエリ2Aは、変換部15によって、次のようなクエリ2Bに変換される。
(クエリ2B)
SELECT COUNT(*)
FROM DataTable p1 LEFT OUTER JOIN DataTable p2
ON p1.DataID=p2.DataID and p2.PageID=2
WHERE p1.Char2=’食品’
AND p1.TenantID=’B’ AND p1.TypeID=’item’ AND p1.PageID=1;
The query 2A is converted into the following query 2B by the converter 15.
(Query 2B)
SELECT COUNT (*)
FROM DataTable p1 LEFT OUTER JOIN DataTable p2
ON p1.DataID = p2.DataID and p2.PageID = 2
WHERE p1.Char2 = 'food'
AND p1.TenantID = 'B' AND p1.TypeID = 'item' AND p1.PageID = 1;

この例でも、「PageID」が2のレコードを自己結合させ、「PageID」が1のレコードを選択(SELECT)している。また、図8のメタデータに基づき、論理テーブルの「商品種別」は物理テーブル111において「PageID」が1の「Char2」(すなわち、p1.Char2)に
変換されている。なお、DBMS11からは「PageID」が1のレコードと2のレコードとをそれぞれ抽出し、変換部15が仮想的な1つのレコードに結合して計数するという構成にしてもよい。
Also in this example, a record with “PageID” of 2 is self-joined, and a record with “PageID” of 1 is selected (SELECT). Further, based on the metadata in FIG. 8, the “product type” in the logical table is converted to “Char2” (that is, p1.Char2) whose “PageID” is 1 in the physical table 111. Note that the DBMS 11 may extract a record with “PageID” of 1 and a record of 2, respectively, and the conversion unit 15 may combine and count to a virtual record.

次に、テナントBがレコードの挿入(INSERT)を行うために次のようなクエリ3Aを送信する例について説明する。
(クエリ3A)
INSERT INTO item VALUES(‘テレビ’, ‘家電’, ‘台’, 30000, 7/29);
Next, an example in which the tenant B transmits the following query 3A to insert a record (INSERT) will be described.
(Query 3A)
INSERT INTO item VALUES ('TV', 'Household appliances', 'Taiwan', 30000, 7/29);

クエリ3Aは、変換部15によって、次のようなクエリ3B及びクエリ3Cに変換される。なお、要求を受け付けた時点において、物理テーブル111には「DataID」が004の
レコードまでが登録されており、新たに挿入されるレコードの「DataID」には005が採番
されるものとする。
(クエリ3B)
INSERT INTO DataTable(TenantID, TypeID, DataID, PageID, Char1, Char2, Num1, Date1)
VALUES(‘B’, ‘item’, 005, 1, ‘テレビ’, ‘家電’, 30000, 7/29);
(クエリ3C)
INSERT INTO DataTable(TenantID, TypeID, DataID, PageID, Char1)
VALUES(‘B’, ‘item’, 005, 2, ‘台’);
The query 3A is converted into the following query 3B and query 3C by the converter 15. It is assumed that at the time when the request is received, records up to “DataID” 004 are registered in the physical table 111, and “005” is assigned to “DataID” of the newly inserted record.
(Query 3B)
INSERT INTO DataTable (TenantID, TypeID, DataID, PageID, Char1, Char2, Num1, Date1)
VALUES ('B', 'item', 005, 1, 'TV', 'Household appliances', 30000, 7/29);
(Query 3C)
INSERT INTO DataTable (TenantID, TypeID, DataID, PageID, Char1)
VALUES ('B', 'item', 005, 2, 'unit');

レコードの挿入の場合、変換部15はメタデータを参照し、論理テーブルにおける1レコードが物理テーブル111における複数のレコードに対応付けられている場合、「PageID」ごとに挿入を行うクエリを生成する。上記の例では、「PageID」が「1」のレコード(第1のレコード)を挿入するクエリ3B、及び「PageID」が「2」のレコード(第2のレコード)を挿入するクエリ3Cが生成されている。   In the case of record insertion, the conversion unit 15 refers to the metadata, and generates a query for insertion for each “PageID” when one record in the logical table is associated with a plurality of records in the physical table 111. In the above example, a query 3B for inserting a record (first record) with “PageID” “1” and a query 3C for inserting a record (second record) with “PageID” “2” are generated. ing.

以上、メタデータにおいて論理テーブルのレコードが物理テーブル111の複数のレコードに分解して対応付けられている場合のデータ操作の一例について説明した。テナントAのレコードのように論理テーブルにおけるレコードが物理テーブル111においても分解されずに登録されている場合は、「TenantID」及び「TypeID」の条件を追加し、カラム名の変換を行うが、「PageID」は「1」のみであり、結合や分解を行う必要はない。   In the foregoing, an example of the data operation in the case where the record of the logical table is decomposed and associated with the plurality of records of the physical table 111 in the metadata has been described. When the record in the logical table is registered without being disassembled in the physical table 111 as in the case of the tenant A, the conditions of “TenantID” and “TypeID” are added and the column name is converted. “PageID” is only “1”, and it is not necessary to combine or decompose.

また、レコードの更新については、要求に対し選択と同様の変換を行い、条件に該当するレコードを更新するクエリを生成する。レコードの削除については、例えば、条件に該当するレコードと「DataID」の値が同一のレコードを削除するクエリを生成する。   As for the record update, the request is converted in the same manner as the selection, and a query for updating the record corresponding to the condition is generated. As for the record deletion, for example, a query for deleting a record having the same “DataID” value as that of the record corresponding to the condition is generated.

その後、マルチテナントシステム1のDBMS11は、物理テーブル111に対しデータ操作を実行する(S3)。本ステップでは、DBMS11のデータ操作部112が物理テーブル111に対し変換後のクエリを発行して挿入、選択、更新、削除等のデータ操作を行い、実行結果を変換部15に出力する。以上のように、変換部15及びDBMS11は、受けた要求に応じて、「登録部」、「抽出部」、「更新部」、「削除部」等として機能する。また、データ操作処理のS2〜S4は、受けた要求に応じて、「登録ステップ」、「抽出ステップ」、「更新ステップ」、「削除ステップ」として働く。   Thereafter, the DBMS 11 of the multi-tenant system 1 performs data operation on the physical table 111 (S3). In this step, the data operation unit 112 of the DBMS 11 issues a converted query to the physical table 111 to perform data operations such as insertion, selection, update, and deletion, and outputs the execution result to the conversion unit 15. As described above, the conversion unit 15 and the DBMS 11 function as a “registration unit”, “extraction unit”, “update unit”, “deletion unit”, and the like according to the received request. Further, S2 to S4 of the data operation process function as a “registration step”, “extraction step”, “update step”, and “deletion step” according to the received request.

次に、変換部15は、メタデータ記憶部12のメタデータに基づいて出力結果を変換し、結果応答部へ出力する(S4)。ここでは、例えば、物理テーブル111のカラム名を論理テーブルのカラム名に置き換える。   Next, the conversion unit 15 converts the output result based on the metadata in the metadata storage unit 12, and outputs the result to the result response unit (S4). Here, for example, the column name of the physical table 111 is replaced with the column name of the logical table.

そして、マルチテナントシステム1の結果応答部16は、ネットワーク3を介して要求元のテナント端末2に対して結果を送信する(S5)。なお、結果応答部16は、マルチテナントシステム1の図示していないアプリケーションに対して結果を渡すようにしてもよい。   Then, the result response unit 16 of the multi-tenant system 1 transmits the result to the requesting tenant terminal 2 via the network 3 (S5). Note that the result response unit 16 may pass the result to an application (not shown) of the multi-tenant system 1.

以上のように、本実施形態に係るマルチテナントシステムでは、各テナントが定義する論理テーブルのレコードを、必要に応じて複数のレコードに分解して物理テーブルに登録する。よって、マルチテナントシステムにおいて汎用的な物理テーブルを用意する場合であっても、カラム数の制約を排除することができる。また、本実施形態に係るマルチテナントシステムは、論理テーブルにおけるカラムをそれぞれ物理テーブルにおける独立したカラムとして登録する。よって、DBMSが提供する検索等の機能を利用する際にはいずれのカラムであっても条件に指定することができるようになっている。このように、マルチテナントシステムで用いる汎用的なデータベースにおいて、カラム数の制約を排除するとともに、DBMSが提供する機能の利用性を向上させることができるようになっている。   As described above, in the multi-tenant system according to the present embodiment, the records of the logical table defined by each tenant are decomposed into a plurality of records as necessary and registered in the physical table. Therefore, even when a general-purpose physical table is prepared in the multi-tenant system, the restriction on the number of columns can be eliminated. In addition, the multi-tenant system according to the present embodiment registers each column in the logical table as an independent column in the physical table. Therefore, when using a function such as search provided by the DBMS, any column can be designated as a condition. As described above, in the general-purpose database used in the multi-tenant system, it is possible to eliminate the restriction on the number of columns and improve the usability of the functions provided by the DBMS.

<設定処理>
図10は、メタデータ等の設定を行う設定処理の一例を示す処理フロー図である。上述したデータ操作処理の前に、図10に示すような設定処理を行う。
<Setting process>
FIG. 10 is a process flow diagram illustrating an example of a setting process for setting metadata and the like. Prior to the data operation process described above, a setting process as shown in FIG. 10 is performed.

マルチテナントシステム1の設定部13は、テナント端末2から要求を受け、メタデータ記憶部12に論理テーブルのカラムと物理テーブル111のカラムとの対応付けを設定する(図10:S11)。本ステップでは、図8に示したようなメタデータが登録される。   The setting unit 13 of the multi-tenant system 1 receives a request from the tenant terminal 2 and sets the correspondence between the logical table column and the physical table 111 column in the metadata storage unit 12 (FIG. 10: S11). In this step, metadata as shown in FIG. 8 is registered.

本実施形態では、物理テーブル111に様々なデータ型のカラムを用意しておくことを特徴の1つとしている。このようにすれば、カラムのデータ型に応じてDBMSが提供する検索や集計等の機能を適用することができる。なお、論理テーブルのカラムに設定されるデータ型と物理テーブルのカラムに設定されるデータ型とは必ずしも1対1に対応していなくてもよい。例えば、図11に示すようにカラム間のデータ型を設定するようにしてもよい。ここで、論理テーブルにおける「選択肢型」とは、予め定義された複数の選択肢の中からいずれかを指定することができるデータ型である。たとえば、優先度を示す項目に、あらかじめ定義された「最高」、「高」、「中」、「低」等の選択肢のいずれかを指定できるようにする。また、論理テーブルにおける「参照型」とは、別データへの参照を
表現するデータ型である。また、論理テーブルにおける「バイナリデータ型」とは、DBMSで用意されているBLOB型のようなバイナリデータを扱う型である。マルチテナントシステム1内において、バイナリデータの格納手段(たとえば、ファイルシステムやクラウドサービス上のストレージサービスなど)を別途準備し、物理テーブル内のカラムには格納手段へのポインタとなるLobIDを格納するようにしてもよい。そして、設定によって格納手段をDB又はファイルシステム等に切り替え可能としてもよい。また、論理テーブルにおける「ロングテキスト型」とは、DBMSの文字列型カラムのデータサイズの上限を超える文字列を格納可能とするデータ型である。例えば、DBMSネイティブの型であるCLOBを利用し、バイナリデータ型と同様に切り替え可能としてもよい。
In this embodiment, one of the features is that columns of various data types are prepared in the physical table 111. In this way, functions such as search and tabulation provided by the DBMS can be applied according to the data type of the column. Note that the data types set in the columns of the logical table and the data types set in the columns of the physical table do not necessarily have a one-to-one correspondence. For example, the data type between columns may be set as shown in FIG. Here, the “option type” in the logical table is a data type that can specify any one of a plurality of predefined options. For example, in the item indicating the priority, any one of predefined options such as “highest”, “high”, “medium”, “low”, etc. can be designated. The “reference type” in the logical table is a data type that represents a reference to another data. The “binary data type” in the logical table is a type that handles binary data such as the BLOB type prepared in the DBMS. In the multi-tenant system 1, a binary data storage unit (for example, a storage service on a file system or a cloud service) is separately prepared, and a LobID serving as a pointer to the storage unit is stored in a column in the physical table. It may be. Then, the storage means may be switchable to a DB or a file system depending on the setting. The “long text type” in the logical table is a data type that can store a character string that exceeds the upper limit of the data size of the character string type column of the DBMS. For example, it is possible to use CLOB, which is a DBMS native type, and make it switchable in the same manner as the binary data type.

なお、物理テーブル111のカラムは、すべて文字列型としてもよい。この場合、DBMS11は、数値や日付もすべて文字列として物理テーブル111に格納する。そして、例えば集計のような処理は、DBMSの機能を利用するのではなくマルチテナントシステム1の図示していないアプリケーションが実行するようにする。予め物理テーブル111に様々なデータ型のカラムをそれぞれ複数用意する場合、使用しないデータ型のカラムが増えてしまう可能性もあるところ、例えばカラムをすべて文字列型とすれば、物理テーブルのカラムを有効に利用可能となる。また、このような場合であっても、論理テーブルにおけるカラムをそれぞれ物理テーブルにおける独立したカラムに登録すれば、各カラムに対して検索のようなDBMSが提供する機能を利用できる。   Note that all the columns of the physical table 111 may be of a character string type. In this case, the DBMS 11 stores all numerical values and dates in the physical table 111 as character strings. For example, processing such as aggregation is performed by an application (not shown) of the multi-tenant system 1 instead of using the DBMS function. If multiple columns of various data types are prepared in advance in the physical table 111, there is a possibility that the number of columns of unused data types will increase. For example, if all the columns are character string types, the columns of the physical table will be It can be used effectively. Even in such a case, if each column in the logical table is registered in an independent column in the physical table, a function provided by the DBMS such as search for each column can be used.

また、上述の通り、データ型が同一であってデータサイズが異なる複数のカラムを設けてもよい。例えば、物理テーブル111には、文字列型(最大長:256文字)のカラムと文字列型(最大長:2000文字)のカラムとを設けておく。そして、例えば、論理テーブルの短文字列型のカラムを物理テーブル111の文字列型(最大長:256文字)のカラムにマッピングし、論理テーブルの長文字列型のカラムを物理テーブル111の文字列型(最大長:2000文字)のカラムにマッピングする。物理テーブル111にデータ型は同一であってデータサイズが異なる複数のカラムを設けておくことにより、ユーザは格納データに応じて十分な最大長のカラムを選択することができ、テーブルに保存されるデータ量を削減したり、データ処理時に使用するバッファメモリを節約することができる。   Further, as described above, a plurality of columns having the same data type and different data sizes may be provided. For example, the physical table 111 is provided with a character string type (maximum length: 256 characters) column and a character string type (maximum length: 2000 characters) column. For example, the short character string type column of the logical table is mapped to the character string type (maximum length: 256 characters) column of the physical table 111, and the long character string type column of the logical table is mapped to the character string of the physical table 111. Map to column of type (maximum length: 2000 characters). By providing a plurality of columns having the same data type and different data sizes in the physical table 111, the user can select a column having the maximum length according to the stored data and is stored in the table. The amount of data can be reduced, and the buffer memory used during data processing can be saved.

また、物理テーブル111は、一部のカラムに予めインデックス(INDEX)を付与しておくようにしてもよい。インデックスは、DBMS11の機能を利用して付与することができる。この場合、S11においては、論理テーブルのカラムのうち多く検索に用いられることが想定されるカラムを、物理テーブル111におけるインデックス付きのカラムにマッピングする。このようにすることで、図9に示したデータ操作処理において検索処理を高速化することができる。   In the physical table 111, an index (INDEX) may be assigned to some columns in advance. The index can be assigned by using the function of the DBMS 11. In this case, in S <b> 11, a column that is assumed to be used for many of the logical table columns is mapped to an indexed column in the physical table 111. In this way, the search process can be speeded up in the data manipulation process shown in FIG.

なお、利用するDBMSの方式によっては、null値に対してもインデックスを付与し、データ領域を占有する場合がある。本実施形態に係る物理テーブルの各カラムには必ずしも論理テーブルのカラムがマッピングされるとは限らないところ、このような方式のDBMSの場合にインデックスを付与するのは好ましくない。このような場合は、図12に示すようなインデックステーブルを別途設けるようにしてもよい。インデックステーブルは、例えば、データ型の種類に応じて、文字列型用のインデックステーブル、数値型用のインデックステーブル等を設ける。そして、メタデータにおいてインデックスの付与が設定されたカラムについてはインデックステーブルにカラムの値をコピーして(すなわち同期させて)検索に用いるようにする。   Depending on the DBMS method used, an index may be assigned to the null value to occupy the data area. Although the columns of the logical table are not necessarily mapped to the columns of the physical table according to the present embodiment, it is not preferable to provide an index in the case of such a DBMS. In such a case, an index table as shown in FIG. 12 may be provided separately. As the index table, for example, an index table for a character string type, an index table for a numeric type, and the like are provided according to the type of data type. Then, for the column to which index assignment is set in the metadata, the column value is copied (that is, synchronized) to the index table and used for the search.

また、設定部13は、テナント端末2から要求を受けた場合、メタデータ記憶部12にテーブルスペースの設定をする(S12)。ここで、テーブルスペースとは、複数用意さ
れる物理テーブルの各々を指す概念である。複数のテーブルスペースを用意することで、いわゆるパーティショニングのように物理テーブルを分散させることができる。
Further, when receiving a request from the tenant terminal 2, the setting unit 13 sets a table space in the metadata storage unit 12 (S12). Here, the table space is a concept indicating each of a plurality of prepared physical tables. By preparing a plurality of table spaces, physical tables can be distributed like so-called partitioning.

図13は、テーブルスペースを説明するための図である。図13に示すように、メタデータにおいて、各論理テーブルがいずれのテーブルスペースを利用するのか対応付けを設定する。また、物理テーブルはテーブルスペースの数だけ用意され、それぞれメタデータで対応付けられた論理テーブルのレコードが登録される。図13の例では、「Default」
テーブルスペースに「DataTable_Default」という物理テーブルが対応付けられ、「TenantID」及び「TypeID」をキーとしてパーティショニングする。また、「DateBase」テーブ
ルスペースには「DataTable_DateBase」という物理テーブルが対応付けられ、「Date1」
及び「TenantID」をキーとしてパーティショニングする。
FIG. 13 is a diagram for explaining the table space. As shown in FIG. 13, in the metadata, an association is set which table space each logical table uses. In addition, as many physical tables as the number of table spaces are prepared, and records of logical tables associated with metadata are registered. In the example of FIG. 13, “Default”
A physical table “DataTable_Default” is associated with the table space, and partitioning is performed using “TenantID” and “TypeID” as keys. In addition, a physical table called “DataTable_DateBase” is associated with the “DateBase” tablespace, and “Date1”
And partition with “TenantID” as a key.

このような例において、「DateBase」テーブルスペースには、注文日等の項目を有し、レコードが日々増加するトランザクションデータを格納するものとする。一般的に物理テーブルのレコードが増加するほどレスポンスは低下していくところ、保持するレコード数の増加が見込まれる論理テーブルを物理テーブル上分けて管理することができる。   In such an example, it is assumed that the “DateBase” table space stores transaction data having items such as order dates and records increasing daily. In general, the response decreases as the number of records in the physical table increases. However, logical tables that are expected to increase in the number of records to be held can be managed separately on the physical table.

さらに、テーブルスペースの各々について、各データ型のカラム数に差をつけてもよい。例えば、文字の保存を優先するテーブルスペース(文字保存優先型)と、数値の保存を優先するテーブルスペース(数値保存優先型)を定義しておく。そして、文字保存優先型の物理テーブルには、例えば、文字列型のカラムを80列、数値型のカラムを10列、日付型のカラムを10列設ける。また、数値保存優先型の物理テーブルには、例えば、文字列型のカラムを10列、数値型のカラムを80列、日付多型のカラムを10列設ける。ユーザが論理テーブルを定義する際には格納するデータの見通しが立つため、適切なテーブルスペースを選択することが可能であり、テーブルに保存されるデータ量を削減したり、データ処理時に使用するバッファメモリを節約することができる。   Further, for each table space, the number of columns of each data type may be differentiated. For example, a table space giving priority to character storage (character storage priority type) and a table space giving priority to numerical value storage (numerical value storage priority type) are defined. In the character storage priority type physical table, for example, 80 character string columns, 10 numeric columns, and 10 date columns are provided. Also, the numeric storage priority type physical table is provided with, for example, 10 character string columns, 80 numeric columns, and 10 date polymorphic columns. When a user defines a logical table, the stored data has a clear view, so it is possible to select an appropriate table space, reduce the amount of data stored in the table, and use a buffer for data processing Memory can be saved.

<その他>
本発明は、上述の例に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更を加え得るものである。
<Others>
The present invention is not limited to the above-described examples, and various modifications can be made without departing from the gist of the present invention.

例えば、物理テーブル111として、メインの物理テーブルと補助的な物理テーブルとを設けておくようにしてもよい。この場合、例えば、1ページ目(PageIDが1)のカラムをメインの物理テーブル(メインテーブル)に記憶させ、2ページ目以降(PageIDが2以上)のカラムを補助的な物理テーブル(補助テーブル)に記憶させる。このようにすれば、メインテーブルのレコードと論理テーブルのレコードとは1対1に対応づけられ、メインテーブルのカラム「DataID」に対してユニークインデックスを張ることができるようになる。また、例えば図2の変換部15を介さずに、ユーザがSQL等で直接DBMSを参照するような場合、メインテーブルのレコード件数が論理テーブルにおけるレコード件数となるため、メンテナンス等が行い易くなる。   For example, as the physical table 111, a main physical table and an auxiliary physical table may be provided. In this case, for example, the column of the first page (PageID is 1) is stored in the main physical table (main table), and the column of the second page and later (PageID is 2 or more) is an auxiliary physical table (auxiliary table). Remember me. In this way, the record of the main table and the record of the logical table are associated with each other one-to-one, and a unique index can be set for the column “DataID” of the main table. Further, for example, when the user directly refers to the DBMS by using SQL or the like without using the conversion unit 15 in FIG. 2, the number of records in the main table becomes the number of records in the logical table, so that maintenance and the like can be easily performed.

1 マルチテナントシステム
11 DBMS
111 物理テーブル
112 データ操作部
12 メタデータ記憶部
13 設定部
14 要求受付部
15 変換部
16 結果応答部
2 テナント端末
3 ネットワーク
1 Multi-tenant system 11 DBMS
111 Physical table 112 Data operation unit 12 Metadata storage unit 13 Setting unit 14 Request reception unit 15 Conversion unit 16 Result response unit 2 Tenant terminal 3 Network

Claims (5)

マルチテナントデータベースにおいて複数のテナントが共有する単一の物理テーブルに対してデータ操作を行う情報処理装置であって、
テナント毎に定義される論理テーブルのカラムと前記単一の物理テーブルのカラムとの対応付けを前記テナント毎に定義するマッピング情報に基づき、前記論理テーブルにおけるレコードを前単一の物理テーブルにおける第1のレコード及び当該第1のレコードとは前記カラムのデータ型の組み合わせが異なる第2のレコードに分解し、前記論理テーブルにおける前記分解されたレコードの各カラムのデータを前記第1のレコードと前記第2のレコードにおける、前記分解されたレコードの各カラムと同じデータ型のカラムに登録すると共に、前記第1のレコードと前記第2のレコードとの接続関係を示す情報を付与して登録する登録部と、
前記マッピング情報及び前記接続関係を示す情報に基づき、前記第1のレコード及び前記第2のレコードを前記単一の物理テーブルから読み出し、結合して出力する抽出部と、
を備える情報処理装置。
An information processing apparatus that performs data operations on a single physical table shared by multiple tenants in a multi-tenant database,
Based correspondence between columns of logical tables and columns in the single physical tables defined for each tenant to mapping information defining for each of the tenant, the records in the logical table before SL single physical table The first record and the first record are decomposed into second records having different combinations of the data types of the columns, and the data of each column of the decomposed records in the logical table is divided into the first record and the first record. in the second record, and registers in the column of the same data type as the column of the decomposed records, registration and registers the grant information indicating the connection relationship between said first record and the second record And
Based on the mapping information and the information indicating the connection relationship, an extraction unit that reads the first record and the second record from the single physical table, combines them, and outputs them,
An information processing apparatus comprising:
前記単一の物理テーブルは、データ型の異なる複数のカラムを含む
請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, wherein the single physical table includes a plurality of columns having different data types.
前記マッピング情報において前記論理テーブルにおける1つのレコードが前記単一の物理テーブルにおける3以上のレコードと対応付けられている場合、
前記登録部は、前記マッピング情報に基づき、前記論理テーブルにおける1つのレコードを、前記単一の物理テーブルにおける3以上のレコードに分解し、当該3以上のレコードの接続関係を示す情報を付与して登録し、
前記抽出部は、前記マッピング情報に基づき、前記3以上のレコードを前記単一の物理テーブルから読み出し、結合して出力する
請求項1又は2に記載の情報処理装置。
When one record in the logical table is associated with three or more records in the single physical table in the mapping information,
The registration unit disassembles one record in the logical table into three or more records in the single physical table based on the mapping information, and gives information indicating a connection relation of the three or more records. Register,
The information processing apparatus according to claim 1, wherein the extraction unit reads the three or more records from the single physical table based on the mapping information, and outputs the combined records.
マルチテナントデータベースにおいて複数のテナントが共有する単一の物理テーブルに対してデータ操作を行う情報処理方法であって、
テナント毎に定義される論理テーブルのカラムと前記単一の物理テーブルのカラムとの
対応付けを前記テナント毎に定義するマッピング情報に基づき、前記論理テーブルにおけるレコードを、前記単一の物理テーブルにおける第1のレコード及び当該第1のレコードとは前記カラムのデータ型の組み合わせが異なる第2のレコードに分解し、前記論理テーブルにおける前記分解されたレコードの各カラムのデータを前記第1のレコードと前記第2のレコードにおける、前記分解されたレコードの各カラムと同じデータ型のカラムに登録すると共に、前記第1のレコードと前記第2のレコードとの接続関係を示す情報を付与して登録する登録ステップと、
前記マッピング情報及び前記接続関係を示す情報に基づき、前記第1のレコード及び前記第2のレコードを前記単一の物理テーブルから読み出し、結合して出力する抽出ステップと、
をコンピュータが実行する情報処理方法。
An information processing method for performing data operations on a single physical table shared by multiple tenants in a multi-tenant database,
Based correspondence between columns of logical tables and columns in the single physical tables defined for each tenant to mapping information defining for each of the tenant, a record in the logic table, the in the single physical table The first record and the first record are decomposed into second records having different combinations of the data types of the columns, and the data of each column of the decomposed records in the logical table is divided into the first record and the first record. in the second record, and registers in the column of the same data type as the column of the decomposed records, registration and registers the grant information indicating the connection relationship between said first record and the second record Steps,
Based on the mapping information and the information indicating the connection relationship, an extraction step of reading the first record and the second record from the single physical table, combining them, and outputting them,
An information processing method in which a computer executes.
マルチテナントデータベースにおいて複数のテナントが共有する単一の物理テーブルに対してデータ操作を行うプログラムであって、
テナント毎に定義される論理テーブルのカラムと前記単一の物理テーブルのカラムとの対応付けを前記テナント毎に定義するマッピング情報に基づき、前記論理テーブルにおけるレコードを、前記単一の物理テーブルにおける第1のレコード及び当該第1のレコードとは前記カラムのデータ型の組み合わせが異なる第2のレコードに分解し、前記論理テーブルにおける前記分解されたレコードの各カラムのデータを前記第1のレコードと前記第2のレコードにおける、前記分解されたレコードの各カラムと同じデータ型のカラムに登録すると共に、前記第1のレコードと前記第2のレコードとの接続関係を示す情報を付与して登録する登録ステップと、
前記マッピング情報及び前記接続関係を示す情報に基づき、前記第1のレコード及び前記第2のレコードを前記単一の物理テーブルから読み出し、結合して出力する抽出ステップと、
をコンピュータに実行させるプログラム。
A program that performs data operations on a single physical table shared by multiple tenants in a multi-tenant database,
Based correspondence between columns of logical tables and columns in the single physical tables defined for each tenant to mapping information defining for each of the tenant, a record in the logic table, the in the single physical table The first record and the first record are decomposed into second records having different combinations of the data types of the columns, and the data of each column of the decomposed records in the logical table is divided into the first record and the first record. in the second record, and registers in the column of the same data type as the column of the decomposed records, registration and registers the grant information indicating the connection relationship between said first record and the second record Steps,
Based on the mapping information and the information indicating the connection relationship, an extraction step of reading the first record and the second record from the single physical table, combining them, and outputting them,
A program that causes a computer to execute.
JP2014036228A 2014-02-27 2014-02-27 Information processing apparatus, information processing method, and program Active JP6378497B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014036228A JP6378497B2 (en) 2014-02-27 2014-02-27 Information processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014036228A JP6378497B2 (en) 2014-02-27 2014-02-27 Information processing apparatus, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2015162039A JP2015162039A (en) 2015-09-07
JP6378497B2 true JP6378497B2 (en) 2018-08-22

Family

ID=54185101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014036228A Active JP6378497B2 (en) 2014-02-27 2014-02-27 Information processing apparatus, information processing method, and program

Country Status (1)

Country Link
JP (1) JP6378497B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581216A (en) * 2020-05-09 2020-08-25 北京百度网讯科技有限公司 Data processing method, device, equipment and storage medium
US11526497B2 (en) * 2020-12-07 2022-12-13 Sap Se Tenant customization of master data in a multi-tenant computing system
CN113722334B (en) * 2021-09-10 2024-05-17 京东科技控股股份有限公司 Data processing method, device, electronic equipment and medium

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63143642A (en) * 1986-12-05 1988-06-15 Nec Corp Overflow area control system
JPH01241640A (en) * 1988-03-24 1989-09-26 Matsushita Electric Ind Co Ltd Data base device and data base managing method
JPH064586A (en) * 1992-06-24 1994-01-14 Nec Corp Logical record access system
GB2328531A (en) * 1997-08-23 1999-02-24 Ibm Storing a long record in a set of shorter keyed records
JPH11282858A (en) * 1998-03-27 1999-10-15 Casio Comput Co Ltd Record data processor and recording medium
JP3480393B2 (en) * 1999-10-19 2003-12-15 日本電気株式会社 Database access method and apparatus, and machine-readable recording medium recording program
JP3929269B2 (en) * 2001-09-19 2007-06-13 株式会社日立製作所 Data processing method and apparatus
JP5324797B2 (en) * 2007-02-26 2013-10-23 Soop株式会社 Data management system
JP4279346B2 (en) * 2008-09-25 2009-06-17 株式会社三菱東京Ufj銀行 Database management apparatus and program
JPWO2011111532A1 (en) * 2010-03-10 2013-06-27 日本電気株式会社 Database system

Also Published As

Publication number Publication date
JP2015162039A (en) 2015-09-07

Similar Documents

Publication Publication Date Title
US9639542B2 (en) Dynamic mapping of extensible datasets to relational database schemas
US20240134861A1 (en) System and method for dynamic database split generation in a massively parallel or distributed database environment
US10528596B2 (en) System and method for consistent reads between tasks in a massively parallel or distributed database environment
US8924373B2 (en) Query plans with parameter markers in place of object identifiers
US20160092524A1 (en) System and method for data transfer from jdbc to a data warehouse layer in a massively parallel or distributed database environment
US10078684B2 (en) System and method for query processing with table-level predicate pushdown in a massively parallel or distributed database environment
van Dongen et al. Relational XES: data management for process mining
AU2018290753B2 (en) Systems and methods of creation and deletion of tenants within a database
US11797483B2 (en) Data pruning based on metadata
US8386445B2 (en) Reorganizing database tables
US11907251B2 (en) Method and system for implementing distributed lobs
WO2019205790A1 (en) Data operating method and device
US10810174B2 (en) Database management system, database server, and database management method
CN112912870A (en) Tenant identifier conversion
US20090313212A1 (en) Relational database with compound identifier
JP6378497B2 (en) Information processing apparatus, information processing method, and program
US20140310262A1 (en) Multiple schema repository and modular database procedures
JP7274293B2 (en) Information processing device, information processing method and program
CN112889039A (en) Identification of records for post-clone tenant identifier conversion
JP2014013470A (en) Management method for electronic form and electronic form system, and management program for electronic form
JP6338909B2 (en) Content control system
CN113742346A (en) Asset big data platform architecture optimization method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180501

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180612

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180629

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180717

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180727

R150 Certificate of patent or registration of utility model

Ref document number: 6378497

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350