JP7119411B2 - DATABASE DEVICE, DATA MANAGEMENT METHOD AND COMPUTER PROGRAM - Google Patents

DATABASE DEVICE, DATA MANAGEMENT METHOD AND COMPUTER PROGRAM Download PDF

Info

Publication number
JP7119411B2
JP7119411B2 JP2018026175A JP2018026175A JP7119411B2 JP 7119411 B2 JP7119411 B2 JP 7119411B2 JP 2018026175 A JP2018026175 A JP 2018026175A JP 2018026175 A JP2018026175 A JP 2018026175A JP 7119411 B2 JP7119411 B2 JP 7119411B2
Authority
JP
Japan
Prior art keywords
query
trend
inquiry
database
tables
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
JP2018026175A
Other languages
Japanese (ja)
Other versions
JP2019144679A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2018026175A priority Critical patent/JP7119411B2/en
Publication of JP2019144679A publication Critical patent/JP2019144679A/en
Application granted granted Critical
Publication of JP7119411B2 publication Critical patent/JP7119411B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本開示は、データベース装置等に関する。 The present disclosure relates to a database device and the like.

多様なデータを管理するために、データベースなどのデータ管理システムが用いられている。データベースに関連して、例えば、以下のような技術が知られている。 Data management systems such as databases are used to manage various data. In relation to databases, for example, the following techniques are known.

例えば、特許文献1には、複数のテーブルを含むデータベースにおいて、各テーブルからカラムを選択してカラム対を特定し、カラム対のうち、一方のカラムが他方のカラムの外部キーであるか否かを推定する技術が記載されている。特許文献2には、データベースに蓄積されたデータを用いてデータマイニングを実行する際に、データベースへのアクセス処理を解析し、同じアトミックな論理作業単位に関連するカラムの組合せを、分析対象として生成する技術が記載されている。特許文献3には、データベースへの問合せ文におけるカラムの出現位置に得点を付与し、その得点を統計処理することで、予め設定されたルールにとって有用なカラムを特定する技術が記載されている。 For example, in Patent Document 1, in a database that includes a plurality of tables, columns are selected from each table to identify column pairs, and one column in the column pair is a foreign key of the other column. A technique for estimating is described. In Patent Document 2, when executing data mining using data accumulated in a database, access processing to the database is analyzed, and a combination of columns related to the same atomic logical work unit is generated as an analysis target. technology is described. Patent Literature 3 describes a technique for identifying useful columns for a preset rule by assigning scores to the positions of appearance of columns in a query statement to a database and statistically processing the scores.

特開2014-186488号公報JP 2014-186488 A 特開2013-125429号公報JP 2013-125429 A 特許第3006525号公報Japanese Patent No. 3006525

データベースには、多様なデータが格納されることがあり、データベースに登録されたデータを組み合わせることで新たな知見が得られることがある。一方、複数の利用者がデータベースにデータを格納する場合、各利用者がデータベースに格納されたデータの全容や、データの構造を把握することは難しい可能性がある。この場合、例えば、データベースに登録されたデータやその組合せを利用して、利用者がデータ分析を実行することが容易ではない、という問題がある。 Various data may be stored in the database, and new knowledge may be obtained by combining the data registered in the database. On the other hand, when a plurality of users store data in the database, it may be difficult for each user to grasp the entirety of the data stored in the database and the structure of the data. In this case, for example, there is a problem that it is not easy for the user to perform data analysis using data registered in the database or a combination thereof.

これに対して、特許文献1、特許文献2に記載された技術は、データベースへのアクセスを処理する何らかのプログラムを解析することで、データ間の関係を特定することを企図した技術であり、そのようなプログラムが予め与えられない状況に適用することはできない。また、特許文献3に記載された技術は、データベースに対する問合せに含まれるカラムの位置に基づいて、ドメイン知識としてのカラムを特定することを企図した技術であり、上記問題を解決可能な技術ではない。 On the other hand, the techniques described in Patent Literatures 1 and 2 are techniques intended to identify relationships between data by analyzing some program that processes access to a database. It cannot be applied to situations where such a program is not given in advance. In addition, the technology described in Patent Document 3 is a technology intended to identify a column as domain knowledge based on the position of the column included in the query to the database, and is not a technology that can solve the above problem. .

本開示にかかる技術は、上記のような事情を鑑みて開発されたものである。即ち、本開示の目的の一つは、利用者がデータ分析をより効率的に実行することを可能とする技術を提供することにある。 The technology according to the present disclosure has been developed in view of the circumstances as described above. That is, one of the objects of the present disclosure is to provide a technology that enables users to perform data analysis more efficiently.

上記目的を達成すべく、本開示の1態様にかかるデータベース装置は、以下のように構成される。即ち、本開示の1態様にかかるデータベース装置は、データを記憶するテーブルを有するデータ記憶部に関する問合せを受け付ける問合せ処理部と、問合せ処理部が受け付けた問合せに関連するテーブルへのアクセスの傾向を表すモデルを記憶する傾向記憶部と、問合せ処理部が受け付けた他の問合せに関連するテーブルと、傾向記憶部に記憶されたモデルとに基づいて、当該他の問合せに関連して実行可能な操作を提案する傾向判断部と、を備えるよう構成される。 In order to achieve the above object, a database device according to one aspect of the present disclosure is configured as follows. That is, a database device according to an aspect of the present disclosure includes an inquiry processing unit that receives an inquiry about a data storage unit that has a table that stores data, and a tendency of access to the table related to the inquiry received by the inquiry processing unit. Based on a trend storage unit that stores models, a table related to other queries received by the query processing unit, and models stored in the trend storage unit, an executable operation related to the other query is performed. and a proposing trend determination unit.

本開示の他の1態様にかかるデータ管理方法は、データを記憶するテーブルを有するデータベースに関する問合せを受け付け、受け付けた問合せに関連するテーブルへのアクセスの傾向を表すモデルを記憶し、他の問合せに関連するテーブルと、記憶されたモデルとに基づいて、当該他の問合せに関連して実行可能な操作を提案することを含む。 A data management method according to another aspect of the present disclosure receives a query about a database having a table that stores data, stores a model representing the trend of access to a table related to the received query, and responds to another query. Suggesting actions that can be performed in relation to the other query based on the relevant tables and the stored model.

また、同目的は、上記構成を有するデータベース装置、データ管理方法等をコンピュータによって実現するコンピュータ・プログラム(データ管理プログラム)、及び、そのコンピュータ・プログラムが格納されているコンピュータ読み取り可能な記録媒体等によっても達成される。 In addition, the same object is provided by a database device having the above configuration, a computer program (data management program) for realizing the data management method, etc. by a computer, and a computer-readable recording medium storing the computer program. is also achieved.

即ち、本開示の更に他の1態様にかかるデータ管理プログラムは、データを記憶するテーブルを有するデータベースに関する問合せを受け付ける問合せ処理と、受け付けた問合せに関連するテーブルへのアクセスの傾向を表すモデルを記憶する記憶処理と、他の問合せに関連するテーブルと、記憶されたモデルとに基づいて、当該他の問合せに関連して実行可能な操作を提案する傾向判断処理とを、データベース装置として機能するコンピュータに実行させる。また、本開示の1態様にかかる記録媒体には、上記したコンピュータ・プログラムが記録されてもよい。 That is, a data management program according to still another aspect of the present disclosure stores a query process for receiving a query about a database having a table storing data, and a model representing the tendency of access to the table related to the received query. a computer functioning as a database device, performing storage processing to store data, and trend judgment processing to propose executable operations in relation to other queries based on tables related to other queries and stored models. to execute. Further, the computer program described above may be recorded on a recording medium according to one aspect of the present disclosure.

本開示によれば、利用者がデータ分析をより効率的に実行することができる。 The present disclosure allows users to perform data analysis more efficiently.

図1は、本開示の第1実施形態にかかるデータベース装置の機能的な構成を例示するブロック図である。1 is a block diagram illustrating a functional configuration of a database device according to a first embodiment of the present disclosure; FIG. 図2は、本開示の第1実施形態にかかるデータベース装置の動作を例示するフローチャート(その1)である。FIG. 2 is a flowchart (Part 1) illustrating the operation of the database device according to the first embodiment of the present disclosure; 図3は、本開示の第1実施形態にかかるデータベース装置の動作を例示するフローチャート(その2)である。FIG. 3 is a flowchart (part 2) illustrating the operation of the database device according to the first embodiment of the present disclosure; 図4は、本開示の第1実施形態にかかるデータベース装置が問合せを処理する動作の具体例を示す説明図(その1)である。FIG. 4 is an explanatory diagram (part 1) showing a specific example of the operation of processing an inquiry by the database device according to the first embodiment of the present disclosure; 図5は、本開示の第1実施形態にかかるデータベース装置が問合せを処理する動作の具体例を示す説明図(その2)である。FIG. 5 is an explanatory diagram (part 2) showing a specific example of the operation of processing an inquiry by the database device according to the first embodiment of the present disclosure; 図6は、本開示の第1実施形態にかかるデータベース装置が、利用者に対して提示する提案情報を例示する説明図である。FIG. 6 is an explanatory diagram illustrating suggested information presented to a user by the database device according to the first embodiment of the present disclosure. 図7は、本開示の第2実施形態にかかるデータベースシステムの機能的な構成を例示するブロック図である。FIG. 7 is a block diagram illustrating the functional configuration of the database system according to the second embodiment of the present disclosure; 図8は、本開示にかかる各実施形態を実現可能なハードウェア装置の構成を例示する説明図である。FIG. 8 is an explanatory diagram illustrating the configuration of a hardware device that can implement each embodiment according to the present disclosure.

<実施形態の概要>
各実施形態の詳細な説明に先立って、本開示における技術的な検討事項等について説明する。
<Overview of Embodiment>
Prior to detailed description of each embodiment, technical considerations and the like in the present disclosure will be described.

IoT(Internet of Things)という言葉に象徴されるように、多くのデバイスが通信ネットワークに接続されるようになった。典型的には、そのようなデバイスには、データを収集可能な各種センサー(例えば、温度、湿度、振動、重量、人感センサーなど)が設けられる。これらのセンサーは、例えば、定期的にデータを収集して、通信ネットワークを介してデータセンターに送信する。データセンターにおいては、収集したデータをデータベースに記憶することで、後の活用に備えてデータを蓄積する。なお、データセンターは、例えば、データベースなどを用いて、各種のデータを蓄積及び管理するシステム(又は、そのようなシステムが稼働する物理的及び仮想的な施設)である。 As symbolized by the term IoT (Internet of Things), many devices have come to be connected to communication networks. Typically, such devices are provided with various sensors (eg, temperature, humidity, vibration, weight, occupancy sensors, etc.) from which data can be collected. These sensors, for example, periodically collect data and send it over a communication network to a data center. In the data center, by storing the collected data in a database, the data is accumulated for later use. A data center is, for example, a system that accumulates and manages various data using a database (or a physical or virtual facility in which such a system operates).

このようなデバイスは、今後も増加することが予想される。デバイスの増加に伴い、収集されるデータ量が増加するとともに、そのデータを表す表現形式も増加することが予想される。例えば、センサーのベンダーや、センサーの利用目的によって、温度の表現形式(例えば、華氏又は摂氏)が、センサーごとに異なる状況が想定される。同様に、例えば、重量の表現形式として、kg単位、mg単位などが用いられる状況が想定される。即ち、同じ計測対象に関するセンサーデータであっても、表現形式が異なる状況が生じ得る。 Such devices are expected to increase in the future. As the number of devices increases, it is expected that the amount of collected data will also increase, and the number of representation formats that represent that data will also increase. For example, it is assumed that the temperature expression format (for example, Fahrenheit or Celsius) varies from sensor to sensor depending on the sensor vendor and the purpose of use of the sensor. Similarly, for example, a situation is assumed in which units of kg, units of mg, etc. are used as the expression format for weight. In other words, even sensor data related to the same measurement object may be expressed in different formats.

また、こうしたセンサーデータを活用する際、センサーデータと、他のデータとを組み合わせることがある。具体例として、生鮮食品を扱う店舗が、気温センサーのデータと、売上データとを組み合わせることで気温ごとの売れ筋の商品を分析し、天気予報に基づいて仕入れを行うことで、欠品による売上ロスや過剰在庫の最小化を図ることが考えられる。 In addition, when utilizing such sensor data, the sensor data may be combined with other data. As a specific example, a store that sells fresh food can combine temperature sensor data and sales data to analyze top-selling products for each temperature, and purchase based on weather forecasts to reduce sales loss due to shortages. and to minimize excess inventory.

上記した例のように、センサーを搭載したデバイスの増加や、収集されたデータの分析に関する幅広いニーズなどから、様々なデータソース(例えば、センサーや既存システムのデータなどの情報源)からデータを集めて分析を行う基盤としてのデータベース(分析用データベース)が構築されるようになった。 As in the example above, we collect data from various data sources (e.g., information sources such as sensors and existing system data) due to the increase in devices equipped with sensors and the wide range of needs for analysis of collected data. A database (database for analysis) has been constructed as a foundation for analysis based on

このような分析用データベースについては、(i)データベースの利用者が、蓄積されたデータをすべて把握しているとは限らない、(ii)データベースに蓄積されたデータの表現形式が統一されているとは限らない、という傾向がある。 With regard to such an analysis database, (i) users of the database may not necessarily understand all the data accumulated, and (ii) the expression format of the data accumulated in the database is unified. There is a tendency not to be

