43

Pythonでアプリを作成し、さまざまなORMセットアップとストレートSQLで遊んでいます。それらはすべて罪のように醜いです。

私はZODBをオブジェクトストアとして見ていますが、それは有望な代替手段に見えます...あなたはそれをお勧めしますか?特に開発者の視点、スケーラビリティ、整合性、長期的なメンテナンス、および代替案に関して、あなたの経験、問題、および批判は何ですか?誰かがそれを使ってプロジェクトを開始し、それを捨てますか?なんで?

ZODB、Pypersystなどの背後にあるアイデアは興味深いものですが、彼らの周りには熱意が欠けているようです:(

4

5 に答える 5

27

私はZODBをZope内外で10年以上使用しています。データが階層的であると便利です。顧客が運営する最大のデータストアはおそらく持っています。わからない、100GB?とにかくその桁の何か。

これがPostgresとのパフォーマンス比較です。

WSGI Webアプリを作成している場合は、次のパッケージが役立つ場合があります。

于 2010-03-05T21:35:57.993 に答える
15

「任意のKey-Valueストア」と比較すると、ZODBの主な機能は、属性の変更と実際のACIDトランザクションの自動統合、および他の永続オブジェクトへのクリーンな「任意の」参照です。

ZODBは、Zopeでデフォルトで使用されるFileStorageよりも大きいです。

  • RelStorageバックエンドを使用すると、標準ツールを使用してバックアップや複製などが可能なRDBMSにデータを配置できます。
  • ZEOを使用すると、アプリサーバーとオフラインジョブを簡単にスケーリングできます。
  • 2フェーズ・コミットのサポートにより、RDBMSを含む複数のデータベース間でトランザクションを調整できます(TPC対応レイヤーを提供していると想定)。
  • オブジェクトの属性または包含に基づく簡単な階層:それをエミュレートするために再帰的な自己結合を作成する必要はありません。
  • ファイルシステムベースのBLOBサポートにより、大きなファイルの提供を簡単に実装できます。

全体として、データの形状が明らかに「正方形」ではないほとんどすべての問題にZODBを使用できることを非常に嬉しく思います。

于 2010-03-05T21:27:34.390 に答える
5

私はそれをお勧めします。

本当に批判はありません。探しているオブジェクトストアの場合は、これを使用します。以前に250万個のオブジェクトを保存しましたが、ピンチは感じませんでした。

于 2010-03-06T01:57:12.410 に答える
2

ZODBは多くの大規模データベースに使用されてきました

ほとんどのZODBの使用法は、おそらくZopeから移行した場合に移行したZopeユーザーです。

特に書き込みが多い場合、パフォーマンスはリレーショナルデータベース+ORMほど良くありません。

長期的なメンテナンスはそれほど悪くはありません。データベースを時々パックしたいのですが、それはライブで行うことができます。

ZODBで複数のプロセスを使用する場合は、ZEOを使用する必要があります。これは、ZODBを直接使用するよりもはるかに低速です。

ZODBがフラッシュディスクでどのように機能するのかわかりません。

于 2010-03-05T18:53:14.670 に答える
0

ピクルスを使用すると、同様の方法で任意のキー値データベースを使用できるはずです。

于 2010-03-05T20:56:02.047 に答える