JP5461215B2 - データベースシステム - Google Patents

データベースシステム Download PDF

Info

Publication number
JP5461215B2
JP5461215B2 JP2010020224A JP2010020224A JP5461215B2 JP 5461215 B2 JP5461215 B2 JP 5461215B2 JP 2010020224 A JP2010020224 A JP 2010020224A JP 2010020224 A JP2010020224 A JP 2010020224A JP 5461215 B2 JP5461215 B2 JP 5461215B2
Authority
JP
Japan
Prior art keywords
data
server
data server
storage means
database system
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
Application number
JP2010020224A
Other languages
English (en)
Other versions
JP2011159106A (ja
Inventor
浩史 佐藤
武 井上
敬広 山崎
紀之 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010020224A priority Critical patent/JP5461215B2/ja
Publication of JP2011159106A publication Critical patent/JP2011159106A/ja
Application granted granted Critical
Publication of JP5461215B2 publication Critical patent/JP5461215B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、統計処理のための分散型のデータベースシステムに関する。
近年、ICT(Information and Communication Technology)技術やユビキタス技術の発達に伴い、流通するデータの種類と量が爆発的に増加している。特に、ストリームデータと呼ばれる連続的に発生し続けるデータの増加が著しい。このストリームデータは、環境情報サービスやデータマイニングなどの用途のための統計的利用を前提としている場合が多い。センサネットワークにおけるセンサストリームデータがその顕著な例である。
これらの大量に流通するストリームデータの蓄積および統計処理を低コストかつ低負荷で効率的に行うための技術が必要とされている。特に、その統計における精度をコントロールできること、および、その精度とかかる負荷がトレードオフの関係にあることが必要とされている。
「スケールアウトの技術」首藤一幸、情報処理 Vol.50,No.11,2009
ところで、増加し続ける大量のデータを低コストで扱うためには、スケーラビリティ、すなわち容易な規模拡張性が必須である。このスケーラビリティを備えていることを前提として、データ蓄積のための既存技術には、以下に挙げる問題点を有している。
安価なハードディスクを複数つなげて、論理的に1台のディスクとして扱うストライピング技術が一般的によく使われている。システムの導入時にディスク容量を自由に大きくできるだけでなく、書き込み/読み込みをディスクごとに並列処理できるので、高速である。ただし、一旦稼動を始めた後は容量拡張ができないこと、一部のディスクの故障により全てのデータが失われることなどが問題である。
また、複数のサーバに分散して置かれたデータベースを論理的に単一のデータベースとして扱い、書き込み/読み込みをサーバごとに並列処理することにより高速に処理できる分散データベース技術が知られている。各サーバへのデータ(テーブル)の分配方法には、垂直分割すなわち列(属性)単位での分割と水平分割すなわち行(レコード)単位での分割がある。しかしながら垂直分割では規模拡張が困難なので、以下、水平分割の場合について説明する。一般に分散データベースでは、ハッシュ関数を用いてサーバごとのデータの分担を決定する。これにより、各サーバの担当するデータの範囲が比較的均一になるが、規模拡張のためにサーバを追加した際にはそれに伴って他のサーバの分担も変更になるため、サーバ間でデータの再配置が発生し、システムに高い負荷がかかる。
分散ハッシュテーブルにより再配置を小さく抑える工夫も提案されているが、再配置が発生することには変わりはない(例えば、非特許文献1参照)。また、ハッシュ関数によるデータの割り当てが周期性を伴っていたり、特定のデータが特定のサーバに偏ったりしている場合には、サーバ故障時に偏ったデータのみが消失することになるので、統計的な意味でデータ全体の価値を著しく損なう可能性があることも問題である。たとえ冗長構成を取ることでデータの消失の機会を減らしたとしても、普段の書き込み処理におけるデータ複製、ならびに障害時の復旧のための処理は、サーバに高い負荷をかけることになる。また、一般に分散データベースではデータ再配置等で各データサーバ同士の連携の必要があるため、サーバは他のサーバの状態を保持しなくてはならない。したがってサーバ数が増えればその分負荷が増えることになり、その影響でスケーラビリティが低くなっていることが問題である。
また、これら二つの技術に共通して、データをランダムサンプリングするためには、全ディスクまたは全サーバに対してアクセスを行い、母集団となるデータを検索した上で、そこから必要な精度に合わせた分のデータをランダムサンプリングするか、もしくは、全データに対してランダムサンプリングを行い、そこから検索条件を元にフィルタを施すといった、いずれにしても重い処理が必要になることが問題である。そしてこの処理は、たとえ要求する精度が低いものだとしても、その分かかる負荷が低くなるようなことはなく、非効率である。
ランダムサンプリングを前提とした場合、データの書き込み時に最初から書き込むデータを適当に間引くというやり方もある。これはデータベースへの書き込み時の負荷が小さくなるという意味で優れた方法であるが、サンプリングの比率をはじめから決定しておくことになるので精度の制御ができなくなる。従って、その精度に限定して利用するか、さもなければ読み込み後に再度間引くことになる。前者は精度への自由度が無いことが問題であるし、後者は本質的な解決になっておらず、サンプリング処理によってシステムに高い負荷をかけることに変わりはない。
本発明は、このような事情に鑑みてなされたもので、統計処理を行う際に好適な分散型のデータベースシステムを提供することを目的とする。
本発明は、データを記憶する記憶手段をそれぞれ備える複数のデータサーバと、前記データサーバの所在を管理する管理サーバとを備え、標本データの抽出を行う分散型のデータベースシステムであって、前記データの書き込み時に、書き込み先の前記データサーバを機会均等に任意に選択し、選択した前記データサーバを介して、書き込むべきデータを前記記憶手段に書き込み、前記データの読み込み時に、前記データサーバを任意に選択し、選択した前記データサーバを介して、前記記憶手段から読み込むべきデータを読み込むことを特徴とする。
本発明は、前記データの書き込み時の機会均等なデータサーバを選択する際に、ランダム選択を採用して、前記データサーバの選択を行うことを特徴とする。
本発明は、前記データの読み込み時に前記データサーバを選択する際に、その時点でかかっている負荷の低い前記データサーバを優先して選択することを特徴とする。
本発明は、前記データの読み込み時に前記データサーバを選択する際に、その後予想される負荷が低い前記データサーバを優先して選択することを特徴とする。
本発明は、前記データの読み込み時に前記データサーバを選択する際に、統計処理において必要としている精度から、選択するべき前記データサーバの数を決定することを特徴とする。
本発明によれば、複数のデータサーバに対してデータアクセスする際に、各データサーバ毎に分担を決めないようにしたため、機会均等にデータをアクセスすることが可能になる。また、データサーバ毎に分担が決まっていないため、特定のデータサーバに障害があっても、母集団のサイズが変わるだけで、統計的な特徴は変わらず、また、データサーバの追加があっても分担の決めなおしの必要もないので、容易に規模を拡張することができるという効果が得られる。
本発明の一実施形態の構成を示すブロック図である。 図1に示す装置の動作を示すシーケンス図である。 図1に示す装置の動作を示すシーケンス図である。 図1に示す装置の動作を示すシーケンス図である。
以下、図面を参照して、本発明の一実施形態によるデータベースシステムを説明する。図1は同実施形態の構成を示すブロック図である。この図において、符号1〜5は、分散型のデータベースを構成するデータサーバであり、データを記憶する記憶装置10〜50のそれぞれに対してデータの読み書きを行うコンピュータ装置によって構成する。符号6は、データサーバ1〜5の所在を管理する管理サーバであり、コンピュータ装置によって構成される。符号7は、分散型データベースに記憶されているデータを利用するクライアント端末であり、コンピュータ装置によって構成される。管理サーバ6、データサーバ1〜5及びクライアント端末は、それぞれコンピュータネットワークNに接続され、各装置間において情報通信が可能である。
ここでは、データサーバ1〜5のアドレスをそれぞれA1〜A5とする。管理サーバ6は、データサーバ1〜5の死活管理、すなわち、データサーバ群を監視し、正常に稼動しているデータサーバを把握しているものとする。ここでの「正常な稼動」とは、システム自体が通常通り安定して稼動していることに加えて、残りのディスク容量が十分にあることも含んでいる。なお、ここでは管理サーバ6を1台のみとしているが、複数あってもよい。その場合は、各管理サーバがそれぞれ全データサーバを監視するか、もしくは分担して監視して、必要に応じてお互いに情報を共有する。そしていずれの場合もクライアント端末7は任意の管理サーバに問い合わせることになる。
次に、図2を参照して、図1に示すデータベースシステムのデータの書き込み動作について説明する。図2は、図1に示すデータベースシステムのデータの書き込み動作を示すシーケンス図である。ここでは、クライアント端末7は表1のデータを書き込むとする。このとき、1回の管理サーバ6へのアクセスあたり、データサーバ1〜5に1レコードずつ書き込んでも複数レコードをまとめて書き込んでもよいが、ここでは複数レコードをまとめて書き込むこととする。
Figure 0005461215
まず、クライアント端末7は、管理サーバ6に対して書き込みたいレコード数として「3」を伝える(ステップS1)。このときデータサーバ1、データサーバ2、データサーバ3及びデータサーバ5は正常に稼動しているが、データサーバ4はダウンしていたとする。すると、管理サーバ6は現在正常に稼動しているデータサーバ1、データサーバ2、データサーバ3、データサーバ5の中から、のべ3台のデータサーバを選ぶ。その選び方は、クライアント端末7ごとに、稼動している全データサーバに対して機会均等になるような選び方であればよい。すなわち、その選び方で選択したデータサーバに書き込むという処理(選択+書き込み)を仮に長期間繰り返した場合に、各データサーバへの書き込み回数がほぼ均一になると予測される選び方という意味である。
例えば、クライアント端末7がどのデータサーバに書き込んだかの履歴を管理サーバ6が保存しているとして、そのクライアント端末7から行われた最後の書き込みの時刻が古い順にデータサーバを3台選ぶというやり方や、各データサーバに同一の確率(ここでは候補が4台あるので各々1/4)を付与して、規則性を伴わずにその確率に従って重複を許して3台選ぶ、すなわちランダムに選ぶなどのやり方がある。但し、厳密な意味でのランダムである必要はなく、疑似ランダムでも構わない。ここではランダムに選ぶものとし、データサーバ1、データサーバ5及びデータサーバ3の順で3台が選ばれたとする。管理サーバ6はその選んだデータサーバのアドレスを選んだ順に並べ、(A1、A5、A3)というアドレス列にしてクライアント端末7に返す(ステップS2)。クライアント端末7はそのアドレス列に従って、頭からそのアドレスが示すデータサーバに対してアクセスし、順に書き込むべきレコード(レコード1〜3)を書き込んでいく(ステップS3、S4、S5)。
なお、ここではレコード単位としたが、いくつかのレコードをまとめて、例えば3レコードずつ書き込んでもよい。その場合は、クライアント端末7はレコード数ではなくレコードの3つ組の数を伝えるようにすればよい。また、1レコードずつ書き込むのであれば、管理サーバ6が伝えるのはアドレス列ではなく単一のアドレスとなり、データサーバへのアクセスも1回となる。ストリームデータの場合、クライアント端末7はこの書き込みを断続的に行うことになるので、その都度同様の処理を行う。
また、この例では書き込み先となるデータサーバの選択を管理サーバ6が行ったが、選択ルールを共有した上で、クライアント端末7が行うようにしてもよい。この場合は、管理サーバ6がクライアント端末7に伝えるのは、正常に稼動している全サーバのアドレス列となり、クライアント端末7はそこからランダムに必要数のアドレスを選択してアクセスすることになる。
次に、図3を参照して、図1に示すデータベースシステムのデータ読み込み動作について説明する。図3は、図1に示すデータベースシステムのデータ読み込み動作を示すシーケンス図である。この例では大量のデータの中からサンプリングのみを行うものとする。
まず、クライアント端末7は管理サーバ6に対して要求するサーバ数を百分率(要求精度)で伝える(ステップS11)。すなわち、最大の標本サイズの何パーセントを標本として抽出したいかを伝える。標本サイズが大きくなればなるほど、統計値の精度は向上する。ここでは、クライアント端末7が30%を指定したものとする。ここでは、クライアント端末7が30%を指定したものとする。図1に示す例ではデータサーバは5台あるので、その30%は1.5台となる。管理サーバ6は、これを切り上げて、2台を必要台数と算出する。管理サーバ6は、現在正常に稼動しているデータサーバの中から、2台のデータサーバを任意に選択する。ここでは現在かかっている負荷の低いデータサーバから順に選ぶこととし、その際の負荷の指標として平均レスポンス時間を用いることとする。各データサーバの現在の平均レスポンス時間は例えば、表2に示す通りであるとすると、データサーバ2、データサーバ3が順に選ばれることになる。各データサーバ1〜5が記憶装置10〜50に保持するデータ例を表3に示す。
Figure 0005461215
Figure 0005461215
次に、管理サーバ6は、データサーバ2、データサーバ3のアドレス列(A2、A3)をクライアント端末7に返す(ステップS12)。クライアント端末7はこのアドレス列を元に、データサーバ2、データサーバ3に対してアクセスし、検索クエリを投げていく(ステップS13、S14)。ここでは時刻tによる範囲検索として、(2009−04−01_10:05:00<t<2009−04−01_10:15:00)を投げるとする。検索クエリを受け付けたデータサーバ2、データサーバ3は各々検索を行い、検索結果の情報(それぞれ表4、表5)を各々クライアント端末7に返す(ステップS15、S16)。クライアント端末7はそれらの結果をマージし(表6)、サンプリング結果とする。
Figure 0005461215
Figure 0005461215
Figure 0005461215
表6に示すサンプリング結果においては便宜上ソートしているが、単なるサンプリングであればソートは必須ではない。また、ここでは負荷の指標として平均レスポンス時間を用いたが、平均アクセス回数やCPU利用率などでもよい。またはそれらを総合した値でもよい。さらに、負荷の変化に規則性がある場合や、これから別のタスクで負荷がかかることがわかっている場合などは、その予想される負荷を指標としてもよい。
また、この例では指定された標本サイズ以上であれば問題ないという考えの下、2台の検索結果を全て返しているが、いずれか1台のデータサーバ、例えばかかっている負荷の低いデータサーバ2において、過剰な分、この例ではデータサーバ2での検索結果の半数を間引くためのサンプリング処理を走らせた上でその結果を返し、その1台以外すなわちデータサーバ3が検索結果を全て返せば、重いサンプリング処理を1台だけに限定しながら、クライアント端末7に対する送信データ量を低く抑えることができる。なお、読み込み・書き込みともに、クライアント端末7の複数同時のアクセスをそのまま並行に処理してもよい。
次に、図4を参照して、図3に示すデータ読み込み動作の変形例を説明する。図4は、図1に示すデータベースシステムのデータ読み込み動作を示すシーケンス図である。この例では、閾値に対するレコードの比率(母比率)を推定するものとする。
まず、クライアント端末7は管理サーバ6に要求するサーバ数(要求精度)に加えて、検索クエリ、および、属性とその値に対する閾値を伝える(ステップS21)。閾値は、指定された属性の値が閾値以上か未満かでレコードを分けて、その比率を出すためのものである。この例では指定属性は「Value1」とし、その閾値は7.0とする。要求するサーバ数の全サーバにおける百分率は60%とし、検索クエリは同じく、時刻tにおける範囲検索(2009−04−01_10:05:00<t<2009−04−01_10:15:00)とする。5台のデータサーバに対して60%の要求なので、必要台数は3台となる。管理サーバ6は、現在正常に稼動しているデータサーバの中から、3台のデータサーバを任意に選択する。ここでは現在の負荷が低いデータサーバから順に選ぶこととし、その際の負荷の指標として平均レスポンス時間を用いることとする。
各データサーバの現在の平均レスポンス時間は表2の通りであるとすると、データサーバ2、データサーバ3及びデータサーバ5が順に選ばれることになる。管理サーバ6は、ここで最もかかっている負荷の低いデータサーバ2を集約サーバとし、集約IDを適当に決める。この集約IDは並列処理の際に他のプロセスとの混乱を防ぐためのものであるので、同時に処理を行う可能性のある集約処理の間でユニークである必要がある。例えば、管理サーバ6のアドレスと、要求を受け付けた時刻の組み合わせなどを使用すればよい。また、この集約IDはクライアント端末7とのセッションとも紐付けられる。
次に、管理サーバ6は、データサーバ2に対して、集約IDと、他データサーバのアドレス列(A3、A5)と、検索クエリ、閾値を伝える(ステップS21)。また、管理サーバ6は、データサーバ3とデータサーバ5のそれぞれに対して、集約IDと、集約データサーバのアドレス(A2)と、検索クエリ、閾値を伝える(ステップS22、S23)。
データサーバ2は、自身の検索をかけながら、A3とA5のアドレスで示されるデータサーバからこの集約IDを持つ検索結果が返ってくるのを待つ。データサーバ3とデータサーバ5は、検索結果(それぞれ表5、表7)に集約IDを付与して、データサーバ2に各々返す(ステップS23、S24)。データサーバ2はこれを受け取り、自分の検索結果(表4)とマージした上でそれらの標本比率を求め、集約IDとともに管理サーバ6へ返す(ステップS25)。管理サーバ6はこれを受け取り、集約IDと紐付いているセッションを通じてクライアント端末7に推定される母比率として返す(ステップS26)。
Figure 0005461215
この例では検索を行うデータサーバのうち、1台のデータサーバを集約サーバとしたが、それら以外のデータサーバや管理サーバ6、集約専用の別サーバなどでも同様に処理するようにしてもよい。また、各データサーバで標本比率を求め、それらを集約するようにしてもよい。さらに、比率ではなく平均値などの計算であっても同様である。
次に、データ読み込み処理におけるデータサーバ台数の決定処理について説明する。ここでは、母集団のサイズ、すなわち、ランダムサンプリング前のレコード数Nが予め分かっている、または、予測できているとし、N=10000とする。例えば、全データに対するランダムサンプリングの場合で全レコード数を把握している場合や、クライアント端末7の書き込み頻度やタイミングを把握している場合である。
今、要求する精度を許容する誤差の幅をeで表し、e=0.0ならば誤差を許さず、上下3%の誤差を許容するのならば、e=0.06となる。クライアント端末7は要求する精度としてこのeを検索クエリと一緒に管理サーバ6に伝える。また、信頼度はデータベースシステム側が決めてもクライアント端末7が指定しても構わないが、この例ではシステム側が信頼度95%と決めて処理をするものとする。信頼度に対する正規分布の値をuとする。95%であればu=1.96、99%であればu=2.58である。ここではu=1.96となる。このとき、必要な標本サイズnは、
n=(2u/e)^2・p(1−p)
となる。pは予測される母比率なので、予測できている場合はその値となる。ここでは予測できていないとして、nを最大とする0.5と設定すると、
n=(2x1.96/0.06)^2x0.5x0.5=1067
となる。各データサーバの保持するレコード数はほぼ均一とみなせるので、1台あたり約10000/5=2000レコードとなる。従って、1台のサーバで良いこととなる。
なお、求めるのが比率ではなく平均値の場合は、例えば母分散σ^2がある程度推測できているとして、許容する誤差の幅eに対して、
n=4u^2・σ^2/e^2
のようにして求める。(参考文献:「サンプルサイズの決め方」(永田靖)、S12、朝倉書店)。
次に、母集団(全標本)のサイズを推定する方法について説明する。クライアント端末7はデータを書き込む前に管理サーバ6にアクセスをするが、その際に、管理サーバ6は一定の確率、例えば1/1000の確率でランダムに間引きながら、クライアント端末7が書き込もうとしているレコードを自身に保持するようにする。クライアント端末7は読み込みの際に検索クエリを管理サーバ6に伝えるが、データサーバの台数を決定する前処理として、自身にその検索クエリを用いて検索をかける。ここでは、検索結果のレコード自体は必要なく、その個数さえわかればよいので、通常の検索よりかかる負荷は低い。この得られた個数を1000倍することで、母集団(全標本)のサイズを推定することができる。同様に、自身を検索し、その検索結果を標本分散と見做し、さらに母分散の代わりとすることも可能である。
ここでは、管理サーバ6に独自にサンプリングされたデータレコードを保持したが、通常通りにデータを蓄積しているデータサーバを任意に1台選び、そこにまず検索クエリを投げ、その結果を見て台数を決定し、不足している台数(すなわち、必要台数−1)に検索クエリを改めて投げるという方法でも可能である。
また、これらの方法を使えば、クライアント端末7が必要標本サイズを直接的に指定することも可能である。すなわち、前述した説明において、クライアント端末7は、サーバの台数ではなく、必要とする標本サイズを管理サーバ6に伝え、管理サーバ6は上記の方法でデータサーバ1台あたりの検索結果のレコード数を見積った上で、クライアント端末7が要求する標本サイズを上回るためには何台のデータサーバが必要かを算出すればよい。
このように、前述したデータベースシステムによれば、ランダムサンプリングが蓄積時にネイティブで行われるため、データを統計的に利用する際にあらためてサンプリング処理でシスムテに負荷をかける必要がなくなる。また、ランダムサンプリング時に、データサーバの台数分の自由度で標本サイズを制御することができ、それを精度で制御することができる。さらに、データサーバは分散しているためデータベースシステム全体で見ると統計処理に必要とされる精度に応じた並列処理をすることになり、データサーバ台数によらず高速に処理することができる。
また、データサーバの故障が発生しても、各データサーバに蓄積されているデータの統計的な性質は均一なので、全体の最大精度が落ちることと、選べる精度の自由度が落ちるだけで、統計的な意味での偏りは発生しないので、データ全体での価値を著しく損なうことはない。また、新たにデータサーバの追加を行っても、時間が経てば自然に新しいデータサーバへ他のデータサーバと同様にデータが蓄積されていくので、データの再配置の必要がなく、余計な負荷がかからない。
また、データサーバの障害時に消失するのは当然ながら過去のデータであり、その後新しいデータが蓄積されていくに従って、全体の中での新しいデータの割合が増える。このようなデータサーバの障害すなわちデータの消失はデータベースシステム全体で常に発生し得る確率的なものなので、データ全体に均等に同様の影響を及ぼす。従って、データ読み込み時には新しいデータほど自然に優先されることになり、新しい情報を重要視することの多いストリームデータの統計処理においては好ましい特徴となる。また、各データサーバは他のサーバの状態を保持する必要がないので、一般の分散型データベースに比べてスケーラビリティが非常に高い。
また、データサーバの死活管理が不完全だった場合でも、一般にその死活判断の間違いはデータサーバ毎に確率的に均等に起こるものなので、その間違いに起因したデータの書き込みならびに読み込み処理の失敗の機会に偏りは生じない。従って、特定のデータのみがまとまって消失するようなことは起きず、影響はデータ全体での最大精度が若干落ちるのみで済む。
また、データ書き込み時にデータサーバをランダムに選択する、すなわち、周期性のない選択をすることになるので、データが周期信号だった場合でも、データサーバ故障による一部データの消失時に、元データの周波数成分が失われにくい。さらに、データ読み込み時に、かかっている負荷の低いデータサーバが優先して選ばれるので、負荷分散が適切に行われ、システム全体としての稼動が安定するとともに、キャパシティの向上、運用コストの低減が可能になる。
環境情報サービスやデータマイニングなどにおいては、データを統計的に利用することを前提としている場合が多く、センサネットワークにおけるセンサストリームデータがその顕著な例である。それらの大量のデータを低コストで取り扱うためのデータ蓄積技術として、従来から分散型データベースがある。従来の分散型データベースは、複数のサーバに分散しておかれたデータベースを論理的に一つのデータベースとして取り扱うものであるが、サーバ毎に分担を決めておくものであったため、規模を拡張する場合には、サーバの分担を決めなおす必要があり、また、サーバ間で常に連携をとる必要があるなどの問題がある。
本発明による分散型のデータベースシステムは、統計的に利用されるデータを蓄積する際に、複数のデータサーバに対してデータアクセスする際に、各データサーバ毎に分担を決めないようにしたため、機会均等にデータをアクセスすることが可能になる。データサーバ毎に分担が決まっていないため、特定のデータサーバに障害があっても、母集団のサイズが変わるだけで、統計的な特徴は変わらず、また、データサーバの追加があっても分担の決めなおしの必要もないので、容易に規模を拡張することができる。
なお、図1における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりデータベースのアクセス管理処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアント端末7となるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
統計処理のための分散型のデータベースシステムを構築することが不可欠な用途に適用できる。
1〜5・・・データサーバ、10〜50・・・記憶装置、6・・・管理サーバ、7・・・クライアント端末

Claims (5)

  1. データを記憶する記憶手段をそれぞれ備える複数のデータサーバと、前記データサーバの所在を管理する管理サーバとを備え、標本データの抽出を行う分散型のデータベースシステムであって、
    前記データの書き込み時に、書き込み先の前記データサーバを機会均等に任意に選択し、選択した前記データサーバが備える前記記憶手段に書き込むべきデータを書き込み、
    前記データの読み込み時に、必要な数の前記データサーバを任意に選択し、選択した前記データサーバが備える前記記憶手段から読み込むべきデータを読み込み、それらのデータをマージしてサンプリング結果とする
    ことを特徴とするデータベースシステム。
  2. データを記憶する記憶手段をそれぞれ備える複数のデータサーバと、前記データサーバの所在を管理する管理サーバとを備え、標本データの抽出を行う分散型のデータベースシステムであって、
    前記データの書き込み時に、書き込み先の前記データサーバを機会均等に任意に選択し、選択した前記データサーバが備える前記記憶手段に書き込むべきデータを書き込み、
    前記データの読み込み時に、前記データサーバを任意に選択し、選択した前記データサーバが備える前記記憶手段から読み込むべきデータを読み込み、
    前記データの読み込み時に前記データサーバを選択する際に、その時点でかかっている負荷の低い前記データサーバを優先して選択する
    ことを特徴とするデータベースシステム。
  3. データを記憶する記憶手段をそれぞれ備える複数のデータサーバと、前記データサーバの所在を管理する管理サーバとを備え、標本データの抽出を行う分散型のデータベースシステムであって、
    前記データの書き込み時に、書き込み先の前記データサーバを機会均等に任意に選択し、選択した前記データサーバが備える前記記憶手段に書き込むべきデータを書き込み、
    前記データの読み込み時に、前記データサーバを任意に選択し、選択した前記データサーバが備える前記記憶手段から読み込むべきデータを読み込み、
    前記データの読み込み時に前記データサーバを選択する際に、その後予想される負荷が低い前記データサーバを優先して選択する
    ことを特徴とするデータベースシステム。
  4. データを記憶する記憶手段をそれぞれ備える複数のデータサーバと、前記データサーバの所在を管理する管理サーバとを備え、標本データの抽出を行う分散型のデータベースシステムであって、
    前記データの書き込み時に、書き込み先の前記データサーバを機会均等に任意に選択し、選択した前記データサーバが備える前記記憶手段に書き込むべきデータを書き込み、
    前記データの読み込み時に、前記データサーバを任意に選択し、選択した前記データサーバが備える前記記憶手段から読み込むべきデータを読み込み、
    前記データの読み込み時に前記データサーバを選択する際に、統計処理において必要としている精度から、選択するべき前記データサーバの数を決定する
    ことを特徴とするデータベースシステム。
  5. 前記データの書き込み時の機会均等なデータサーバを選択する際に、ランダム選択を採用して、前記データサーバの選択を行うことを特徴とする請求項1から4のいずれか1項に記載のデータベースシステム。
JP2010020224A 2010-02-01 2010-02-01 データベースシステム Expired - Fee Related JP5461215B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010020224A JP5461215B2 (ja) 2010-02-01 2010-02-01 データベースシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010020224A JP5461215B2 (ja) 2010-02-01 2010-02-01 データベースシステム

Publications (2)

Publication Number Publication Date
JP2011159106A JP2011159106A (ja) 2011-08-18
JP5461215B2 true JP5461215B2 (ja) 2014-04-02

Family

ID=44591001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010020224A Expired - Fee Related JP5461215B2 (ja) 2010-02-01 2010-02-01 データベースシステム

Country Status (1)

Country Link
JP (1) JP5461215B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5483473B2 (ja) * 2011-08-03 2014-05-07 日本電信電話株式会社 データ分散システム、管理サーバ、クライアント装置、管理サーバプログラム及びクライアント装置プログラム
JP7071938B2 (ja) * 2019-01-23 2022-05-19 株式会社日立製作所 データベース管理サービス提供システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0744456A (ja) * 1993-08-02 1995-02-14 Nippon Telegr & Teleph Corp <Ntt> 時系列データアクセス処理方式
JP2002312225A (ja) * 2001-04-11 2002-10-25 Toshiba Corp データ管理装置及びデータ管理方法
JP2005078394A (ja) * 2003-09-01 2005-03-24 Nec Corp 非共有型データベースクラスタシステム,データベースノードおよび動的データ再配置方法ならびにプログラム
JP4790371B2 (ja) * 2005-10-18 2011-10-12 財団法人電力中央研究所 時系列データの保存、抽出及び合成方法並びにプログラム

Also Published As

Publication number Publication date
JP2011159106A (ja) 2011-08-18

Similar Documents

Publication Publication Date Title
US10795905B2 (en) Data stream ingestion and persistence techniques
US10691716B2 (en) Dynamic partitioning techniques for data streams
US20200012568A1 (en) Scalable log-based continuous data protection for distributed databases
US10853182B1 (en) Scalable log-based secondary indexes for non-relational databases
US9794135B2 (en) Managed service for acquisition, storage and consumption of large-scale data streams
US9639589B1 (en) Chained replication techniques for large-scale data streams
US7047360B2 (en) Method and apparatus for adjusting performance of logical volume copy destination
US9276959B2 (en) Client-configurable security options for data streams
US10635644B2 (en) Partition-based data stream processing framework
JP5722962B2 (ja) ストレージ性能の最適化
US9612758B1 (en) Performing a pre-warm-up procedure via intelligently forecasting as to when a host computer will access certain host data
US11075984B1 (en) Workload management at streaming data service supporting persistent connections for reads
CN109446374B (zh) 流匹配系统中的结果的存留和实时排名
JP2005157933A (ja) ストレージネットワークの性能情報を収集する方法およびプログラム
JP2007156815A (ja) データマイグレーション方法及びシステム
CN108108476A (zh) 高可靠分布式日志系统的工作方法
US10223270B1 (en) Predicting future access requests by inverting historic access requests in an object storage system
US11675501B2 (en) Streaming data service with isolated read channels
US10798140B1 (en) Stream data record reads using push-mode persistent connections
CN109947730A (zh) 元数据恢复方法、装置、分布式文件系统及可读存储介质
CN107133334B (zh) 基于高带宽存储系统的数据同步方法
US11621999B2 (en) Isolated read channel categories at streaming data service
JP5461215B2 (ja) データベースシステム
JP5956064B2 (ja) 計算機システム、データ管理方法、及び計算機
US10204110B2 (en) Method and system for deleting obsolete files from a file system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120217

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130605

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131008

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140115

R150 Certificate of patent or registration of utility model

Ref document number: 5461215

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees