質問

そこで私は、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/

カウチDB - http://couchdb.apache.org/ Pythonクライアント: http://code.google.com/p/couchdb-python/

東京タイラント - http://1978th.net/tokyotyrant/ Pythonクライアント: http://code.google.com/p/pytyrant/

ライトクラウド - http://opensource.plurk.com/LightCloud/ Tokyo Tyrant をベースに Python で書かれています

レディス - 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 GB メモリ、1 秒あたり 14,000 挿入、読み取りに 16,000 秒。実際の最適化は必要ありません。

memcachedb は、1 秒あたり 17,000 ~ 23,000 回の挿入、1 秒あたり 44,000 ~ 64,000 回の読み取りを実行すると主張しています。

他の人たちがどのように速度を上げているのかも気になります。

役に立ちましたか?

解決

それは主にニーズに依存します。

データベースの評価に関する警告を読むそれらを評価する方法を理解します。

他のヒント

shelve(ファイル内のdictonarisの保存/標準Pythonモジュール)

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

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

私の5セント:

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

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

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

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

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

ZODBを使用します。

AmazonのSimpleDBはどうですか?

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top