【发布时间】:2015-12-23 06:59:24
【问题描述】:
我们正在运行一个将 MySql 与 Engine InnoDB 一起使用的应用程序,并且我们计划改进该应用程序(源代码),所以我正在研究 postgres,因为它似乎很受欢迎,并得到了世界各地许多人的建议。但有一些事情真的让我搁置了:
何时不使用 PostgreSQL
速度:如果您只需要快速读取操作,那么 PostgreSQL 不是 工具。
简单设置:除非您需要绝对的数据完整性,否则 ACID 合规性或复杂设计,PostgreSQL 对于 简单的设置。
复制:除非你愿意花费时间、精力和 资源,使用 MySQL 实现复制可能更简单 缺乏数据库和系统管理经验的人。
所以,关于速度,我不确定快速读取操作到底意味着什么。这意味着简单的读取操作还是复杂的?因为我也读过 postgres 在执行之前优化查询,所以不确定我是否真正理解了这一点或遗漏了什么?
最后,我不确定,为应用程序选择 Postgres 或 Mysql 究竟应该寻找哪些因素?
注意:我已阅读并尝试了解 postgres 和 mysql 之间的区别,但无法得出任何结论,这就是我在这里发布问题的原因。另外,我不是 DBA。
【问题讨论】:
-
您能告诉我们更多有关该应用程序及其数据需求的信息吗?您粘贴的简介基本上是说 Postgres 根据您的要求可能会过大。
-
太宽泛,太自以为是。当心。
-
@TimBiegeleisen 这是一个电子商务应用程序,主要侧重于阅读而不是写作。
-
对于电子商务应用程序,我认为数据完整性非常重要......
-
请阅读 Uber 对 Postgres 与 MySQL 的非常详细的评论。 eng.uber.com/mysql-migration。 MySQL 在实现方面是比 Postgres 更好的产品。 Postgres 的非可变元组架构是一个主要瓶颈。一个小的更新会向所有索引发送涟漪效应。复制设计是灾难性的,有太多数据传送到副本。 WAL 数据被发送到副本而不是逻辑更新这一事实意味着,任何正在获取 WAL 更新并启动事务的副本可能仅仅因为 READ 就必须阻止执行 WAL 更新。
标签: mysql database postgresql compare