PG(node-postgres)与sequelize的比较

12

我只是想问哪个数据库模块更好,PG 还是 Sequelize?我听说 Sequelize 有时会出现事务问题。谢谢。


1
Sequelize不是一个数据库模块,它是一个ORM,依赖于PG来工作。 - Ben Fortune
2个回答

36
PG是一个原始的驱动程序 - 它只是允许我们向数据库发送查询,而sequelize是ORM(对象关系映射器 - https://en.wikipedia.org/wiki/Object-relational_mapping) - 高级模块,将对象映射到数据库条目。
任何一个模块的使用取决于项目的规模。如果项目是100行代码的实用程序 - 我更喜欢原始驱动程序。如果项目相当大并且需要可扩展性和可维护性 - 我认为sequelize更好。
此外,使用sequelize可以在非常少的代码更改的情况下更改您使用的数据库 - 从postgresql到mysql / sqlite。
值得注意的是,您可以在同一项目中同时使用两个模块 - 在某些事务方面可以使用pg,而在其他部分可以使用sequelize。

0
Sequelize支持两种类型的事务,即托管和非托管事务。在非托管事务中,用户通过调用Sequelize方法手动定义提交和回滚操作。而在托管事务中,Sequelize会在出现错误时自动回滚事务。
至于node-postgres和Sequelize,以下是一些优缺点:
node-progress: - 优点: - 它是一个简单且轻量级的库,可以直接向数据库发送查询。 - 缺点: - 它不像ORM那样提供高级抽象。
Sequelize: - 优点: - 它提供了高级抽象,使得与数据库的交互更加容易。 - 它允许您在代码中进行很少的更改就可以更换使用的数据库。 - 缺点: - 它的学习曲线比使用简单的原始驱动程序(如node-postgress)要陡峭。
希望这对您有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接