0

データストレージ用のアプリケーションを開発しています。レプリケーション、ルーティング、およびデータ取得のすべてのタイプのビジネスは、私のアプリケーションで処理されます。これまで、データはメモリに保存されていました。ここで、Cassandra ストレージ エンジンを使用して、データをメモリからハード ドライブにフラッシュしたいと考えています。それが正しいアプローチかどうかはわかりません。

私の質問: Cassandra データ ストレージ エンジンのみを使用できますか? システム全体として Cassandra を使用したくありません (この場合、ノードごとに 1 つの独立した Cassandra を実行し、アプリケーションclientが Cassandra であるかのように動作する必要があります。私のアプリケーションとストレージ エンジン)。

私は自分の複製、リング、ルーティング コードを持っています。Cassandra のオンノード ストレージ機能だけが必要です。

4

1 に答える 1

1

Cassandra の開発者は、Cassandra をスタンドアロン製品ではなく組み込みライブラリとして簡単に使用できるようにするために、あらゆる手段を講じていません。組み込みが非常に簡単な Apache Derby とは対照的です。しかし、それは可能です。私はそうしましたが、それは大した仕事ではありませんでした。

必要なビットを見つけるには、ソース コードを調べる必要があります。あなたが興味を持っている特定のビットはわかりませんが、それらを見つけるには、それらのビットを使用しているコードの一部について学ぶ必要がありますが、それらはあなたにとって直接の関心ではありません.

便利な API を提供し、構成インターフェースを提供するには、一部の Cassandra クラスを変更されたバージョンに置き換える必要がある場合があります。これは、優れたビルドおよびバージョン管理システムがなければ実用的ではありません。私はビルドに Maven を使用しており、Maven の Shade プラグインが、すべてではないがほとんどの Cassandra クラスを含む JAR を作成するのに役立ち、いくつかのクラスを選択的に置換できることがわかりました。

于 2013-10-23T06:58:20.753 に答える