JP4502063B2 - Data warehouse system, query processing method used therein, data collection method and apparatus therefor, and billing system - Google Patents
Data warehouse system, query processing method used therein, data collection method and apparatus therefor, and billing system Download PDFInfo
- Publication number
- JP4502063B2 JP4502063B2 JP2008317833A JP2008317833A JP4502063B2 JP 4502063 B2 JP4502063 B2 JP 4502063B2 JP 2008317833 A JP2008317833 A JP 2008317833A JP 2008317833 A JP2008317833 A JP 2008317833A JP 4502063 B2 JP4502063 B2 JP 4502063B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- replica
- server
- query
- data collection
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、分散ネットワークコンピューティング環境(以下、分散環境)におけるデータウェアハウスシステムとそこで用いられる問合せ処理方法及びそのためのデータ収集方法と装置、さらには、課金システム及び方法に関する。 The present invention relates to a data warehouse system in a distributed network computing environment (hereinafter referred to as a distributed environment), a query processing method used therein, a data collection method and apparatus therefor, and a charging system and method.
計算機システムの低価格化による普及と、高信頼なソフトウェアの出現、社会システムの効率化への要望などから、さまざまな情報がオンライン化され利用されつつある。例えば、企業活動においては、店舗での売り上げ状況や、製品管理情報、顧客情報などの各種業務データが計算機で処理されるようになっている。これらの基幹業務で利用されていた計算機上のデータを、基幹業務のみならず、商品の売れ行きの動向調査や、顧客の嗜好分析などの他の目的で有効活用したいという要望から、データウェアハウスシステムが盛んに用いられるようになっている。データウェアハウスについては、例えば、非特許文献1に、その構成方法、利用方法が説明されている。データウェアハウスシステムは、その名前の通り、データの倉庫であり、基幹業務で利用される膨大なデータを蓄積・管理するために広まりつつある。
Due to the spread of computer systems due to lower prices, the emergence of highly reliable software, and the demand for more efficient social systems, various information is being put online and used. For example, in business activities, various business data such as sales status in stores, product management information, and customer information are processed by a computer. The data warehouse system is used to effectively utilize the computer data used in these mission-critical operations not only for mission-critical operations but also for other purposes such as product sales trend surveys and customer preference analysis. Is actively used. As for the data warehouse, for example, Non-Patent
近年、このデータウェアハウスで蓄積・管理されるデータに対して、さまざまな角度から検討を加えることによって、これまでは見過ごされていた新しい情報を得られることがわかってきた。例えば、あるスーパーマーケットで、売り上げデータを解析したところ、「週末に仕事帰りの男性がビールとおむつをまとめ買い
する」という一見関係のなさそうな2つの商品間の関連が明らかとなり、この情報を利用してビールとおむつを近い場所に並べることで売り上げを伸ばすことができたという例がある。このように、これまでは見過ごされていた有益な情報を、データの中から見つけ出す手法はデータマイニングと呼ばれる。
In recent years, it has been found that new information that has been overlooked so far can be obtained by examining the data stored and managed in this data warehouse from various angles. For example, when sales data was analyzed at a supermarket, the relationship between two seemingly unrelated relations, such as “men on the weekend to buy beer and diapers at the weekend,” became clear. There is an example that sales could be increased by arranging beer and diapers in close proximity. As described above, a method for finding useful information that has been overlooked in the data is called data mining.
計算機の普及と並行する形で、インターネットに代表されるネットワーク技術の進歩も著しい。このネットワーク技術は、例えば、非特許文献2の第1節に説明されている、CORBA(Common Object Request Broker Architecture)に代表される、分散ネットワーク基盤技術とを利用することにより、各種の情報をネットワークを介して利用することが可能となりつつある。
In parallel with the spread of computers, the progress of network technology represented by the Internet is also remarkable. This network technology, for example, uses a distributed network infrastructure technology represented by CORBA (Common Object Request Broker Architecture), which is described in
以上のような背景から、ネットワーク上に存在する複数のデータベースやデータウェアハウス上のデータを統合し、データマイニングなどの手法を利用することによって、これまでよりもさらに有用な情報を得ようようとする試みが生まれるのは自然な成り行きである。データベースの統合利用については、例えば非特許文献3などに説明されているように、従来から学会を中心として異種データベース、連邦データベース、多データベースなどの研究が盛んであり、複数のデータベースの結合方式が数多く議論されているが、そのほとんどがデータの異種性を考慮して、いかにして相異なるデータを統合利用するかを中心とする研究であった。 From these backgrounds, we will try to obtain more useful information than before by integrating data on multiple databases and data warehouses on the network and using methods such as data mining. The attempt to do so is a natural outcome. Regarding the integrated use of databases, for example, as described in Non-Patent Document 3, etc., researches on heterogeneous databases, federal databases, multi-databases, etc. have been actively conducted mainly by academic societies. Many studies have been discussed, but most of the research focused on how to integrate and use different data in consideration of the heterogeneity of data.
しかしながら、分散環境でデータウェアハウスシステムを構築しようとする場合には、そのデータ規模が大きいこと、データに対する問合せ処理が従来のデータベース検索処理と比較して複雑なことに起因する性能上の多くの問題が顕れる。例えば、データ規模に関しては、1998年3月現在で数TB(テラバイト;10の12乗バイト)級のデータウェアハウスが構築されている。問合せ処理の複雑さに関しては、データウェアハウス、データマイニングなどの意思決定支援をモデル化し、業界で広く受け入れられている標準的なベンチマーク”TPC BENCHMARK D(Decision Support)Standard
Specification”、Revision 1.2.2、Trans
action Processing Performance Councilの問合せがその好適な例となる。例えば、1TBの大規模データに対して、前記TPC−Dの一連の問合せを実行した場合、1998年5月現在の世界最高速コンピュータでも数十分から数時間を要する。
However, when trying to build a data warehouse system in a distributed environment, there are many performance issues due to its large data scale and the complexity of query processing for data compared to conventional database search processing. The problem appears. For example, with regard to the data scale, a data warehouse of several TB (terabytes; 10 12 bytes) class has been constructed as of March 1998. With regard to the complexity of query processing, modeling support for data warehousing, data mining, etc., is a standard benchmark widely accepted in the industry, “TPC BENCHMARK D (Decision Support) Standard.
Specification ”, Revision 1.2.2, Trans
A suitable example is an action processing performance council query. For example, when a series of TPC-D queries are executed for large-scale data of 1 TB, even the world's fastest computer as of May 1998 takes several tens of minutes to several hours.
データウェアハウスシステムの利用形態としては、図11に示すように、データを蓄積・管理し、記憶装置1105を管理し、問合せ処理を実行するサーバ1102に対して、クライアント1101が処理を依頼し、結果を受け取るというクライアント−サーバ型が一般的である。
As shown in FIG. 11, the data warehouse system is used by storing and managing data, managing the
ところが、図14に示すように、不特定多数の利用者(クライアント)1401〜1402が、ネットワーク1405を介して不特定多数のデータウェアハウスやデータベースなどのサーバ1403〜1404に問合せ処理を依頼し(1406)その結果を得る(1407)というような、分散環境におけるクライアント−サーバ型の利用形態を想定すると、前述の問合せ処理の負荷の高さから、不特定多数のクライアントからの要求を受け付けるサーバの負荷が高くなり、クライアントからの解析要求に対する処理が遅延することは容易に想像できる。
However, as shown in FIG. 14, an unspecified number of users (clients) 1401 to 1402 request inquiry processing to
複数のサーバのデータを解析処理の対象とする場合には、クライアント−サーバ型のデータウェアハウスシステムの拡張として、図12に示すようにサーバの位置情報を管理するモジュール1202がクライアント1201からの問合せ1207を、サーバ位置情報1203を利用してネットワーク1204経由で、サーバ1205〜1206に転送し、問合せ処理結果1208がクライアントに返されるという方式が考えられる。例えば、INTERSOLV社のVirtual Data Warehouse System(以下、VDW)がその好適な実現例である。VDWがサーバ位置を管理することにより、クライアント自らは意識することなく、複数のサーバデータをうまく取り扱うことができる。ところがVDWは前記分散環境におけるクライアント−サーバ型のデータウェアハウスシステムと同様に、問合せ処理時のサーバ負荷が高くなってしまい、分散環境におけるデータウェアハウスシステムの好適な実現例とは言いがたい。
When data of a plurality of servers is to be analyzed, a
分散環境において複数のデータベース、もしくはデータウェアハウスに対する問合せを処理するための方式が、特許文献1に開示されている
。本方式はクライアントの処理負荷を軽減するためにクラスタサーバに問合せを転送する。クラスタサーバは問合せに応じて適切なデータベースに問合せを転送し、該データベースから得られた結果を統合してクライアントに返す。本方式では、問合せは結局サーバに転送されるため、サーバの負荷削減は不可能である。
Japanese Patent Application Laid-Open No. 2004-151867 discloses a method for processing queries to a plurality of databases or data warehouses in a distributed environment. This method forwards the query to the cluster server in order to reduce the processing load on the client. In response to the query, the cluster server transfers the query to an appropriate database, integrates the results obtained from the database, and returns the result to the client. In this method, since the query is eventually transferred to the server, it is impossible to reduce the load on the server.
サーバ負荷削減と処理時間短縮という課題に関しては、例えば図13に示すように、サーバ1305〜1306のデータ1307〜1308をクライアント側のモジュール1309にコピーし(処理1311、1312)、そのコピー131
0に対して問合せ1313を発行し、結果1314を得るという方式がある。以下、このサーバデータのコピー1310をレプリカと呼ぶことにする。レプリカに対して問合せ処理を実行することにより、サーバ1305〜1306での問合せ処理を避けることができ、サーバ負荷を削減できるとともに、ネットワークを介したサーバへのアクセスを回避できることにより、問合せ処理時間を短縮できる。
With respect to the problem of server load reduction and processing time reduction, for example, as shown in FIG. 13,
There is a method of issuing a
ところが、分散環境で複数のサーバを対象にしてレプリカを作成しようとする場合には、単純な方法ではクライアント側でレプリカを格納するために大規模な記憶装置1315が必要となる。例えば、300GB(ギガバイト;10の9乗バイト)程度のデータを持つサーバ10台を統合利用しようとするクライアントは単純計算で300GB×10台=3TBもの記憶装置を準備する必要があり、現状の技術ではこの大規模な記憶装置をクライアント側で準備することは不可能に近い。また、レプリカ作成時に大量のデータをネットワーク経由でサーバからクライアントへ転送するため、ネットワークへ大きな負荷がかかってしまう。さらに、レプリカを作成した後で、サーバ側のデータが更新された場合には、対応するレプリカも更新する必要があり、この更新処理コストはレプリカの大きさに比例するため、更新処理のためのコストも無視できなくなってしまい、本方式も分散環境におけるデータウェアハウスシステムの好適な実現例とは言いがたい。
However, when creating a replica for a plurality of servers in a distributed environment, a simple method requires a large-
これに対して、非特許文献4に記載されているように、レプリカを作成するのではなく、問合せとその問合せ処理結果をキャッシュし、新たな問合せに対しては、キャッシュされた結果を再利用して処理することによって、サーバ負荷の削減、問合せ処理時間の短縮を行う方式が提案されている。本方式は問合せ結果の再利用率が高い場合にはサーバ負荷削減、問合せ処理時間の短縮に大きな効果があるが、分散環境におけるデータウェアハウスを考えた場合には、対象となるデータ規模とクライアント側で準備できる記憶装置の規模の差が極めて大きいため、キャッシュされているデータの再利用率が極めて低くなってしまい、効率が悪いという欠点がある。 On the other hand, as described in Non-Patent Document 4, instead of creating a replica, the query and the query processing result are cached, and the cached result is reused for a new query. Thus, a method for reducing server load and query processing time has been proposed. This method is very effective in reducing server load and query processing time when the query result reuse rate is high, but when considering a data warehouse in a distributed environment, the target data scale and client Since the difference in the scale of storage devices that can be prepared on the side is extremely large, the reuse rate of cached data becomes extremely low, and there is a disadvantage that the efficiency is poor.
サーバのファイルをネットワーク経由で取得し、ユーザに提供するための情報処理装置及びシステム及びその制御方式が特許文献2に開示されている。本方式では、システムがユーザからファイル参照要求を受け取った時点でレプリカを作成し、データウェアハウスシステムにおいて、ユーザから問合せが発行された場合に、最初はサーバに検索を依頼する必要が出てくるため、最初の問合せの応答時間の短縮は不可能である。さらに、本方式ではレプリカの作成単位がファイルとなっているため、データベースの問合せ条件に合致したレコードあるいはオブジェクト単位のレプリカ作成は困難である。
サーバにおけるデータの更新をクライアント(本願発明における、後述のデータ収集手段に対応)に伝播するための方式に関しては、サーバが例えば1時間毎などの一定の時間間隔で、あるいはサーバデータの更新が起こる毎にクライアントに向けてデータを送信するという、サーバ主導のPUSH方式と、クライアントが一定の時間間隔あるいは必要となった時にサーバにデータを取得しに行くという、クライアント主導のPULL方式がある。ところが、PUSH方式のうち
、クライアント個別にサーバがデータを配送する方式ではサーバの負荷が高くなるという問題があり、サーバがデータをブロードキャストあるいはマルチキャストして各クライアントが必要なデータのみを受け取るという方式ではクライアントが適切なタイミングでデータを取得することが困難になるという問題があるので、PUSH方式のみでは分散環境における効率的なデータ配送は困難である。一方、PULL方式では、サーバのデータが更新された場合にはすぐにクライアントのデータも更新する必要があるような制約が厳しい応用を考えた場合にはクライアントは頻繁にサーバのデータをチェックする必要があるが、多数のクライアントが処理要求を頻繁に発行するとサーバにおいてこれらの処理要求を処理するための負荷が高くなってしまうという問題があり、PULL方式のみでも分散環境における効率的なデータ配送は困難であることがわかる。PUSH方式とPULL方式を組合せて利用する方式については、例えば非特許文献5(以下、CQ)に説明されている。CQでは、クライアントからのトリガ条件を含んだ問合せをCQサーバ上に登録し、最初はクライアント主導のPULL方式、次回からは問合せに含まれるトリガ条件に応じてサーバ主導のPUSH方式でデータ転送を行うが、CQでは問合せごとにPUSH方式、PULL方式を指定できるわけではないため、結局データ転送はサーバ主導のPUSH方式となってしまい、サーバ負荷が高くなるというPUSH方式の問題が現れる。
Regarding the method for propagating the data update in the server to the client (corresponding to the data collection means described later in the present invention), the server updates the server data at regular time intervals such as every hour, for example. There is a server-driven PUSH method in which data is transmitted to the client every time and a client-driven PULL method in which the client goes to acquire data at a certain time interval or when necessary. However, among the PUSH methods, there is a problem that the load of the server increases in the method in which the server distributes data for each client. In the method in which each client receives only necessary data by broadcasting or multicasting the data. Since there is a problem that it becomes difficult for the client to acquire data at an appropriate timing, efficient data delivery in a distributed environment is difficult only with the PUSH method. On the other hand, in the PULL method, when the data of the server is updated, the client needs to check the server data frequently when considering the severe application where the client data needs to be updated immediately. However, if a large number of clients frequently issue processing requests, there is a problem that the load for processing these processing requests in the server becomes high. Even with the PULL method alone, efficient data delivery in a distributed environment is not possible. It turns out to be difficult. A method using a combination of the PUSH method and the PULL method is described in, for example, Non-Patent Document 5 (hereinafter, CQ). In CQ, a query including a trigger condition from a client is registered on the CQ server, and data is transferred first using a client-driven PULL method and from the next time using a server-driven PUSH method according to the trigger condition included in the query. However, in CQ, since the PUSH method and the PULL method cannot be specified for each query, the data transfer eventually becomes the server-driven PUSH method, and the problem of the PUSH method that the server load becomes high appears.
データベースやデータウェアハウスなどのサーバが多数存在し、不特定多数のクライアントがこれらのサーバにネットワークを介してアクセスし、サーバ上のデータを統合利用して有益な情報を得ようとする場合に、サーバに問合せを転送する方式では、サーバにかかる負荷の増大、ネットワークへの依存度の高さ、問合せへの応答時間の増大が問題となり、クライアント側にレプリカを作成する方式では、大量データ転送に伴うネットワークへの負荷の増大、クライアント側の記憶装置容量の増大、レプリカの更新処理コストの増大が問題となっていた。また、キャッシュを利用する方式では、ヒット率が低くなるため、キャッシュされているデータの再利用率が極めて低くなり、結果として分散環境における効率的なデータウェアハウスシステムの構築は困難であるという問題があった。 When there are a large number of servers such as databases and data warehouses, and an unspecified number of clients access these servers via the network and try to obtain useful information by integrating and using the data on the servers, In the method of transferring queries to the server, the load on the server is increased, the dependency on the network is high, and the response time to the query is increased. In the method of creating a replica on the client side, a large amount of data is transferred. Along with this, an increase in the load on the network, an increase in the storage device capacity on the client side, and an increase in the cost of replica update processing have been problems. In addition, since the hit rate is low in the cache-based method, the cached data reuse rate is extremely low, and as a result, it is difficult to construct an efficient data warehouse system in a distributed environment. was there.
本発明の目的は分散環境での効率の良いデータウェアハウスシステムとそこで用いられる問合せ処理方法及びそのためのデータ収集方法と装置を提供することである。 An object of the present invention is to provide an efficient data warehouse system in a distributed environment, a query processing method used there, and a data collection method and apparatus therefor.
さらに具体的には、第1の目的はサーバ負荷の削減であり、第2の目的はネットワーク依存度の低減であり、第3の目的は問合せへの応答時間の短縮であり、第4の目的はネットワーク負荷の削減であり、第5の目的はクライアントの記憶容量の削減であり、第6の目的はレプリカの更新処理コストの削減であり、第7の目的はレプリカのヒット率の向上である。 More specifically, the first objective is to reduce server load, the second objective is to reduce network dependency, the third objective is to reduce response time to an inquiry, and the fourth objective. Is the reduction of the network load, the fifth objective is to reduce the storage capacity of the client, the sixth objective is to reduce the replica update processing cost, and the seventh objective is to improve the hit rate of the replica .
上記第1〜第3の目的を達成するため、本発明ではクライアントの問合せ処理に用いるサーバデータのレプリカを作成・管理するデータ収集手段を設け、クライアントの問合せ処理を可能な限りデータ収集手段のレプリカを用いて実行する。データ収集手段において問合せ処理を実行することによって、サーバへの問合せ転送が少なくなり、第1の目的であるサーバ負荷が削減できる。また、サーバデータのレプリカをデータ収集手段で作成することにより、サーバへのネットワークが不調となった場合にも該データ収集手段内のレプリカを用いて問合せを処理することが可能となり、第2の目的であるネットワーク依存度が低減できる。さらに、多くのクライアントからアクセスされるために負荷が高くしかも大量のデータを管理するために問合せ処理コストの高い(課金システムでは、料金の高い)サーバにおいて問合せを処理するのではなく、限られた数のクライアントからの問合せを必要なデータのみのレプリカを用いてデータ収集手段において処理することにより、第3の目的である問合せ応答時間が短縮できる。 In order to achieve the above first to third objects, in the present invention, a data collection means for creating and managing a replica of server data used for client inquiry processing is provided. Run with. By executing the query process in the data collection means, the query transfer to the server is reduced, and the server load as the first object can be reduced. Further, by creating a replica of the server data by the data collection means, it becomes possible to process a query using the replica in the data collection means even when the network to the server is malfunctioning. The target network dependency can be reduced. In addition, a large amount of data is accessed by many clients, and a large amount of data is managed. In addition, a query is not processed at a server with a high query processing cost (which is expensive in a billing system). The query response time, which is the third object, can be shortened by processing inquiries from a number of clients in the data collection means using replicas of only necessary data.
問合せ処理を更に具体的に説明すると、前記データ収集手段はクライアントからの問合せが、自データ収集手段で処理可能か、または協調する他データ収集手段で処理可能か、またはサーバへの転送が必要かを判断し、自データ収集手段、または協調する他データ収集手段で処理が可能な場合には、該当のデータ収集手段で問合せを処理する。協調データ収集手段を用いることにより、データ収集手段で処理可能な問合せが増加し、前記第1〜第3の目的達成に寄与する。さらに、前記サーバへの前記問合せの転送が必要だと判断された場合にも、該問合せのうち自データ収集手段および協調する他データ収集手段で利用可能なレプリカで処理しきれない部分だけをサーバに転送することにより、サーバで処理するデータ量が少なくなり、サーバ負荷が削減できるだけでなく、サーバからクライアントに返される結果データも少なくなるため、第4の目的であるネットワーク負荷が削減できる。 To explain the query processing more specifically, whether the data collection means can process the inquiry from the client by its own data collection means, can be processed by another cooperative data collection means, or needs to be transferred to the server If the data can be processed by the own data collection unit or the other data collection unit cooperating, the inquiry is processed by the corresponding data collection unit. By using the cooperative data collection means, the number of queries that can be processed by the data collection means increases, which contributes to the achievement of the first to third objects. Further, even when it is determined that the query needs to be transferred to the server, only the portion of the query that cannot be processed by the replica that can be used by the own data collecting means and the other data collecting means to cooperate with the server By transferring to, the amount of data to be processed by the server is reduced, and not only the server load can be reduced, but also the result data returned from the server to the client is reduced, so that the network load as the fourth object can be reduced.
さらに、単純にレプリカを作成した場合に生じる前記課題を解決して前記第4〜第6の目的を達成するため、データの共有が可能なクライアントをグループ化し
、グループ化したクライアント集合に対してレプリカを作成し、該レプリカをクライアント間で共有すると共に、必要に応じて自データ収集手段は、協調する他データ収集手段と連係する。レプリカを共有することにより、サーバからデータ収集手段に転送されるデータ量が削減できるため、ネットワーク負荷が削減できる。本発明ではデータ収集手段においてレプリカを作成するため、第5の目的であるクライアントが必要とする記憶容量を削減できることは無論のこと、データ収集手段間でのレプリカ共有により、データ収集手段における記憶容量も削減できる。また、レプリカの共有により、システム全体としてのレプリカの量が削減できるため、第6の目的であるレプリカの更新処理コストも削減できる。
Further, in order to solve the above-mentioned problems that occur when a replica is simply created and achieve the fourth to sixth objects, the clients that can share data are grouped, and the replica is set to the grouped client set. And the replica is shared among the clients, and the own data collection means cooperates with other data collection means to cooperate as necessary. By sharing the replica, the amount of data transferred from the server to the data collection means can be reduced, so that the network load can be reduced. In the present invention, since a replica is created in the data collection means, it is a matter of course that the storage capacity required by the client, which is the fifth object, can be reduced, and the storage capacity in the data collection means can be achieved by sharing the replica between the data collection means. Can also be reduced. Further, since the amount of replicas as a whole system can be reduced by sharing replicas, the replica update processing cost, which is the sixth object, can also be reduced.
レプリカ作成に際しては、ユーザからクライアントを介して与えられるデータの精度、鮮度、および優先度などのデータの質に関する条件と、収集するデータの範囲に関する条件とを含むレプリカ作成要求を受け付けて該要求を保持し、記憶装置容量、CPU性能などの該データ収集手段が利用可能な資源量を考慮しながら、データを供給するサーバと交渉処理を行うことによって、前記レプリカ作成要求の一部あるいは全部を満足するレプリカを作成する。レプリカ作成要求を、ユーザから与えてもらうことにより、ユーザの意図するデータの収集が可能となり、第7の目的であるレプリカのヒット率を向上できる。また、レプリカを作成する際にデータの質を調整することにより、データ収集手段の計算機資源に応じた適切なサイズのレプリカを作成でき、第4の目的であるネットワーク負荷の削減、第5の目的であるクライアント及びデータ収集手段の記憶装置容量の削減、第6の目的であるレプリカの更新処理コストの削減ができる。 When creating a replica, it accepts a request to create a replica including conditions regarding the quality of data such as accuracy, freshness, and priority given by the user from the client, and conditions regarding the range of data to be collected. By holding and negotiating with the server that supplies data, taking into account the amount of resources that can be used by the data collection means such as storage capacity and CPU performance, some or all of the replica creation request is satisfied Create a replica to use. By receiving a replica creation request from the user, it becomes possible to collect data intended by the user, and the hit rate of the replica, which is the seventh object, can be improved. Further, by adjusting the data quality when creating the replica, it is possible to create a replica of an appropriate size according to the computer resources of the data collection means, and the fourth purpose is to reduce the network load and the fifth purpose. It is possible to reduce the storage device capacity of the client and the data collection means and the replica update processing cost, which is the sixth object.
レプリカの更新処理においては、クライアント主導のPULL手法とサーバ主導のPUSH手法を組み合わせて用いることにより、クライアントのデータに対する要求を考慮しながら、サーバの負荷を削減でき、レプリカ更新時のサーバ負荷を削減できる。これにより第1の目的が達成できる。 In replica update processing, by using a combination of the client-driven PULL method and the server-driven PUSH method, server load can be reduced while considering client data requirements, and server load during replica update can be reduced. it can. Thereby, the first object can be achieved.
本発明のデータウェアハウス構成方法に基づく、例えば、クライアントのグループ化により、クライアント間でのデータ共有が可能となり、クライアント側の記憶装置容量、更新処理コスト、ネットワーク負荷を削減できる。また、レプリカの作成の際にユーザから与えられたデータの要求条件に基づく、データ供給元のサーバとの交渉処理によって、レプリカを作成するデータ収集手段の計算機資源を考慮しながら、ユーザからの問合せに対して利用率が高いレプリカを作成できる。前記レプリカを用いてクライアントからの問合せを処理することによってサーバ負荷を削減でき、実用的なデータウェアハウスシステムの構築とこれを用いた問合せ処理方法が実現可能となる。 Based on the data warehouse configuration method of the present invention, for example, by grouping clients, data can be shared between clients, and the storage device capacity, update processing cost, and network load on the client side can be reduced. In addition, inquiries from users, taking into account the computer resources of the data collection means to create replicas by negotiation processing with the data supply source server based on the data requirements given by the user at the time of replica creation A replica with a high utilization rate can be created. By processing a query from a client using the replica, the server load can be reduced, and a practical data warehouse system and a query processing method using the same can be realized.
図1に、本発明によるデータウェアハウスシステムの好適な実現例を示す。クライアント103、104は内部ネットワーク128を介してデータ収集手段1(101)に接続される。
内部ネットワーク128は、イーサネット(R)、光ファイバ、FDDIで接続されるローカルエリアネットワークであってよく、クライアントはHitachi FLORAなどのパーソナルコンピュータ、Hitachi 3050クリエイティブワークステーションなどの任意のコンピュータ・システムでよい。データ収集手段1は複数のクライアントをグループ化して管理し、クライアントから発行されるレプリカ作成要求、および問合せを受け付け、レプリカ作成要求をレプリカ作成要求解析部106へ、問合せを問合せ解析部109に転送するクライアント管理部105と、クライアントからのレプリカ作成要求に対して実際にレプリカを作成するか否かを決定し、レプリカを作成する場合には、作成するレプリカに関する情報であるレプリカ記述をレプリカ作成管理部107に転送するレプリカ作成要求解析部106と、レプリカ管理テーブル108を参照しながらレプリカ123を記憶装置112に格納・管理するレプリカ作成管理部107と、クライアントからの問合せを解析する問合せ解析部109と、クライアントからの問合せがデータ収集手段1で処理できる場合に該問合せを処理する問合せ処理部127と、ネットワーク113を介してサーバや他のデータ収集手段との通信処理を管理する通信制御部110とを含む。さらに高度な処理を行わせるため、データ収集手段にはデータ収集手段交渉処理部111を備えるようにしても良い。該データ収集手段交渉処理部については後述する。データ収集手段は、クライアントと同様に任意のコンピュータ・システムでよく、記憶装置112は磁気記憶装置、光ディスク装置、磁気テープなどでよい。ネットワーク113は前記ローカルエリアネットワークでも、地理的に分散された複数のサイトを接続する広域エリアネットワークでもよい。
FIG. 1 shows a preferred implementation of a data warehouse system according to the present invention. The
The
サーバ1(114)はデータ収集手段からのレプリカ作成要求や問合せを受け付ける通信制御部115と、問合せを処理する問合せ処理部117と、データ収集手段へ配送するデータを管理する配送データ管理部118と、配送データ管理部が参照する配送データ管理テーブル120とを含む。さらに高度な処理を行わせるため、サーバ交渉処理部116および負荷管理部119を備えるようにしても良いが、これらについては後述する。サーバもデータ収集手段と同様に任意のコンピュータ・システムでよく、サーバデータ124を格納する記憶装置121は磁気記憶装置、光ディスク装置、磁気テープ、CD−ROMなどの任意の記憶装置、あるいはこれらの記憶装置の組み合わせでよい。さらに、サーバデータおよびデータ収集手段のレプリカデータの管理はファイルシステム、あるいはHITACHI HiRDBなどの汎用のデータベースマネージメントシステムで行って差し支えない。
The server 1 (114) includes a
なお、前記データ収集手段内のクライアント管理部、前記レプリカ作成要求解析部、前記レプリカ作成管理部、前記問合せ処理部、前記通信制御部、及び前記データ収集手段交渉処理部、ならびに前記サーバ上の通信制御部、前記問合せ処理部、前記サーバ交渉処理部、前記負荷管理部、及び前記配送データ管理部は、専用のハードウエアとして構成されるばかりでなく、それぞれデータ収集手段内の記憶装置112、ならびに前記サーバ内の記憶装置121にローカルに格納されたプログラムであったり、あるいはネットワーク上のプログラムを格納するサーバからダウンロードしたプログラムであってよい。異種分散環境において、サーバからダウンロードしたプログラムを安全に実行するしくみについては、例えば、非特許文献6の4節で説明されているようなプログラミング言語(以下、インターネットプログラミング言語)を利用できる。
The client management unit in the data collection unit, the replica creation request analysis unit, the replica creation management unit, the inquiry processing unit, the communication control unit, the data collection unit negotiation processing unit, and the communication on the server The control unit, the inquiry processing unit, the server negotiation processing unit, the load management unit, and the delivery data management unit are not only configured as dedicated hardware, but also each of the
特に、クライアントの好適な実施例としてはHitachi FLORAなどのパーソナルコンピュータ、Hitachi 3050クリエイティブワークステーションなど任意のコンピュータシステム上で、マイクロソフト社のインターネットエクスプローラ、ネットスケープ社のネットスケープナビゲータなどのウェブ・ブラウザを用いる形態が考えられるが、この場合には前記インターネットプログラミング言語を用いて作成したプログラムモジュールをブラウザにダウンロードすることにより、クライアントプログラムの動的な変更が可能となる。 In particular, as a preferred embodiment of the client, there is a form in which a web browser such as Microsoft Internet Explorer or Netscape Netscape Navigator is used on an arbitrary computer system such as a Hitachi FLORA personal computer or a Hitachi 3050 creative workstation. In this case, the client program can be dynamically changed by downloading a program module created using the Internet programming language to the browser.
なお、本実施例ではクライアントが内部ネットワークを介して直接的にデータ収集手段1〜nに接続されている例を示したが、図18に示すようにクライアントがLANやインターネットを介してデータ収集手段に接続されている場合においても本発明が有効であることはいうまでもない。 In this embodiment, the client is directly connected to the data collecting means 1 to n via the internal network. However, as shown in FIG. 18, the client is connected to the data collecting means via the LAN or the Internet. Needless to say, the present invention is effective even in the case of being connected to the network.
本発明のさらに具体的な特徴は、(1)データ収集手段内にグループ化したクライアントで共有が可能な部分的レプリカを作成する。(2)レプリカの作成にはユーザからのレプリカ作成要求を受け付け、サーバとの交渉処理によって、実際にレプリカを作成するデータを決定し、その内容を記述したレプリカ記述を作成・管理する。(3)レプリカ作成要求にはデータの範囲に関する条件(データ領域条件)だけではなく、データの質に関する条件(データ品質条件)を含む。(4)レプリカ更新には、サーバ側で保持する配送データ管理テーブルを利用して、サーバ主導のPUSH手法、クライアント主導のPULL手法を組合せたデータ転送方式を用いる。(5)自データ収集手段内のレプリカを用いて処理可能な問合せは該自データ収集手段のレプリカを用いて処理し、逆に、不可能な問合せは、処理が可能な他データ収集手段、もしくはサーバに転送し問合せを依頼する、という5ポイントにまとめることができる。以下それぞれについて、例を用いながら説明する。
(1)従来技術では、図14で示すような単純なクライアント−サーバ形態では
、分散環境におけるデータウェアハウスシステムの実現は困難であると述べた。そこで、本発明ではデータの共用が可能なクライアントをまとめて管理するデータ収集手段を設ける。このデータ収集手段を利用することにより、クライアント側に重複する冗長なレプリカの作成を抑制でき、無駄なサーバへのアクセスを防止できるので、サーバへかかる負荷を軽減できる。例えば、図15において、クライアント1(1501)は売上げが10000円以上の商品売上表のデータ(1503)を必要とし、クライアント2(1502)は売上げが5000円以上の前記商品売上表のデータ(1504)が必要とする。商品売上げデータ1509はサーバ1505に格納されているとすると、クライアント1、2はそれぞれ該サーバからデータを取得する必要がある。つまり、サーバにはクライアント1と2の両方からの問合せによる負荷がかかる。ところが、本発明のデータ収集手段1506を設置し、該データ収集手段がクライアント1および2のレプリカ作成要求を保持し、その条件の和集合である、「商品売上げが5000円以上のデータ」(1507)をレプリカ記述として採用してそのデータをサーバから取得し、レプリカ1508を作成すれば、クライアント1、2の問合せはデータ集手段のデータを用いて処理できるため、クライアント1、2のサーバへのアクセスを省くことができ、サーバ負荷およびデータ転送によるネットワーク負荷を削減することができる。また、データ収集手段の記憶装置1610の容量の制約、あるいはデータ収集手段1606のCPU処理能力の制約、あるいはネットワークを転送するデータ量の制約から、クライアント1および2が要求するレプリカ作成要求の和集合が保持できない場合には、図16に示すように、クライアント1(1601)とクライアント2(1602)のそれぞれのレプリカ作成要求(1603、1604)から、その条件の積集合である「商品売上げが10000円以上のデータ」(1607)をレプリカ記述としてそのデータをサーバから取得し、レプリカを作成すればクライアント1からの処理要求がレプリカ作成要求を満たす場合には、全ての処理要求をレプリカを用いて処理でき、クライアント2についてもレプリカを用いて処理できない処理要求つまり「商品売り上げが5000円以上10000円未満のデータ」を参照する問合せのみをサーバに転送すればよく、サーバ負荷およびネットワーク負荷を削減することができる。図15、16を用いて説明したサーバ負荷削減、ネットワーク負荷削減の効果は、クライアント数が多くなるほど大きくなることは明らかである。
(2)レプリカ作成要求の受け付けと、レプリカ作成方法について図1および図2および図8を用いて説明する。データ収集手段101がクライアント103〜104からのレプリカ作成要求(レプリカ作成要求に関しては(3)で説明する)を受けつけた場合(処理202)には、レプリカ作成要求解析部106がその要求を解析し(処理203)、レプリカ作成管理部107と通信することにより、内容を図8に示すレプリカ管理テーブル108を参照する(処理204)。レプリカ管理テーブルは、作成されるデータの領域に関するデータ領域条件801と、データの品質に関するデータ品質条件802のエントリを含む。この2つのエントリをレプリカ記述803と呼ぶ。一つの前記レプリカ記述のエントリに対し、該レプリカが格納されているデータ収集手段名を記述するレプリカ位置情報804と、該レプリカのデータ源であるサーバ名を記述するサーバ位置情報805と、該レプリカのメンテナンス条件であるデータ配送条件806とで構成される。例えば図8の1番目のエントリ807は、注文表に格納されているレコードのうち、価格が10000円以上のレコードの、注文番号と、価格と、顧客番号の3つのカラムを取出したデータのレプリカがデータ収集手段1にあり、該レプリカの元データはサーバ1であり、サーバ1からは13:00にPUSH手法でデータが配送され、レプリカがメンテナンスされることを表している。但し、図8の2番目のエントリにおけるデータ配送方法で、{1:00、13:00}、PUSHという記述は、1:00と13:00の両方の時刻にPUSH手法でデータが配送されることを表す。
要求されたレプリカが自データ収集手段内の既存のレプリカから作成可能な場合(判定処理205でYesが選択された場合)には、新たなレプリカ作成を行わずにレプリカ作成処理を終了する。例えば、レプリカ管理テーブルが図8に示されるような場合で、新たなレプリカ作成要求が図19の1番目のエントリ1901であるとすると、該レプリカ作成要求は図8の807に示される、データ収集手段1内にある既存のレプリカを用いれば処理でき、判定処理205はYesとなる。
More specific features of the present invention are as follows: (1) A partial replica that can be shared by clients grouped in the data collection means is created. (2) To create a replica, a replica creation request from a user is accepted, data for actually creating a replica is determined by negotiation processing with a server, and a replica description describing the contents is created and managed. (3) The replica creation request includes not only conditions related to the range of data (data area conditions) but also conditions related to data quality (data quality conditions). (4) The replica update uses a data transfer method in which a server-driven PUSH method and a client-driven PULL method are combined using a delivery data management table held on the server side. (5) A query that can be processed using a replica in its own data collection means is processed using a replica of its own data collection means, and conversely, an impossible query is processed by another data collection means that can be processed, or It can be summarized into 5 points: transfer to the server and request an inquiry. Each will be described below using examples.
(1) In the prior art, it has been stated that it is difficult to realize a data warehouse system in a distributed environment with a simple client-server configuration as shown in FIG. Therefore, in the present invention, a data collecting means for collectively managing clients that can share data is provided. By using this data collection means, it is possible to suppress the creation of redundant replicas that overlap on the client side, and to prevent useless access to the server, thereby reducing the load on the server. For example, in FIG. 15, client 1 (1501) needs data (1503) of a product sales table with sales of 10,000 yen or more, and client 2 (1502) has data (1504) of the product sales table with sales of 5000 yen or more. ) Is required. If the
(2) Receipt of a replica creation request and a replica creation method will be described with reference to FIG. 1, FIG. 2, and FIG. When the
When the requested replica can be created from an existing replica in the own data collection means (when Yes is selected in the determination process 205), the replica creation process is terminated without creating a new replica. For example, if the replica management table is as shown in FIG. 8 and the new replica creation request is the
要求されたレプリカが自データ収集手段内の既存のレプリカ123から作成不可能な場合(判定処理205でNoが選択された場合)には、要求するレプリカが協調するデータ収集手段102の既存のレプリカ126から作成可能かどうかを判定する(判定処理208)。もし作成可能な場合(判定処理208でYesが選択された場合)には、自データ収集手段内にさらにレプリカを作成するかどうかを判定する(判定処理216)。自データ収集手段内には重複してレプリカを作成しない場合(判定処理216でNoが選択された場合)には、レプリカ作成を行わずにレプリカ作成処理を終了する。自データ収集手段内に重複してレプリカを作成する場合(判定処理216でYesが選択された場合)には、クライアントから要求された条件で、レプリカを協調データ収集手段102のレプリカから作成し(処理215)、レプリカ作成処理を終了する(219)。
When the requested replica cannot be created from the existing
例えば、レプリカ管理テーブルが図8に示すような場合で、新たなレプリカ作成要求が、図19の2番目のエントリ1902であるとすると、データ収集手段1内の既存のレプリカでは新たなレプリカ作成要求を処理できないが、図8の808に示される、データ収集手段2内のレプリカを用いれば、該新レプリカ作成要求を処理できる。このような場合、データ収集手段1の記憶装置に該レプリカを作成する余裕がある場合には、データ収集手段2内のレプリカからデータ収集手段1内に新たにレプリカを作成する。また、データ収集手段1に対するクライアントからの該レプリカ作成要求の優先度が高い場合には、データ収集手段1内の優先度の低いレプリカを消去して該レプリカ作成要求に従うレプリカを作成する。
For example, if the replica management table is as shown in FIG. 8 and the new replica creation request is the
既存のレプリカから新たなレプリカ作成要求に基づくレプリカが作成できるかどうかは、既存のレプリカの内容を記述するレプリカ管理テーブルと、新たに与えられたレプリカ作成要求を比較することによって判断する。つまり、データ収集手段はレプリカ作成要求を保持し、該レプリカ作成要求の集合と、該レプリカ作成要求の組合せから生成されているレプリカ記述に対して、新たなレプリカ作成要求が届いた場合には、該データ収集手段は該レプリカ作成要求を保持し、該レプリカ作成要求と前記レプリカ管理テーブルのエントリとを比較し、同値関係、包含関係を決定する。例えば、先の例では図8に示されるレプリカ管理テーブルの各エントリに対して、図19で示される新たなレプリカ作成要求が与えられた場合、エントリ1902で表される新レプリカ作成要求は、エントリ808で表される既存のレプリカに包含されるのは自明である。なお、本実施例では、レプリカ作成要求が非常に単純な場合を想定したが、さらに一般的な場合についても、例えば、非特許文献7は、“Query Equivalence、Query Containment”と呼ばれる方式を用いることにより、条件間の同値関係、包含関係を調べる方法が開示されている。該判定方式を利用することにより、さらに一般的な場合についても、本発明によるレプリカ管理テーブルを用いたレプリカ管理が実現できる。
Whether or not a replica based on a new replica creation request can be created from an existing replica is determined by comparing a replica management table describing the contents of the existing replica with a newly given replica creation request. That is, the data collection means holds the replica creation request, and when a new replica creation request arrives for the replica description generated from the set of replica creation requests and the combination of the replica creation requests, The data collection unit holds the replica creation request, compares the replica creation request with an entry in the replica management table, and determines an equivalence relation and an inclusion relation. For example, in the previous example, when a new replica creation request shown in FIG. 19 is given to each entry in the replica management table shown in FIG. 8, the new replica creation request represented by
クライアントから要求されたレプリカが自データ収集手段内の既存レプリカからも、協調データ収集手段内の既存のレプリカからも作成できない場合(判定処理208でNoが選択された場合)には、サーバとの交渉処理を行う(処理211)。この交渉処理の結果、データ収集手段およびサーバの双方が承諾できるレプリカ作成条件が存在しなかった場合(判定処理212でNoが選択された場合)には、レプリカ作成を行わずにレプリカ作成処理を終了する(219)。交渉処理の結果、双方が承諾できるレプリカ作成条件が存在した場合(判定処理212でYesが選択された場合)には、双方が承諾したレプリカ作成条件に従ってレプリカを作成し(処理215)、レプリカ作成処理を終了する(219)。 When the replica requested by the client cannot be created from the existing replica in the own data collection means or from the existing replica in the cooperative data collection means (when No is selected in the determination process 208), Negotiation processing is performed (processing 211). As a result of the negotiation process, if there is no replica creation condition that can be accepted by both the data collection means and the server (when No is selected in the determination process 212), the replica creation process is performed without performing the replica creation. The process ends (219). If there is a replica creation condition that both parties can accept as a result of the negotiation process (when Yes is selected in the determination process 212), a replica is created according to the replica creation condition that both parties have accepted (process 215). The process ends (219).
ステップ211の交渉処理について図1および図3を用いて説明する。まずレプリカ作成要求がデータ収集手段101からサーバ114に転送される(処理302)と、そのレプリカ作成要求をサーバが受け入れる場合(判定処理303でYesが選択された場合)には、レプリカ作成条件(課金システムでは、料金)をデータ収集手段が要求したレプリカ作成条件とし(処理310)、作成された条件に基づいてデータ収集手段のレプリカ作成管理部107がレプリカ管理テーブル108と、サーバの配送データ管理部118が配送データ管理テーブル120を更新して、交渉処理を終了する(311)。データ収集手段から転送されたレプリカ作成要求をサーバが受け入れられない場合(判定処理303でNoが選択された場合)で、サーバからデータ収集手段に対して提示できる新しい条件が存在しない場合(判定処理312でNoが選択された場合)には、レプリカ作成要求に関する情報を設定することなく交渉処理を終了する(311)。データ収集手段から転送されたレプリカ作成要求をサーバが受け入れられない場合(判定処理303でNoが選択された場合)で、サーバからデータ収集手段に対して提示できる新しい条件が存在する場合(判定処理312でYesが選択された場合)には、サーバは新しい条件をデータ収集手段に転送する(処理306)。データ収集手段が、サーバが提示した条件を受け入れる場合(判定処理307でYesが選択された場合)には、新しい条件をレプリカ作成条件として(処理310)、データ収集手段側のレプリカ管理テーブルおよびサーバ側の配送データ管理テーブルを更新して、交渉処理を終了する(311)。データ収集手段が、サーバが提示した条件を受け入れられない場合(判定処理307でNoが選択された場合)には、レプリカ作成要求に関する情報を設定することなく交渉処理を終了する。
The negotiation process in
交渉処理の具体例を図1および図10を用いて説明する。クライアント103〜104からのレプリカ作成要求が図10(A)に示すような条件であったとする。まずデータ収集手段1(101)はレプリカ作成要求1001をネットワーク113を介してサーバ1(114)に転送する。サーバ1は負荷管理部119で管理される現在の自システムの負荷から、該レプリカ作成要求を受け付けた場合の自システムの負荷を予測し、その予測値がある閾値以下の場合には該レプリカ作成要求を受け付け、図10(B)に示すように、前記データ収集手段に受け付けという応答(1003)を返し、該レプリカ作成要求がレプリカ作成条件となって交渉処理は終了する。これに対して、レプリカ作成要求1002がサーバm(122)に転送された場合で、前記負荷予測の結果、サーバmが作成要求1002に示される条件でのレプリカ作成要求を受け付けられないが、作成要求1004に示されるような新条件であれば受け付け得るという場合には、サーバmはデータ収集手段1に条件付受け付けという応答と、サーバで生成した新条件を返す。データ収集手段1は該新条件をレプリカ作成要求を発行したクライアント103あるいは104に返し、クライアントが該新条件を受け付け得る場合には、該新条件をレプリカ作成条件としてデータ収集手段側のレプリカ管理テーブルおよびサーバ側の配送データ管理テーブルを更新して、交渉処理を終了する。
A specific example of the negotiation process will be described with reference to FIGS. It is assumed that the replica creation request from the
自システムの負荷計測と、前記レプリカ作成要求を受け付けた場合の負荷予測については、以下のような実施例が考えられる。一般的にマルチタスクのオペレーティングシステムは”run queue”と呼ばれる実行可能なプロセスの待ち行列を持ち、この行列の平均待ち行列長の時間平均をロードアベレージと呼ぶ。そこで、例えばサーバは自システムのロードアベレージLを自システムの負荷とみなし、前記新レプリカ作成要求を受け付けた場合の自システムの負荷をL+1と見積もり、該予測負荷がある閾値LMAX以下の場合(つまりL+1≦LMAX)には前記レプリカ作成要求を受け付ける。また、ロードアベレージを計測不可能なサーバの場合には、一定時間あたりの平均ジョブ数Nを自システムの負荷とみなし、前記新レプリカ作成要求を受け付けた場合の自システムの負荷をN+1と見積もり、該予測値がある閾値NMAX以下の場合(つまりN+1≦NMAX)には前記レプリカ作成要求を受け付けるという実施例が考えられる。 The following embodiments can be considered for the load measurement of the own system and the load prediction when the replica creation request is received. In general, a multitasking operating system has a queue of executable processes called “run queue”, and the time average of the average queue length of this queue is called a load average. Therefore, for example, the server considers the load average L of the own system as the load of the own system, estimates the load of the own system when the new replica creation request is accepted as L + 1, and the predicted load is less than a certain threshold L MAX ( In other words, the replica creation request is accepted at L + 1 ≦ L MAX . In the case of a server that cannot measure the load average, the average number of jobs N per fixed time is regarded as the load of the own system, and the load of the own system when the new replica creation request is accepted is estimated as N + 1. In the case where the predicted value is equal to or less than a certain threshold value N MAX (that is, N + 1 ≦ N MAX ), an embodiment may be considered in which the replica creation request is accepted.
(3)まず、レプリカ作成要求について説明する。例えば、図15に示す実施例においては、クライアント1、2は商品の売上げデータを収集し、解析を行う。データマイニングにおいては、例えばあるクライアントでは東京都のみの売上げデータを解析対象とするというように、解析対象となるデータは何らかの制約に基づいている場合が多い。この制約は、クライアントを用いて解析を行おうとする人間の意図に基づいており、この意図を計算機が自動的にくみとるのは現状では困難であり、無駄も多い。そこで本発明では、クライアントに、アクセスするデータに関するレプリカ作成要求をユーザがシステムに与えられるようなインタフェースを設ける。該インタフェースの実装は、データ収集手段、サーバの場合と同様に、図15のクライアント1501、1502上にローカルに格納されたプログラムであるか、あるいはネットワーク上のプログラムを格納するサーバからダウンロードしたプログラムであってよい。該クライアントの該インタフェースを利用してユーザから発行されたレプリカ作成要求に従って、データ収集手段1506にクライアントが共用可能なレプリカ1508が作成される。
(3) First, a replica creation request will be described. For example, in the embodiment shown in FIG. 15, the
前記レプリカ作成要求は、図6に示すように、データの範囲を示すデータ領域条件(601)と、データの質を示すデータ品質条件(603)と、データの配送方法を示すデータ配送条件(604)とを含む。データの質に関する条件には、例えばサーバで更新済みのデータも、レプリカでは更新前のデータを1時間以内は最新データであるとみなすというような鮮度条件605、注文表の注文番号に対する10%のサンプルをレプリカ対象データとする精度条件606、注文表の価格の上位10傑のデータを対象とするというような優先度条件607を含む。但し、従来の問合せ言語との互換性を考慮し、該レプリカ作成要求はデータの質に関する条件を含まない記法も許すことにする。
As shown in FIG. 6, the replica creation request includes a data area condition (601) indicating a data range, a data quality condition (603) indicating data quality, and a data delivery condition (604) indicating a data delivery method. ). The data quality condition includes, for example, data that has been updated on the server, but the replica assumes that the data before the update is the latest data within one hour, the
レプリカ作成要求が鮮度条件を含まないときにクライアントが最新のデータを要求した場合には、必ずサーバのデータをチェックする必要があることとし、レプリカ作成要求が精度条件を含まない場合は、精度は100%とすることとし、優先度条件を含まない場合は全ての順位に対するデータを求めることとする。精度条件については、図7に示すように、データのタイプに応じて、関係データベースレコードに対するサンプリング、フィールド切り出し、文書に対する要約作成、キーワード切り出し、静止画像に対する可逆、非可逆圧縮、輪郭抽出、色数削減、解像度削減、サイズ縮小、動画像に対するフレーム数削減、フレーム内画像圧縮、音声に対する音質調整、文字データへの変換などの各種方法の適用形態が考えられる。 If the client requests the latest data when the replica creation request does not include the freshness condition, the server data must be checked. If the replica creation request does not include the accuracy condition, the accuracy is 100% is assumed, and when priority conditions are not included, data for all ranks is obtained. As for accuracy conditions, as shown in FIG. 7, according to the type of data, sampling for relational database records, field segmentation, summary creation for documents, keyword segmentation, lossless for images, lossy compression, contour extraction, number of colors Various application methods such as reduction, resolution reduction, size reduction, reduction of the number of frames for moving images, compression of images within a frame, sound quality adjustment for sound, conversion to character data, and the like can be considered.
データ品質条件をレプリカ作成要求に含むことによって、レプリカのサイズを小さくすることができる。精度の調整に関しては、特開平09−025863号公報「データベース処理システムにおける集計結果推定方式」に開示されている方式を用いることにより、小規模のサンプリングデータで高精度の結果推定が行えるため、データウェアハウスシステム構築には非常に有効であることがわかる。また、鮮度条件を用いることにより、分散システムで議論の多い更新の問題を柔軟に取り扱うことが可能となる。 By including the data quality condition in the replica creation request, the replica size can be reduced. Regarding the adjustment of accuracy, since a method disclosed in Japanese Patent Application Laid-Open No. 09-025863 “Aggregation Result Estimation Method in Database Processing System” can be used to estimate a result with high accuracy using small-scale sampling data, data It turns out that it is very effective for building a warehouse system. In addition, by using the freshness condition, it is possible to flexibly handle the update problem that is frequently discussed in the distributed system.
例えば、図17に示すように、鮮度に関する制約が1日と指定されている場合で、レプリカの前回の更新時刻が1997年10月23日の6:00であり、現在の時刻が同年10月24日の22:00であるとする。実際のサーバ上のデータはこの間も更新されている可能性があるが、鮮度に関する制約が1日として与えられている場合には、現時刻のデータDA(TC)を前回更新時刻のデータDA(TP)とみなすことにより、サーバのデータが更新される毎にネットワークを介したデータ転送が行われることを防ぎ、ネットワーク負荷削減が可能となる。もちろん、サーバデータが更新された時にすぐに更新が反映される必要があるような利用形態に対しては、鮮度条件を指定しないようにすればよい。 For example, as shown in FIG. 17, when the restriction on freshness is specified as one day, the last update time of the replica is 6:00 on October 23, 1997, and the current time is October of the same year. It is assumed that it is 22:00 on the 24th. The actual data on the server may be updated during this period. However, if the restriction on freshness is given as one day, the current time data D A (T C ) is changed to the data at the previous update time. By considering D A (T P ), it is possible to prevent data transfer through the network every time the server data is updated, and to reduce the network load. Of course, the freshness condition may not be specified for a usage mode in which the update needs to be reflected immediately when the server data is updated.
さらに、図6に示すような優先度に関する制約607を適用するとデータの転送量が削減できる。この制約607は注文表の価格の上位10傑をレプリカの対象とするという指定であり、注文表全体のレプリカを作成する場合と比較して転送データ量は遥かに少なくなる。 Furthermore, when a priority constraint 607 as shown in FIG. 6 is applied, the data transfer amount can be reduced. This restriction 607 specifies that the top 10 items in the price of the order table are targeted for replicating, and the amount of transfer data is much smaller than when a replica of the entire order table is created.
(4)レプリカ更新時のデータ配送条件について、図1および図5を用いて説明する。サーバ1(114)の管理するデータ124が更新された場合(処理502)には、サーバの配送データ管理部118は配送データ管理テーブル120を参照し(処理503)、更新されたデータが配送データ管理テーブルに登録されていない場合(判定処理504でNoが選択された場合)には、データの配送を行うことなく更新処理を終了する(506)。更新されたデータが配送データ管理テーブルに登録されている場合(判定処理504でYesが選択された場合)には、配送管理テーブルのデータ配送条件に従って、データ配送先に該当するデータを配送し(処理505)、更新処理を終了する。
(4) Data delivery conditions at the time of replica update will be described with reference to FIGS. When the
レプリカ更新処理の具体例を、図1および図9を用いて説明する。サーバ1(114)は記憶装置121に注文表データ124を格納している。該注文表に新しい注文データ907が挿入されたとする。配送データ管理部118は、該更新データを配送データ管理テーブルと照合し、該更新データが配送データ管理テーブルのエントリ905、および906を満たしているため、該更新データをエントリ905にしたがって、データ収集手段1に13:00にサーバ主導のPUSH手法で、エントリ906にしたがって、データ収集手段2に1:00と13:00にサーバ主導のPUSH手法で配送する。13:00のデータ配送の際には、サーバ1はマルチキャストを行うことにより、データ収集手段1とデータ収集手段2のためのデータ配送を一括して行うことができるため、サーバ負荷およびネットワーク負荷が削減できる。さらに進んで、もしもエントリ906のデータ配送条件が11:00から15:00の間に1度とか、一日に1度など、エントリ905のデータ配送条件を包含するような場合には、エントリ906のデータ転送をエントリ905のデータ転送条件に合わせることにより、データ転送回数を削減することができる。
A specific example of the replica update process will be described with reference to FIGS. The server 1 (114) stores the
(5)レプリカを用いた問合せ処理について、図1および図4を用いて説明する。クライアント103からデータ収集手段101に問合せが発行されると、問合せはクライアント管理部105を介して、問合せ解析部109に転送される。問合せ解析部はまずレプリカ作成管理部107と通信してレプリカ管理テーブルを参照する(処理403)。前記問合せ解析部は、レプリカ管理テーブルから、問合せが自データ収集手段内で処理可能かどうかを判定し、その問合せが自データ収集手段内で処理可能な場合(判定処理404でYesが選択された場合)には、自データ収集手段内で問合せ処理を行い(処理407)、クライアントに解を転送して(処理415)、問合せ処理を終了する(416)。自データ収集手段内での処理が不可能な場合(判定処理404でNoが選択された場合)には、協調する他データ収集手段で問合せが処理できるかどうかを判定し、処理が可能な場合(判定処理408でYesが選択された場合)には、協調する他データ収集手段に問合せを転送し(処理411)、解を受け取り(処理412)その解をクライアントに転送し(415)、問合せ処理を終了する。自データ収集手段内でも協調する他データ収集手段でも問合せが処理できない場合(判定処理409でNoが選択された場合)には、サーバへ問合せを転送し(処理413)、解を受け取り(処理414)、クライアントに転送し(処理415)、問合せ処理を終了する(416)。
(5) Query processing using a replica will be described with reference to FIGS. When a query is issued from the
クライアントから与えられた問合せが、レプリカを用いて処理できるか否かは、既存のレプリカの内容を記述するレプリカ管理テーブルと、与えられた問合せを比較することによって判定する。つまり、該レプリカ管理テーブルのエントリ(以下、エントリ)と該問合せとを比較し、該問合せが該エントリと同値、あるいは該問合せが該エントリに包含される場合には該レプリカを用いて該問合せが処理できる。本判定は、既存のレプリカを用いて前記新レプリカ作成要求が処理できるかどうかと同値であり、前記新レプリカ作成要求の処理で説明したように、一般的な場合についても、例えば非特許文献7に開示されている、“Query Equivalence、Query Containment”と呼ばれる方式を用いることにより、前記問合せを前記レプリカを用いて処理できるかどうかを判定できるため、本発明による自データ収集システムのレプリカ、協調する他データ収集システムを用いた問合せ処理が実現できる。 Whether or not a query given from a client can be processed using a replica is determined by comparing the given query with a replica management table describing the contents of an existing replica. That is, an entry in the replica management table (hereinafter referred to as an entry) is compared with the query, and if the query is equivalent to the entry or the query is included in the entry, the query is It can be processed. This determination is equivalent to whether or not the new replica creation request can be processed using an existing replica. As described in the processing of the new replica creation request, for example, non-patent document 7 By using the method called “Query Equivalence, Query Containment” disclosed in the above, it is possible to determine whether the query can be processed using the replica, so that the replica of the own data collection system according to the present invention cooperates. Query processing using another data collection system can be realized.
レプリカを用いた問合せ処理の具体的な例を、図1および図8を用いて説明する。クライアント103から「価格が20000円以上の注文の注文番号と、その注文の価格を求めよ」という問合せが発行されたとする。クライアントからの問合せを受け取ったデータ収集手段1のクライアント管理部105は問合せを問合せ解析部101に転送する。該問合せ解析部101では、レプリカ管理テーブル108を参照し、与えられた問合せはエントリ807に対応する、自データ収集手段1内のレプリカで処理できることを判定し、該レプリカを用いて問合せ処理を行う。これにより、サーバに対して問合せ処理が転送されることはない。次に、「価格が3000円以下の注文の注文番号を求めよ」という問合せがクライアント103から発行された場合を考える。この場合には、レプリカ管理テーブルを参照することによって、該問合せがエントリ808に対応する、データ収集手段2内のレプリカで処理できると判定し、問合せをデータ収集手段2に転送する。最後に、「価格が7500円の注文をした顧客番号を求めよ」という問合せが発行された場合を考える。この場合に、図8のレプリカ管理テーブルでは該問合せを処理するためのエントリは存在せず、該問合せはレプリカを用いての処理は不可能と判定され、問合せはサーバに転送される。
A specific example of the inquiry process using the replica will be described with reference to FIGS. Assume that the
以上の説明において、データ収集手段側では、前記CORBA等の分散ネットワーク基盤技術を利用することにより、必要なデータを取得できるサーバ名を得られると仮定しているが、もしそれが不可能な場合にも、データ収集手段側でサーバに関する情報を管理することによって、本発明を実施できることはいうまでもない。
In the above description, it is assumed that the data collection means side can obtain a server name that can acquire necessary data by using the distributed network infrastructure technology such as CORBA. Needless to say, the present invention can be implemented by managing information about the server on the data collection means side.
103、104、1101、1201、1301、1401、1402、1501、1502、1601、1602、1806、1807…クライアント端末、112、121、1105、1209、1210、1315、1316、1317、1408、1409、1510、1511、1610…記憶装置、113、1204、1304、1405、1802…ネットワーク、114、122、1102、1205、1206、1305、1306、1403、1404、1505、1605、1803、1805…サーバ、101、102、1506、1606、1801、1804…データ収集手段、1202…サーバ位置情報管理モジュール、1203…サーバ位置情報、123、126、1310、1508、1608…レプリカ、124、125、1307、1308、1509、1609…サーバの管理するデータ、108…レプリカ管理テーブル、120…配送データ管理テーブル、1507、1607…レプリカ記述。 103, 104, 1101, 1201, 1301, 1401, 1402, 1501, 1502, 1601, 1602, 1806, 1807 ... client terminal, 112, 121, 1105, 1209, 1210, 1315, 1316, 1317, 1408, 1409, 1510 , 1511, 1610 ... storage device, 113, 1204, 1304, 1405, 1802 ... network, 114, 122, 1102, 1205, 1206, 1305, 1306, 1403, 1404, 1505, 1605, 1803, 1805 ... server, 101, 102, 1506, 1606, 1801, 1804 ... data collection means, 1202 ... server location information management module, 1203 ... server location information, 123, 126, 1310, 1508, 1608 ... replication , Data managed by the 124,125,1307,1308,1509,1609 ... server, 108 ... replica management table, 120 ... delivery data management table, 1507,1607 ... replica description.
Claims (3)
それぞれにデータベースを備え前記クライアント計算機システムからのアクセス要求に従って前記データベースを検索するサーバ計算機システムと、
前記クライアント計算機システムと前記サーバ計算機システムとの間に設けられ、記憶装置を備えたデータ収集手段と、を備え
前記データ収集手段は、
前記クライアント計算機システムを管理するクライアント管理部と、
前記クライアント計算機システムからのアクセス要求を解析する問合せ解析部と、
該問合せ解析部での解析結果に基づいて前記サーバ計算機システムへのアクセス手順を決定する通信制御部と、
前記クライアント計算機システムからデータの品質に関する要求条件を含むレプリカ作成要求を受け付け、該レプリカ作成要求を解析して前記要求条件に基づいて作成するレプリカの作成条件を決定するレプリカ作成要求解析部と、
前記作成条件に従って前記データベースの部分的なレプリカを前記記憶装置に作成し、作成したレプリカについての前記作成条件と格納位置とに関する情報を対応づけたレプリカ管理テーブルを用いて該レプリカを管理するレプリカ作成管理部とを有し、
前記問合せ解析部は、
前記クライアント計算機システムからのアクセス要求に応じて、前記レプリカを用いた問合せ処理が可能か否か判定する判定処理部と、
前記判定処理部により前記レプリカを用いた問い合わせ処理が可能と判定された場合に、前記サーバ計算機システムへ問合せを転送することなく前記レプリカを用いた問合せ処理を行う問合せ処理部と、
前記判定処理部により前記レプリカを用いた問い合わせ処理ができないと判定された場合に、前記サーバ計算機システムへ前記アクセス要求を転送する転送処理部とを含む、
データウェアハウスシステム。 A client computer system that accepts processing requests from users;
A server computer system for searching the database according to the access request from said client computer system comprising a database, each,
A data collection unit provided between the client computer system and the server computer system and provided with a storage device;
The data collection means includes
A client management unit that manages the client computer system,
A query analyzing unit that analyzes an access request from said client computer system,
A communication control unit that determines an access procedure to the server computer system based on an analysis result in the query analysis unit;
Said receiving a replica creation request containing the requirement from the client computer system on the quality of the data, the replica creation request analysis unit for determining a generation condition of replicas by analyzing the replica creation request created based on the requirements,
Create a replica that creates a partial replica of the database in the storage device in accordance with the creation condition, and manages the replica using a replica management table that associates information about the creation condition and storage location of the created replica A management department,
The query analysis unit
In response to an access request from the client computer system, a determination processing unit that determines whether query processing using the replica is possible;
If the inquiry processing using the replica by the determination processing section is judged to be a query processor to query processing using the replica without transferring the inquiry to the server computing system,
A transfer processing unit that transfers the access request to the server computer system when it is determined by the determination processing unit that inquiry processing using the replica cannot be performed ,
Data warehouse system.
前記データ収集手段から前記ネットワークを通して転送されてきた前記アクセス要求を受信する通信制御部と、
前記サーバ計算機システムが備える前記データベースを検索して、受信した前記アクセス要求に対する応答を作成する問合せ処理部とを有することを特徴とする請求項1記載のデータウェアハウスシステム。 The server computer system is
A communication control unit that receives the access request transferred from the data collection unit through the network;
The data warehouse system according to claim 1, further comprising: a query processing unit that searches the database included in the server computer system and creates a response to the received access request .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008317833A JP4502063B2 (en) | 2008-12-15 | 2008-12-15 | Data warehouse system, query processing method used therein, data collection method and apparatus therefor, and billing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008317833A JP4502063B2 (en) | 2008-12-15 | 2008-12-15 | Data warehouse system, query processing method used therein, data collection method and apparatus therefor, and billing system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32020398A Division JP4406944B2 (en) | 1998-11-11 | 1998-11-11 | Computer system and distributed processing system for queries |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010023714A Division JP4557092B2 (en) | 2010-02-05 | 2010-02-05 | Data warehouse system and query processing method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009146425A JP2009146425A (en) | 2009-07-02 |
JP4502063B2 true JP4502063B2 (en) | 2010-07-14 |
Family
ID=40916887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008317833A Expired - Fee Related JP4502063B2 (en) | 2008-12-15 | 2008-12-15 | Data warehouse system, query processing method used therein, data collection method and apparatus therefor, and billing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4502063B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9910904B2 (en) * | 2011-08-30 | 2018-03-06 | International Business Machines Corporation | Replication of data objects from a source server to a target server |
US10725708B2 (en) | 2015-07-31 | 2020-07-28 | International Business Machines Corporation | Replication of versions of an object from a source storage to a target storage |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05257783A (en) * | 1992-03-14 | 1993-10-08 | Hitachi Ltd | Method and device for processing replica in data base |
-
2008
- 2008-12-15 JP JP2008317833A patent/JP4502063B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009146425A (en) | 2009-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4406944B2 (en) | Computer system and distributed processing system for queries | |
US10210221B2 (en) | System and method for distributed database query engines | |
US20230350894A1 (en) | Distinct value estimation for query planning | |
US7574424B2 (en) | Database system with methodology for parallel schedule generation in a query optimizer | |
CN104239357B (en) | Concurrent request processing for db transaction | |
US6792416B2 (en) | Managing results of federated searches across heterogeneous datastores with a federated result set cursor object | |
US20190311008A1 (en) | Linked data processor for database storage | |
US7640239B2 (en) | Methods and apparatus for real-time business visibility using persistent schema-less data storage | |
US20170249353A1 (en) | Using databases for both transactions and analysis | |
US20070174292A1 (en) | Autonomic recommendation and placement of materialized query tables for load distribution | |
JP2001109758A (en) | Virtual table interface, and system and method for processing inquiry using this interface | |
EP1128277A3 (en) | Data processing method and system, program for realizing the method, and computer readable storage medium storing the program | |
EP3417376A1 (en) | Optimized data distribution system | |
US6542893B1 (en) | Database sizer for preemptive multitasking operating system | |
JP4502063B2 (en) | Data warehouse system, query processing method used therein, data collection method and apparatus therefor, and billing system | |
US20140258216A1 (en) | Management of searches in a database system | |
Malynov et al. | Development of an AI recommender system to recommend concerts based on microservice architecture using collaborative and content-based filtering methods | |
US7447682B2 (en) | Framework for retrieval and display of large result sets | |
JP4557092B2 (en) | Data warehouse system and query processing method thereof | |
Le Pape et al. | Refresco: Improving query performance through freshness control in a database cluster | |
US20240126784A1 (en) | Efficient space usage cache on a database cluster | |
Singh | Study of Data Warehouse Architecture | |
JP2000020386A (en) | Information system | |
Fu | A Predicate Caching Method for Middleware Applications of OLTP Systems | |
Pua et al. | Modelling parallel databases with process algebra |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091208 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100205 |
|
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: 20100330 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100412 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130430 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130430 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140430 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |