2

Cassandra db へのクイック書き込みを形成し、ループバックして現在のすべてのエントリを読み取ることを目的とした例から派生したいくつかの単純なコードがあり、すべて正常に機能しました。.6 が出たとき、Cassandra と thrift をアップグレードしましたが、コードにエラーが発生しました (www[dot]copypastecode[dot]com/26760/) - 必要な型を変換することでエラーを解決できましたが、現在コンパイルされているバージョンは、1 つの項目のみを読み戻すように見えます。db の変更が保存されていないのか、それとも 1 つのエントリしか読み戻していないのかはわかりません。「修正済み」コードはhttp://www.copypastecode.com/26752/です。どんな助けでも大歓迎です。

4

1 に答える 1

2

まず第一に、アプリケーションのパフォーマンスに大きな影響を与えるfor のTBufferedStream代わりにを確実に使用する必要があります。TSocketTBinaryProtocol

Apache Thrift API のドキュメントでは、そのBATCH_INSERTメソッドは非推奨であるため、実際には最初の列のみを挿入するという誤解を招くバグがその操作に導入された可能性があります。BATCH_MUTATEということで、代わりに使ってみませんか?

ところで、なぜ Thrift を直接使おうとしているのですか? Cassandra には、実際に非常に優れたパフォーマンスを発揮する優れた c# クライアントがいくつかあります。リスト全体はhttp://wiki.apache.org/cassandra/ClientOptionsにあります。

私はそのうちの 1 つの作成者であり、Apache でかなり更新されており、運用環境で一部の企業によって使用されています。私のホームページを見てください。

于 2010-12-18T19:01:21.163 に答える