问题标签 [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.
python - 备份 ZODB blob 的正确方法是什么?
我正在使用 plone.app.blob 将大型 ZODB 对象存储在 blobstorage 目录中。这减少了 Data.fs 的大小压力,但我无法找到有关备份此数据的任何建议。
我已经通过将网络备份工具指向 repozo 备份目录来备份 Data.fs。我是否应该简单地将该工具指向 blobstorage 目录来备份我的 blob?
如果在复制过程中重新打包数据库或添加和删除 blob,该怎么办?blobstorage 目录中是否有必须按特定顺序复制的文件?
python - ZODB 3 中的持久集
ZODB 提供 aPersistentList
和 a PersistentMapping
,但我想要一个PersistentSet
. 我写了一个快速类,它反映了PersistentList
ZODB 2 中的古代。因为UserSet
在 Python 中没有,我不得不从基于 C 的内置set
.
该代码产生了“多个基地有实例布局冲突”错误。我尝试在 周围创建一个UserSet
包装器set
,但这也没有解决问题。
最后,我导入sets.Set
了(被内置的 取代set
),但这似乎也是在 C 中实现的。我没有在 PyPI 上找到任何集合实现,所以我现在处于死胡同。
我有哪些选择? 我可能不得不从头开始实现一个集合,或者使用UserDict
并丢弃所有的value
s.
python - Python:ZODB 文件大小增长 - 不更新?
为了持久性,我正在使用 ZODB 存储一些存在于内存中的数据。如果内存中数据的服务每次崩溃,重新启动将从 ZODB 加载数据,而不是查询 MySQL 数据库中的数千行。
似乎每次我将 500K 的数据保存到我的数据库文件时,我的 .fs 文件都会增长 500K,而不是保持在 500K。举个例子:
我想用 mydictionary 的当前值不断覆盖 root['data_db'] 中的数据。当我打印 len(root['data_db']) 时,它总是从 mydictionary 打印正确数量的项目,但是每次运行此代码(使用相同的确切数据)时,文件大小都会增加数据大小,在本例中为 500K。
我在这里做错了吗?
python - 从 Django 的角度理解 Zope 的内部结构
我是 zope 的新手,我之前在 Django 上工作了大约 2.5 年。所以当我第一次进入 Zope(v2) 时(只是因为我的新公司已经使用了 7 年),我遇到了这些问题。请帮助我理解它们。
zodb 的“真正”目的是什么?我知道它的作用,但请告诉我 zodb 所做的一件很棒的事情,而像 Django(没有 zodb)这样的框架却错过了。
更新:根据答案,Zodb 取代了对 ORM 的需求。您可以直接将对象存储在 db(zodb 本身)中。
据说 zope 的杀手级功能之一是 TTW(通过 Web 或使用 ZMI 开发)理念。但是我(和任何开发人员)更喜欢基于文件系统的开发(使用版本控制,使用 Eclipse,使用 Zope 之外的任何喜欢的工具)。那么这个TTW实际用在哪里呢?
这是最大的。与 Python/Django 继承相比,Zope 的收购获得了什么“额外的东西”。
从 Django 来到 Zope 真的是个好举动吗?
任何像 djangosnippets.org 这样的 Zope(v2) 网站?
c++ - 直接从 C++ 使用 ZODB。示例和设计提示
我想直接从 C++ 使用 ZODB,不想为此编写 Python 代码。你有过这样做的经验吗?如果我将 C++ 用于 GUI 并从/向 ZODB 查询/写入数据,那么设计应该如何?
python - 现实生活中的 ZODB
用 Python 编写应用程序,并一直在使用各种 ORM 设置和直接 SQL。所有这些都像罪恶一样丑陋。
我一直将 ZODB 视为一个对象存储,它看起来是一个很有前途的替代方案……你会推荐它吗?你有什么经验、问题和批评,特别是关于开发人员的观点、可扩展性、完整性、长期维护和替代方案?有人用它开始一个项目并放弃它吗?为什么?
虽然 ZODB、Pypersyst 和其他人背后的想法很有趣,但似乎对他们缺乏热情:(
python - 将数据从 Plone 迁移到 Liferay,或者我如何从 Plone 的 Data.fs 中检索信息
我需要将数据从基于 Plone 的门户迁移到 Liferay。有人知道怎么做吗?
无论如何,我正在尝试从 Data.fs 中检索数据并将其存储在更易于工作的表示中,例如 JSON。为此,我需要知道应该从 Plone 的 Data.fs 中获取哪些对象。我已经Products.CMFPlone.Portal.PloneSite
从 Data.fs 中获得了实例,但我无法从中获得任何东西。我想获取PloneSite
实例并执行以下操作:
当然,它不需要这么简单。我只想要一些有关其数据结构PloneSite
以及如何恢复其数据的信息。有人知道吗?
先感谢您!
python - 大型门户网站上的 web2py 或 grok (zope),
我正计划做一些大项目(1 000 000 个用户,大约 500 个请求前秒 - 在热门时间)。为了性能,我将不使用任何关系 dbms(每个请求可能会在关系 dbms 中花费大量指令,如 mysql) - 所以我不能使用 DAL。
我的问题是:
- web2py 如何处理大流量,它是否同时工作?我正在考虑使用 web2py 或 Gork - Zope,
- zodb(Z 对象数据库)如何处理大量数据?与对象关系postgresql有一些比较吗?
请你给我建议。
zodb - ZODB 中是否有对象的主键概念
我想知道我们是否可以为存储在 ZODB 中的所有对象提供唯一标识符
python - 在 python 中维护一个大列表
我需要维护大量 python pickleable 对象。列表太大,无法全部存储在 RAM 中,因此需要一些数据库\分页机制。我需要该机制支持对列表中关闭(附近)区域的快速访问。
该列表应该实现所有 python-list 功能,但大多数时候我将按顺序工作:扫描列表中的某个范围,并在扫描时决定是否要在扫描点插入\弹出一些节点。
该列表可能非常大(2-3 GB),不应一次全部包含在 RAM 中。节点很小(100-200 字节),但可以包含各种类型的数据。
一个很好的解决方案可能是使用 BTree,其中只有最后访问的存储桶被加载到 RAM 中。
使用 SQL 表并不好,因为我需要实现复杂的索引键机制。我的数据不是表格,它是一个简单的 python 列表,具有在特定索引中添加元素以及从特定位置弹出元素的功能。
我尝试了ZODB和zc.blist,它们实现了一个基于 BTree 的列表,可以存储在 ZODB 数据库文件中,但我不知道如何配置它,以便上述功能可以在合理的时间内运行。我不需要所有的多线程\事务处理功能。除了我的单线程程序外,没有其他人会接触数据库文件。
谁能解释我如何配置 ZODB\zc.blist 以使上述功能运行得更快,或者向我展示一个不同的大列表实现?
我尝试过的一些快速而肮脏的代码:
打印结束于: