13

そこで、Pythonで使用するためのさまざまなkey:value(valueは厳密に単一の値または場合によってはオブジェクト)ストアを調べており、いくつかの有望なものを見つけました。私は評価段階にあるため、現時点では特に要件はありません。何が良いのか、何が悪いのか、これらがうまく処理できる、またはうまくいかない場合のコーナーケースなどを探しています。すでに試してみた方もいらっしゃると思いますので、調査結果や問題点をお聞かせください。 /等。Pythonを使用したさまざまなkey:valueストア。私が主に見ているのは:

memcached- http ://www.danga.com/memcached/ pythonクライアント: http: //pypi.python.org/pypi/python-memcached/1.40 http://www.tummy.com/Community/software/python- memcached /

CouchDB- http ://couchdb.apache.org/ pythonクライアント:http ://code.google.com/p/couchdb-python/

Tokyo Tyrant- http: //1978th.net/tokyotyrant/ pythonクライアント:http ://code.google.com/p/pytyrant/

Lightcloud- http: //opensource.plurk.com/LightCloud/ Pythonで書かれた、TokyoTyrantに基づいています

Redis- http://redis.io/ pythonクライアント:http://pypi.python.org/pypi/txredis/0.1.1

MemcacheDB- http://memcachedb.org/

そこで、単純なカウントを使用してベンチマーク(単にキーを挿入して読み取る)を開始し、数値キーと「テキストの短い文字列」の値を生成しました。

memcached:CentOS 5.3 / python-2.4.3-24.el5_3.6、libevent 1.4.12-安定、memcached 1.4.2、デフォルト設定、1ギガメモリ、1秒あたり14,000挿入、16,000秒の読み取り。本当の最適化はありません、いいですね。

memcachedbは、1秒あたり17,000〜23,000回の挿入、1秒あたり44,000〜64,000回の読み取りを要求しています。

また、他の人がどのようにスピードを上げているのか疑問に思っています。

4

4 に答える 4

7

それは主にあなたの必要性に依存します。

データベースを評価する際の注意事項を読んで、データベースの評価方法を理解してください。

于 2009-10-24T15:39:07.040 に答える
3

私の5セント:

テラバイトサイズのデータ​​または大規模な書き込みパフォーマンスを備えた分散システムが必要ですか?

さて、彼らはあなたが大きな鍵の1つを必要とします:value / BigTable/Dynamoタイプのもの。これは、Cassandra、Tokyo Tyrant、Redisなどによるものです。複数のデータベースに書き込むことができるように、クライアントライブラリがシャーディングをサポートしていることを確認する必要があります。ここでどちらを使用するかは、必要と思われるデータでテストした後でのみ決定できます。

Python以外のシステム/言語からデータにアクセスできるようにする必要がありますか?

これらのデータベースにはデータの構造がまったくないため、他の言語/クライアントからアクセスできるかどうかは、データベースに保存する内容によって異なります。ただし、このCouchDBが必要な場合は、データをJSONドキュメントに格納するため、相互運用性が得られるため、このCouchDBを選択することをお勧めします。ただし、CouchDBが非常に大量のデータとシャーディングに対してどれほど優れているかは不明です。

Pythonや分散マルチサーバーストレージ以外の言語との相互運用性は必要ありませんか?

ZODBを使用します。

于 2009-10-25T07:02:56.633 に答える
3

shelve (dictonaris をファイルに保存 / 標準の python モジュール)

ZODB - 永続化オブジェクト データベース (Python オブジェクト データベース、SQL なし)

その他の永続化ツール: http://wiki.python.org/moin/PersistenceTools

于 2009-10-24T17:40:51.713 に答える
-1

Amazon の SimpleDB はどうですか?

Amazon Web サービスとインターフェイスする Python 用の boto と呼ばれるオープンソースの Python ライブラリがあります。

于 2009-10-24T08:34:38.800 に答える