Cassandraでできないこと、しかししたいこと:
- 索引付けと検索...一般的に何らかの理由で。 インデックス作成は手動で行う必要があります。 CassandraのLucandra -Luceneプロジェクトは、部分的に役立ちます
- レコードの総数をすばやく(O(1)で)見つけることはできません
- 取引についても考えないでください
- 少なくとも次のバージョンでは、map reduceを忘れることができます。
- ユーザーによるテーブルの区切りはありません(これは現在の安定バージョン0.51ではありませんが、将来的にはそうなります)
- 新しいデータベースを追加するのは困難です。そのためには、Cassandraを停止する必要があります(次のバージョンで修正することを約束します)
- たとえば、最も人気のある10のブログを取得するには、単純なクエリのみを実行する必要があります
- ircでは、Cassandraに写真を保存することを非常に落胆しました
レール
Railsには、active_recordに類似したcassandra_objectがあります。 いくつかのフィールドにインデックスを作成するという点で興味深いですが、構成ファイルは手動で編集する必要があります。 開発者と話しましたが、これを自動的に行う計画があります。
テスト
Cassandraの使用を計画している場合、アドバイスはまだこのままです。最も単純なクエリでさえ、すべてを完全にテストします。
各テストの後、データベースをクリーンアップする必要があります。これは次のように実行できます。
クラスActiveSupport :: TestCase def teardown CassandraObject :: Base.connection.clear_keyspace! 終わり 終わり
ところで、このコマンドはすべてのレコードの完全なクリアを保証するものではありませんが、テストには通常これが適しています。
有名な宝石(cassandra、cassandra_object)はもうありません。 たぶんあなたは私の仕事に役立つでしょう:
- Cassandraのattribute_normalizerは、active_recordのattribute_normalizerのフォークです。 テストはまだ書かれていますが、フォークは機能しています
- Cassandraセッションストア(まだ公開されていない)
- シンプルな認可システム。 これは再設計されたクリアランスプラグインです(まだ公開されていません)