5

Linux クラウド サーバーでのデータ ウェアハウス マイニング プロジェクトのセットアップ。主要言語は Python です。

データのクエリとデータの保存にこのパターンを使用したいと思います:

  • SQL データベース- SQL データベースは、データのクエリに使用されます。ただし、SQL データベースには検索が必要なフィールドのみが格納され、データ自体の「ブロブ」は格納されません。代わりに、データの完全な「ブロブ」を参照するキーをキー値ブロブストアに格納します。
  • Blobstore - キーと値の Blobstore は、データの実際の「ドキュメント」または「BLOB」を格納するために使用されます。

私たちが抱えている問題は、より頻繁にアクセスされるデータのブロブを自動的に RAM に保存したいということです。これには Redis を使用する予定でした。ただし、最初に RAM からデータを自動的に取得しようとするソリューションが必要です。RAM でデータが見つからない場合は、ブロブストアに移動します。

自分で作成せずに使用できる、優れたライブラリまたは既製のソリューションはありますか? また、提案されたアーキテクチャに関するコメントや批判も歓迎します。

本当にありがとう!

4

2 に答える 2

3

キャッシングに Redis や Memcached を使用し、さらに「blobstore」パッケージを使用してディスクに保存するのではなく、Couchbase Serverを検討することをお勧めします。ディスク)。

私が働いている会社では、アーカイブ サーバー (テラバイトのデータ) に、あなたが説明したパターン (つまり、リレーショナル データベースでのインデックス作成と BLOB ストレージ) をよく使用します。BLOB を書き込むために行われる I/O がシーケンシャルに保たれている場合にうまく機能します。BLOB は書き換えられることはなく、ファイルの末尾に追加されるだけです (アーカイブ アプリケーションでは問題ありません)。

同じアプローチは、他の人にも使用されています。例えば:

于 2012-10-17T16:58:59.363 に答える
1

最初の部分では、任意の SQL データベースが機能します。Blobstore は、cbfs を使用して、基本的に「既製品」で入手することもできます。これはcouchbase 2.0の上に構築された新しいプロジェクトですが、かなり活発に開発されているようです。

CouchBase は、ディスクをチェックする前に RAM キャッシュから結果を提供しようと既に試みており、大規模なデータ セットをサポートするために完全に分散されています。

CBFS はその上にファイルシステムを置き、そのために書かれた FUSE モジュールが既にあります。

ファイルステムは事実上最小公分母であるため、Python からアクセスするのは非常に簡単で、記述する必要があるカスタム コードの量を減らすことができます。

ブログ投稿: http://dustin.github.com/2012/09/27/cbfs.html

プロジェクト リポジトリ: https://github.com/couchbaselabs/cbfs

于 2012-11-04T12:15:59.350 に答える