【问题标题】:web2py or grok (zope) on a big portal,大型门户网站上的 web2py 或 grok (zope),
【发布时间】:2010-03-17 02:26:22
【问题描述】:

我正计划做一些大项目(1 000 000 个用户,大约 500 个请求前秒 - 在热门时间)。 为了提高性能,我将不使用任何关系 dbms(每个请求都可能在 mysql 等关系 dbms 中花费大量指令) - 所以我不能使用 DAL。

我的问题是:

  1. web2py 如何处理大流量,是否同时工作?我正在考虑使用 web2py 或 Gork - Zope,
  2. 如何使用 zodb(Z 对象数据库)处理大量数据?与对象关系型 postgresql 有比较吗?

请给我一些建议。

【问题讨论】:

  • 恕我直言,对于与性能相关的问题,参数过于模糊。您能否根据每个请求的特定类型事务(写入、读取、阻塞)的平均可能性的数量重新表述?你存储什么样的数据?它多久改变一次?使缓存的内容失效和重新填充的成本有多大(以及这种情况必须发生的频率)?

标签: python zope web2py zodb grok


【解决方案1】:

首先,不要假设数据抽象层的性能会令人无法接受,直到您在实践中真正看到它。如果遇到问题,切换到 RAW sql 非常容易。

其次,大多数担心服务器技术处理一百万用户的用户永远不会完成他们的应用程序。选择您认为能够让您在最短的时间内构建出最佳应用程序的任何技术。至少,任何技术都可以通过集群进行扩展。

【讨论】:

  • +1 并且我要补充一点,memcached 似乎是the 减少一般数据库命中的插入式解决方案。专注于让应用首先实际运行要比担心前期扩展要好得多。
  • 感谢您的回复,但我认为 GAE 不是我要使用的。我将在 postgresql 上对对象关系数据库进行建模。所以我需要不用 DAL。我说的对吗?
  • Postgresql 并不是真正的对象关系。它确实支持一种表继承形式,但它有其局限性,无论如何,您最终仍将像使用任何其他关系数据库一样使用它。用这两种方法编写一个小应用程序,然后找出最适合您的方法。
  • 所以我不能在 postgresql 中使用完全嵌套的表?
  • “大多数担心服务器技术处理一百万用户的用户永远不会完成他们的应用程序。”太棒了。
【解决方案2】:

我同意 mikerobi - 选择能让你发展最快的东西。对我来说就是 web2py。

web2py runs on Google App Engine,所以如果您不想使用关系数据库,那么您可以使用 Google 的数据存储。

【讨论】:

  • 感谢您的回复,但我认为 GAE 不是我要使用的。我将在 postgresql 上对对象关系数据库进行建模。所以我需要不用 DAL。我说的对吗?
  • 您需要哪些 ORD 功能? web2py DAL 支持表继承。可能最好直接处理 postgres。
  • 我需要嵌套表。类似于 oracle 中的东西:创建类型 ListaLineasCompra_TipoAnidada 作为 LineasCompra_TipoObjeto 的表 --(constraint ListaLineasCompra_pk 主键(IdLineaCompra) ) ; / CREATE type OrdenCompra_TipoObjeto AS OBJECT (IdCompra number, ClienteRef REF Clientes_TipoObjeto, FechaCompra date, FechaEnvio date, ObjDireccionEnvio Direccion_TipoObjeto, ListaLineasCompra_Anidada ListaLineasCompra_TipoAnidada, );
【解决方案3】:

Zope 和 ZODB 已用于大型应用程序,但我仍然会考虑将 Zope 与 MySQL 或类似的东西连接到大型应用程序中。尽管 Zope 有很多开发周期,但它通常与另一个数据库引擎一起使用是有充分理由的。据我所知,该论点适用于 web2py。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    相关资源
    最近更新 更多