Postgresql 在Plone中存储大量数字数据并从中生成报告

Postgresql 在Plone中存储大量数字数据并从中生成报告,postgresql,plone,zope,Postgresql,Plone,Zope,我刚刚安装了plone 4,将学习如何将当前的xhtml/css站点迁移到它。然而,我也有不同的需求来存储客户端数字数据(在许多情况下是大量的),这些数据可以远程访问并用于生成报告。zopedb能适应这种情况吗,或者我能使用postgres作为后端吗?对于表格数据,使用数据库。您可以使用Zope的(老年人和老年人)ZSQLMethods或使用python代码和自定义代码从Plone访问Postgres 后者并不难,也不令人畏惧,但它确实需要您仔细阅读如何为Plone创建自定义包。就个人而言,我会

我刚刚安装了plone 4,将学习如何将当前的xhtml/css站点迁移到它。然而,我也有不同的需求来存储客户端数字数据(在许多情况下是大量的),这些数据可以远程访问并用于生成报告。zopedb能适应这种情况吗,或者我能使用postgres作为后端吗?

对于表格数据,使用数据库。您可以使用Zope的(老年人和老年人)ZSQLMethods或使用python代码和自定义代码从Plone访问Postgres


后者并不难,也不令人畏惧,但它确实需要您仔细阅读如何为Plone创建自定义包。就个人而言,我会使用SQLAlchemy将数据库集成到Plone视图中。

对于表格数据,请使用数据库。您可以使用Zope的(老年人和老年人)ZSQLMethods或使用python代码和自定义代码从Plone访问Postgres


后者并不难,也不令人畏惧,但它确实需要您仔细阅读如何为Plone创建自定义包。就个人而言,我会使用SQLAlchemy将数据库集成到Plone视图中。

下面是一个我们如何做到这一点的示例

我们运行一个拥有4000个用户和80000条数据记录(内容项)的大型Plone站点。数据主要存储在ZODB中。只要ZODB适合您的服务器内存,您就可以轻松地扩展它。如果数据集小于32 GB,则当前硬件没有问题

出于报告目的,ZODB是不好的,因为所有报告工具都采用(我的)SQL后端。所以我们有从Plone到MySQL的关于修改事件的原型内容的重复数据。然后在Plone中使用视图完成报告,这些视图使用Python和R报告语言,没有太多与Plone的绑定(这是通用Python代码,不是Plone特有的)

但是,由于权限、角色以及Plone+ZODB为您自动处理的问题,主数据存储仍然是ZODB


复制到MySQL可以手动处理,也可以使用类似于

的附加组件来处理。下面是一个示例

我们运行一个拥有4000个用户和80000条数据记录(内容项)的大型Plone站点。数据主要存储在ZODB中。只要ZODB适合您的服务器内存,您就可以轻松地扩展它。如果数据集小于32 GB,则当前硬件没有问题

出于报告目的,ZODB是不好的,因为所有报告工具都采用(我的)SQL后端。所以我们有从Plone到MySQL的关于修改事件的原型内容的重复数据。然后在Plone中使用视图完成报告,这些视图使用Python和R报告语言,没有太多与Plone的绑定(这是通用Python代码,不是Plone特有的)

但是,由于权限、角色以及Plone+ZODB为您自动处理的问题,主数据存储仍然是ZODB


可以手动或使用类似于

+1的附加组件来处理MySQL的复制。另外,请注意,问题不在于数据的数量。就是这种类型。ZODB非常适合于层次结构建模,尤其适合于同时考虑安全性和层次结构。它也非常适合对像文档这样模糊的东西进行子类化。但是,如果您的数据适合于关系建模,并且需要通过关系方法访问,请将其放入关系数据库中。简而言之,为数据模型使用正确的工具,而不是使您的数据模型适应该工具。+1。另外,请注意,问题不在于数据的数量。就是这种类型。ZODB非常适合于层次结构建模,尤其适合于同时考虑安全性和层次结构。它也非常适合对像文档这样模糊的东西进行子类化。但是,如果您的数据适合于关系建模,并且需要通过关系方法访问,请将其放入关系数据库中。简而言之,为数据模型使用正确的工具,而不是使数据模型适应该工具。