上記(i)の具体例として、例えば、複数の利用者(データを活用して分析を行う複数の担当者)が、それぞれ自身の分析に有用と判断したデータソースからデータを収集することにより、各利用者がデータベースに格納されたデータの全容を把握することが困難になる状況が考えられる。このような状況では、例えば、同じ内容のデータが異なる名前(名称)で重複して収集されていることもありえる。 As a specific example of (i) above, for example, multiple users (multiple persons in charge of utilizing and analyzing data) collect data from data sources that are determined to be useful for their own analysis. It may be difficult for each user to grasp the whole picture of the data stored in the database. In such a situation, for example, data with the same content may be collected redundantly under different names.

上記(ii)の具体例としては、例えば、データを収集したセンサーによって、温度の表現形式が異なる(例えば、あるセンサーは「摂氏」を用い、別のセンサーは「華氏」を用いる)状況が考えられる。また、別の具体例として、あるデータベースにおいて、「名前」のデータを格納する列(カラム)が、あるテーブルでは「名前」列であり、別のテーブルでは「氏名」列であり、更に別のテーブルでは「NAME」列である、という状況が考えられる。上記(ii)のような状況は、例えば、多様なデータソースからデータを収集した際に、データソースにおける表現形式をそのまま用いて、収集したデータをデータベースに蓄積することにより発生する。 As a specific example of (ii) above, for example, a situation can be considered in which the temperature expression format differs depending on the sensor that collected the data (for example, one sensor uses “Celsius” and another sensor uses “Fahrenheit”). be done. As another specific example, in a certain database, a column that stores "name" data is a "name" column in one table, a "name" column in another table, and a "name" column in another table. A possible situation is that in a table it is the "NAME" column. The situation (ii) above occurs, for example, when data is collected from various data sources, and the collected data is stored in a database using the expression formats of the data sources as they are.

こうした状況は、利用者がデータを活用することを困難にする可能性がある。具体的には、例えば、以下のような課題が生じ得る。即ち、データベースを用いてデータ分析を実行する際、分析の目的に有用なデータがデータベースに格納されているにもかかわらず、利用者がそのデータの存在を認識できない可能性がある。また、仮に、利用者が有用そうなデータを認識したとしても、そのデータを、利用者自身が使おうとしているデータとどのように組み合わせることが適切かわかりにくい可能性がある。 This situation may make it difficult for users to utilize data. Specifically, for example, the following problems may occur. That is, when performing data analysis using a database, there is a possibility that the user may not be aware of the existence of data useful for the purpose of analysis, even though the data is stored in the database. Moreover, even if the user recognizes useful data, it may be difficult for the user to understand how to combine the data with the data that the user intends to use.

上記したように、多様なデータソースから収集されたデータを組み合わせることで、有用な知見が得られることがある。データベースにおいては、こうしたデータの組合せは、例えば、「結合(join)」と呼ばれる操作(結合操作)により行われる。結合操作では、例えば”顧客.顧客ID = 売上.購入者”のように2つのデータソース(例えば、リレーショナルデータベースにおけるテーブル)間の関係を結合条件として与える。この例は、顧客表(顧客テーブル)における「顧客ID」列の値と、売上表(売上テーブル)における「購入者」列の値とが等しいものを関連付ける操作を表す。 As noted above, useful insights can be obtained by combining data collected from diverse data sources. In a database, such data combination is performed, for example, by an operation called "join". In a join operation, a relationship between two data sources (for example, tables in a relational database) is given as a join condition such as "customer.customer ID=sales.purchaser". This example represents an operation for associating the same value in the "customer ID" column in the customer table (customer table) with the same value in the "purchaser" column in the sales table (sales table).

例えば、テーブルを構成するデータ形式(例えば、テーブルや列の名前)が体系的に管理されている場合、データベースの利用者は、例えば、おおよそのテーブルの内容を予想して、データを結合する条件を記述することができる。しかし、前述した傾向を持つデータベースでは、ある利用者が(例えば他の利用者が収集した)有用そうなデータを見つけたとしても、例えば同じような値のデータを含む列が複数存在するような状況が想定される。一具体例として、あるテーブルに、顧客を特定する識別子(顧客ID(Identifier))がCID(Customer ID)という名前で格納され、「AID」や「BID」などの名前で、CIDと同じような値を含む列があるような状況が想定される。そのような場合、分析に有用なデータが存在していても利用者(分析者)がそのデータを活用できないような状況が発生する。 For example, if the data formats that make up a table (e.g., table and column names) are systematically managed, the database user can, for example, roughly predict the contents of the table and set the conditions for joining the data. can be described. However, in a database with the tendencies described above, even if a user finds useful data (e.g. collected by another user), there may be multiple columns containing data with similar values. Situation is assumed. As a specific example, in a certain table, an identifier that identifies a customer (customer ID (Identifier)) is stored under the name of CID (Customer ID). Suppose you have a column that contains values. In such a case, even if there is data useful for analysis, a situation arises in which the user (analyst) cannot utilize the data.

これに対して、本開示においては、対象データベースに格納されているデータや、そのデータの形式に対して十分な知識を有さず、当該データベースを用いた分析が不慣れな利用者を支援可能な技術が提供される。以下において説明する、本開示にかかる技術が実現されたデータベースシステムは、例えば、あるデータベースにおける問合せ(クエリ)の履歴などの情報から、このデータベースにおける分析処理のモデル(分析を行う処理の流れ(過程)を表現したモデル)を構築する。かかるデータベースシステムは、このモデルを利用することで、利用者に対して、そのデータベースに関する問合せを提案する。 On the other hand, in the present disclosure, it is possible to support users who do not have sufficient knowledge of the data stored in the target database and the format of the data and are unfamiliar with analysis using the database. technology is provided. A database system in which the technology according to the present disclosure, which will be described below, is implemented can, for example, obtain an analysis processing model (analysis processing flow (process ) to build a model). Such a database system uses this model to propose queries regarding the database to the user.

具体的には、本開示にかかるデータベースシステムは、例えば、各利用者のデータベースに対するアクセス(問合せ等)の傾向を記憶するよう構成されてよい。ある利用者によって、記憶されている傾向に沿ったアクセスが行われた場合、本開示にかかるデータベースシステムは、その記憶された傾向に従い、その利用者に対して次のステップ(例えば、問合せ)を提案するよう構成されてよい。より具体的には、データベースシステムは、例えば、利用者に対して以下のような提案を提示するよう構成されてよい。即ち、本開示にかかるデータベースシステムは、例えば、同一セッション内でテーブルのアクセス順序を記憶し、同一の順序によるアクセスが行われたときに、次にアクセスするテーブルを提案してもよい。例えば、本開示にかかるデータベースシステムは、ある利用者がテーブルA、テーブルB、テーブルC、テーブルDの順でテーブルにアクセスした際、そのアクセス順序を記憶する。そして、本開示にかかるデータベースシステムは、例えば、別の利用者がテーブルA、テーブルBの順でテーブルにアクセスした際、その利用者に対して次に確認すべきテーブルとしてテーブルCを提案してもよい。これにより、例えば、別の利用者がテーブルCに含まれるデータの存在を認識していない場合であっても、テーブルCに格納されたデータの利用を、利用者に提案することができる。 Specifically, the database system according to the present disclosure may be configured, for example, to store trends in access (queries, etc.) to the database of each user. When a user accesses according to the stored tendency, the database system according to the present disclosure performs the next step (for example, inquiry) for the user according to the stored tendency. It may be configured to suggest. More specifically, the database system may be configured to present the following suggestions to the user, for example. That is, the database system according to the present disclosure may, for example, store the access order of tables within the same session, and propose the next table to be accessed when accesses are made in the same order. For example, the database system according to the present disclosure stores the access order when a certain user accesses tables in the order of table A, table B, table C, and table D. Then, for example, when another user accesses tables A and B in that order, the database system according to the present disclosure proposes table C as the next table to be checked to the user. good too. Thereby, for example, even if another user does not recognize the existence of the data contained in the table C, it is possible to propose the use of the data stored in the table C to the user.

また、本開示にかかるデータベースシステムは、例えば、テーブル間の関連性を記憶し、他の利用者にこれを提案するよう構成されてもよい。例えば、本開示にかかるデータベースシステムは、ある利用者が、”A.CID = B.顧客ID”(A表とB表とにおいて、A表のCID列とB表の顧客ID列とに同じ値が設定されている行を関連付ける)を条件として結合操作を行った際、このテーブル間の関連性を記憶してもよい。そして、本開示にかかるデータベースシステムは、例えば、別の利用者がテーブルA又はテーブルBにアクセスした際、その利用者に対して、上記の条件によるもう一方の表との結合を提案してもよい。これにより、例えば、別の利用者に対して、有用なデータの組み合わせ方を提案することができる。上記のように構成された本開示にかかるデータベースシステムを用いることで、利用者は、例えば、その利用者が十分な知識を有さないデータベースにおいても、効率よくデータ分析を行うことが可能になる。 Also, the database system according to the present disclosure may be configured to store relationships between tables and suggest them to other users, for example. For example, in the database system according to the present disclosure, when a user enters "A.CID = B. Customer ID" (the same value in the CID column of Table A and the customer ID column of Table B in Tables A and B) When a join operation is performed under the condition of "associating rows with Then, for example, when another user accesses table A or table B, the database system according to the present disclosure proposes to that user a join with the other table under the above conditions. good. As a result, for example, it is possible to propose a method of combining useful data to another user. By using the database system according to the present disclosure configured as described above, for example, users can efficiently analyze data even in databases in which the users do not have sufficient knowledge. .

以下、本開示にかかる技術について、具体的な実施形態を用いて更に詳細に説明する。なお、以下の実施形態(及びその変形例)の構成は一つの具体例であり、本開示にかかる技術の範囲は、それらには限定されない。以下に示す各実施形態における構成要素の分割(例えば、機能的な単位による分割)は、その実施形態を実現可能な一例である。各実施形態を実現可能な構成は、以下の例示に限定されず、様々な構成が想定され得る。以下の各実施形態を構成する構成要素は、更に分割されてもよく、また、以下の各実施形態を構成する1以上の構成要素が統合されてもよい。以下に例示する各実施形態が1以上の物理的装置、仮想的装置、及びその組合せを用いて実現される場合、1以上の構成要素が1以上の装置により実現されてもよく、1つの構成要素が複数の装置を用いて実現されてもよい。 The technology according to the present disclosure will be described in more detail below using specific embodiments. Note that the configurations of the following embodiments (and modifications thereof) are one specific example, and the scope of the technology according to the present disclosure is not limited to them. The division of components (for example, division into functional units) in each embodiment shown below is an example of how the embodiment can be implemented. Configurations that can implement each embodiment are not limited to the following examples, and various configurations can be assumed. The constituent elements constituting each embodiment below may be further divided, and one or more constituent elements constituting each embodiment below may be integrated. Where each embodiment exemplified below is implemented using one or more physical devices, virtual devices, and combinations thereof, one or more components may be implemented by one or more devices and a configuration An element may be implemented using multiple devices.

なお、本開示に係る技術の一態様であるデータ管理方法は、以下の各実施形態におけるデータベース装置の動作として実現されてもよい。また、本開示に係る技術の一態様であるコンピュータ・プログラムは、以下の各実施形態におけるデータベース装置において、本開示に係る技術の一態様であるデータ管理方法を実行するプログラムとして実装されてもよい。 Note that the data management method, which is one aspect of the technology according to the present disclosure, may be implemented as the operation of the database device in each of the following embodiments. Further, the computer program, which is one aspect of the technology according to the present disclosure, may be implemented as a program for executing the data management method, which is one aspect of the technology according to the present disclosure, in the database device according to each of the following embodiments. .

<第1実施形態>
以下、本開示にかかる技術の第1の実施形態について説明する。本実施形態においては、本開示にかかる技術が実現されたデータベース装置を具体例として、本開示にかかる技術について具体的に説明する。なお、本開示におけるデータベース装置は、単体の装置として実現されてもよく、複数の装置を用いたデータベースシステムとして実現されてもよい。なお、本実施形態におけるデータベース装置を実現可能な具体的なハードウェア構成については、後述する。
<First Embodiment>
A first embodiment of the technology according to the present disclosure will be described below. In the present embodiment, the technology according to the present disclosure will be specifically described by taking as a specific example a database device that implements the technology according to the present disclosure. Note that the database device in the present disclosure may be implemented as a single device, or may be implemented as a database system using a plurality of devices. A specific hardware configuration that can realize the database device in this embodiment will be described later.

[構成]
図1は、本実施形態におけるデータベース装置100の機能的な構成を例示するブロック図である。図1に例示するように、本実施形態におけるデータベース装置100は、クライアント200と、通信可能に接続される。
[Constitution]
FIG. 1 is a block diagram illustrating the functional configuration of a database device 100 according to this embodiment. As illustrated in FIG. 1, a database device 100 in this embodiment is communicably connected to a client 200 .

クライアント200は、利用者がデータベース装置100に対して問合せ(SQLなどの問合せ言語を用いたデータの挿入、更新、参照などのクエリ)を発行する装置である。クライアント200は、例えば、コンピュータなどの通信機能を備えた情報処理装置により構成されてもよい。クライアント200が発行する問合せは、特定の問合せ言語(例えばSQL)に限定されず、適切な問合せ言語が用いられてよい。データベース装置100と、クライアント200とを接続する通信ネットワークは特に限定されず、適切な通信方法(有線、無線、およびそれらの組み合わせ)を採用することができる。 The client 200 is a device by which a user issues a query to the database device 100 (query for data insertion, update, reference, etc. using a query language such as SQL). The client 200 may be configured by, for example, an information processing device such as a computer having a communication function. Queries issued by client 200 are not limited to a specific query language (eg, SQL), and any suitable query language may be used. The communication network that connects the database device 100 and the client 200 is not particularly limited, and appropriate communication methods (wired, wireless, and combinations thereof) can be adopted.

以下、本実施形態におけるデータベース装置100を構成する構成要素について説明する。図1に例示するように、データベース装置100は、問合せ処理部101と、データ記憶部102と、傾向記憶部103と、傾向判断部104と、を備える。データベース装置100を構成するこれらの構成要素は、適切な通信方法を用いて、通信可能に接続されていてよい。また、各構成要素は、例えば、後述するハードウェア装置によって実行されるソフトウェア・プログラムとして実現されてもよく、専用のハードウェア(例えば、演算処理、記憶処理、通信処理などを実行可能な回路要素等)を用いて実現されてもよい。 The constituent elements that constitute the database device 100 in this embodiment will be described below. As illustrated in FIG. 1, the database device 100 includes a query processing unit 101, a data storage unit 102, a trend storage unit 103, and a trend determination unit 104. These components constituting the database device 100 may be communicatively connected using an appropriate communication method. Further, each component may be realized, for example, as a software program executed by a hardware device described later, and dedicated hardware (for example, circuit elements capable of executing arithmetic processing, storage processing, communication processing, etc. etc.).

問合せ処理部101(問合せ処理手段)は、クライアント200から発行された問合せを処理するよう構成される。問合せ処理部101は、例えば、クライアント200から発行されたデータベースに関する問合せ(SQL等)を解釈し、その問合せに含まれるデータベース操作の命令を実行してもよい。 The inquiry processing unit 101 (inquiry processing means) is configured to process an inquiry issued by the client 200 . The query processing unit 101 may, for example, interpret a database query (SQL or the like) issued by the client 200 and execute a database operation command included in the query.

データ記憶部102(データ記憶手段)は、データベース装置100に格納されたデータを記憶するよう構成される。データ記憶部102がデータを記憶する形式は特に限定されない。例えば、データ記憶部102は、リレーショナルデータベースとして、表(テーブル)形式によりデータを記憶してもよく、その他の形式(例えば、KVS(Key Value Store)等)によりデータを記憶してもよい。本位実施形態においては、具体例として、データ記憶部102は、表形式を用いてデータを記憶することを想定する。 The data storage unit 102 (data storage means) is configured to store data stored in the database device 100 . The format in which the data storage unit 102 stores data is not particularly limited. For example, the data storage unit 102 may store data in a table format as a relational database, or may store data in another format (for example, KVS (Key Value Store), etc.). In the main embodiment, as a specific example, it is assumed that the data storage unit 102 stores data using a table format.

傾向記憶部103(傾向記憶手段)は、クライアント200が発行した問合せをモデル化して記憶するよう構成される。具体的には、傾向記憶部103は、クライアント200から受け付けた問合せに含まれるテーブルへのアクセスの傾向を表すモデルを記憶してもよい。傾向記憶部103の詳細な動作については、後述する。 The trend storage unit 103 (tendency storage means) is configured to model and store queries issued by the client 200 . Specifically, the trend storage unit 103 may store a model representing a trend of access to tables included in inquiries received from the client 200 . Detailed operations of the trend storage unit 103 will be described later.

傾向判断部104(傾向判断手段)は、クライアント200が発行した問合せに応じて、傾向記憶部103に記憶されたモデルに基づいて、その問合せに関連した実行可能な他の操作を提案するか否かを判断するよう構成される。傾向判断部104は、例えば、クライアント200から受け付けた問合せに、傾向記憶部103に蓄積されたモデルに類似する問合せが含まれるか否かを判断してもよい。傾向判断部104は、クライアント200が発行した問合せに適合するモデルがある場合、そのモデルに基づいて、クライアント200に対して、別の問合せを提案してもよい。傾向判断部104の具体的な動作については、後述する。 In response to a query issued by the client 200, the trend determination unit 104 (tendency determination means) determines whether or not to propose other executable operations related to the query based on the model stored in the trend storage unit 103. is configured to determine whether The trend determination unit 104 may determine, for example, whether or not the inquiries received from the client 200 include an inquiry similar to the model accumulated in the trend storage unit 103 . If there is a model that matches the query issued by the client 200, the trend determination unit 104 may propose another query to the client 200 based on that model. A specific operation of the trend determination unit 104 will be described later.

[動作]
以下、上記のように構成されたデータベース装置100の動作について、説明する。データベース装置100は、大別して、以下の二つの処理(第1の処理、第2の処理)を実行する。即ち、データベース装置100は、クライアント200が発行した問合せをモデル化し(モデルを作成し)、記憶する処理(第1の処理)を実行するよう構成される。データベース装置100は、また、作成したモデルに基づいて、クライアント200に対して、次に実行する操作(例えば、次に実行する問合せ等)を提案する処理(第2の処理)を実行するよう構成される。データベース装置100は、これらの処理を必ずしも排他的に実行する必要はなく、両方の処理を並行して実行してもよい。
[motion]
The operation of the database device 100 configured as described above will be described below. The database device 100 is roughly divided into the following two processes (first process and second process). That is, the database device 100 is configured to model (create a model) an inquiry issued by the client 200 and execute a process (first process) of storing the model. The database device 100 is also configured to execute a process (second process) of proposing an operation to be executed next (for example, a query to be executed next) to the client 200 based on the created model. be done. The database device 100 does not necessarily have to exclusively execute these processes, and may execute both processes in parallel.

以下、第1の処理について、図2に例示するフローチャートを用いて説明する。 The first processing will be described below with reference to the flowchart illustrated in FIG.

問合せ処理部101は、クライアント200が発行した問合せを受け付け、その問合せを解析する(ステップS201)。以下、具体例として、クライアント200が発行する問合せはリレーショナルデータベースにおいて一般的に用いられるSQLを用いて記述されることを想定する。なお、本開示にかかる技術はこれに限定されず、他の問合せ言語にも適用可能である。 The inquiry processing unit 101 receives an inquiry issued by the client 200 and analyzes the inquiry (step S201). In the following, as a specific example, it is assumed that queries issued by the client 200 are described using SQL commonly used in relational databases. Note that the technology according to the present disclosure is not limited to this, and can be applied to other query languages.

問合せ処理部101は、以前の問合せにおいてアクセスしたテーブルの情報を読み出す(ステップS202)。問合せ処理部101は、例えば、前回第1の処理を実行した際に、後述するステップS203において記憶したテーブルの情報を、傾向記憶部103から読み出してもよい。なお、クライアント200から受け付けた問合せが、あるセッションにおいて最初の問合せである場合、問合せ処理部101は、ステップS202を実行せずともよい。セッションは、例えば、データベース装置100に対する一連の操作のまとまり(操作のセット)であってよい。例えば、ある利用者がデータベース装置100に接続した際に一つのセッションが開始され、その利用者がデータベース装置100から切断した際に、そのセッションが終了してもよい。この場合、そのセッションには、ある利用者がデータベース装置100に接続してからデータベース装置100から切断されるまでの間に実行された操作が含まれる。 The inquiry processing unit 101 reads out the information of the table accessed in the previous inquiry (step S202). For example, the query processing unit 101 may read out from the trend storage unit 103 information of a table stored in step S203 described later when the first process was executed last time. Note that if the inquiry received from the client 200 is the first inquiry in a certain session, the inquiry processing unit 101 does not need to execute step S202. A session may be, for example, a collection of a series of operations (a set of operations) for the database device 100 . For example, one session may be started when a certain user connects to the database device 100 , and the session may end when the user disconnects from the database device 100 . In this case, the session includes operations performed by a certain user after connecting to the database device 100 until being disconnected from the database device 100 .

問合せ処理部101は、ステップS201において受け付けた問合せを処理する際にアクセスするテーブルを、傾向記憶部103に記憶する(ステップS203)。具体的には、問合せ処理部101は、クライアント200から受け付けた問合せが、あるセッションにおいて最初の問合せである場合、その問合せにおいてアクセスされたテーブルを表す情報を傾向記憶部103に記憶してよい。クライアント200から受け付けた問合せが、あるセッションにおいて最初の問合せではなく、ステップS202において以前にアクセスしたテーブルの情報が読み込まれている場合、問合せ処理部101は、以前の問合せにおいてアクセスしたテーブルと、今回の問合せにおいてアクセスしたテーブルとの関係を表す情報を傾向記憶部103に記憶してよい。即ち、問合せ処理部101は、ある特定のタイミングまでに受け付けた問合せにおいてアクセスされたテーブル間の関係を表す情報を、傾向記憶部103に記憶してよい。かかる特定のタイミングは、特に限定されず、例えば、あるセッションにおいて最後に問合せを受け付けたタイミング(最新の問合せを受け付けたタイミング)であってもよく、それ以前の適切なタイミングであってもよい。かかるタイミングは、例えば、予め設定値等として問合せ処理部101に設定されていてもよい。 The inquiry processing unit 101 stores, in the trend storage unit 103, a table to be accessed when processing the inquiry received in step S201 (step S203). Specifically, when the query received from the client 200 is the first query in a certain session, the query processing unit 101 may store in the trend storage unit 103 information representing the tables accessed in the query. If the query received from the client 200 is not the first query in a certain session and the information of the previously accessed table is read in step S202, the query processing unit 101 reads the table accessed in the previous query and the current query. Information indicating the relationship with the table accessed in the inquiry may be stored in the trend storage unit 103 . That is, the query processing unit 101 may store in the trend storage unit 103 information representing the relationship between tables accessed in queries received up to a specific timing. Such specific timing is not particularly limited, and may be, for example, the timing at which the last inquiry was received in a certain session (timing at which the latest inquiry was received), or an appropriate earlier timing. Such timing may be set in the query processing unit 101 in advance as a set value or the like, for example.

具体例として、問合せ処理部101が、ステップS201において以下のような問合せ(SQL)を受け付けたことを想定する。 As a specific example, it is assumed that the inquiry processing unit 101 receives the following inquiry (SQL) in step S201.

SELECT * FROM t1 WHERE c1 = 42・・・(問合せ1).
上記(問合せ1)において、”t1”は、今回の問合せにおいてアクセスされるテーブルを表す(この場合は、テーブル”t1”がアクセスされる)。このとき、問合せ処理部101は、傾向記憶部103に、「(t_prv)→t1」という情報を記憶する。”t_prv”は、ステップS202において読み出されたテーブルを仮に表している。実際の処理においては、”t_prc”には、ステップS202において読み出されたテーブル名などが設定される。また、”→”は、テーブルがアクセスされた順番(順序)を表す。上記具体例においては、”→”は、あるセッションにおいて、テーブル”t_prv”がアクセスされたのち、テーブル”t1”がアクセスされたことを表す。なお、問合せ処理部101は、”→”に限定されず、他の適切な表現方法を用いてもよい。このように、問合せ処理部101は、傾向記憶部103に、ある特定のタイミング(例えば、今回の問い合わせを受け付けたタイミング)までに受け付けた1以上の問合せに含まれるテーブルのアクセス順序を、テーブルへのアクセスの傾向を表すモデルとして傾向記憶部103に記憶することができる。
SELECT * FROM t1 WHERE c1 = 42 (inquiry 1).
In the above (query 1), "t1" represents the table accessed in this query (in this case, table "t1" is accessed). At this time, the inquiry processing unit 101 stores information “(t_prv)→t1” in the trend storage unit 103 . "t_prv" temporarily represents the table read in step S202. In actual processing, the table name read in step S202 is set in "t_prc". Also, "→" represents the order (order) in which the tables were accessed. In the above specific example, "→" indicates that table "t1" was accessed after table "t_prv" was accessed in a certain session. Note that the query processing unit 101 is not limited to "→", and may use other appropriate expressions. In this way, the query processing unit 101 stores the access order of the tables included in one or more queries received by a certain specific timing (for example, the timing at which the current query is received) in the trend storage unit 103. can be stored in the trend storage unit 103 as a model representing the trend of accesses.

なお、ステップS201における問合せが、あるセッションにおける最初の問合せである場合(ステップS202が実行されていない場合)、問合せ処理部101は、傾向記憶部103に、「t1」という情報を記憶してよい。 If the inquiry in step S201 is the first inquiry in a session (step S202 has not been executed), the inquiry processing unit 101 may store the information "t1" in the trend storage unit 103. .

また、他の具体例として、問合せ処理部101が、ステップS201において以下のような問合せ(SQL)を受け付けたことを想定する。 As another specific example, it is assumed that the inquiry processing unit 101 receives the following inquiry (SQL) in step S201.

SELECT * FROM t1, t2 WHERE t1.c1 = t2.c2 ・・・(問合せ2).
この場合、問合せ処理部101は、傾向記憶部103に、「(t_prev)→t1,t2」という形式の情報になる。上記(問合せ2)においては、複数のテーブル”t1”、”t2”がアクセスされる。
SELECT * FROM t1, t2 WHERE t1. c1 = t2. c2 (inquiry 2).
In this case, the query processing unit 101 stores information in the format of “(t_prev)→t1, t2” in the trend storage unit 103 . In the above (query 2), a plurality of tables "t1" and "t2" are accessed.

問合せ処理部101は、ステップS201において受け付けた問合せに、複数のテーブルが含まれるか否か(問合せにおいて複数のテーブルがアクセスされるか否か)を判断する(ステップS204)。上記の具体例を用いて説明すると、(問合せ1)の場合、アクセスされるテーブルの数は1つ(”t1”)なので、問合せ処理部101は、ステップS204において”No”と判断する。また、上記(問合せ2)の場合、複数のテーブル(”t1”、”t2”)がアクセスされるので、問合せ処理部101は、ステップS204において”Yes”と判断する。 The query processing unit 101 determines whether or not the query received in step S201 includes multiple tables (whether or not multiple tables are accessed in the query) (step S204). Using the above specific example, in the case of (query 1), the number of tables to be accessed is one ("t1"), so the query processing unit 101 determines "No" in step S204. In the case of (query 2) above, since a plurality of tables ("t1", "t2") are accessed, the query processing unit 101 determines "Yes" in step S204.

ステップS204においてYesの場合、問合せ処理部101は、ステップS201において受け付けた問合せに含まれるテーブル間の関係性を表す情報を傾向記憶部103に記憶する(ステップS205)。問合せ処理部101は、例えば、ある問合せに含まれるテーブルを結合する結合条件を、テーブル間の関係性を表す情報として、傾向記憶部103に記憶してもよい。これにより、問合せ処理部101は、複数のテーブル間を関連付ける結合条件を、テーブルへのアクセスの傾向を表すモデルとして傾向記憶部103に記憶することができる。上記(問合せ2)の具体例の場合、問合せ処理部101は、例えば、「t1.c1 = t2.c2」を、傾向記憶部103に記憶してもよい。 In the case of Yes in step S204, the inquiry processing unit 101 stores, in the trend storage unit 103, information representing the relationship between tables included in the inquiry received in step S201 (step S205). The query processing unit 101 may store, for example, a join condition for joining tables included in a certain query in the trend storage unit 103 as information representing the relationship between the tables. As a result, the query processing unit 101 can store, in the trend storage unit 103, a join condition that associates a plurality of tables as a model representing trends in access to the tables. In the case of the specific example of (query 2) above, the query processing unit 101 may store, for example, “t1.c1=t2.c2” in the trend storage unit 103 .

上記説明したステップS203、S205の処理により、問合せ処理部101は、データベースに格納されたテーブルに対するアクセスをモデル化することができる。より具体的には、問合せ処理部101は、例えば、データベースに格納されたテーブルに対するアクセスの順番を、モデル化することができる。また、問合せ処理部101は、データベースに格納されたテーブル間の関係性をモデル化することができる。より具体的には、問合せ処理部101は、あるテーブルと、他のテーブルとの結合関係(それらのテーブルを結合する結合条件)をモデル化することができる。 Through the processing of steps S203 and S205 described above, the query processing unit 101 can model access to tables stored in the database. More specifically, the query processing unit 101 can model, for example, the order of access to tables stored in the database. In addition, the query processing unit 101 can model relationships between tables stored in the database. More specifically, the query processing unit 101 can model a join relationship between a certain table and another table (a join condition for joining those tables).

以下、第2の処理について、図3に例示するフローチャートを用いて説明する。 The second process will be described below with reference to the flowchart illustrated in FIG.

問合せ処理部101は、クライアント200から問合せを受け付け、その問合せを解析することで、その問合せに関係するテーブルを特定する(ステップS301)。例えば、クライアント200から、上記(問合せ2)に例示するような問合せを受け付けた場合、問合せ処理部101は、テーブル”t1”、及び”t2”を特定する。 The inquiry processing unit 101 receives an inquiry from the client 200 and analyzes the inquiry to specify a table related to the inquiry (step S301). For example, when receiving an inquiry such as the above (inquiry 2) from the client 200, the inquiry processing unit 101 identifies tables "t1" and "t2".

問合せ処理部101は、ステップS301において特定された各テーブルについて、以下において説明するステップS302からステップS304を繰り返し実行する(ステップS302-ステップS305)。上記した(問合せ2)の例において、テーブル”t1”及びテーブル”t2”のそれぞれについて、以下の各ステップ(ステップS302-S304)において説明する処理を行う。なお、以下のステップの説明においては、説明の便宜上処理対象とするテーブルを”t”と記載する。 The query processing unit 101 repeatedly executes steps S302 to S304 described below for each table identified in step S301 (steps S302 to S305). In the example of (query 2) described above, the processing described in the following steps (steps S302 to S304) is performed for each of table "t1" and table "t2". In the description of the steps below, the table to be processed is indicated as "t" for convenience of description.

問合せ処理部101は、傾向記憶部103からテーブル”t”に関連する情報を読み出す(ステップS302)。問合せ処理部101は、読み出した情報を傾向判断部104に提供してもよい。この際、読み出される情報は、例えば、上記説明したステップS203、S205において傾向記憶部103に記憶された情報(例えば、テーブルのアクセス順序、テーブル間の結合関係等)であってよい。 The query processing unit 101 reads information related to the table "t" from the trend storage unit 103 (step S302). The query processing unit 101 may provide the read information to the trend determination unit 104 . At this time, the information read out may be, for example, the information stored in the tendency storage unit 103 in steps S203 and S205 described above (for example, the access order of the tables, the connection relationship between the tables, etc.).

傾向判断部104は、ステップS302において”t”に関連する情報が得られたか否かを判定する(ステップS303)。ステップS303においてYesの場合、傾向判断部104は、ステップS302で得られたテーブル”t”に関連する情報に基づいて、利用者に対して次に実行する処理に関する情報を提案する(ステップS304)。傾向判断部104は、次に実行する処理に関する情報をクライアント200に提供することで、かかる情報を利用者に提案してもよい。ステップS303においてNoの場合、及び、ステップS304における処理を実行した場合、傾向判断部104は、ステップS301において特定された全てのテーブルについて、上記処理を実行した否かを確認する(ステップS305)。ステップS305においてNoの場合、傾向判断部104は、ステップS302に戻って処理を続行してよい。また、ステップS305においてYesの場合、傾向判断部104は、処理を終了してよい。 The trend determination unit 104 determines whether or not information related to "t" has been obtained in step S302 (step S303). In the case of Yes in step S303, the tendency determination unit 104 proposes information regarding the process to be executed next to the user based on the information related to the table "t" obtained in step S302 (step S304). . The trend determination unit 104 may provide the client 200 with information regarding the process to be executed next, thereby proposing such information to the user. If No in step S303 and if the process in step S304 has been performed, the tendency determination unit 104 checks whether or not the above process has been performed for all the tables identified in step S301 (step S305). In the case of No in step S305, the tendency determination unit 104 may return to step S302 and continue processing. Moreover, in the case of Yes in step S305, the trend determination unit 104 may end the process.

以下、ステップS304における処理について具体的に説明する。傾向判断部104は、ステップS302で得られたテーブル”t”に関連する情報に基づいて、利用者に対して、次にアクセスするテーブルを提示してもよい。また、傾向判断部104は、利用者に対して、次にアクセスする他のテーブルと、当該他のテーブルとテーブル”t”と結合条件を提示してもよい。 The processing in step S304 will be specifically described below. The trend determination unit 104 may present the user with a table to be accessed next based on the information related to the table “t” obtained in step S302. Further, the tendency determination unit 104 may present to the user another table to be accessed next, the other table, the table "t", and the join condition.

傾向判断部104は、傾向記憶部103から取得したテーブル”t”に関する情報を、そのまま利用者に提示してもよい。傾向判断部104は、傾向記憶部103から取得したテーブル”t”に関する情報のうち、ステップS301において受け付けた問合せに応じて、特定の条件を満たす情報を選択して、利用者に提示してもよい。 The trend determination unit 104 may present the information on the table “t” acquired from the trend storage unit 103 as it is to the user. In response to the inquiry received in step S301, the trend determination unit 104 selects information that satisfies a specific condition from among the information about the table “t” acquired from the trend storage unit 103, and presents the selected information to the user. good.

以下、図4及び図5に例示する具体例を用いて、データベース装置100の動作について、更に具体的に説明する。 Hereinafter, the operation of the database device 100 will be described more specifically using specific examples illustrated in FIGS. 4 and 5. FIG.

図4は、同一セッション内で実行される上記第1の処理の具体例を示す説明図である。図4において、符号400a-400dには、傾向記憶部103に記憶されている情報(問合せを表すモデル)を表す。符号400a-400dにおいて、”()”内に示される情報は、ある問合せに関連するテーブルを表す。例えば、符号400aにより表される情報の場合、問合せに関連するテーブルは”t1”、”t2”である。また、”<>”内に示される情報は、ある問合せに複数のテーブルが含まれる場合に、それらのテーブルの関連性を表す情報(例えば、結合条件等)を表す。例えば、符号400aにより表される情報の場合、テーブル”t1”、”t2”の結合条件は、”t1.c1=t2.c2”である。以下、図4に示す処理の流れについて説明する。 FIG. 4 is an explanatory diagram showing a specific example of the first process executed within the same session. In FIG. 4, reference numerals 400a to 400d represent information (models representing queries) stored in the trend storage unit 103. FIG. At reference numerals 400a-400d, the information shown in "( )" represents tables associated with a certain query. For example, for the information represented by reference numeral 400a, the tables associated with the query are "t1", "t2". Also, the information shown in "<>" represents information (for example, join conditions, etc.) representing the relationship between the tables when a query includes a plurality of tables. For example, in the case of information represented by reference numeral 400a, the join condition for tables "t1" and "t2" is "t1.c1=t2.c2". The flow of processing shown in FIG. 4 will be described below.

利用者1は、データベース装置100(問合せ処理部101)に対して、図4のS401に例示する問合せ(
「SELECT * FROM t1,t2 WHERE t1.c1=t2.c2」)を実行する。問合せ処理部101は、この問合せによりアクセスされるテーブル”t1”、”t2”を特定し、それらを傾向記憶部103に記憶する。この際、問合せ処理部101は、例えば、傾向記憶部103に対して、図4のS402に例示する命令(「append(t1、t2)」)を通知してもよい。また、問合せ処理部101は、テーブル”t1”と、”t2”との間の関係性を表す情報(例えば、結合条件等)を、傾向記憶部103に記憶してもよい。これにより、傾向記憶部103には、図4の400aに例示する情報(モデル)が記憶される。
User 1 sends an inquiry (
"SELECT * FROM t1, t2 WHERE t1.c1=t2.c2"). The query processing unit 101 identifies tables “t1” and “t2” accessed by this query and stores them in the trend storage unit 103 . At this time, the query processing unit 101 may, for example, notify the trend storage unit 103 of an instruction (“append (t1, t2)”) illustrated in S402 of FIG. Also, the query processing unit 101 may store information representing the relationship between the tables “t1” and “t2” (for example, join conditions) in the trend storage unit 103 . As a result, the trend storage unit 103 stores information (model) exemplified by 400a in FIG.

利用者1は、データベース装置100(問合せ処理部101)に対して、図4のS403に例示する問合せ(
「SELECT * FROM t3」)を実行する。問合せ処理部101は、この問合せによりアクセスされるテーブル”t3”を特定し、それを傾向記憶部103に記憶する。この際、問合せ処理部101は、例えば、傾向記憶部103に対して、図4のS404に例示する命令(「append(t3)」)を通知してもよい。傾向記憶部103には、図4の400bに例示する情報が記憶される。これにより、同一セッションにおけるテーブルのアクセス順序(この場合は、テーブル(”t1”,t2”)の後に、テーブル”t3”がアクセスされる)を表す情報(モデル)が、傾向記憶部103に記憶される。
User 1 sends an inquiry (
"SELECT * FROM t3"). The query processing unit 101 identifies the table “t3” accessed by this query and stores it in the trend storage unit 103 . At this time, the inquiry processing unit 101 may, for example, notify the trend storage unit 103 of an instruction (“append (t3)”) illustrated in S404 of FIG. Information exemplified by 400b in FIG. 4 is stored in the trend storage unit 103 . As a result, information (model) representing the access order of the tables in the same session (in this case, the table "t3" is accessed after the tables ("t1", t2")) is stored in the trend storage unit 103. be done.

利用者1は、データベース装置100(問合せ処理部101)に対して、図4のS405に例示する問合せ(
「SELECT * FROM t3,t4 WHERE t3.c3=t4.c4」)を実行する。問合せ処理部101は、この問合せによりアクセスされるテーブル”t3”、”t4”を特定し、それらを傾向記憶部103に記憶する。この際、問合せ処理部101は、例えば、傾向記憶部103に対して、図4のS406に例示する命令(「append(t3、t4)」)を通知してもよい。また、問合せ処理部101は、テーブル”t3”と、”t4”との間の関係性を表す情報(例えば、結合条件等)を、傾向記憶部103に記憶してもよい。傾向記憶部103には、図4の400cに例示する情報が記憶される。これにより、同一セッションにおけるテーブルのアクセス順序(この場合は、テーブル(”t1”,t2”)、テーブル”t3”、テーブル(”t3”、”t4”)の順にアクセスされる)を表す情報(モデル)が、傾向記憶部103に記憶される。
User 1 sends an inquiry (
"SELECT * FROM t3, t4 WHERE t3.c3=t4.c4"). The query processing unit 101 identifies tables “t3” and “t4” accessed by this query and stores them in the trend storage unit 103 . At this time, the query processing unit 101 may, for example, notify the trend storage unit 103 of an instruction (“append (t3, t4)”) illustrated in S406 of FIG. Also, the query processing unit 101 may store information representing the relationship between the tables “t3” and “t4” (for example, join conditions) in the trend storage unit 103 . The trend storage unit 103 stores information exemplified by 400c in FIG. As a result, information ( model) is stored in the trend storage unit 103 .

利用者1は、データベース装置100(問合せ処理部101)に対して、図4のS407に例示する問合せ(
「SELECT * FROM t5」)を実行する。問合せ処理部101は、この問合せによりアクセスされるテーブル”t5”を特定し、それを傾向記憶部103に記憶する。この際、問合せ処理部101は、例えば、傾向記憶部103に対して、図4のS404に例示する命令(「append(t5)」)を通知してもよい。傾向記憶部103には、図4の400dに例示する情報が記憶される。これにより、同一セッションにおけるテーブルのアクセス順序(この場合は、テーブル(”t1”,t2”)、テーブル”t3”、テーブル(”t3”、”t4”)、テーブル”t5”の順にアクセスされる)を表す情報(モデル)が、傾向記憶部103に記憶される。
User 1 sends an inquiry (
"SELECT * FROM t5"). The query processing unit 101 identifies the table “t5” accessed by this query and stores it in the trend storage unit 103 . At this time, the query processing unit 101 may, for example, notify the trend storage unit 103 of an instruction (“append (t5)”) illustrated in S404 of FIG. The trend storage unit 103 stores information exemplified by 400d in FIG. As a result, the tables are accessed in the same session in the order of access (in this case, table (“t1”, t2”), table “t3”, table (“t3”, “t4”), and table “t5”). ) is stored in the trend storage unit 103 .

図5は、第2の処理の具体例を示す説明図である。図5に例示する処理においては、事前に図4に示す処理が実行され、図4における400a-400dに例示する情報を表すモデルが構築されていることを想定する。なお、図4に例示する利用者1と、図5に例示する利用者2とは、異なる利用者であってもよく、同一の利用者であってもよい。 FIG. 5 is an explanatory diagram showing a specific example of the second processing. In the processing illustrated in FIG. 5, it is assumed that the processing illustrated in FIG. 4 has been executed in advance and a model representing the information illustrated in 400a-400d in FIG. 4 has been constructed. Note that the user 1 illustrated in FIG. 4 and the user 2 illustrated in FIG. 5 may be different users or the same user.

利用者2は、データベース装置100(問合せ処理部101)に対して、図5のS501に示す問合せ(「SELECT * FROM t3」)を実行する。 User 2 executes an inquiry ("SELECT * FROM t3") shown in S501 of FIG. 5 to database device 100 (inquiry processing unit 101).

問合せ処理部101は、その問合せを受け付けると、問合せの対象であるテーブル”t3”に関連する情報を、傾向記憶部103から読み出す。この際、問合せ処理部101は、例えば、傾向記憶部103に対して、図5の502に示すような命令(「get_related(t3)」)を送信してもよい。 Upon receiving the inquiry, the inquiry processing unit 101 reads from the trend storage unit 103 information related to the table “t3” that is the object of the inquiry. At this time, the query processing unit 101 may send a command (“get_related(t3)”) as indicated by 502 in FIG. 5 to the tendency storage unit 103, for example.

図4に示す具体例において説明したように、傾向記憶部103は以下の情報(モデル)を記憶している。
「[(t1, t2 <t1.c1 = t2.c2>), (t3), (t3, t4 <t3.c3 = t4.c4>), (t5)]」.
問合せ処理部101からの要求に対し、傾向記憶部103は、例えば、以下の情報(関連情報)を、問合せ処理部101に返してもよい。即ち、傾向記憶部103は”(t3、t4)”を記憶していることから、テーブル”t3”と同時にアクセスされるテーブルとして、テーブル”t4”を表す情報を、関連情報として問合せ処理部101に返してもよい。また、傾向記憶部103は、テーブル”t3”と、”t4”との関連性を表す情報として、”t3.c3 = t4.c4”を、関連情報として問合せ処理部101に返してもよい。これは、図4のS405においてテーブル”(t3、t4)”にアクセスする問合せが実行された際、結合条件として、”t3.c3 = t4.c4”が用いられたからである。また、傾向記憶部103は、次にアクセスするテーブルの候補として、テーブル”t5”を表す情報を、関連情報として問合せ処理部101に返してもよい。これは、図4に例示するS403-S408の処理において、テーブル”t3”の後に、テーブル”t5”がアクセスされているからである。
As described in the specific example shown in FIG. 4, the tendency storage unit 103 stores the following information (model).
"[(t1, t2 <t1.c1 = t2.c2>), (t3), (t3, t4 <t3.c3 = t4.c4>), (t5)]".
In response to a request from the inquiry processing unit 101, the tendency storage unit 103 may return the following information (related information) to the inquiry processing unit 101, for example. That is, since the tendency storage unit 103 stores "(t3, t4)", the query processing unit 101 uses the information representing the table "t4" as the table accessed at the same time as the table "t3" as related information. may be returned to Further, the tendency storage unit 103 may return "t3.c3=t4.c4" as information indicating the relationship between the tables "t3" and "t4" to the query processing unit 101 as related information. This is because "t3.c3=t4.c4" was used as the join condition when the query for accessing the table "(t3, t4)" was executed in S405 of FIG. Further, the tendency storage unit 103 may return information representing the table “t5” as a candidate for the table to be accessed next to the query processing unit 101 as related information. This is because the table "t5" is accessed after the table "t3" in the processing of S403-S408 illustrated in FIG.

問合せ処理部101は、傾向記憶部103から取得した情報(関連情報)を、傾向判断部104に送る。この際、問合せ処理部101は、傾向判断部104に対して、図5の503に例示するような命令(「get_suggestion(t3)」)を送信してもよい。 The inquiry processing unit 101 sends the information (related information) acquired from the trend storage unit 103 to the trend determination unit 104 . At this time, the query processing unit 101 may send a command (“get_suggestion(t3)”) such as 503 in FIG.

傾向判断部104は、問合せ処理部101から受け付けた情報を、利用者に提案する操作の候補(提案候補)として用い、特定の判定基準を用いて、提案候補から利用者に提案する情報を決定する。 The trend determination unit 104 uses the information received from the inquiry processing unit 101 as candidates for operations to be proposed to the user (suggestion candidates), and determines information to be proposed to the user from the proposal candidates using specific criteria. do.

傾向判断部104は、例えば、すべての提案候補を利用者に提案してもよい。 The trend determination unit 104 may, for example, propose all proposal candidates to the user.

また、傾向判断部104は、例えば、特定の判定基準として問合せに関する条件を考慮して、利用者に提案する情報を決定してもよい。即ち、傾向判断部104は、例えば、利用者(この場合は「利用者2」)から受け付けた問合せにおいて参照される列が、提案する結合条件に含まれるか否かに基づいて、利用者に提案する情報を判定してもよい。具体例として、例えば、利用者から「SELECT c1 FROM t3」という内容の問合せを受け付けた場合を想定する。この場合、傾向記憶部103に記憶されている結合条件(”t3.c3=t4.c4”)に含まれる列”t3.c3”は、問合せにおいて参照される列(”t3.c1”)に含まれない。このため、”t3.c3”は利用者の興味の対象外であると考えられる。したがって、傾向判断部104は、提案候補に含まれる「テーブル”t3”に対して、テーブル”t4”を条件”t3.c3 = t4.c4”により結合する」ことを表す情報を提案から除外する。換言すると、傾向判断部104は、提案候補のうち、問合せにおいて参照される列を含む結合条件を、利用者に提案する情報とし判断してよい。なお、傾向判断部104は、上記に限定されず、他の判定基準を用いて、利用者に提案する情報を決定してもよい。 Further, the trend determination unit 104 may determine the information to be proposed to the user, for example, considering conditions regarding inquiries as specific determination criteria. That is, for example, the trend determination unit 104 asks the user ("user 2" in this case) based on whether or not the column referenced in the query received from the user is included in the proposed join condition. Suggested information may be determined. As a specific example, it is assumed that an inquiry with the contents of "SELECT c1 FROM t3" is received from a user. In this case, the column "t3.c3" included in the join condition ("t3.c3=t4.c4") stored in the trend storage unit 103 is the column ("t3.c1") referenced in the query. Not included. Therefore, it is considered that "t3.c3" is out of the user's interest. Therefore, the tendency determination unit 104 sets the table "t4" to the "table "t3" included in the proposal candidates as the condition "t3. c3 = t4. Exclude from the proposal the information that represents "combined by c4". In other words, the tendency determination unit 104 may determine, among the proposal candidates, the join condition including the column referred to in the query as information to be proposed to the user. Note that the trend determination unit 104 is not limited to the above, and may determine information to be proposed to the user using other determination criteria.

傾向判断部104は、利用者(この場合は利用者2)に対して、図5のS504に例示するように、提案する情報(提案情報)を提供してもよい。なお、傾向判断部104は、問合せ処理部101に対して提案情報を提供し、問合せ処理部101が、利用者(この場合は利用者2)に対して、提案情報を提供してもよい。 The trend determination unit 104 may provide the user (in this case, the user 2) with suggested information (suggestion information), as exemplified in S504 of FIG. Note that the trend determination unit 104 may provide the inquiry processing unit 101 with the proposal information, and the inquiry processing unit 101 may provide the user (user 2 in this case) with the proposal information.

図6は、図5に例示する問合せを実行した利用者に対して、データベース装置100から提供される提案の具体例と示す説明図である。図6に示す600は、例えば、クライアント200に表示される表示画面や、ユーザインタフェースの一部として、利用者に提供されてもよい。 FIG. 6 is an explanatory diagram showing a specific example of a proposal provided from the database device 100 to the user who executed the inquiry illustrated in FIG. 600 shown in FIG. 6 may be provided to the user as part of a display screen displayed on the client 200 or a user interface, for example.

図6の601には、利用者が実行した問合せの内容(「SELECT * FROM t3」)が表示されている。利用者は、例えば、クライアント200に表示されたユーザインタフェースに、図6の601に例示する問合せを入力することで、データベース装置100に対する問合せを実行してもよい。 In 601 of FIG. 6, the content of the inquiry executed by the user ("SELECT * FROM t3") is displayed. The user may execute an inquiry to the database device 100 by, for example, inputting an inquiry exemplified by 601 in FIG. 6 into the user interface displayed on the client 200 .

図6の602には、601における問合せの処理結果が表示される。この場合、テーブル”t3”の内容が表示されている。 In 602 of FIG. 6, the processing result of the inquiry in 601 is displayed. In this case, the contents of table "t3" are displayed.

図6の603には、利用者に対する提案情報が表示される。図6の603において、”t2”、”t3”、”t4”、”t5”、”t6”、”t7”、”t13”、及び”t15”はテーブルを表す。テーブル間を接続する矢印は、アクセスする順序を表す。”You are here”は、利用者が直近に実行したクエリによりアクセスされたテーブル(この場合はテーブル”t3”)を表す。また、”JOIN”は、二つのテーブルを、特定の結合条件により結合することを表す。結合条件は、図6に例示する具体例の場合、”JOIN”の近傍に文字列として表示されている。 In 603 of FIG. 6, proposal information for the user is displayed. At 603 in FIG. 6, "t2", "t3", "t4", "t5", "t6", "t7", "t13", and "t15" represent tables. Arrows connecting the tables represent the order of access. "You are here" represents the table accessed by the user's most recently executed query (table "t3" in this case). Also, "JOIN" represents joining two tables according to a specific join condition. In the specific example shown in FIG. 6, the join condition is displayed as a character string near "JOIN".

図6に示すように、利用者がテーブル”t3”を”SELECT”した問合せに対し、データベース装置100は、次のステップとして(a)テーブル”t3”とテーブル”t4”とを、”t3.c3 = t4.c4”という条件で結合すること、及び、(b)テーブル”t5”を参照することを提案している。また、mapとして、矢印で次のステップを提案する。 As shown in FIG. 6, in response to an inquiry by the user that "SELECT" table "t3", the database device 100 (a) selects table "t3" and table "t4" as the next step, and selects "t3. c3=t4.c4", and (b) referring to table "t5". Also, as a map, the next step is suggested with an arrow.

なお、図6に示す具体例の場合、データベース装置100が、更にその次のステップ(例えばテーブル”t5”を参照した後に(矢印で接続された)テーブル”t6”又はテーブル”t7”の参照や、テーブル”t5”とテーブル”t4”とを”t5.c5=t4.c4”という結合条件により結合することが)を提案可能であることを示している。 In the case of the specific example shown in FIG. 6, the database device 100 further refers to the table "t6" or "t7" (connected by an arrow) after referring to the next step (for example, table "t5"). , to join table "t5" and table "t4" under the join condition "t5.c5=t4.c4") can be proposed.

上記のように構成されたデータベース装置100によれば、利用者がデータ分析をより効率的に実行することができる。その理由は以下のとおりである。即ち、データベース装置100は、あるユーザが実行した問合せを解析し、データベースに対する操作をモデル化する。より具体的には、データベース装置100は、あるセッションにおけるデータベースのアクセス順序をモデルとして記憶することができる。このため、データベース装置100は、例えば、利用者がある順序でテーブルをアクセスした際に、次にアクセスするテーブルの候補を提示することができる。これにより、利用者は、例えば、利用者自身が存在を認識していなかったデータを提案されたテーブルの中から発見することが可能であり、他のデータと、提案されたテーブルに含まれるデータとを組み合わせることで、効果的なデータ分析を行えるようになることが期待できる。 According to the database device 100 configured as described above, the user can more efficiently perform data analysis. The reason is as follows. That is, the database device 100 analyzes a query executed by a certain user and models operations on the database. More specifically, the database device 100 can store the database access order in a session as a model. Therefore, for example, when the user accesses the tables in a certain order, the database apparatus 100 can present candidates for the next table to be accessed. This allows the user to discover, for example, data in the proposed table that the user himself was unaware of, and which other data and data contained in the proposed table. It can be expected that effective data analysis can be performed by combining

また、データベース装置100は、テーブル間の関連性(例えば、ある二つのテーブルに関する結合条件)をモデルとして記憶することができる。このため、データベース装置100は、例えば、ある利用者があるテーブルにアクセスした際、モデルとして記憶している結合条件に基づいて他のテーブルとの結合を提案することができる。これより、例えば、結合条件が不明等の理由により、利用者が活用できていなかったデータについても、データベース装置100からの提案に応じて、利用者がデータの組み合わせ方を発見し、より効果的なデータ分析を行えるようになることが期待できる。 Also, the database device 100 can store relationships between tables (for example, join conditions for two certain tables) as a model. Therefore, for example, when a certain user accesses a certain table, the database device 100 can propose a join with another table based on the join condition stored as a model. As a result, for example, even for data that the user has not been able to utilize due to reasons such as unclear connection conditions, the user can discover how to combine the data according to the proposal from the database device 100, making it more effective. It can be expected that it will be possible to perform various data analysis.

[第1実施形態の変形例1]
本変形例におけるデータベース装置100の基本的な構成は第1実施形態と同様としてよい。本変形例においては、データベース装置100を構成する各構成要素の動作の一部が、第1実施形態から拡張されている。
[Modification 1 of the first embodiment]
The basic configuration of the database device 100 in this modification may be the same as in the first embodiment. In this modified example, part of the operation of each component constituting the database device 100 is extended from the first embodiment.

具体的には、データベース装置100(問合せ処理部101)は、第1の処理において、テーブルに関連する情報を傾向記憶部103に記憶する際に、そのテーブルへアクセスした時間を記憶する。そして、第2の処理において、データベース装置100(傾向判断部104)は、特定の判定基準として、テーブルにアクセスした時間を考慮して、提案候補から利用者に提案する情報を決定する。 Specifically, the database device 100 (query processing unit 101) stores the time when the table was accessed when storing the information related to the table in the trend storage unit 103 in the first process. Then, in the second process, the database device 100 (tendency determination unit 104) determines information to be proposed to the user from the proposal candidates, taking into consideration the time when the table was accessed as a specific criterion.

より具体的には、傾向判断部104は、提案候補に含まれるテーブルのうち、そのテーブルにアクセスした時間が、ある特定の時間(特定時間)より前のテーブルを利用者に提案しないよう除外する。換言すると、傾向判断部104は、提案候補に含まれるテーブルのうち、そのテーブルにアクセスした時間が、ある特定の時間(特定時間)以降のテーブルを利用者に提案してもよい。テーブルに対するアクセスの傾向は時間の経過に応じて変化する可能性あり、古い情報を提案しても有益ではない状況が考えられるからである。 More specifically, the trend determination unit 104 excludes tables included in the proposal candidates from being proposed to the user if the table was accessed before a specific time (specified time). . In other words, the trend determination unit 104 may propose to the user, among the tables included in the proposal candidates, the tables accessed after a certain specific time (specific time). This is because the trends of access to the table may change over time, and there may be situations where suggesting old information is not useful.

上記のように構成された本変形例によるデータベース装置100は、比較的新しいアクセスの傾向に基づいて、利用者に対して、処理の候補(例えば、テーブルのアクセス、結合等)を提案することができる。 The database device 100 according to this modification configured as described above can propose processing candidates (for example, table access, join, etc.) to the user based on relatively new access trends. can.

[第1実施形態の変形例2]
本変形例におけるデータベース装置100の基本的な構成は第1実施形態と同様としてよい。本変形例においては、データベース装置100を構成する各構成要素の動作の一部が、第1実施形態から拡張されている。
[Modification 2 of the first embodiment]
The basic configuration of the database device 100 in this modification may be the same as in the first embodiment. In this modified example, part of the operation of each component constituting the database device 100 is extended from the first embodiment.

本変形例におけるデータベース装置100(傾向判断部104)は、第2の処理において、特定の判定基準として、テーブルにアクセスする利用者のアクセス権限を考慮して、提案候補から利用者に提案する情報を決定する。 In the second process, the database device 100 (tendency determination unit 104) in the present modification considers the access authority of the user who accesses the table as a specific criterion, and considers the information to be proposed to the user from the proposal candidates. to decide.

より具体的には、傾向判断部104は、提案候補に含まれるテーブルのうち、各利用者ごとに、その利用者がアクセスする権限を有しないテーブルに関する情報を、その利用者に提案しないよう除外する。換言すると、傾向判断部104は、提案候補に含まれるテーブルのうち、各利用者ごとに、その利用者がアクセスする権限を有するテーブルに関する情報を、その利用者に提案する。テーブルごとに利用者に応じたアクセス権限が設定されている場合、アクセス権のないテーブルを提案されても、利用者がその情報を有効に活用できないからである。また、これにより、利用者が無用な混乱をまねく可能性を低減できる。テーブルに対するアクセス権限は、例えば、データベース装置100を利用者が利用する際に、クライアント200を介して提供されてもよい。 More specifically, the trend determination unit 104 excludes, for each user, information about tables that the user does not have access rights from among the tables included in the proposal candidates so as not to propose to the user. do. In other words, the tendency determination unit 104 proposes to each user information about a table that the user is authorized to access, among the tables included in the proposal candidates. This is because, if access rights are set for each table according to the user, even if a table without access rights is proposed, the user cannot effectively utilize the information. In addition, this can reduce the possibility of users causing unnecessary confusion. Access rights to the table may be provided via the client 200 when the user uses the database device 100, for example.

[第1実施形態の変形例3]
本変形例におけるデータベース装置100の基本的な構成は第1実施形態と同様としてよい。本変形例においては、データベース装置100を構成する各構成要素の動作の一部が、第1実施形態から拡張されている。
[Modification 3 of the first embodiment]
The basic configuration of the database device 100 in this modification may be the same as in the first embodiment. In this modified example, part of the operation of each component constituting the database device 100 is extended from the first embodiment.

具体的には、データベース装置100(問合せ処理部101)は、第1の処理において、テーブルに関連する情報を傾向記憶部103に記憶する際に、その情報が記録される回数を併せて記憶する。問合せ処理部101は、例えば、テーブルごとに、そのテーブルに関連する問合せを受け付けた回数を、傾向記憶部103に記憶してもよい。より具体的には、問合せ処理部101は、例えば、第1の処理において、あるテーブルに関するアクセスの回数をカウントし、その回数を傾向記憶部103に記憶してもよい。問合せ処理部101は、例えば、問合せに含まれる結合条件ごとに、その結合条件が用いられた回数をカウントし、その回数を傾向記憶部103に記憶してもよい。 Specifically, in the first process, the database device 100 (query processing unit 101) stores the number of times the information is recorded when storing the information related to the table in the trend storage unit 103. . The query processing unit 101 may store, for each table, the number of times queries related to the table have been received in the trend storage unit 103, for example. More specifically, the query processing unit 101 may count the number of accesses to a certain table and store the number of times in the trend storage unit 103 in the first process, for example. For example, the query processing unit 101 may count the number of times the join condition is used for each join condition included in the query, and store the number of times in the trend storage unit 103 .

第2の処理において、データベース装置100(傾向判断部104)は、特定の判定基準として、提案候補ごとに記憶されている回数を考慮して、提案候補から利用者に提案する情報を決定してよい。より具体的には、傾向判断部104は、記憶された回数が特定値を超える提案候補を、利用者に提案する。この特定値は、例えば、利用者が設定可能としてもよい。本変形例におけるデータベース装置100は、例えば、利用者の多様な分析行動により、第2の処理において利用者に提案される情報が過剰になることを防ぐことができる。具体例として、第1の処理において、テーブル”tA”の次にテーブル”tB”にアクセスする問合せが50回、テーブル”tA”の次にテーブル”tC”にアクセスする問合せが10回記録されたことを想定する。仮に、特定値に”20”が設定されている場合、第2の処理において、テーブル”tA”に関する問合せが実行された際、データベース装置100は、次にテーブル”tB”を提案する。即ち、データベース装置100は、比較的アクセス回数が多いテーブル”tB”を利用者に提案し、比較的アクセス回数が少ないテーブル”tC”を除外することで、利用者に提案される情報が過剰になることを防ぐことができる。 In the second process, the database device 100 (tendency determination unit 104) determines the information to be proposed to the user from the proposal candidates in consideration of the number of times each proposal candidate is stored as a specific criterion. good. More specifically, the trend determination unit 104 proposes to the user a proposal candidate whose stored number of times exceeds a specific value. This specific value may be settable by the user, for example. The database device 100 in this modified example can prevent the information proposed to the user from becoming excessive in the second process, for example, due to various analytical behaviors of the user. As a specific example, in the first process, 50 queries accessing table "tB" after table "tA" and 10 queries accessing table "tC" next to table "tA" were recorded. assume that. If the specific value is set to "20", then when a query regarding table "tA" is executed in the second process, the database device 100 then proposes table "tB". That is, the database apparatus 100 proposes to the user the table "tB" which is accessed relatively frequently, and excludes the table "tC" which is accessed relatively frequently, so that the information proposed to the user becomes excessive. can prevent it from happening.

<第2実施形態>
以下、本開示にかかる技術の第2実施形態について説明する。第2実施形態は、第1実施形態及びその変形例にかかるデータベース装置を、複数の離間した物理的又は仮想的な装置により構成されるデータベースシステムとして実現する実施形態である。
<Second embodiment>
A second embodiment of the technology according to the present disclosure will be described below. The second embodiment is an embodiment that implements the database device according to the first embodiment and its modifications as a database system configured by a plurality of separated physical or virtual devices.

図7は、本実施形態におけるデータベースシステム700の機能的な構成を例示するブロック図である。図7に例示するように、データベースシステム700は、問合せ処理装置701と、データ記憶装置702と、傾向記憶装置703と、傾向判断装置704と、を備える。データベースシステム700を構成するこれらの構成要素は、適切な通信方法(例えば、無線通信、有線通信、及びそれらの組合せ)を用いて、通信可能に接続されていてよい。また、各構成要素は、例えば、後述する汎用のハードウェア装置及びかかる装置により実行されるソフトウェア・プログラムを用いて単体の装置として実現されてもよく、専用のハードウェア(例えば、演算処理、記憶処理、通信処理などを実行可能な回路要素等)を用いて実現されてもよい。 FIG. 7 is a block diagram illustrating the functional configuration of the database system 700 in this embodiment. As illustrated in FIG. 7, database system 700 comprises query processing device 701 , data storage device 702 , trend storage device 703 and trend determination device 704 . These components that make up database system 700 may be communicatively coupled using any suitable communication method (eg, wireless communication, wired communication, and combinations thereof). In addition, each component may be realized as a single device using, for example, a general-purpose hardware device and a software program executed by such a device, which will be described later, or dedicated hardware (for example, arithmetic processing, storage processing, communication processing, etc.).

問合せ処理装置701は、上記第1実施形態及びその変形例における問合せ処理部101と同様に、データ記憶装置に記憶されるテーブルに関する問合せを受け付ける。問合せ処理装置701は、例えば、上記第1実施形態及びその変形例における問合せ処理部101と同様の機能を実現するよう構成されてもよい。 The query processing device 701 accepts queries regarding tables stored in the data storage device, like the query processing unit 101 in the first embodiment and its modification. The query processing device 701 may be configured, for example, to achieve the same function as the query processing unit 101 in the first embodiment and its modification.

データ記憶装置702は、上記第1実施形態及びその変形例におけるデータ記憶部102と同様に、データが格納されたテーブルを記憶する。データ記憶装置702は、例えば、上記第1実施形態及びその変形例におけるデータ記憶部102と同様の機能を実現するよう構成されてもよい。 The data storage device 702 stores a table storing data, like the data storage unit 102 in the first embodiment and its modification. The data storage device 702 may be configured, for example, to achieve the same function as the data storage unit 102 in the first embodiment and its modification.

傾向記憶装置703は、上記第1実施形態及びその変形例における傾向記憶部103と同様に、テーブルへのアクセスの傾向を表すモデルを記憶する。傾向記憶装置703は、例えば、上記第1実施形態及びその変形例における傾向記憶部103と同様の機能を実現するよう構成されてもよい。 The trend storage device 703 stores a model representing the trend of access to the table, like the trend storage unit 103 in the first embodiment and its modification. The trend storage device 703 may be configured, for example, to achieve the same function as the trend storage unit 103 in the first embodiment and its modification.

傾向判断装置704は、上記第1実施形態及びその変形例における傾向判断部104と同様に、問合せ処理装置701が受け付けた他の問合せに含まれるテーブルに応じて、傾向記憶装置703に記憶されたモデルに基づいて、他の問合せに関連して実行可能な他の操作を提案する情報を提供する。傾向判断装置704は、例えば、上記第1実施形態及びその変形例における傾向判断部104と同様の機能を実現するように構成されてもよい。このように構成された本実施形態におけるデータベースシステム700によれば、上記第1実施形態におけるデータベース装置100と同様、利用者がデータ分析をより効率的に実行することができる。 Similar to the trend determination unit 104 in the first embodiment and its modification, the trend determination device 704 stores data stored in the trend storage device 703 in accordance with tables included in other queries received by the query processing device 701. Based on the model, it provides information that suggests other operations that can be performed in relation to other queries. The trend determination device 704 may be configured to achieve the same function as the trend determination unit 104 in the first embodiment and its modification, for example. According to the database system 700 of this embodiment configured in this manner, the user can more efficiently perform data analysis, as with the database device 100 of the first embodiment.

<ハードウェア及びソフトウェア・プログラム(コンピュータ・プログラム)の構成>
以下、上記説明した各実施形態を実現可能なハードウェア構成について説明する。以下の説明においては、上記各実施形態において説明した各データベース装置100を、単にデータベース装置と記載する。
<Configuration of hardware and software program (computer program)>
A hardware configuration capable of implementing each of the above-described embodiments will be described below. In the following description, each database device 100 described in each of the above embodiments is simply referred to as a database device.

上記各実施形態において説明したデータベース装置は、1つ又は複数の専用のハードウェア装置により構成されてもよい。その場合、上記図1に示した各構成要素は、一部又は全部を統合したハードウェア(処理ロジックを実装した集積回路等)として実現してもよい。例えば、データベース装置をハードウェア装置により実現する場合、データベース装置の構成要素は、それぞれの機能を提供可能な集積回路(例えば、SoC(System on a Chip)等)として実装されてもよい。この場合、例えば、データベース装置の構成要素が有するデータは、SoCに統合されたRAM(Random Access Memory)領域やフラッシュメモリ領域に記憶されてもよい。 The database device described in each of the above embodiments may be composed of one or more dedicated hardware devices. In that case, each component shown in FIG. 1 above may be implemented as hardware (such as an integrated circuit on which processing logic is implemented) in which a part or all of them are integrated. For example, when the database device is realized by a hardware device, the constituent elements of the database device may be implemented as integrated circuits (for example, SoC (System on a Chip), etc.) capable of providing respective functions. In this case, for example, data possessed by the components of the database device may be stored in a RAM (Random Access Memory) area or flash memory area integrated into the SoC.

この場合、データベース装置は、例えば、問合せ処理部101、データ記憶部102、傾向記憶部103、及び傾向判断部104の機能を実現可能な1以上の処理回路(processing circuitry)、通信回路、及び記憶回路等を用いて実現されてよい。なお、データベース装置を実現する回路構成の実装においては、様々なバリエーションが想定される。データベース装置を複数のハードウェア装置により構成する場合、それぞれのハードウェア装置の間は、適切な通信方法(有線、無線、またはそれらの組み合わせ)により通信可能に接続されていてもよい。 In this case, the database device includes, for example, one or more processing circuits capable of realizing the functions of the query processing unit 101, the data storage unit 102, the trend storage unit 103, and the trend determination unit 104, communication circuits, and storage It may be implemented using a circuit or the like. It should be noted that various variations are conceivable in implementing the circuit configuration that realizes the database device. When the database device is composed of a plurality of hardware devices, the respective hardware devices may be communicatively connected by an appropriate communication method (wired, wireless, or a combination thereof).

また、上述したデータベース装置は、図8に例示するような汎用のハードウェア装置800と、ハードウェア装置800によって実行される各種ソフトウェア・プログラム(コンピュータ・プログラム)とによって構成されてもよい。この場合、データベース装置は、1以上の適切な数のハードウェア装置800及びソフトウェア・プログラムにより構成されてもよい。 Moreover, the database device described above may be configured by a general-purpose hardware device 800 as illustrated in FIG. 8 and various software programs (computer programs) executed by the hardware device 800 . In this case, the database device may consist of one or more suitable number of hardware devices 800 and software programs.

図8におけるプロセッサ801は、例えば、汎用のCPU(中央処理装置:Central Processing Unit)やマイクロプロセッサである。プロセッサ801は、例えば、後述する不揮発性記憶装置803に記憶された各種ソフトウェア・プログラムをメモリ802に読み出し、そのソフトウェア・プログラムに従って処理を実行してもよい。この場合、上記各実施形態におけるデータベース装置の構成要素は、例えば、プロセッサ801により実行されるソフトウェア・プログラムとして実現可能である。 A processor 801 in FIG. 8 is, for example, a general-purpose CPU (Central Processing Unit) or a microprocessor. The processor 801 may, for example, read various software programs stored in a non-volatile storage device 803, which will be described later, into the memory 802 and execute processing according to the software programs. In this case, the constituent elements of the database device in each of the above embodiments can be realized as software programs executed by the processor 801, for example.

この場合、上記各実施形態におけるデータベース装置は、例えば、問合せ処理部101、データ記憶部102、傾向記憶部103、及び傾向判断部104の機能を実現可能な1以上のプログラムにより実現されてよい。なお、かかるプログラムの実装においては、様々なバリエーションが想定される。 In this case, the database device in each of the above embodiments may be realized by one or more programs capable of realizing the functions of the query processing unit 101, the data storage unit 102, the trend storage unit 103, and the trend determination unit 104, for example. It should be noted that various variations are conceivable in the implementation of such a program.

メモリ802は、プロセッサ801から参照可能な、RAM等のメモリデバイスであり、ソフトウェア・プログラムや各種データ等を記憶する。なお、メモリ802は、揮発性のメモリデバイスであってもよい。 The memory 802 is a memory device such as a RAM that can be referred to by the processor 801, and stores software programs, various data, and the like. Note that the memory 802 may be a volatile memory device.

不揮発性記憶装置803は、例えば磁気ディスクドライブや、半導体記憶装置(フラッシュメモリ等)のような、不揮発性の記憶装置である。不揮発性記憶装置803は、各種ソフトウェア・プログラムやデータ等を記憶可能である。上記データベース装置における各種テーブル及びモデルは、例えば、不揮発性記憶装置803に記憶されてもよい。 The nonvolatile storage device 803 is a nonvolatile storage device such as a magnetic disk drive or a semiconductor storage device (flash memory, etc.). The nonvolatile storage device 803 can store various software programs, data, and the like. Various tables and models in the database device may be stored in the non-volatile storage device 803, for example.

リーダライタ804は、例えば、後述する記録媒体805に対するデータの読み込みや書き込みを処理する装置である。データベース装置は、例えば、リーダライタ804を介して、記録媒体805に記録されたデータを読み込んでもよい。 The reader/writer 804 is, for example, a device that processes data reading and writing to a recording medium 805, which will be described later. The database device may read data recorded on the recording medium 805 via the reader/writer 804, for example.

記録媒体805は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な記録媒体である。本開示において、記録媒体の種類及び記録方法(フォーマット)は、特に限定されず、適宜選択されてよい。 A recording medium 805 is a recording medium capable of recording data, such as an optical disk, a magneto-optical disk, or a semiconductor flash memory. In the present disclosure, the type of recording medium and recording method (format) are not particularly limited and may be selected as appropriate.

ネットワークインタフェース806は、通信ネットワークに接続するインタフェース装置であり、例えば有線及び無線のLAN(Local Area Network)接続用インタフェース装置等を採用してもよい。データベース装置は、例えば、ネットワークインタフェース806を介して、クライアント200と通信可能に接続されていてよい。 The network interface 806 is an interface device that connects to a communication network, and may employ, for example, a wired or wireless LAN (Local Area Network) connection interface device. A database device may be communicatively coupled to client 200 via network interface 806, for example.

入出力インタフェース807は、外部装置との間の入出力を制御する装置である。外部装置は、例えば、ユーザからの入力を受け付け可能な入力機器(例えば、キーボード、マウス、タッチパネル等)であってもよい。また、外部装置は、例えばユーザに対して各種出力を提示可能な出力機器(例えば、モニタ画面、プリンタ等)であってもよい。例えば、入出力インタフェースを介して各種データを出力してよい。 The input/output interface 807 is a device that controls input/output with an external device. The external device may be, for example, an input device (for example, keyboard, mouse, touch panel, etc.) capable of receiving input from the user. Also, the external device may be an output device (for example, a monitor screen, a printer, etc.) capable of presenting various outputs to the user. For example, various data may be output via an input/output interface.

本開示にかかる技術は、例えば、ハードウェア装置800に対して供給されたソフトウェア・プログラムを、プロセッサ801が実行することによって実現されてもよい。この場合、ハードウェア装置800で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のミドルウェアなどが、各処理の一部を実行してもよい。 The technology according to the present disclosure may be implemented by the processor 801 executing a software program supplied to the hardware device 800, for example. In this case, an operating system running on the hardware device 800, middleware such as database management software, network software, or the like may execute part of each process.

上述した各実施形態において、上記各図に示した各部は、上述したハードウェアにより実行されるソフトウェア・プログラムの機能(処理)の単位である、ソフトウェアモジュールとして実現されてもよい。例えば、上記各部をソフトウェアモジュールとして実現する場合、これらのソフトウェアモジュールは、不揮発性記憶装置803に記憶されてもよい。そして、プロセッサ801が、それぞれの処理を実行する際に、これらのソフトウェアモジュールをメモリ802に読み出してもよい。また、これらのソフトウェアモジュールは、共有メモリやプロセス間通信等の適宜の方法により、相互に各種データを伝達できるように構成されてもよい。 In each of the above-described embodiments, each part shown in each of the above figures may be realized as a software module, which is a unit of function (processing) of a software program executed by the above-described hardware. For example, when the above units are implemented as software modules, these software modules may be stored in the non-volatile storage device 803 . These software modules may then be read into the memory 802 when the processor 801 executes each process. Also, these software modules may be configured to be able to transmit various data to each other by an appropriate method such as shared memory or inter-process communication.

更に、上記各ソフトウェア・プログラムは、記録媒体805に記録されてもよい。この場合、上記各ソフトウェア・プログラムは、適当な治具(ツール)を利用してハードウェア装置800内にインストールされてもよい。また、各種ソフトウェア・プログラムは、インターネット等の通信回線を介して外部からダウンロードされてもよい。ソフトウェア・プログラムを供給する方法として、各種の一般的な手順を採用することができる。 Furthermore, each of the above software programs may be recorded on the recording medium 805 . In this case, each of the above software programs may be installed into the hardware device 800 using a suitable jig (tool). Also, various software programs may be downloaded from the outside via a communication line such as the Internet. Various common procedures can be employed as a method of providing the software program.

このような場合において、本開示にかかる技術は、ソフトウェア・プログラムを構成するコード、あるいはコードが記録されたところの、コンピュータ読み取り可能な記録媒体によって構成されてもよい。この場合、記録媒体は、ハードウェア装置800と独立した非一時的な記録媒体であってもよく、LANやインターネットなどにより伝送されたソフトウェア・プログラムをダウンロードして記憶又は一時記憶した記録媒体であってもよい。 In such a case, the technology according to the present disclosure may be configured by a computer-readable recording medium on which code constituting a software program or code is recorded. In this case, the recording medium may be a non-temporary recording medium independent of the hardware device 800, and may be a recording medium in which a software program transmitted via a LAN, Internet, etc. is downloaded and stored or temporarily stored. may

また、上述したデータベース装置、あるいは、当該データベース装置の構成要素は、図8に例示するハードウェア装置800を仮想化した仮想環境と、その仮想環境において実行されるソフトウェア・プログラム(コンピュータ・プログラム)とによって構成されてもよい。この場合、図8に例示するハードウェア装置800の構成要素は、仮想環境における仮想デバイスとして提供される。 Further, the above-described database device or components of the database device are a virtual environment obtained by virtualizing the hardware device 800 illustrated in FIG. 8 and a software program (computer program) executed in the virtual environment. may be configured by In this case, the components of the hardware device 800 illustrated in FIG. 8 are provided as virtual devices in the virtual environment.

以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができ、上記各実施形態の変形例や、その組合せも、本発明の技術的範囲に含まれる。 The present invention has been described above using the above-described embodiments as exemplary examples. However, the invention is not limited to the embodiments described above. That is, within the scope of the present invention, various aspects that can be understood by those skilled in the art can be applied to the present invention, and modifications and combinations of the above embodiments are also included in the technical scope of the present invention. be

100 データベース装置
101 問合せ処理部
102 データ記憶部
103 傾向記憶部
104 傾向判断部
700 データベースシステム
701 問合せ処理装置
702 データ記憶装置
703 傾向記憶装置
704 傾向判断装置
REFERENCE SIGNS LIST 100 database device 101 query processing unit 102 data storage unit 103 trend storage unit 104 trend determination unit 700 database system 701 query processing device 702 data storage device 703 trend storage device 704 trend determination device

Claims (10)

