Jak*_*ake 5 sql database postgresql transactions node.js
我们有一个现有的SQL数据库,我正在编写一个使用直接SQL访问它的node.js服务器,使用这个postgres驱动程序模块:
https://github.com/brianc/node-postgres
到目前为止,我找不到与postgres一起使用的事务管理节点模块.有谁知道吗?最好有一些现实世界的使用?
其次,在更高层次上,我们正在评估node.js是否可以实际取代Java作为可能处理卷的服务器的真实解决方案.交易管理是我们必须解决的问题之一.因此,对此的一些见解也将是有用的.
目前,我只是在节点服务器请求开始时发出一个sql BEGIN,在结尾处发出一个ROLLBACK或COMMIT.但是,我(可能显然)不熟悉围绕SQL事务管理的现实问题.如果有人可以简要解释交易管理框架解决的问题,我会发现它很有用.
编辑:我正在使用postgres驱动程序的内置连接池机制,http请求中的所有查询都是在从池中获取的同一连接上发出的.首先发出BEGIN,然后是特定的http请求,然后是COMMIT或ROLLBACK.
谢谢.
事务管理是一个相当大的主题。对于我想象的你正在做的事情,你会想要使用自动提交模式。这基本上意味着您将依赖 PostgreSQL 来 BEGIN/COMMIT 所有语句(或者换句话说,您的所有语句将在它们自己的事务中运行,彼此之间没有关系)。确定 AUTOCOMMIT 模式适合您的一个简单方法是确定不需要使用 ROLLBACK。自动提交模式的一个巨大好处是,即使是最愚蠢的连接池工具也不会搞砸。
有关事务管理的详细信息,请首先查看http://www.postgresql.org/docs/9.1/static/transaction-iso.html无论您做什么,请确保您不使用或编写天真的框架会让你处于“交易空闲”状态。最后,既然你提到“高容量”,我应该问你的读写平衡是多少。如果它强烈支持读取行为,那么您应该考虑编写代码来使用 memcached。最简单(但远非最有效)的方法是使用PQC。
| 归档时间: |
|
| 查看次数: |
5659 次 |
| 最近记录: |