web-dev-qa-db-ja.com

最高のCassandra Python用のライブラリ/ラッパー?

lazyboypycassa -他にもあるかもしれません。私はレイジーボーイを推薦する多くのサイトを見てきました。私見プロジェクトは死んでいるようです。 https://www.ohloh.net/p/compare?project_0=pycassa&project_1=lazyboy を参照してください。

では、新しいプロジェクトに最適なオプションは何ですか?ありがとう。

17
Florian Lagg

Cassandraプロジェクトは、新しいプロジェクトでいくつかのバージョンでCQLを使用することを推奨してきましたが、Cassandra 1.1で、CQL 3が登場したことで、間違いなく利点には、以前にSQLを使用したことがある場合のより使い慣れた構文、および異なる言語のCQLドライバー間のインターフェイスの共通性が含まれます。CQLは、Java、Python、Ruby、Node.jsのいずれから使用する場合でもCQLです。 、または何でも。ドライバーは完全なCassandraクライアントライブラリをサポートする必要がないため、メンテナンスの必要性が少なく、クライアントの作成者への依存度が低くなります。

Python CQLドライバーはGitHubにあります: datastax/python-driver 。(以前のリリースは Google Code にありました。)

CQLの詳細については、 DatastaxはCQL 2のドキュメントを完全に通過していますCQL 3で効果的なデータモデルを作成する方法 、および what's CQLの新機能 全体。

公式の承認待ちのCQL3に関する完全なリファレンスもありますCassandraレポ;待っている間、それを読むことができるはずです ここではpcmanusのgithubにあります

とはいえ、CQLを使用したくない場合は、Pycassaのメンテナンスが実際に改善されており、かなりの期間、適切なサポートが必要です。

29
the paul

pycassa で行きます。私たちはかなり長い間それを使用していて、かなりうまく機能しています。

4
marbdq

今のところ、私もpycassaを使用しており、結果を colander に渡します。これにより、pycassaで取得したクエリの結果にいくつかのモデルがフックされます。

これはpycassa.columnfamilymapが提供するものと似ていますが、ORMのように直接「シミュレート」し、 deform を介して同じ「モデル」を使用してフォームを生成/検証できます。

ただし、CQLで記述された「実際のORM」が表示された場合は、それに切り替えますが、今のところ、これが私が見つけた解決策です。誰かがもっと良いものを持っているなら、私はそれを非常に興味深く考えます。

1
Anthony Perot

古いバージョンのCassandra(具体的にはここで1.0.8について話している)を使用している場合は、CQLSHを使用しないでください。CQLSHを使用していますが、誤ったデータを取得していて、これと矛盾しています。 cassandra-cliから取得します。nodetoolのrepair、cleanなどを使用してみましたが、get Error connection to remote JMX agent!エラー。また、cassandra-cliデータが正しいことも絶対に確信しています。

なんてくだらないの束...

編集:

クライアント側とサーバー側で異なるバージョンのCassandraを使用していたことがわかりました。下位互換性があると思いましたが、明らかにそうではありません。

0
osman