De: 刘鑫 <march....@gmail.com>
Fecha: Fri, 25 Sep 2009 11:55:50 +0800
Local: Jue 24 sep 2009 22:55
Asunto: sqlalchemy、storm和web2py dal的比较报告
工作项目报告,所以抹掉项目名先,以“X”代之。 分割线内内容仅代表个人意见,与所供职企业及参与社区无关。 =================================== X 从很早的时候就出现各种数据库访问错误。包括链接数占用过多,死锁, 首先,storm 对数据库架构的同步有非常奇怪的设定。它不自动同步表结构,却插 其次,storm 在联接数据库后应该会有 DDL 操作(即修改数据库结构)或独占锁 第三,storm 如果可以象 DAL 那样,明确设定不同步数据库,以上问题至少可以 昨天我尝试将 X 的数据库访问层迁移至 web2py DAL,经过一天尝试,总结 第一,DAL 缺少精确实数计算类型,它不支持 Numeric 或 Decimal,只能用 第二,DAL 不支持数组和大数据类型,此类字段在 X 中有几处应用。 第三,DAL 对原生SQL的支持比较初级,虽然也可以使用,但是有时需要兼顾开发 以上问题不是不能解决,但是需要修改 DAL 本身。虽然我一直有计划改造 DAL, 昨天我详细查阅了一下 sqlalchemy 的文档,进行了一些简单的尝试,感觉这个 第一,sqlachemy 对数据库链接的隔离级别和事务有良好的控制,默认也不会去尝 第二,sqlachemy 有非常丰富的数据类型支持,包括BLOB,Decimal/Numeric,以 第三,sqlachemy 的查询类似 DAL (很可能DAL学习自sqlachemy),对各种查询操 第四,sqlachemy 其实并不难学,它的功能虽然丰富,但是只掌握自己要用到的部 第五,文档比 storm 完整的多,而且现在仍在活跃开发。 第六,数据存储模型与业务模型分离,虽然看起来有重复劳动,但是对于一个需要 第七,对特定数据库的特性有良好的支持,还可以扩展。 在使用 sqlachemy 时,我们还可以结合 web2py 原有的一些优秀工具,例如广泛 对于 X 项目的数据访问层重构,我评估工作量至少在一周左右。如果全部 sqlachemy 当前的稳定版本是 0.5.6 ,我昨晚试验了开发中的 0.6 ,发现功能还 =================================== -- 劉鑫 Debes registrarte antes de enviar mensajes.
Para enviar una entrada, antes deberás formar parte del grupo.
Antes de enviar entradas, actualiza tu alias en la configuración de la suscripción.
No dispones del permiso necesario para enviar entradas.
| ||||||||||||||