JP2015121924A - Data management system, server device, control method of server device, and program - Google Patents
Data management system, server device, control method of server device, and program Download PDFInfo
- Publication number
- JP2015121924A JP2015121924A JP2013265095A JP2013265095A JP2015121924A JP 2015121924 A JP2015121924 A JP 2015121924A JP 2013265095 A JP2013265095 A JP 2013265095A JP 2013265095 A JP2013265095 A JP 2013265095A JP 2015121924 A JP2015121924 A JP 2015121924A
- Authority
- JP
- Japan
- Prior art keywords
- data
- condition
- database system
- database
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、データ管理システム、サーバ装置、サーバ装置の制御方法、及びプログラムに関するものである。 The present invention relates to a data management system, a server device, a server device control method, and a program.
大量のデータを扱うようなデータ管理システムにおいては、一つのデータベースシステムにてそれらのデータを扱うのではなく、複数のデータベースシステムに、データを分散させ、管理することが多い。このような情報処理システムを分散データベースシステムと呼ぶ。このような分散データベースシステムを用いることで、処理の一極集中を防ぐことが可能となり、各データベースシステムの処理負荷の軽減につながる効果がある。 In a data management system that handles a large amount of data, the data is often distributed and managed in a plurality of database systems, rather than being handled by a single database system. Such an information processing system is called a distributed database system. By using such a distributed database system, it is possible to prevent a concentration of processing from being concentrated, and there is an effect of reducing the processing load of each database system.
一般的に、分散データベースシステムにおいては、どのようにデータを分散させるかが、パフォーマンス向上の重要なファクターとなる。特許文献1では、データのアクセス回数、およびそのデータベースシステムが保持するリソース(例えば、主記憶量など)を考慮し、各データベースシステムの処理負荷が均等になるようにデータを分散させるシステムを考案している。
例えば、リソースが多いデータベースシステムに対しては、リソースが少ないデータベースシステムよりも、多くのデータを配置する。このように分散させることで、処理負荷が均等となり、局所的なパフォーマンスの劣化を防ぐことが可能となる。
Generally, in a distributed database system, how to distribute data is an important factor for improving performance.
For example, a larger amount of data is allocated to a database system with more resources than a database system with fewer resources. By dispersing in this way, the processing load becomes uniform and local performance degradation can be prevented.
一般的に、データベースシステムから得られるデータに対して、何らかの処理(ソートや集計等)を実施する場合には、データベースシステム自身にそれらの処理を実施させるほうが、パフォーマンス向上につながるとされている。
例えば、集計処理を実施するような場合に、処理対象のデータが、複数のデータベースシステムに分散されているとする。この場合、アプリケーションが、複数のデータベースに接続し、データを取得し、さらにアプリケーション自身が、それらのデータの集計を行う必要が発生する。
これにより情報処理システムにおいては、大きなパフォーマンスの劣化につながる。このことから、分散データベースシステムにおいて、パフォーマンス向上を実現するためには、一度のリクエストで同時に処理されるデータは、単一のデータベースシステムに保持しておくことが必要となる。
In general, when performing some processing (sorting, totaling, etc.) on data obtained from a database system, it is considered that the performance improvement is caused by causing the database system itself to perform those processing.
For example, it is assumed that the data to be processed is distributed in a plurality of database systems when performing the aggregation process. In this case, the application needs to connect to a plurality of databases to acquire data, and the application itself needs to aggregate these data.
As a result, in the information processing system, the performance is greatly degraded. For this reason, in the distributed database system, in order to realize the performance improvement, it is necessary to store the data processed simultaneously by one request in a single database system.
特許文献1に記載の分散方法では、アクセス数と、データベースシステムのリソースのみが考慮されているため、一度の処理で同時に取得されるデータが、複数のデータベースシステムに分散して保持され、パフォーマンスが劣化する可能性がある。しかしながら、一度の処理で同時に取得されるデータは、リクエストを発行するクライアントによって大きく異なるため、一度に取得されるデータを、一つのデータベースシステムにまとめることは非常に難しい場合があった。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、一度に取得される可能性の高いデータを一つのデータベースシステムに配置できる仕組みを提供することである。
In the distribution method described in
The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a mechanism that can arrange data that is highly likely to be acquired at one time in one database system.
上記目的を達成する本発明のデータ管理システムは以下に示す構成を備える。
複数のデータベースシステムで管理されるデータ群に対する処理の要求をクライアント装置から受け取り、複数のデータベースシステムにデータ処理を実行する第1のサーバ装置と、各データベースシステムのデータ群を操作する第2のサーバ装置とを含むデータ管理システムであって、前記第1のサーバ装置は、前記クライアント装置から受け取る複数のデータベースシステムに対する処理の要求に設定される条件を解析する第1の解析手段と、前記第1の解析手段により解析された条件に対応するデータの所在を特定する情報をいずれかのデータシステムから取得する取得手段と、前記取得手段が取得した前記特定する情報に基づいて、各データベースシステムのデータ群に対してデータ処理操作を実行する実行手段と、を備え、いずれかのデータベースシステムは、前記第1の解析手段が解析した条件履歴を前記第1のサーバ装置から取得して記憶装置を用いて管理する第1の管理手段と、前記第1の解析手段により解析された条件に対応するデータの所在を特定する情報を前記記憶装置で管理する第2の管理手段と、を備え、前記第2のサーバ装置は、いずれかのデータベースシステムが管理する前記条件履歴を取得して各条件に対応して同時に処理されるべき複数のデータが各データベースシステムに分散して配置されているかどうかについて前記所在を特定する情報を用いて解析する第2の解析手段と、各条件に対応して同時に処理されるべき複数のデータが各データベースシステムに分散して配置されている場合、前記第2の解析手段による解析結果に基づいて前記所在を特定する情報を更新する更新手段と、前記更新手段により更新された前記所在を特定する情報を用いて、各条件に対応して同時に操作すべきデータ群がいずれかのデータベースシステムに配置されるように再配置処理を行う再配置手段と、を備えることを特徴とする。
The data management system of the present invention that achieves the above object has the following configuration.
A first server device that receives processing requests for data groups managed by a plurality of database systems from a client device and executes data processing for the plurality of database systems, and a second server that operates the data groups of each database system A first data analysis system including a first analysis unit configured to analyze a condition set in a process request for a plurality of database systems received from the client device; The acquisition means for acquiring the information specifying the location of the data corresponding to the condition analyzed by the analysis means of any one of the data systems, and the data of each database system based on the specified information acquired by the acquisition means Execution means for executing data processing operations on the group, This database system is analyzed by the first management means for acquiring the condition history analyzed by the first analysis means from the first server device and managing it using the storage device, and by the first analysis means. And a second management unit that manages information for specifying the location of data corresponding to the condition in the storage device, and the second server device acquires the condition history managed by any database system Second analysis means for analyzing whether or not a plurality of data to be processed simultaneously corresponding to each condition is distributed and arranged in each database system using information for specifying the location, and each condition When a plurality of data to be processed simultaneously corresponding to the above are arranged in each database system in a distributed manner, based on the analysis result by the second analysis means, A data group to be operated simultaneously corresponding to each condition is arranged in any database system using update means for updating information for specifying presence and information for specifying the location updated by the update means. And rearrangement means for performing rearrangement processing as described above.
本発明によれば、一度に取得される可能性の高いデータを一つのデータベースシステムに配置できる。 According to the present invention, data that is highly likely to be acquired at a time can be arranged in one database system.
次に本発明を実施するための最良の形態について図面を参照して説明する。
<システム構成の説明>
〔第1実施形態〕
図1は、本実施形態を示すデータ管理システムの一例を示す図である。本例は、データベースシステムとWEBサーバとを接続し、クライアント装置(クライアントPC(以下、単にクライアントと呼ぶ))がクラウドコンピュータシステム環境下で情報を処理するシステム例である。なお、本実施形態にシステムは、複数のデータベースシステムで管理される所定のデータ群に対する処理の要求をクライアント装置から受け取り、複数のデータベースシステムにデータ処理を実行する第1のサーバ装置と、各データベースシステムのデータ群を操作する第2のサーバ装置とを含むデータ管理システムを例とする。ここで、データベースシステムは、後述するようにデータ群を記憶して管理するためのハードウエアとソフトウエアとを備える情報処理装置、あるいはサーバ装置として構築することが可能である。また、本実施形態に示す複数のサーバ装置とを識別するため、以下の説明ではデータベースシステムとしてデータ管理処理を説明する。
Next, the best mode for carrying out the present invention will be described with reference to the drawings.
<Description of system configuration>
[First Embodiment]
FIG. 1 is a diagram illustrating an example of a data management system according to the present embodiment. In this example, a database system and a WEB server are connected to each other, and a client device (client PC (hereinafter simply referred to as a client)) processes information in a cloud computer system environment. The system according to the present embodiment receives a request for processing for a predetermined data group managed by a plurality of database systems from a client device, and executes data processing for the plurality of database systems, and each database. A data management system including a second server device that operates a data group of the system is taken as an example. Here, the database system can be constructed as an information processing apparatus or a server apparatus including hardware and software for storing and managing a data group as will be described later. In addition, in order to identify the plurality of server apparatuses shown in the present embodiment, the following description will be made of data management processing as a database system.
図1において、クライアント1、WEBサーバ2、Batchサーバ3、およびデータベースシステム4、5は、CPU、RAM、ROM、HDD、やネットワーク部等から構成される一般的な計算機である。クライアント1は、ブラウザや専用のアプリケーションを用いて、ネットワーク6を介してクWEBサーバ2に接続される。WEBサーバ2は、HTTP等のプロトコルに準拠したWEBサービスがホストされている。このWEBサービスでは、クライアント1からのデータ取得に関するクエリ(例えば、項目Aの値が10よりも大きいデータを取得)を受付け、データベースシステム4,5から取得し、クライアント1に返却することが可能である。
In FIG. 1, a
図2は、図1に示したデータ管理システムの各機能を説明するブロック図である。以下、WEBサーバ2、Batchサーバ3の各処理部の機能を説明する。
まず、クWEBサーバ2の各処理部の機能について説明する。
図2において、リクエスト受信部21は、クライアント1からのリクエストを受け付ける。リクエスト受信部21は、クライアント1より発行されたリクエストに含まれるクエリの構文解析を行うために、クエリ記録部22にクエリを渡す。ここでいうリクエストとは、データ群に対して設定される削除、更新、作成といった、処理依頼である。また、クエリとは、例えば、「ある項目Aの値が10よりも大きい」といった処理対象のデータを限定するための条件を意味する。例えば、リクエストが削除で、クエリが前述のとおりのものであるとした場合、項目Aの値が、「10」よりも大きいデータだけが、データベースシステム4、5より削除されるという処理が実行される。
クエリ記録部22は、クエリを構文解析し、その結果を後述するデータベースシステム4のクエリ履歴テーブル41に記録する。接続情報取得部23は、クエリ記録部22からクエリの解析結果を受け取り、該クエリに該当するデータがデータベースシステム4、5のどこに格納されているかを示す所在を特定する情報を、後述する接続情報管理テーブル42から取得する。データ操作部24は、接続情報取得部23より受け取った接続情報を元に、データベースシステム4、5に接続し、リクエスト、およびクエリに従ってデータ処理操作を実行し、処理結果を、レスポンス送信部25に渡す。レスポンス送信部25は、処理結果をクライアント1に返却する。
FIG. 2 is a block diagram for explaining each function of the data management system shown in FIG. Hereinafter, functions of the processing units of the
First, the function of each processing unit of the
In FIG. 2, the
The
続いて、Batchサーバ3の各処理部の機能について説明する。
Batchサーバ3は、最適なデータ配置を実現するための各種処理を実施する為のサーバである。本実施形態においては、WEBサーバ2とBatchサーバ3が別のサーバとして表現されているが、これらは同一のサーバ内で動作していても問題ない。
Next, functions of each processing unit of the
The
まず、クエリ履歴取得部31は、クエリ記録部22が、クエリ履歴テーブル41に記録したクエリの履歴情報(条件履歴情報)を取得する。また、データ使用頻度解析部32は、クエリ履歴取得部31から渡された履歴の内容に基づき、各クエリに該当する現在のデータベースに存在するデータを求める。この結果、図3に示すような、各クエリ(q1(クエリ311)〜q6(クエリ316))に対して、いずれのデータ(d1(データ301)〜d6(データ306))が該当するかのマップが求められる。
例えば、図3においては、クエリq1(クエリ311)に該当するデータは、データd1(データ301)、およびd3(データ303)ということを意味する。
First, the query
For example, in FIG. 3, the data corresponding to the query q1 (query 311) means data d1 (data 301) and d3 (data 303).
次に、データグルーピング処理部33は、どのデータとどのデータが、1度のリクエストで処理される傾向が高いかを求める。具体的には、一般的なデータ解析手法である協調フィルタリング等の手法を用いて、図4に示すようなデータ間の相関係数を求める。
図4においては、例えば、データd1(データ401)と、データd2(データ412)の相関係数は0.1であり、データd1(データ401)と、データd3(データ413)の相関係数は0.8であることを表している。相関係数が高い方が、よりそれらのデータに関係があるということを表す。
この相関係数を元に、同時に処理されやすいデータが同一のデータベースシステムに配置されるようにグルーピング処理を行う。グルーピングの処理結果例を図5の(a)に示す。この例では、相関係数が0.7以上のものをグルーピングしている。図4の例では、データd1(データ401)との相関係数が0.7以上のものはデータd3(データ413)であるため、それらをグループ1(グループ501)にグルーピングする。グルーピング処理を行うことで、図5の(a)に示すグループ化したグルーピング結果が得られる。
Next, the data grouping processing
In FIG. 4, for example, the correlation coefficient between data d1 (data 401) and data d2 (data 412) is 0.1, and the correlation coefficient between data d1 (data 401) and data d3 (data 413). Represents 0.8. A higher correlation coefficient indicates that the data is more related.
Based on this correlation coefficient, grouping processing is performed so that data that can be processed simultaneously is arranged in the same database system. An example of grouping processing results is shown in FIG. In this example, those having a correlation coefficient of 0.7 or more are grouped. In the example of FIG. 4, data d3 (data 413) having a correlation coefficient of 0.7 or more with data d1 (data 401) is grouped into group 1 (group 501). By performing the grouping process, a grouped grouping result shown in FIG. 5A is obtained.
データ統合処理部34は、データグルーピング処理部33が作成したグループの統合処理を実施する。この処理では、同じデータを含む各グループを統合する。図5(a)の例では、データd3(データ5012)、(データ5022)は、グループ1(グループ501)、およびグループ2(502)の双方にグルーピングされている。そこで、このグループ1(グループ501)と、グループ2(グループ502)を統合する。この処理を行うことで、図5の(b)に示すようなグループが作成される。
The data integration processing unit 34 performs the group integration processing created by the data grouping processing
データ再統合処理部35は、データ統合処理部34が統合したグループを、データ数に応じて、更に統合する。具体的には、データ再統合処理部35は、事前に本システムに入力されていた分割数Nのグループ数となるように、データ統合処理部34が作成したグループを統合する。また、この時、N個のグループに含まれるデータ数が等しくなるように、データ数を考慮しながら、グループの統合を行う。例えば、Nを「2」とした時には、最終的に図5の(c)に示すようなグループが作成される。なお、Nの値は、例えば、データ量や、処理負荷などから、求めることを想定している。
The data
接続情報解析部36は、各データが、再統合処理で求められたグループに分配されるような条件(例えば、項目Aの値が「10」より大きいものは、グループ1(グループ521)、10以下のものは、グループ2(グループ522)といった条件)を求める。
具体的には、接続情報解析部36は、データ解析手法の一つである決定木等のアルゴリズムを用いて、各データが、再統合処理後のグループに分配される条件を求める。この時、この処理で求められる決定木の例を図6に示す。
図6に示される項目601〜605は、図2に示すデータテーブル43,51の項目に対応する。例えば、項目601のTimeStampの値が、2012/7/1以上(条件611)で、Total(small)(条件605)の値が、「50」以上(条件612)のものは、グループ1に分配される、ということを表す。
本実施形態においては、条件を求めるアルゴリズムとして、決定木を用いたが、ほかのアルゴリズムを用いて、条件を求めても問題ない。接続情報解析部36は、データを分配する条件を求めた後に、後述する接続情報管理テーブル42に条件を登録する。
図2において、データ再配置処理部37は、接続情報解析部36が求めた条件通りに、データベースシステム4,5のデータを、再配置する。
The connection
Specifically, the connection
In this embodiment, a decision tree is used as an algorithm for obtaining a condition. However, there is no problem even if a condition is obtained using another algorithm. After obtaining the conditions for distributing data, the connection
In FIG. 2, the data
最後に、データベースシステム4、5について説明する。
図2において、データベースシステム4は、クエリ履歴テーブル41、接続情報管理テーブル42、および一つ以上のデータテーブル43から構成される。また、データベースシステム5は、一つ以上のデータテーブル51から構成される。それぞれのテーブルについて、以下に説明する。
Finally, the
In FIG. 2, the
クエリ履歴テーブル41は、図7に示すように、各クエリに一意に振られたクエリID701毎に、データテーブル43、51の項目711〜718に対して、どのようなクエリがなされたかを管理するためのテーブルである。例えば、クエリIDq6(クエリ707)では、項目711がTenantID711で、T1と等しく、total1の値が「200」よりも大きいクエリであることを示す。テーブル中に記載されている「Eq」、「Gt」、「Lt」は、それぞれ「等しい」、「より大きい」、「未満」を意味する演算子である。演算子の種類は、これらだけに限定されたものではなく、どのような演算子であっても構わない。
As shown in FIG. 7, the query history table 41 manages what queries are made for the
次に、図8を用いて、接続情報管理テーブル42の説明をする。
まず図8の(a)には、本システムによりデータの再配置が行われる前の、接続情報管理テーブル42を示す。
接続情報管理テーブル42は、クライアント1から発行されたリクエストに含まれるクエリを元に、そのクエリに該当するデータがどのデータベースシステムに保持されているかを判別するためのデータが保持されるテーブルである。
接続情報管理テーブル42は、データテーブル43の項目と同数のカラム801〜808、および、データベースシステムへの接続情報を示すカラム809から構成される。本発明を実施する前には、図8の(a)に示すように、本テーブルには1行だけのデータが登録されており、また、全ての項目の値が「*」となっている。「*」は「条件を問わない」を意味する。例えば、クライアント1から発行されるクエリにおいて、TenantIDに対する条件が記載されていたとしても、それらは考慮されず、接続情報811を用いて、データベースシステムを選択する、ということを意味する。
Next, the connection information management table 42 will be described with reference to FIG.
First, FIG. 8A shows the connection information management table 42 before data rearrangement is performed by this system.
The connection information management table 42 is a table that holds data for determining in which database system the data corresponding to the query is held based on the query included in the request issued from the
The connection information management table 42 is composed of the same number of
次に、図8の(b)を用いて、本発明を実施し、データの再配置を行った後の、接続情報管理テーブルの例を示す。
上述の通り、接続情報解析部36が求めた決定木から求められる条件が、本テーブルには登録される。例えば、条件812では、図6中の条件611、および612を表している。例えば、クライアント1から、TimeStampが2012/8/1より大きく、Total(small)の値が100以上のデータ取得に関するデータリクエストが来た場合には、接続情報取得部23は、図8の(b)のデータ812を取得する。
Next, an example of a connection information management table after implementing the present invention and rearranging data will be shown using FIG. 8B.
As described above, the conditions obtained from the decision tree obtained by the connection
最後に、データテーブル43の説明をする。
データテーブル43は、クエリ履歴テーブル41や、接続情報管理テーブル42といった管理用の情報が格納されるテーブルではなく、実際のデータを扱う為のテーブルである。分散データベースシステムの場合、図2に示すように、このテーブルのみが複数のデータベースシステムに、存在することになる。ユーザは、このテーブルのカラム(項目)毎に、前述したようなクエリを指定することが可能となる。
Finally, the data table 43 will be described.
The data table 43 is not a table storing management information such as the query history table 41 or the connection information management table 42, but a table for handling actual data. In the case of a distributed database system, as shown in FIG. 2, only this table exists in a plurality of database systems. The user can specify a query as described above for each column (item) of this table.
図9、図10を用いて、本実施形態におけるWEBサーバ2でのクライアント1からのリクエスト処理、およびBatchサーバ3での、データ再配置処理の処理フローについて説明する。
A processing flow of request processing from the
〔WEBサーバ2の処理〕
図9は、本実施形態を示すサーバ装置の制御方法を説明するフローチャートである。本例は、クライアント1からのリクエスト処理に関する処理例である。なお、各ステップは、WEBサーバ2のCPUが記憶装置に記憶された制御プログラム(図2に示したモジュール)を実行することで実現される。以下、制御主体を図2に示したモジュールとして説明する。
S901では、リクエスト受信部21は、クライアント1からのリクエストを受け付け、リクエスト内容を、クエリ記録部22に渡す。S902では、クエリ記録部22は、渡されたリクエストにクエリが含まれるか否かを判断する。クエリが含まれていると、クエリ記録部22が判断した場合には、S903に遷移し、含まれていないと、クエリ記録部22が判断した場合には、S905に遷移する。
S903では、クエリ記録部22は、渡されたクエリに対して構文解析し、各データ項目に対して、どのような条件や、どのような演算子が用いられているかを求める。S904では、クエリ記録部22は、クエリ履歴テーブル41に、解析結果を記録する。
[Process of WEB server 2]
FIG. 9 is a flowchart for explaining a control method of the server apparatus according to the present embodiment. This example is a processing example related to processing of a request from the
In S <b> 901, the
In S903, the
S905では、接続情報取得部23は、接続情報管理テーブル42より接続情報を取得し、S903で構文解析されたクエリの条件を元に、該クエリに該当するデータがどのデータベースシステムに保持されているかを判別する。そして、得られたデータベースシステムへの接続情報を、データ操作部24に渡す。
In S905, the connection information acquisition unit 23 acquires connection information from the connection information management table 42, and which database system holds data corresponding to the query based on the query condition parsed in S903. Is determined. Then, the obtained connection information to the database system is passed to the
S906では、データ操作部24は、渡された接続情報を元に、データベースシステムに接続し、リクエスト、クエリに応じた処理を実行する。その処理結果をレスポンス送信部25に渡す。S907では、レスポンス送信部25は、処理結果を、クライアント1に返却する。
In S906, the
以上、S901〜S907までの処理を行うことで、クライアントから発行されたリクエスト、およびクエリに応じた処理を実行した上で、そのクエリの内容を、クエリ履歴テーブル41に記録することが可能となる。 As described above, by performing the processing from S901 to S907, it is possible to record the contents of the query in the query history table 41 after executing the processing issued according to the request issued from the client and the query. .
〔Batchサーバ3の処理〕
図10は、本実施形態を示すサーバ装置の制御方法を説明するフローチャートである。本例は、Batchサーバ3がデータ再配置を実行するときのいずれかのグループに関連づけるグループ統合処理例である。なお、各ステップは、Batchサーバ3のCPUが記憶装置に記憶された制御プログラム(図2に示したモジュール)を実行することで実現される。以下、制御主体を図2に示したモジュールとして説明する。また、本フローが実施される前に、本データ管理システムに対して、分割数N、および相関係数のしきい値が入力されているものとする。
S1001では、クエリ履歴取得部31は、クエリ履歴テーブル41からクエリ履歴群を取得する。
S1002では、データ使用頻度解析部32は、S1001で取得した履歴群から一つのクエリを取得し、該クエリに該当するデータを求める。
[Process of Batch Server 3]
FIG. 10 is a flowchart for explaining a control method of the server apparatus according to the present embodiment. This example is a group integration process example associated with any group when the
In S <b> 1001, the query
In S1002, the data usage
S1003では、データ使用頻度解析部32は、S1001で取得したクエリ履歴群の全てに対してS1002の処理を実行したか否かを確認し、全てに対して処理をしている場合には、S1004に遷移し、処理をしていない場合には、S1002に遷移する。
In S1003, the data usage
S1004では、データグルーピング処理部は、S1002、およびS1003の処理結果に対して、協調フィルタリングなどのアルゴリズムを用いて、各データの相関係数を求める。この処理を実行することで、図4に示すような、データ間の相関係数が格納されたマップを得ることが可能となる。 In S1004, the data grouping processing unit obtains the correlation coefficient of each data using an algorithm such as collaborative filtering for the processing results of S1002 and S1003. By executing this processing, it is possible to obtain a map storing correlation coefficients between data as shown in FIG.
S1005では、データグルーピング処理部は、S1004で得られたマップから、任意の1データを選択し、そのデータとの相関係数が、予め定められたしきい値以上のデータを検出し、そのデータをグルーピングする。 In S1005, the data grouping processing unit selects one arbitrary data from the map obtained in S1004, detects data whose correlation coefficient with the data is equal to or greater than a predetermined threshold, and the data Group.
S1006では、グルーピング処理部は、S1005の処理を、S1004で求められたマップに含まれる全てのデータに対して実施したか否かを判断する。すべてのデータに対して実施した場合には、S1007に遷移し、実施していない場合には、S1005に遷移する。S1005〜S1006までの処理を実施することで、図5の(a)に示すようなグルーピング結果が完成する。
S1007では、データ統合処理部34は、データグルーピング処理部33が求めたグループの中から任意の1つグループを選択する。S1008では、データ統合処理部34は、S1007で選択したグループの中から任意の1データを選択する。
In S1006, the grouping processing unit determines whether or not the processing in S1005 has been performed on all data included in the map obtained in S1004. If it has been performed on all data, the process proceeds to S1007, and if not, the process proceeds to S1005. By performing the processing from S1005 to S1006, a grouping result as shown in FIG. 5A is completed.
In S1007, the data integration processing unit 34 selects an arbitrary group from the groups obtained by the data grouping processing
S1009では、データ統合処理部34は、S1008で選択したデータを含むグループが、S1007で選択したグループ以外に存在するか否かを検索する。ここで、存在するとデータ統合処理部34が判断した場合には、S1010に遷移し、存在しないとデータ統合処理部34が判断した場合には、S1011に遷移する。
S1010では、データ統合処理部34は、S1009で検出したグループと、S1007で選択したグループを統合する。
In S1009, the data integration processing unit 34 searches for a group including the data selected in S1008 other than the group selected in S1007. If the data integration processing unit 34 determines that it exists, the process proceeds to S1010. If the data integration processing unit 34 determines that it does not exist, the process proceeds to S1011.
In S1010, the data integration processing unit 34 integrates the group detected in S1009 and the group selected in S1007.
S1011では、データ統合処理部34は、S1007で選択したグループに存在する全データに対して、S1008〜S1010の処理を実施したか否かを確認する。実施した場合には、S1012に遷移し、実施していない場合には、S1008に遷移する。 In S1011, the data integration processing unit 34 confirms whether or not the processing of S1008 to S1010 has been performed on all data existing in the group selected in S1007. If so, the process proceeds to S1012. If not, the process proceeds to S1008.
S1012では、データ統合処理部34は、データグルーピング処理部33が求めた全グループに対して、S1007〜S1011の処理を実施したか否かを確認する。実施した場合には、S1013に遷移し、実施していない場合には、S1007に遷移する。S1007〜S1012までの処理を実施することで、図5の(b)に示すようなグルーピング結果が完成する。
S1013では、データ再統合処理部35は、データ統合処理部34が求めた全グループの中から、含まれるデータ数が多いグループから順にN個のグループを選択する。
In S1012, the data integration processing unit 34 checks whether or not the processing of S1007 to S1011 has been performed on all the groups obtained by the data grouping processing
In step S <b> 1013, the data
S1014では、データ再統合処理部35は、データ統合処理部34が求めた全グループに含まれ、かつ、S1013で選択したグループではないグループの中から、最もデータ数が多いグループを選択する。
S1015では、データ再統合処理部35は、S1013で選択したN個のグループに含まれるデータ数を比較する。S1016では、データ再統合処理部35は、S1015で比較した結果から、最もデータ数が少ないグループを選択し、そのグループとS1014で求めたグループを統合する。
In S1014, the data
In S1015, the data
S1017では、データ再統合処理部35は、データ統合処理部34が求めた全グループに対して、S1014〜S1016の処理を行ったか否かを判断する。処理を実施しているとデータ再統合処理部35が判断した場合には、S1018に遷移し、実施していないとデータ再統合処理部35が判断した場合には、S1014に遷移する。S1013〜S1017の処理を行うことで、図5の(c)に示すようなグルーピング結果が完成する。
In S1017, the data
S1018では、接続情報解析部36は、S1013〜S1017の処理で求められた再統合後のグループに含まれるデータが、それぞれ再統合後のグループに分類されるような決定木を求める。この処理を行うことで、図6に示すような決定木が完成する。
In S1018, the connection
S1019では、接続情報解析部36は、S1018で得られた決定木を元に、接続情報管理テーブル42を更新する。これにより、図8の(b)に示すような接続情報管理テーブルが完成する。S1020では、データ再配置処理部37は、S1019で得られた接続情報管理テーブルを元に、データをデータベースシステム4、5に再配置する。
以上、S1001〜S1020までの処理を実施することで、同時に使用される傾向の高いデータがひとつのデータベースシステムにまとまるようなデータの配置を実現することが可能となる。
〔第2実施形態〕
本発明に係る第2実施形態について説明する。以下構成に関しては第1実施形態と異なる点についてのみ説明する。
In S1019, the connection
As described above, by performing the processing from S1001 to S1020, it is possible to realize data arrangement such that data that are likely to be used at the same time are collected in one database system.
[Second Embodiment]
A second embodiment according to the present invention will be described. Only the differences from the first embodiment will be described below with respect to the configuration.
第1実施形態において、データグルーピング処理部33が、グルーピング処理を行った場合に、例えば、図11の(a)に示すように、各グループに含まれるデータ数に大きな偏りが発生する場合がある。この時、統合処理、および再統合処理(分割数は2とする)を順に実施すると、図11の(b)に示すように、最終的に作成されるグループに含まれるデータ数にも大きな偏りが発生する。
In the first embodiment, when the data
上記の説明の具体的な例を、以下に述べる。例えば、クライアント1が操作可能なデータが、そのクライアント1が属する組織(テナント)に紐づくデータのみとされるような制限をもつシステムに対して、本発明の実施例1が適用された場合を想定する。ここで、この「自分が属するテナントのデータのみ操作可能」という制限を実現するためには、リクエスト受信部21が、「tenantID eq 'XXX'」といったクエリ文字列を、自動的に付与することが考えられる。このXXXはクライアント1が属するテナントを示すID(テナントID)とし、このIDはリクエスト受信部21が、クライアント1の認証情報を元に求めて、クエリに付与する。このように、テナントIDをシステム側で自動、かつ強制的に付与することで、クライアント1が操作するテナントのデータを自身が属するテナントに限定することが可能となる。
Specific examples of the above description will be described below. For example, a case where the first embodiment of the present invention is applied to a system having a restriction that data that can be operated by the
このようなクエリを、リクエスト受信部21が付与した場合、クエリ履歴テーブル41には、必ず「tenantID」に関する条件が記録される。このように、「tenantID」が必ず記録されたクエリ履歴テーブル41を元に、グルーピング処理を行った場合、テナントIDが等しいデータがグルーピングされやすくなる。この時、テナント毎に保持されるデータ数が大きく異なる場合、前期グルーピングの結果、作成される各グループに含まれるデータ数にも大きく差が生まれる。
When such a query is given by the
一般的に、検索や削除等の処理のパフォーマンスに影響を大きく与えるファクターの一つとして、そのデータベースシステムに保持されているデータの総数があげられる。総数が多ければ多いほど、検索や削除にかかる時間は増加する。そのため、複数のデータベースシステム間で、それぞれのデータベースシステムが保持するデータ数に偏りがある場合、操作対象のデータベースシステムの違いによって、著しくパフォーマンスが劣化することになる。これは、ユーザーエクスペリエンスの低下につながる。一般的には、どういった状況においても、同等のパフォーマンスを持って、ユーザにシステムを提供することが重要とされる。これらの理由から、分散データベースシステムにおいて、各データベースシステムに保持されるデータ数が偏りなく、均等に配置されていることが重要となる。 In general, one factor that greatly affects the performance of processing such as search and deletion is the total number of data held in the database system. The larger the total number, the longer it takes to search and delete. Therefore, when there is a bias in the number of data held by each database system among a plurality of database systems, the performance is significantly degraded due to the difference in the database system to be operated. This leads to a poor user experience. In general, in any situation, it is important to provide a system to users with equivalent performance. For these reasons, in the distributed database system, it is important that the number of data held in each database system is evenly arranged without being biased.
そこで、第2実施形態においては、同時に使用される傾向の高いデータ同士を、一つのデータベースシステムにまとめつつも、各データベースシステムが保持するデータ数の差を是正することを目的とする。
上記の具体例の場合、グルーピング処理結果の各グループに含まれるデータ数を比較し、著しくデータ数に著しい差がある場合には、そのグループに含まれるデータに共通する条件、上記例の場合だとテナントID、を削除し、再度グルーピング処理を行う。このようにすることで、リクエストに必ず付与される条件が存在しており、それが原因となり、データ数に差が発生するような場合にも、そのデータ数の差を是正した再配置処理が可能となる。
Therefore, in the second embodiment, an object is to correct the difference in the number of data held by each database system while collecting the data that are likely to be used at the same time into one database system.
In the case of the above specific example, the number of data included in each group of the grouping processing result is compared, and when there is a significant difference in the number of data, the conditions common to the data included in the group are the case of the above example. And the tenant ID are deleted, and the grouping process is performed again. By doing this, there is a condition that must be given to the request, and even if there is a difference in the number of data due to that condition, relocation processing that corrects the difference in the number of data is performed. It becomes possible.
〔Batchサーバ3の処理〕
図12は、本実施形態を示すサーバ装置の制御方法を説明するフローチャートである。本例は、Batchサーバ3がデータ再配置を実行するときの処理例である。なお、各ステップは、Batchサーバ3のCPUが記憶装置に記憶された制御プログラム(図2に示したモジュール)を実行することで実現される。以下、制御主体を図2に示したモジュールとして説明する。また、本フローが実施される前に、本データ管理システムに対して、しきい値αが何らかの手段で入力されているものとする。
[Process of Batch Server 3]
FIG. 12 is a flowchart for explaining a control method of the server apparatus according to the present embodiment. This example is a processing example when the
本実施例における、データ数の偏りの是正処理は、図12のS1201〜S1205までの処理で実現される。これらの処理は、図10で示したS1006と、S1007の間にて、データグルーピング処理部33によって実施される。S1001〜S1006、およびS1007〜S1020の処理は、前述したものと違いはないため、説明を割愛する。
S1201では、データグルーピング処理部33は、全データベースシステム内に存在するデータ数を算出する。この全データ数をAという変数で定義する。S1202では、データグルーピング処理部33は、均等にデータがN個のデータベースシステムに分散した時のデータ数A/Nを求める。
In the present embodiment, the correction processing for the deviation in the number of data is realized by the processing from S1201 to S1205 in FIG. These processes are performed by the data grouping processing
In S1201, the data grouping processing
S1203では、データグルーピング処理部33は、S1202で求めたA/Nにしきい値αをかけた値以上のデータ数を持つグループが、S1005〜S1006で得られるグループに存在するかを求める。この処理の目的は、均等にデータが分散された状態(各グループにA/N個ずつデータが存在する)から、大幅に外れたデータ数を持つグループが存在するか否か求めることである。大幅に外れたデータ数を持つグループが存在するとデータグルーピング処理部33が判断した場合には、S1204に遷移し、しないとデータグルーピング処理部33が判断した場合には、S1007に遷移する。
In S1203, the data grouping processing
S1204では、データグルーピング処理部33は、S1203で求められたグループに含まれる全データに共通して発行されているクエリが存在するか否かを、S1001で取得したクエリ履歴群より求める。共通する条件があるとデータグルーピング処理部33が判断した場合には、データグルーピング処理部33は、S1205に遷移し、存在しないとデータグルーピング処理部33が判断した場合には、S1007に遷移する。
S1205では、データグルーピング処理部33は、S1204で求めた条件を、S1001で取得したクエリ履歴群から削除し、S1002に遷移する。
以上、S1201〜S1205の処理を実施することで、データ数の偏りを是正することが可能となる。
In S1204, the data grouping processing
In S1205, the data grouping processing
As described above, by performing the processing of S1201 to S1205, it is possible to correct the deviation in the number of data.
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア(プログラム)をパソコン(コンピュータ)等の処理装置(CPU、プロセッサ)にて実行することでも実現できる。 Each process of the present invention can also be realized by executing software (program) acquired via a network or various storage media by a processing device (CPU, processor) such as a personal computer (computer).
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。 The present invention is not limited to the above embodiment, and various modifications (including organic combinations of the embodiments) are possible based on the spirit of the present invention, and these are excluded from the scope of the present invention. is not.
101 コンピュータ
105 プリントデバイス
302 印刷管理装置
304 機器情報管理装置
101 Computer 105
Claims (8)
前記第1のサーバ装置は、
前記クライアント装置から受け取る複数のデータベースシステムに対する処理の要求に設定される条件を解析する第1の解析手段と、
前記第1の解析手段により解析された条件に対応するデータの所在を特定する情報をいずれかのデータベースシステムから取得する取得手段と、
前記取得手段が取得した前記特定する情報に基づいて、各データベースシステムのデータ群に対してデータ処理操作を実行する実行手段と、を備え、
いずれかのデータベースシステムは、
前記第1の解析手段が解析した条件履歴を前記第1のサーバ装置から取得して記憶装置を用いて管理する第1の管理手段と、
前記第1の解析手段により解析された条件に対応するデータの所在を特定する情報を前記記憶装置で管理する第2の管理手段と、を備え、
前記第2のサーバ装置は、
いずれかのデータベースシステムが管理する前記条件履歴を取得して各条件に対応して同時に処理されるべき複数のデータが各データベースシステムに分散して配置されているかどうかについて前記所在を特定する情報を用いて解析する第2の解析手段と、
各条件に対応して同時に処理されるべき複数のデータが各データベースシステムに分散して配置されている場合、前記第2の解析手段による解析結果に基づいて前記所在を特定する情報を更新する更新手段と、
前記更新手段により更新された前記所在を特定する情報を用いて、各条件に対応して同時に操作すべきデータ群がいずれかのデータベースシステムに配置されるように再配置処理を行う再配置手段と、を備えることを特徴とするデータ管理システム。 A first server device that receives processing requests for data groups managed by a plurality of database systems from a client device and executes data processing for the plurality of database systems, and a second server that operates the data groups of each database system A data management system including a device,
The first server device is
First analysis means for analyzing conditions set in processing requests for a plurality of database systems received from the client device;
Obtaining means for obtaining information identifying the location of data corresponding to the condition analyzed by the first analyzing means from any database system;
An execution means for executing a data processing operation on a data group of each database system based on the information to be specified acquired by the acquisition means;
One of the database systems
First management means for acquiring a condition history analyzed by the first analysis means from the first server device and managing the condition history using a storage device;
And second management means for managing information specifying the location of data corresponding to the condition analyzed by the first analysis means in the storage device,
The second server device is
Information for identifying the location as to whether or not a plurality of data to be processed simultaneously corresponding to each condition is distributed and arranged in each database system by acquiring the condition history managed by any database system Second analysis means for analyzing using,
Update to update the information specifying the location based on the analysis result by the second analysis means when a plurality of data to be processed simultaneously corresponding to each condition is distributed in each database system Means,
Relocation means for performing relocation processing so that a data group to be operated simultaneously corresponding to each condition is arranged in any database system using the information specifying the location updated by the update means; A data management system comprising:
いずれかのデータベースシステムから取得する前記所在を特定する情報を用いて各条件で同時に操作される各データの相関係数を求める演算手段と、
前記演算手段が演算した相関係数の値から各データをグループ化するグルーピング手段と、
特定のグループから選択されるデータに関連づけられるグループを1つのグループに統合する統合手段と、を備えることを特徴とする請求項1記載のデータ管理システム。 The second analyzing means includes
Calculation means for obtaining a correlation coefficient of each data operated simultaneously under each condition using information for specifying the location acquired from any database system;
Grouping means for grouping each data from the value of the correlation coefficient calculated by the calculation means;
The data management system according to claim 1, further comprising an integration unit that integrates groups associated with data selected from the specific group into one group.
前記再配置手段により再配置されたデータ群がいずれかのデータベースシステムに偏って配置されているかどうかを判断する第1の判断手段と、
前記データ群がいずれかのデータベースシステムに偏って配置されていると判断した場合、グループ化されたデータ群に共通する条件が存在するかどうかを判断する第2の判断手段と、
グループ化されたデータ群に共通する条件が存在すると判断した場合、前記条件履歴から削除する削除手段と、
を備えることを特徴とする請求項1記載のデータ管理システム。 The second server device is
First determination means for determining whether the data group rearranged by the rearrangement means is biased in any database system;
A second determination means for determining whether or not a condition common to the grouped data group exists when it is determined that the data group is biased in any database system;
When it is determined that a condition common to the grouped data group exists, a deletion unit for deleting from the condition history,
The data management system according to claim 1, further comprising:
前記クライアント装置から受け取る複数のデータベースシステムに対する処理の要求に設定される条件を解析する第1の解析手段と、
前記第1の解析手段により解析された条件に対応するデータの所在を特定する情報をいずれかのデータベースシステムから取得する取得手段と、
前記取得手段が取得した前記特定する情報に基づいて、各データベースシステムのデータ群に対してデータ処理操作を実行する実行手段と、を備えることを特徴とするサーバ装置。 A server device that receives processing requests for data groups managed by a plurality of database systems from a client device, and executes data processing for a plurality of database systems,
First analysis means for analyzing conditions set in processing requests for a plurality of database systems received from the client device;
Obtaining means for obtaining information identifying the location of data corresponding to the condition analyzed by the first analyzing means from any database system;
An execution unit that executes a data processing operation on a data group of each database system based on the specified information acquired by the acquisition unit.
いずれかのデータベースシステムが管理する条件履歴情報を取得して各条件に対応して同時に処理されるべき複数のデータが各データベースシステムに分散して配置されているかどうかについて所在を特定する情報を用いて解析する第2の解析手段と、
各条件に対応して同時に処理されるべき複数のデータが各データベースシステムに分散して配置されている場合、前記第2の解析手段による解析結果に基づいて前記所在を特定する情報を更新する更新手段と、
前記更新手段により更新された前記所在を特定する情報を用いて、各条件に対応して同時に操作すべきデータ群がいずれかのデータベースに配置されるように再配置処理を行う再配置手段と、を備えることを特徴とするサーバ装置。 A server device that operates a data group of a plurality of database systems for storing and managing a predetermined data group,
Uses information that identifies the location of whether or not a plurality of data that should be processed simultaneously corresponding to each condition is distributed and arranged in each database system by acquiring condition history information managed by any database system Second analysis means for analyzing
Update to update the information specifying the location based on the analysis result by the second analysis means when a plurality of data to be processed simultaneously corresponding to each condition is distributed in each database system Means,
Relocation means for performing relocation processing so that a data group to be operated simultaneously corresponding to each condition is arranged in any database using the information specifying the location updated by the update means; A server device comprising:
前記クライアント装置から受け取る複数のデータベースシステムに対する処理の要求に設定される条件を解析する第1の解析工程と、
前記第1の解析工程により解析された条件に対応するデータの所在を特定する情報をいずれかのデータベースシステムから取得する取得工程と、
前記取得工程が取得した前記特定する情報に基づいて、各データベースシステムのデータ群に対してデータ処理操作を実行する実行工程と、を備えることを特徴とするサーバ装置の制御方法。 A method of controlling a server device that receives a request for processing for a data group managed by a plurality of database systems from a client device and executes data processing on the plurality of database systems,
A first analysis step of analyzing conditions set in processing requests for a plurality of database systems received from the client device;
An acquisition step of acquiring information specifying the location of data corresponding to the condition analyzed by the first analysis step from any database system;
An execution step of executing a data processing operation on a data group of each database system based on the specified information acquired by the acquisition step.
いずれかのデータベースシステムが管理する条件履歴情報を取得して各条件に対応して同時に処理されるべき複数のデータが各データベースシステムに分散して配置されているかどうかについて所在を特定する情報を用いて解析する第2の解析工程と、
各条件に対応して同時に処理されるべき複数のデータが各データベースシステムに分散して配置されている場合、前記第2の解析工程による解析結果に基づいて前記所在を特定する情報を更新する更新工程と、
前記更新工程により更新された前記所在を特定する情報を用いて、各条件に対応して同時に操作すべきデータ群がいずれかのデータベースシステムに配置されるように再配置処理を行う再配置工程と、を備えることを特徴とするサーバ装置の制御方法。 A control method for a server device that operates a data group of a plurality of database systems that stores and manages a predetermined data group,
Uses information that identifies the location of whether or not a plurality of data that should be processed simultaneously corresponding to each condition is distributed and arranged in each database system by acquiring condition history information managed by any database system A second analysis step to analyze,
An update for updating the information specifying the location based on the analysis result of the second analysis step when a plurality of data to be processed simultaneously corresponding to each condition is distributed in each database system Process,
A relocation step for performing a relocation process so that a data group to be operated simultaneously corresponding to each condition is arranged in any database system using the information specifying the location updated in the update step; A control method for a server device, comprising:
A program for causing a computer to function as each means according to claim 4 or 5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013265095A JP2015121924A (en) | 2013-12-24 | 2013-12-24 | Data management system, server device, control method of server device, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013265095A JP2015121924A (en) | 2013-12-24 | 2013-12-24 | Data management system, server device, control method of server device, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015121924A true JP2015121924A (en) | 2015-07-02 |
Family
ID=53533488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013265095A Pending JP2015121924A (en) | 2013-12-24 | 2013-12-24 | Data management system, server device, control method of server device, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015121924A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018036952A (en) * | 2016-09-01 | 2018-03-08 | 日本電信電話株式会社 | Distribution device and distribution method |
JP2019528489A (en) * | 2016-08-03 | 2019-10-10 | オラクル・インターナショナル・コーポレイション | System and method for providing tenant dynamic relocation in a multi-tenant database environment |
-
2013
- 2013-12-24 JP JP2013265095A patent/JP2015121924A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019528489A (en) * | 2016-08-03 | 2019-10-10 | オラクル・インターナショナル・コーポレイション | System and method for providing tenant dynamic relocation in a multi-tenant database environment |
JP7023845B2 (en) | 2016-08-03 | 2022-02-22 | オラクル・インターナショナル・コーポレイション | Systems and methods to provide dynamic tenant relocation in a multi-tenant database environment |
JP2022070941A (en) * | 2016-08-03 | 2022-05-13 | オラクル・インターナショナル・コーポレイション | System and method for providing dynamic relocation of tenants in multi-tenant database environment |
JP7336554B2 (en) | 2016-08-03 | 2023-08-31 | オラクル・インターナショナル・コーポレイション | Systems and methods for providing dynamic relocation of tenants in a multitenant database environment |
JP2018036952A (en) * | 2016-09-01 | 2018-03-08 | 日本電信電話株式会社 | Distribution device and distribution method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11500875B2 (en) | Multi-partitioning for combination operations | |
US11151137B2 (en) | Multi-partition operation in combination operations | |
JP6542785B2 (en) | Implementation of semi-structured data as first class database element | |
US11409756B1 (en) | Creating and communicating data analyses using data visualization pipelines | |
US8560569B2 (en) | Method and apparatus for performing bulk file system attribute retrieval | |
JP5203733B2 (en) | Coordinator server, data allocation method and program | |
US20130066869A1 (en) | Computer system, method of managing a client computer, and storage medium | |
US11726959B2 (en) | Data pruning based on metadata | |
US9043327B1 (en) | Performing flexible pivot querying of monitoring data using a multi-tenant monitoring system | |
US11573971B1 (en) | Search and data analysis collaboration system | |
CN113474764A (en) | Sharing streams on database objects | |
US20200372071A1 (en) | Efficient and scalable time-series data storage and retrieval over a network | |
AU2021244852B2 (en) | Offloading statistics collection | |
US11216421B2 (en) | Extensible streams for operations on external systems | |
US9817864B1 (en) | Flexible pivot querying of monitoring data with zero setup | |
JP2015121924A (en) | Data management system, server device, control method of server device, and program | |
EP4187402A1 (en) | Replication of account security features in multiple deployment database | |
CN116800596A (en) | Log lossless compression analysis method and system | |
US9104392B1 (en) | Multitenant monitoring system storing monitoring data supporting flexible pivot querying | |
US11922222B1 (en) | Generating a modified component for a data intake and query system using an isolated execution environment image | |
JP6193491B2 (en) | Computer system | |
US11409755B2 (en) | Asynchronous search of electronic assets via a distributed search engine | |
US12001428B2 (en) | Build-side skew handling for hash-partitioning hash joins | |
US11734451B1 (en) | Secure continuous compliance enforcement on a data exchange system | |
US11921716B1 (en) | Inexact timestamp range matching join for time series data (AS OF JOIN) |