5

大量の小さなデータオブジェクト(1か月あたり数百万行)を保存する必要があります。それらが保存されると、変更されません。する必要がある :

  • 安全に保管してください
  • それらを分析に使用します(主に時間指向)
  • 時々生データを取得する
  • JasperReportsまたはBIRTで使用できると便利です

私の最初のショットはInfobrightCommunityでした-MySQLの列指向の読み取り専用保存メカニズムです

一方、人々はNoSQLアプローチの方が良いかもしれないと言います。Hadoop + Hiveは有望に見えますが、ドキュメントは貧弱に見え、バージョン番号は1.0未満です。

Hypertable、Pentaho、MongoDBについて聞いたことがあります...。

何かお勧めはありますか?

(はい、ここでいくつかのトピックを見つけましたが、それは1、2年前でした)

編集:その他のソリューション:MonetDB、InfiniDB、LucidDB-どう思いますか?

4

3 に答える 3

3

ここでも同じ問題があり、調査を行っています。BI用の2種類のストレージ:

  • 列指向。無料で既知:monetDB、LucidDb、Infobright。InfiniDB
  • 分散:hTable、Cassandra(理論的には列指向でもあります)
  • ドキュメント指向/MongoDb、CouchDB

答えはあなたが本当に必要なものに依存します:

  • 数百万の行が一度にロードされる場合(ほぼバッチなど)、InfiniDBまたはその他の列指向DBが最適です。彼らは素晴らしいパフォーマンスを持っており、「BI指向」です。http://www.d1solutions.ch/papers/d1_2010_hauenstein_real_life_performance_database.pdf また、分散/「NoSQL」DBに付属する「ノード」や「シャーディング」などの設定は必要ありません。

http://www.mysqlperformanceblog.com/2010/01/07/star-schema-bechmark-infobright-infinidb-and-luciddb/

  • 行がリアルタイムで追加される場合、列指向DBは不良です。2つを選択して2つの別々のDBを作成できます(これが私の選択です。1つはフロントによる統計の実際のフィード用のnoSQLで、もう1つはBI用の列指向のDBです)。または、Cassandraのように、列指向(送信要求の場合)と配布(書き込みの場合)を組み合わせたものに目を向けます。

ドキュメント指向のDBはBIには適していません。特定の行に頻繁にアクセスする必要がある、CRM/CMSの問題に役立ちます。

カテゴリ内の正確な選択については、まだ決定していません。分散型のCassandra、およびCODB用のMonetまたはInfiniDBがリーダーです。Monetは、メモリ内でインデックスを実行するため、非常に大きなテーブルの読み込みに問題があると報告されています。

于 2011-05-06T10:33:10.233 に答える
2

GridSQL も検討できます。単一のサーバーでも、複数の論理「ノード」を作成して、クエリを処理するときに複数のコアを利用できます。

GridSQL は PostgreSQL を使用するため、テーブルをサブテーブルに分割してクエリをより高速に評価することもできます。データは時間指向であるため、サブテーブルを作成するための良い候補になると述べました。

于 2010-03-17T22:52:33.463 に答える
0

レポート ツールとの互換性を探している場合は、MySQL に基づくものが最適な選択かもしれません。何がうまくいくかというと、Infobright がうまくいくかもしれません。他にもいくつかの解決策がありますが、単純な古い MySQL とアーカイブ テーブルも確認することをお勧めします。各レコードは圧縮されて保存され、IIRC はワークロードのタイプに合わせて設計されていますが、Infobright の方が圧縮率が高いと思います。私はどちらも実際に使用したことがないので、どちらが最適かはわかりません。

キーと値のストア (NoSQL など) については、そうです。それらも同様に機能し、多くの代替手段があります。CouchDB に「ビュー」があることは知っていますが、使用する機会がなかったので、どれがどれだけうまく機能するかわかりません。

あなたのデータセットに関する私の唯一の懸念は、あなたが時間について言及したので、使用するソリューションが特定の時間を過ぎてデータをアーカイブできるようにすることを確認したいかもしれないということです. N か月分のデータのみをオンラインで保持し、残りをアーカイブすることは、データ ウェアハウスの一般的な方法です。ここで、RDBMS に実装されているパーティショニングが非常に役立ちます。

于 2010-03-12T13:58:25.977 に答える