問題タブ [zodb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2598 参照

python - ZODB BLOB をバックアップする正しい方法は何ですか?

plone.app.blob を使用して、大きな ZODB オブジェクトを blobstorage ディレクトリに保存しています。これにより、Data.fs のサイズへのプレッシャーが軽減されますが、このデータのバックアップに関するアドバイスを見つけることができませんでした。

ネットワーク バックアップ ツールを repozo バックアップのディレクトリにポイントすることで、既に Data.fs をバックアップしています。BLOB をバックアップするには、そのツールを blobstorage ディレクトリに向けるだけでよいのでしょうか?

コピーの実行中にデータベースが再パックされている場合、または BLOB が追加および削除されている場合はどうなりますか? blobstorage ディレクトリに、特定の順序でコピーする必要があるファイルはありますか?

0 投票する
2 に答える
570 参照

python - Python:ZODBファイルサイズが大きくなっています-更新されていませんか?

永続化のために、メモリに存在するデータを格納するためにZODBを使用しています。メモリ内のデータを含むサービスがクラッシュするたびにクラッシュした場合、再起動すると、MySQLデータベースの数十万行をクエリするのではなく、ZODBからデータが読み込まれます。

たとえば500Kのデータをデータベースファイルに保存するたびに、.fsファイルは500Kのままではなく、500Kずつ大きくなるようです。例として:

root['data_db']のデータをmydictionaryの現在の値で継続的に上書きしたい。len(root ['data_db'])を出力すると、常にmydictionaryから正しい数のアイテムが出力されますが、このコードが(同じ正確なデータで)実行されるたびに、ファイルサイズはデータサイズ(この場合は500K)だけ増加します。

私はここで何か間違ったことをしていますか?

0 投票する
6 に答える
3037 参照

python - Django の目から、Zope の内部を理解する

私は Zope の初心者で、以前は約 2.5 年間 Django に取り組んでいました。だから私が最初に Zope(v2) に飛び込んだとき (私の新しい会社が 7 年間それを使っていたという理由だけで)、私はこれらの質問に直面しました。それらを理解するのを手伝ってください。

  1. そのようなzodbの「本当の」目的は何ですか? 私はそれが何をするか知っていますが、zodb が行う素晴らしいことと、Django (zodb を持たない) のようなフレームワークが見逃していることを 1 つ教えてください。

    更新: 回答に基づいて、Zodb は ORM の必要性を置き換えます。オブジェクトを db (zodb 自体) 内に直接格納できます。

  2. Zope のキラー機能の 1 つは、TTW (Through the Web または ZMI を使用した開発) 哲学であると言われています。しかし、私 (およびすべての開発者) はファイル システム ベースの開発を好みます (バージョン管理を使用する、Eclipse を使用する、Zope 外のお気に入りのツールを使用する)。では、この TTW は実際にどこで使用されているのでしょうか。

  3. これは大きなものです。Python/Django の継承と比較した場合、Zope の Acquistion はどのような「余分なもの」を獲得しますか。

  4. Django から Zope に移行するのは本当に良いことですか?

  5. Zope(v2) 用の djangosnippets.org のようなサイトはありますか?

0 投票する
1 に答える
286 参照

c++ - C++ から直接 ZODB を使用する。例とデザインのヒント

C++ から直接 ZODB を使用したいのですが、そのための Python コードを書きたくありません。そうした経験はありますか?GUI に C++ を使用し、ZODB との間でデータのクエリ/書き込みを行う場合、設計はどうあるべきですか?

0 投票する
5 に答える
10814 参照

python - 実生活でのZODB

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

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

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

0 投票する
1 に答える
1047 参照

python - Plone から Liferay へのデータの移行、または Plone の Data.fs から情報を取得する方法

Plone ベースのポータルから Liferay にデータを移行する必要があります。誰かがそれを行う方法について何か考えがありますか?

とにかく、Data.fs からデータを取得し、JSON などの作業しやすい表現に格納しようとしています。そのためには、Plone の Data.fs からどのオブジェクトを取得する必要があるかを知る必要があります。既にProducts.CMFPlone.Portal.PloneSiteData.fs からインスタンスを取得していますが、そこから何も取得できません。PloneSiteインスタンスを取得して、次のようなことをしたいと思います。

もちろん、それほど単純である必要はありません。PloneSiteの構造とそのデータを回復する方法についての情報が欲しいだけです。誰かアイデアはありますか?

前もって感謝します!

0 投票する
3 に答える
1387 参照

python - 大きなポータルで web2py または grok (zope)、

私はいくつかの大きなプロジェクトを計画しています (1 000 000 ユーザー、毎秒約 500 リクエスト - ホットタイム)。パフォーマンスのために、リレーショナル dbms を使用しません (mysql のようなリレーショナル dbms では、リクエストごとに多くの命令が必要になる可能性があります)。そのため、DAL を使用できません。

私の質問は:

  1. web2py は大量のトラフィックでどのように動作していますか?同時に動作しますか? 私は web2py または Gork - Zope を使用することを検討しています。
  2. 大量のデータを扱う zodb (Z Object Database) はどのように機能していますか? オブジェクトリレーショナル postgresql との比較はありますか?

アドバイスをお願いします。

0 投票する
1 に答える
547 参照

zodb - オブジェクトのZODBに主キーの概念はありますか

ZODBに保存されているすべてのオブジェクトに一意の識別子を設定できるかどうかを知りたいと思いました

0 投票する
3 に答える
4343 参照

python - Pythonで大きなリストを維持する

Pythonのピクルス可能なオブジェクトの大規模なリストを維持する必要があります。リストが大きすぎてすべてをRAMに保存できないため、データベース/ページングメカニズムが必要です。このメカニズムが、リスト内の近くの(近くの)領域への高速アクセスをサポートする必要があります。

リストはすべてのpython-list機能を実装する必要がありますが、ほとんどの場合、順番に作業します。リスト内のある範囲をスキャンし、スキャン中にスキャンポイントにノードを挿入/ポップするかどうかを決定します。

リストは非常に大きくなる可能性があり(2〜3 GB)、一度にすべてをRAMに含めるべきではありません。ノードは小さい(100〜200バイト)が、さまざまなタイプのデータを含めることができます。

これに対する良い解決策は、最後にアクセスされたバケットのみがRAMにロードされるBTreeを使用することです。

複雑なインデックスキーメカニズムを実装する必要があるため、SQLテーブルの使用は適切ではありません。私のデータはテーブルではなく、特定のインデックスに要素を追加したり、特定の位置から要素をポップしたりする機能を備えた単純なPythonリストです。

ZODBデータベースファイルに保存できるBTreeベースのリストを実装するZODBzc.blistを試しましたが、上記の機能が妥当な時間で実行されるように構成する方法がわかりません。すべてのマルチスレッド/トランザクション機能は必要ありません。私のシングルスレッドプログラムを除いて、他の誰もデータベースファイルに触れません。

上記の機能が高速に実行されるようにZODB\zc.blistを構成する方法を誰かに説明してもらえますか、それとも別の大規模なリストの実装を見せてもらえますか?

私が試したいくつかの簡単で汚いコード:

印刷は次で終了しました: