4

分散データベースでのデータ割り当てを最適化する方法は?

この問題を解決するソフトウェア製品はありますか?

例えば:

分散データベース用に接続されたサーバーがいくつかあります。各サーバーは、同時にこのデータベースのクライアントです。

データベースには多くのテーブルがあります。

各クライアントから特定のテーブルへのクエリの統計があります。

サーバーごとにデータストレージの価格があります。サーバーとクライアントの各ペアについて知られている転送の価格があります。

目的: サーバー上のすべてのテーブル (またはテーブルの一部) を可能な限り最適な方法で割り当てること。

この問題を解決するために、さまざまなヒューリスティック アルゴリズムを適用できます: 遺伝的アルゴリズム、進化戦略、アリ アルゴリズムなど。

しかし、これらのアルゴリズムを実装する準備が整ったソフトウェア ツールは見つかりませんでした。

分散データベース (Oracle など) でこの問題を解決するツールはありますか?

誰かがそれを気にしますか?

そして、この方法で最適化された、分散データベースを使用したクエリ統計を備えたシステムの例を誰かが持っているでしょうか?

ありがとう!

4

3 に答える 3

0

この問題を解決する分散データベースの例は、独立したインデックス分散を持つ唯一のデータベースである Clustrix です。Clustrix は、分散型 MySQL の代替となるようにゼロから構築されたデータベースです。

Clustrixがデータ分散を行う方法分散評価モデルの詳細

于 2013-05-07T23:18:12.300 に答える
0

データを一元化されたデータベースに保存し、さまざまな場所にキャッシュを構成する方がはるかに簡単だと思います. 異なる場所が同じグリッドにある可能性は低いため、キャッシュ構成は同期キャッシュにする必要があります。非同期キャッシュ ソリューションでは、データベース内の更新の順序が更新が適用された順序ではない可能性があるためです。キャッシュは、データベースに直接アクセスする必要がある場合と比較して、多くのクエリ ネットワーク トラフィックを削減し、リモート ロケーションのパフォーマンスを向上させます。Oracle In-Memory Cache データベース オプションは調査する価値があります。以前TimesTenと呼ばれていたものの11.2.1.8バージョンを使用して、10.2.0.4以上のデータベースで動作します。素晴らしいオプションです。あなたが求めたアルゴリズムは、効果的にアルゴリズムをキャッシュしています。頻繁に使用されるデータが消費者の近くにあり、可能な限り低価格であることを確認してください。より多くのメモリを使用できる場合は、より多くのデータが収まります。LRU は、使用頻度の低いデータをキャッシュから消去します。

于 2011-04-12T19:52:35.120 に答える
0

私は似たようなものを探しましたが、悲しいことに、データベースに関してこの種の分析を行うための既製のツールはありません。ただし、さまざまな研究プロジェクトや大学の論文など、多くの情報を見つけることができます。

別の方法として、既製の数学ツールを使用してモデル化し、特定のクライアントに対するデータのローカリゼーション/相関を最適化することもできます。

于 2011-01-17T22:02:01.187 に答える