データを記憶するテーブルを有するデータ記憶手段に関する問合せを受け付ける問合せ処理手段と、
前記問合せ処理手段が受け付けた問合せに関連する前記テーブルへのアクセスの傾向を表すモデルを記憶する傾向記憶手段と、
前記問合せ処理手段が受け付けた他の問合せに関連する前記テーブルと、前記傾向記憶手段に記憶された前記モデルとに基づいて、操作の候補のうち当該他の問合せが示す前記テーブルが含まれる操作を提案する操作として決定する傾向判断手段と、を備え
前記傾向判断手段は、前記提案する操作に関連する前記テーブルと前記提案する操作とを図示する表示画面を出力する
データベース装置。
query processing means for receiving queries regarding data storage means having tables for storing data;
trend storage means for storing a model representing a trend of access to the table related to queries received by the query processing means;
Based on the table related to the other inquiry received by the inquiry processing means and the model stored in the trend storage means, an operation including the table indicated by the other inquiry among operation candidates is performed. and a trend determination means for determining as a proposed operation ,
The tendency determination means outputs a display screen illustrating the table related to the suggested operation and the suggested operation.
database device.
前記問合せ処理手段は、ある特定のタイミングまでに受け付けた1以上の問合せによる前記テーブルのアクセス順序を、前記モデルとして前記傾向記憶手段に記憶し、
前記傾向判断手段は、前記モデルとして記憶された前記テーブルのアクセス順序に基づいて、前記問合せ処理手段が受け付けた他の問合せに関連する前記テーブルへのアクセスの後にアクセス可能な1以上の前記テーブルへのアクセスを含む操作を、提案する操作の候補である提案候補として選択し、前記提案候補の中から1以上の操作を提案する
請求項1に記載のデータベース装置。
The query processing means stores an access order of the table by one or more queries received by a certain timing as the model in the trend storage means;
The trend determination means accesses one or more of the tables accessible after accessing the tables related to other queries received by the query processing means based on the access order of the tables stored as the model. 2. The database device according to claim 1, wherein operations including access to are selected as proposal candidates that are candidates for operations to be proposed, and one or more operations are proposed from among the proposal candidates.
前記問合せ処理手段は、受け付けた問合せに含まれる複数の前記テーブルを関連付ける結合条件を、前記モデルとして前記傾向記憶手段に記憶し、
前記傾向判断手段は、前記モデルとして記憶された1以上の前記結合条件に基づいて、前記問合せ処理手段が受け付けた他の問合せに含まれる前記テーブルと、他の前記テーブルとを関連付ける操作を、提案する操作の候補である提案候補として選択し、前記提案候補の中から1以上の操作を提案する
請求項1又は請求項2に記載のデータベース装置。
The query processing means stores a join condition for associating the plurality of tables included in the received query as the model in the trend storage means,
The trend judgment means proposes an operation of associating the table included in the other query received by the query processing means with the other table based on one or more of the join conditions stored as the model. 3. The database device according to claim 1, wherein a candidate for an operation to be performed is selected as proposed candidates, and one or more operations are proposed from among the proposed candidates.
前記傾向判断手段は、前記問合せ処理手段が他の問合せを受け付けた際、前記問合せ処理手段が受け付けた他の問合せに含まれる前記テーブルと、他の前記テーブルとを関連付ける前記結合条件のうち、当該他の問合せにおいて参照される前記テーブルの列を含む前記結合条件により前記テーブルを関連付ける操作を提案する
請求項3に記載のデータベース装置。
When the query processing means receives another query, the trend determination means determines, among the join conditions for associating the table included in the other query received by the query processing means, with the other table, the 4. The database device according to claim 3, wherein an operation of associating said tables with said join conditions including columns of said tables referred to in other queries is proposed.
前記問合せ処理手段は、問合せを受け付けた際、その問合せを受け付けた時間を前記傾向記憶手段に記憶し、
前記傾向判断手段は、前記問合せ処理手段が他の問合せを受け付けた際、前記提案候補のうち、ある特定時間以降に受け付けた問合せに関連して記憶された前記モデルに基づいて選択された前記提案候補から、1以上の操作を提案する
請求項2から請求項4のいずれかに記載のデータベース装置。
When receiving an inquiry, the inquiry processing means stores the time at which the inquiry was accepted in the trend storage means,
When the inquiry processing means receives another inquiry, the trend determination means selects the proposal selected from the proposal candidates based on the model stored in relation to the inquiry received after a certain time. 5. The database device according to any one of claims 2 to 4, wherein one or more operations are proposed from the candidates.
前記傾向判断手段は、前記問合せ処理手段が受け付けた他の問合せを実行した利用者の、前記テーブルに対するアクセス権に応じて、その利用者がアクセス可能な前記テーブルに関連する前記提案候補から1以上の操作を提案する
請求項2から請求項5のいずれかに記載のデータベース装置。
The trend determination means selects one or more of the proposal candidates related to the table accessible by the user according to the access right to the table of the user who executed the other query received by the query processing means. 6. The database device according to any one of claims 2 to 5, which proposes the operation of .
前記問合せ処理手段は、問合せを受け付けた際、
その問合せに含まれる前記テーブルについて、当該テーブルに関する問合せが実行された回数と、
複数の前記テーブルの間を関連付ける前記結合条件がその問合せに含まれる場合、当該結合条件を含む問合せが実行された回数と、の少なくとも一方を前記傾向記憶手段に記憶し、
前記傾向判断手段は、前記問合せ処理手段が他の問合せを受け付けた際、前記提案候補のうち、ある特定回数以上問合せが実行された前記テーブルと、前記結合条件との少なくとも一方を含む操作を提案する
請求項3に記載のデータベース装置。
When the inquiry processing means receives an inquiry,
For the table included in the query, the number of times the query for that table has been executed;
storing in the trend storage means at least one of: when the query includes the join condition that associates the plurality of tables, the number of times the query including the join condition has been executed;
When the query processing means receives another query, the trend determination means proposes an operation including at least one of the table for which queries have been executed at least a specific number of times and the join condition among the proposal candidates. 4. The database device according to claim 3.
データを記憶するテーブルを有するデータ記憶装置に関する問合せを受け付ける問合せ処理装置と、
前記問合せ処理装置が受け付けた問合せに関連する前記テーブルへのアクセスの傾向を表すモデルを記憶する傾向記憶装置と、
前記問合せ処理装置が受け付けた他の問合せに関連する前記テーブルと、前記傾向記憶装置に記憶された前記モデルとに基づいて、操作の候補のうち当該他の問合せが示す前記テーブルが含まれる操作を提案する操作として決定する傾向判断装置と、を備え、
前記傾向判断装置は、前記提案する操作に関連する前記テーブルと前記提案する操作とを図示する表示画面を出力し、
前記問合せ処理装置と、前記傾向記憶装置と、前記傾向判断装置とが通信ネットワークを介して相互に通信可能に接続されている
データベースシステム。
a query processing device for receiving queries about a data storage device having tables for storing data;
a trend storage device for storing a model representing a trend of access to the table related to queries received by the query processing device;
Based on the table related to the other inquiry received by the inquiry processing device and the model stored in the trend storage device, an operation including the table indicated by the other inquiry among operation candidates is performed. and a trend determination device for determining as a proposed operation,
The trend determination device outputs a display screen illustrating the table related to the suggested operation and the suggested operation,
A database system in which the query processing device, the trend storage device, and the trend determination device are connected to communicate with each other via a communication network.
コンピュータが、
データを記憶するテーブルを有するデータベースに関する問合せを受け付け、
受け付けた問合せに関連する前記テーブルへのアクセスの傾向を表すモデルを記憶装置に記憶させ
他の問合せに関連する前記テーブルと、記憶された前記モデルとに基づいて、操作の候補のうち当該他の問合せが示す前記テーブルが含まれる操作を提案する操作として決定し、
前記提案する操作に関連する前記テーブルと前記提案する操作とを図示する表示画面を出力する、
データ管理方法。
the computer
accepting queries about a database having tables for storing data;
Storing in a storage device a model representing trends in access to the table associated with received queries;
Based on the table related to the other query and the stored model, determining an operation including the table indicated by the other query among operation candidates as an operation to propose ,
outputting a display screen illustrating the table associated with the suggested operation and the suggested operation;
Data management method.
データを記憶するテーブルを有するデータベースに関する問合せを受け付ける問合せ処理と、
受け付けた問合せに関連する前記テーブルへのアクセスの傾向を表すモデルを記憶装置に記憶させる記憶処理と、
他の問合せに関連する前記テーブルと、記憶された前記モデルとに基づいて、操作の候補のうち当該他の問合せが示す前記テーブルが含まれる操作を提案する操作として決定する傾向判断処理と
前記提案する操作に関連する前記テーブルと前記提案する操作とを図示する表示画面を出力する処理とを、データベース装置として機能するコンピュータに実行させる
コンピュータ・プログラム。
a query process that accepts queries about a database having tables that store data;
a storage process for storing, in a storage device, a model representing trends in access to the table associated with received queries;
trend determination processing for determining an operation including the table indicated by the other query among operation candidates as an operation to be proposed, based on the table related to the other query and the stored model ;
A computer program that causes a computer functioning as a database device to execute a process of outputting a display screen showing the table related to the suggested operation and the suggested operation .
JP2018026175A 2018-02-16 2018-02-16 DATABASE DEVICE, DATA MANAGEMENT METHOD AND COMPUTER PROGRAM Active JP7119411B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018026175A JP7119411B2 (en) 2018-02-16 2018-02-16 DATABASE DEVICE, DATA MANAGEMENT METHOD AND COMPUTER PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018026175A JP7119411B2 (en) 2018-02-16 2018-02-16 DATABASE DEVICE, DATA MANAGEMENT METHOD AND COMPUTER PROGRAM

Publications (2)

Publication Number Publication Date
JP2019144679A JP2019144679A (en) 2019-08-29
JP7119411B2 true JP7119411B2 (en) 2022-08-17

Family

ID=67772353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018026175A Active JP7119411B2 (en) 2018-02-16 2018-02-16 DATABASE DEVICE, DATA MANAGEMENT METHOD AND COMPUTER PROGRAM

Country Status (1)

Country Link
JP (1) JP7119411B2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090313278A1 (en) 2005-06-14 2009-12-17 Enterprise Elements, Inc. Database Data Dictionary
JP2012137870A (en) 2010-12-24 2012-07-19 Internatl Business Mach Corp <Ibm> Management system for controlling mirroring of table based on access prediction, program, and method
JP2013122701A (en) 2011-12-12 2013-06-20 Canon Inc Information retrieval device and information retrieval method
US20170124487A1 (en) 2015-03-20 2017-05-04 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning model training and deployment with a rollback mechanism
WO2017073714A1 (en) 2015-10-29 2017-05-04 株式会社ディビイ Database processing program, database processing method, and database processing apparatus
US20170139927A1 (en) 2015-11-15 2017-05-18 Microsoft Technology Licensing, Llc Providing data presentation functionality associated with collaboration database
US20170308595A1 (en) 2016-04-26 2017-10-26 Informatica Llc Learning from historical logs and recommending database operations on a data-asset in an etl tool

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090313278A1 (en) 2005-06-14 2009-12-17 Enterprise Elements, Inc. Database Data Dictionary
JP2012137870A (en) 2010-12-24 2012-07-19 Internatl Business Mach Corp <Ibm> Management system for controlling mirroring of table based on access prediction, program, and method
JP2013122701A (en) 2011-12-12 2013-06-20 Canon Inc Information retrieval device and information retrieval method
US20170124487A1 (en) 2015-03-20 2017-05-04 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning model training and deployment with a rollback mechanism
WO2017073714A1 (en) 2015-10-29 2017-05-04 株式会社ディビイ Database processing program, database processing method, and database processing apparatus
US20170139927A1 (en) 2015-11-15 2017-05-18 Microsoft Technology Licensing, Llc Providing data presentation functionality associated with collaboration database
US20170308595A1 (en) 2016-04-26 2017-10-26 Informatica Llc Learning from historical logs and recommending database operations on a data-asset in an etl tool

Also Published As

Publication number Publication date
JP2019144679A (en) 2019-08-29

Similar Documents

Publication Publication Date Title
US7526469B2 (en) Method and system of database management with shared area
US20150222731A1 (en) Computer, guide information providing method and recording medium
US20140067804A1 (en) Workflow generation server and method of generating workflow
WO2014167647A1 (en) Data management device, date management method, and permanent storage medium
JP5844895B2 (en) Distributed data search system, distributed data search method, and management computer
JPWO2011111532A1 (en) Database system
US11036701B2 (en) Data sampling in a storage system
US9773003B2 (en) Computer implemented system and method for investigative data analytics
US20180329873A1 (en) Automated data extraction system based on historical or related data
US20140006553A1 (en) Anonymizing apparatus and anonymizing method
US20230401209A1 (en) Columnar Cache Query Using Hybrid Query Execution Plan
JP2009129067A (en) File retrieval method, file retrieval device, retrieval system, and file retrieval program
JP7119411B2 (en) DATABASE DEVICE, DATA MANAGEMENT METHOD AND COMPUTER PROGRAM
US10866958B2 (en) Data management system and related data recommendation method
JP2008181218A (en) Input support method and device
JP2007334412A (en) Retrieval program and retrieving device
US11157506B2 (en) Multiform persistence abstraction
US11494371B2 (en) Computer system and data management method
US20130218928A1 (en) Information processing device
JP6695847B2 (en) Software parts management system, computer
JP6871395B2 (en) Systems and methods for providing cross-network event attribution
US20140067848A1 (en) Estimation of effects of process customization
JP7101631B2 (en) Identification ID assignment system and identification ID assignment method
JP6834242B2 (en) Information processing equipment and programs
US20160309006A1 (en) Non-transitory computer-readable recording medium and distributed processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210115

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220131

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220718

R151 Written notification of patent or utility model registration

Ref document number: 7119411

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151