Postgres vs MySQL:哪一个更难横向扩展?

Jos*_*ogi 8 mysql postgresql scaling

根据您的经验,哪个数据库服务更难扩展?MySQL 还是 Postgres?我知道 MySQL 有几个开箱即用的缩放/集群功能,但是对于 Postgres,没有一个是开箱即用的。CMIIW。

编辑

对不起,这里的混淆,我的问题是指横向扩展(水平扩展),即集群、分片等。我知道两者都可以水平扩展,但哪个更容易实现?

谢谢你的分享。

小智 8

虽然这个问题似乎违背了该网站的“避免提出主观或争论性问题”的原则,但我还是忍不住尝试了一个答案。

这取决于。

是在谈论可扩展到非常大的数据集的单个服务器配置吗?
两者都可以在这种情况下工作,具体取决于数据集,但如果没有自定义配置和适当的规划,两者都可能不会表现得很好。根据我在处理大量写入的大型数据集时的经验,我发现 Postgres 导致阻塞的条件更少,整体性能更好。

您是在谈论为许多读者扩展到许多从属设备的多服务器配置吗?
MySQL 在历史上一直被认为是这个领域的领导者,因为它内置了异步复制。如果您不反对使用最新的数据库软件,情况就不再如此;Postgres 现在也在 9.0 版本中内置了这个功能。到目前为止,我在 MySQL 复制方面的经验已经绰绰有余。

您是在谈论可以扩展到许多作者的许多大师的多服务器配置吗?
这是迄今为止扩展任一产品最困难的方法,很多时候可以通过使用故障转移服务器来避免。如果您确实需要扩展以实现主服务器插件的高可用性,则不可避免地要进行备用安装。对于 MySQL,有 MySQL Cluster NDB,它有一个开源选项商业版本。对于 Postgres,有许多插件可以为您提供不同级别的 HA 和池化

从长远来看,数据库的扩展通常归结为设计规划。如果您的应用程序在设计时考虑到了规模,那么最适合您的开发人员的数据库系统通常是最佳选择。


Ked*_*are 2

MySQL 更容易横向扩展,集群和复制都是原生的,并且非常易于管理和实现(即使对于那些并不真正具备数据库知识的人来说)。

PostgreSQL 目前仅支持基本复制,并且没有关于集群的官方信息(从技术上讲,您可以通过第 3 方工具进行操作,但管理起来非常困难)。

如果我打算横向扩展,我永远不会选择 Postgresql。

编辑:非常旧的答案持保留态度,因为自从回答这个问题以来,postgres 和 mysql 已经发生了很大的变化。

  • 当然有很多解决方案可以“扩展” PostgreSQL,并且许多最大的站点和系统都使用这种解决方案。MySQL 将更容易横向扩展*如果您已经了解 mysql*,而 postgresql 将更容易横向扩展*如果您已经了解 postgresql*。如果您都不知道,那么它们在难度方面可能相当相同,您应该查看数据库的其他属性来选择一个。 (7认同)
  • MySQL 当然要容易得多,但 MySQL 的问题是它不检查数据完整性。此外,PostGreSQL完全支持集群和复制。请参阅:http://wiki.postgresql.org/wiki/Clustering 和 http://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling (2认同)