JP7119411B2 - DATABASE DEVICE, DATA MANAGEMENT METHOD AND COMPUTER PROGRAM - Google Patents
DATABASE DEVICE, DATA MANAGEMENT METHOD AND COMPUTER PROGRAM Download PDFInfo
- 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
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.
データベースには、多様なデータが格納されることがあり、データベースに登録されたデータを組み合わせることで新たな知見が得られることがある。一方、複数の利用者がデータベースにデータを格納する場合、各利用者がデータベースに格納されたデータの全容や、データの構造を把握することは難しい可能性がある。この場合、例えば、データベースに登録されたデータやその組合せを利用して、利用者がデータ分析を実行することが容易ではない、という問題がある。 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.
<実施形態の概要>
各実施形態の詳細な説明に先立って、本開示における技術的な検討事項等について説明する。
<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
クライアント200は、利用者がデータベース装置100に対して問合せ(SQLなどの問合せ言語を用いたデータの挿入、更新、参照などのクエリ)を発行する装置である。クライアント200は、例えば、コンピュータなどの通信機能を備えた情報処理装置により構成されてもよい。クライアント200が発行する問合せは、特定の問合せ言語(例えばSQL)に限定されず、適切な問合せ言語が用いられてよい。データベース装置100と、クライアント200とを接続する通信ネットワークは特に限定されず、適切な通信方法(有線、無線、およびそれらの組み合わせ)を採用することができる。
The
以下、本実施形態におけるデータベース装置100を構成する構成要素について説明する。図1に例示するように、データベース装置100は、問合せ処理部101と、データ記憶部102と、傾向記憶部103と、傾向判断部104と、を備える。データベース装置100を構成するこれらの構成要素は、適切な通信方法を用いて、通信可能に接続されていてよい。また、各構成要素は、例えば、後述するハードウェア装置によって実行されるソフトウェア・プログラムとして実現されてもよく、専用のハードウェア(例えば、演算処理、記憶処理、通信処理などを実行可能な回路要素等)を用いて実現されてもよい。
The constituent elements that constitute the
問合せ処理部101(問合せ処理手段)は、クライアント200から発行された問合せを処理するよう構成される。問合せ処理部101は、例えば、クライアント200から発行されたデータベースに関する問合せ(SQL等)を解釈し、その問合せに含まれるデータベース操作の命令を実行してもよい。
The inquiry processing unit 101 (inquiry processing means) is configured to process an inquiry issued by the
データ記憶部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
傾向記憶部103(傾向記憶手段)は、クライアント200が発行した問合せをモデル化して記憶するよう構成される。具体的には、傾向記憶部103は、クライアント200から受け付けた問合せに含まれるテーブルへのアクセスの傾向を表すモデルを記憶してもよい。傾向記憶部103の詳細な動作については、後述する。
The trend storage unit 103 (tendency storage means) is configured to model and store queries issued by the
傾向判断部104(傾向判断手段)は、クライアント200が発行した問合せに応じて、傾向記憶部103に記憶されたモデルに基づいて、その問合せに関連した実行可能な他の操作を提案するか否かを判断するよう構成される。傾向判断部104は、例えば、クライアント200から受け付けた問合せに、傾向記憶部103に蓄積されたモデルに類似する問合せが含まれるか否かを判断してもよい。傾向判断部104は、クライアント200が発行した問合せに適合するモデルがある場合、そのモデルに基づいて、クライアント200に対して、別の問合せを提案してもよい。傾向判断部104の具体的な動作については、後述する。
In response to a query issued by the
[動作]
以下、上記のように構成されたデータベース装置100の動作について、説明する。データベース装置100は、大別して、以下の二つの処理(第1の処理、第2の処理)を実行する。即ち、データベース装置100は、クライアント200が発行した問合せをモデル化し(モデルを作成し)、記憶する処理(第1の処理)を実行するよう構成される。データベース装置100は、また、作成したモデルに基づいて、クライアント200に対して、次に実行する操作(例えば、次に実行する問合せ等)を提案する処理(第2の処理)を実行するよう構成される。データベース装置100は、これらの処理を必ずしも排他的に実行する必要はなく、両方の処理を並行して実行してもよい。
[motion]
The operation of the
以下、第1の処理について、図2に例示するフローチャートを用いて説明する。 The first processing will be described below with reference to the flowchart illustrated in FIG.
問合せ処理部101は、クライアント200が発行した問合せを受け付け、その問合せを解析する(ステップS201)。以下、具体例として、クライアント200が発行する問合せはリレーショナルデータベースにおいて一般的に用いられるSQLを用いて記述されることを想定する。なお、本開示にかかる技術はこれに限定されず、他の問合せ言語にも適用可能である。
The
問合せ処理部101は、以前の問合せにおいてアクセスしたテーブルの情報を読み出す(ステップS202)。問合せ処理部101は、例えば、前回第1の処理を実行した際に、後述するステップS203において記憶したテーブルの情報を、傾向記憶部103から読み出してもよい。なお、クライアント200から受け付けた問合せが、あるセッションにおいて最初の問合せである場合、問合せ処理部101は、ステップS202を実行せずともよい。セッションは、例えば、データベース装置100に対する一連の操作のまとまり(操作のセット)であってよい。例えば、ある利用者がデータベース装置100に接続した際に一つのセッションが開始され、その利用者がデータベース装置100から切断した際に、そのセッションが終了してもよい。この場合、そのセッションには、ある利用者がデータベース装置100に接続してからデータベース装置100から切断されるまでの間に実行された操作が含まれる。
The
問合せ処理部101は、ステップS201において受け付けた問合せを処理する際にアクセスするテーブルを、傾向記憶部103に記憶する(ステップS203)。具体的には、問合せ処理部101は、クライアント200から受け付けた問合せが、あるセッションにおいて最初の問合せである場合、その問合せにおいてアクセスされたテーブルを表す情報を傾向記憶部103に記憶してよい。クライアント200から受け付けた問合せが、あるセッションにおいて最初の問合せではなく、ステップS202において以前にアクセスしたテーブルの情報が読み込まれている場合、問合せ処理部101は、以前の問合せにおいてアクセスしたテーブルと、今回の問合せにおいてアクセスしたテーブルとの関係を表す情報を傾向記憶部103に記憶してよい。即ち、問合せ処理部101は、ある特定のタイミングまでに受け付けた問合せにおいてアクセスされたテーブル間の関係を表す情報を、傾向記憶部103に記憶してよい。かかる特定のタイミングは、特に限定されず、例えば、あるセッションにおいて最後に問合せを受け付けたタイミング(最新の問合せを受け付けたタイミング)であってもよく、それ以前の適切なタイミングであってもよい。かかるタイミングは、例えば、予め設定値等として問合せ処理部101に設定されていてもよい。
The
具体例として、問合せ処理部101が、ステップS201において以下のような問合せ(SQL)を受け付けたことを想定する。
As a specific example, it is assumed that the
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
なお、ステップ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
また、他の具体例として、問合せ処理部101が、ステップS201において以下のような問合せ(SQL)を受け付けたことを想定する。
As another specific example, it is assumed that the
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
問合せ処理部101は、ステップS201において受け付けた問合せに、複数のテーブルが含まれるか否か(問合せにおいて複数のテーブルがアクセスされるか否か)を判断する(ステップS204)。上記の具体例を用いて説明すると、(問合せ1)の場合、アクセスされるテーブルの数は1つ(”t1”)なので、問合せ処理部101は、ステップS204において”No”と判断する。また、上記(問合せ2)の場合、複数のテーブル(”t1”、”t2”)がアクセスされるので、問合せ処理部101は、ステップS204において”Yes”と判断する。
The
ステップ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
上記説明したステップS203、S205の処理により、問合せ処理部101は、データベースに格納されたテーブルに対するアクセスをモデル化することができる。より具体的には、問合せ処理部101は、例えば、データベースに格納されたテーブルに対するアクセスの順番を、モデル化することができる。また、問合せ処理部101は、データベースに格納されたテーブル間の関係性をモデル化することができる。より具体的には、問合せ処理部101は、あるテーブルと、他のテーブルとの結合関係(それらのテーブルを結合する結合条件)をモデル化することができる。
Through the processing of steps S203 and S205 described above, the
以下、第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
問合せ処理部101は、ステップS301において特定された各テーブルについて、以下において説明するステップS302からステップS304を繰り返し実行する(ステップS302-ステップS305)。上記した(問合せ2)の例において、テーブル”t1”及びテーブル”t2”のそれぞれについて、以下の各ステップ(ステップS302-S304)において説明する処理を行う。なお、以下のステップの説明においては、説明の便宜上処理対象とするテーブルを”t”と記載する。
The
問合せ処理部101は、傾向記憶部103からテーブル”t”に関連する情報を読み出す(ステップS302)。問合せ処理部101は、読み出した情報を傾向判断部104に提供してもよい。この際、読み出される情報は、例えば、上記説明したステップS203、S205において傾向記憶部103に記憶された情報(例えば、テーブルのアクセス順序、テーブル間の結合関係等)であってよい。
The
傾向判断部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
以下、ステップS304における処理について具体的に説明する。傾向判断部104は、ステップS302で得られたテーブル”t”に関連する情報に基づいて、利用者に対して、次にアクセスするテーブルを提示してもよい。また、傾向判断部104は、利用者に対して、次にアクセスする他のテーブルと、当該他のテーブルとテーブル”t”と結合条件を提示してもよい。
The processing in step S304 will be specifically described below. The
傾向判断部104は、傾向記憶部103から取得したテーブル”t”に関する情報を、そのまま利用者に提示してもよい。傾向判断部104は、傾向記憶部103から取得したテーブル”t”に関する情報のうち、ステップS301において受け付けた問合せに応じて、特定の条件を満たす情報を選択して、利用者に提示してもよい。
The
以下、図4及び図5に例示する具体例を用いて、データベース装置100の動作について、更に具体的に説明する。
Hereinafter, the operation of the
図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,
利用者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
利用者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
利用者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
利用者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
図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
図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
"[(t1, t2 <t1.c1 = t2.c2>), (t3), (t3, t4 <t3.c3 = t4.c4>), (t5)]".
In response to a request from the
問合せ処理部101は、傾向記憶部103から取得した情報(関連情報)を、傾向判断部104に送る。この際、問合せ処理部101は、傾向判断部104に対して、図5の503に例示するような命令(「get_suggestion(t3)」)を送信してもよい。
The
傾向判断部104は、問合せ処理部101から受け付けた情報を、利用者に提案する操作の候補(提案候補)として用い、特定の判定基準を用いて、提案候補から利用者に提案する情報を決定する。
The
傾向判断部104は、例えば、すべての提案候補を利用者に提案してもよい。
The
また、傾向判断部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
傾向判断部104は、利用者(この場合は利用者2)に対して、図5のS504に例示するように、提案する情報(提案情報)を提供してもよい。なお、傾向判断部104は、問合せ処理部101に対して提案情報を提供し、問合せ処理部101が、利用者(この場合は利用者2)に対して、提案情報を提供してもよい。
The
図6は、図5に例示する問合せを実行した利用者に対して、データベース装置100から提供される提案の具体例と示す説明図である。図6に示す600は、例えば、クライアント200に表示される表示画面や、ユーザインタフェースの一部として、利用者に提供されてもよい。
FIG. 6 is an explanatory diagram showing a specific example of a proposal provided from the
図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
図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
上記のように構成されたデータベース装置100によれば、利用者がデータ分析をより効率的に実行することができる。その理由は以下のとおりである。即ち、データベース装置100は、あるユーザが実行した問合せを解析し、データベースに対する操作をモデル化する。より具体的には、データベース装置100は、あるセッションにおけるデータベースのアクセス順序をモデルとして記憶することができる。このため、データベース装置100は、例えば、利用者がある順序でテーブルをアクセスした際に、次にアクセスするテーブルの候補を提示することができる。これにより、利用者は、例えば、利用者自身が存在を認識していなかったデータを提案されたテーブルの中から発見することが可能であり、他のデータと、提案されたテーブルに含まれるデータとを組み合わせることで、効果的なデータ分析を行えるようになることが期待できる。
According to the
また、データベース装置100は、テーブル間の関連性(例えば、ある二つのテーブルに関する結合条件)をモデルとして記憶することができる。このため、データベース装置100は、例えば、ある利用者があるテーブルにアクセスした際、モデルとして記憶している結合条件に基づいて他のテーブルとの結合を提案することができる。これより、例えば、結合条件が不明等の理由により、利用者が活用できていなかったデータについても、データベース装置100からの提案に応じて、利用者がデータの組み合わせ方を発見し、より効果的なデータ分析を行えるようになることが期待できる。
Also, the
[第1実施形態の変形例1]
本変形例におけるデータベース装置100の基本的な構成は第1実施形態と同様としてよい。本変形例においては、データベース装置100を構成する各構成要素の動作の一部が、第1実施形態から拡張されている。
[Modification 1 of the first embodiment]
The basic configuration of the
具体的には、データベース装置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
より具体的には、傾向判断部104は、提案候補に含まれるテーブルのうち、そのテーブルにアクセスした時間が、ある特定の時間(特定時間)より前のテーブルを利用者に提案しないよう除外する。換言すると、傾向判断部104は、提案候補に含まれるテーブルのうち、そのテーブルにアクセスした時間が、ある特定の時間(特定時間)以降のテーブルを利用者に提案してもよい。テーブルに対するアクセスの傾向は時間の経過に応じて変化する可能性あり、古い情報を提案しても有益ではない状況が考えられるからである。
More specifically, the
上記のように構成された本変形例によるデータベース装置100は、比較的新しいアクセスの傾向に基づいて、利用者に対して、処理の候補(例えば、テーブルのアクセス、結合等)を提案することができる。
The
[第1実施形態の変形例2]
本変形例におけるデータベース装置100の基本的な構成は第1実施形態と同様としてよい。本変形例においては、データベース装置100を構成する各構成要素の動作の一部が、第1実施形態から拡張されている。
[Modification 2 of the first embodiment]
The basic configuration of the
本変形例におけるデータベース装置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
[第1実施形態の変形例3]
本変形例におけるデータベース装置100の基本的な構成は第1実施形態と同様としてよい。本変形例においては、データベース装置100を構成する各構成要素の動作の一部が、第1実施形態から拡張されている。
[Modification 3 of the first embodiment]
The basic configuration of the
具体的には、データベース装置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
第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
<第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
問合せ処理装置701は、上記第1実施形態及びその変形例における問合せ処理部101と同様に、データ記憶装置に記憶されるテーブルに関する問合せを受け付ける。問合せ処理装置701は、例えば、上記第1実施形態及びその変形例における問合せ処理部101と同様の機能を実現するよう構成されてもよい。
The
データ記憶装置702は、上記第1実施形態及びその変形例におけるデータ記憶部102と同様に、データが格納されたテーブルを記憶する。データ記憶装置702は、例えば、上記第1実施形態及びその変形例におけるデータ記憶部102と同様の機能を実現するよう構成されてもよい。
The
傾向記憶装置703は、上記第1実施形態及びその変形例における傾向記憶部103と同様に、テーブルへのアクセスの傾向を表すモデルを記憶する。傾向記憶装置703は、例えば、上記第1実施形態及びその変形例における傾向記憶部103と同様の機能を実現するよう構成されてもよい。
The
傾向判断装置704は、上記第1実施形態及びその変形例における傾向判断部104と同様に、問合せ処理装置701が受け付けた他の問合せに含まれるテーブルに応じて、傾向記憶装置703に記憶されたモデルに基づいて、他の問合せに関連して実行可能な他の操作を提案する情報を提供する。傾向判断装置704は、例えば、上記第1実施形態及びその変形例における傾向判断部104と同様の機能を実現するように構成されてもよい。このように構成された本実施形態におけるデータベースシステム700によれば、上記第1実施形態におけるデータベース装置100と同様、利用者がデータ分析をより効率的に実行することができる。
Similar to the
<ハードウェア及びソフトウェア・プログラム(コンピュータ・プログラム)の構成>
以下、上記説明した各実施形態を実現可能なハードウェア構成について説明する。以下の説明においては、上記各実施形態において説明した各データベース装置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
上記各実施形態において説明したデータベース装置は、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
また、上述したデータベース装置は、図8に例示するような汎用のハードウェア装置800と、ハードウェア装置800によって実行される各種ソフトウェア・プログラム(コンピュータ・プログラム)とによって構成されてもよい。この場合、データベース装置は、1以上の適切な数のハードウェア装置800及びソフトウェア・プログラムにより構成されてもよい。
Moreover, the database device described above may be configured by a general-
図8におけるプロセッサ801は、例えば、汎用のCPU(中央処理装置:Central Processing Unit)やマイクロプロセッサである。プロセッサ801は、例えば、後述する不揮発性記憶装置803に記憶された各種ソフトウェア・プログラムをメモリ802に読み出し、そのソフトウェア・プログラムに従って処理を実行してもよい。この場合、上記各実施形態におけるデータベース装置の構成要素は、例えば、プロセッサ801により実行されるソフトウェア・プログラムとして実現可能である。
A
この場合、上記各実施形態におけるデータベース装置は、例えば、問合せ処理部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
メモリ802は、プロセッサ801から参照可能な、RAM等のメモリデバイスであり、ソフトウェア・プログラムや各種データ等を記憶する。なお、メモリ802は、揮発性のメモリデバイスであってもよい。
The
不揮発性記憶装置803は、例えば磁気ディスクドライブや、半導体記憶装置(フラッシュメモリ等)のような、不揮発性の記憶装置である。不揮発性記憶装置803は、各種ソフトウェア・プログラムやデータ等を記憶可能である。上記データベース装置における各種テーブル及びモデルは、例えば、不揮発性記憶装置803に記憶されてもよい。
The
リーダライタ804は、例えば、後述する記録媒体805に対するデータの読み込みや書き込みを処理する装置である。データベース装置は、例えば、リーダライタ804を介して、記録媒体805に記録されたデータを読み込んでもよい。
The reader/
記録媒体805は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な記録媒体である。本開示において、記録媒体の種類及び記録方法(フォーマット)は、特に限定されず、適宜選択されてよい。
A
ネットワークインタフェース806は、通信ネットワークに接続するインタフェース装置であり、例えば有線及び無線のLAN(Local Area Network)接続用インタフェース装置等を採用してもよい。データベース装置は、例えば、ネットワークインタフェース806を介して、クライアント200と通信可能に接続されていてよい。
The
入出力インタフェース807は、外部装置との間の入出力を制御する装置である。外部装置は、例えば、ユーザからの入力を受け付け可能な入力機器(例えば、キーボード、マウス、タッチパネル等)であってもよい。また、外部装置は、例えばユーザに対して各種出力を提示可能な出力機器(例えば、モニタ画面、プリンタ等)であってもよい。例えば、入出力インタフェースを介して各種データを出力してよい。
The input/
本開示にかかる技術は、例えば、ハードウェア装置800に対して供給されたソフトウェア・プログラムを、プロセッサ801が実行することによって実現されてもよい。この場合、ハードウェア装置800で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のミドルウェアなどが、各処理の一部を実行してもよい。
The technology according to the present disclosure may be implemented by the
上述した各実施形態において、上記各図に示した各部は、上述したハードウェアにより実行されるソフトウェア・プログラムの機能(処理)の単位である、ソフトウェアモジュールとして実現されてもよい。例えば、上記各部をソフトウェアモジュールとして実現する場合、これらのソフトウェアモジュールは、不揮発性記憶装置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
更に、上記各ソフトウェア・プログラムは、記録媒体805に記録されてもよい。この場合、上記各ソフトウェア・プログラムは、適当な治具(ツール)を利用してハードウェア装置800内にインストールされてもよい。また、各種ソフトウェア・プログラムは、インターネット等の通信回線を介して外部からダウンロードされてもよい。ソフトウェア・プログラムを供給する方法として、各種の一般的な手順を採用することができる。
Furthermore, each of the above software programs may be recorded on the
このような場合において、本開示にかかる技術は、ソフトウェア・プログラムを構成するコード、あるいはコードが記録されたところの、コンピュータ読み取り可能な記録媒体によって構成されてもよい。この場合、記録媒体は、ハードウェア装置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
また、上述したデータベース装置、あるいは、当該データベース装置の構成要素は、図8に例示するハードウェア装置800を仮想化した仮想環境と、その仮想環境において実行されるソフトウェア・プログラム(コンピュータ・プログラム)とによって構成されてもよい。この場合、図8に例示するハードウェア装置800の構成要素は、仮想環境における仮想デバイスとして提供される。
Further, the above-described database device or components of the database device are a virtual environment obtained by virtualizing the
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができ、上記各実施形態の変形例や、その組合せも、本発明の技術的範囲に含まれる。 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
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に記載のデータベース装置。 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.
請求項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 .
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)
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 |
-
2018
- 2018-02-16 JP JP2018026175A patent/JP7119411B2/en active Active
Patent Citations (7)
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 |