从您的经验来看,哪个数据库服务更难以扩展? MySQL或Postgres? 我知道MySQL有几个开箱即用的缩放/集群function,但是使用Postgres,没有任何东西可以直接使用。 CMIIW。
编辑 :
对不起,在这里混乱,我的问题是指缩小(水平缩放),即聚类,分片等。我知道两者可以水平扩展,但哪一个更容易实现?
感谢你的分享。
MySQL是一个很好的扩展,集群和复制都是原生的,真正易于pipe理和实现(即使对于没有数据库知识的人也是如此)。
PostgreSQL现在只支持基本的复制,没有官方的关于集群(技术上你可以通过第三方工具,但它成为一个地狱来pipe理)。
如果我计划扩展,我绝不会selectPostgresql。
虽然这个问题似乎违背了“避免提出主观或者争议性的问题”这个网站的宗旨,我忍不住想要回答。
这取决于。
是在谈论一个扩展到非常大的数据集的单一服务器configuration?
两者都可以在这种情况下工作,这取决于数据集,但是如果没有自定义configuration和适当的规划,这两者都不会很好。 根据我的经验,当处理大量数据集时,我发现Postgres的条件更less,导致阻塞,整体性能更好。
你是在谈论多服务器configuration,扩展到许多读者的奴隶?
由于MySQL内置了asynchronous复制function,MySQL历来被认为是这个领域的领导者。如果不反对使用最新的数据库软件,这种情况已经不再是这种情况。 现在Postgres也有9.0版本的内置。 我对MySQL复制的经验已经足够了。
你是否在谈论多服务器configuration,可以扩展到许多作家的主人?
这是扩展产品的最困难的方法,通过使用故障转移服务器可以避免很多次。 如果您确实需要扩展主服务器的高可用性,则无法避免插件/备用安装。 对于MySQL,有MySQL Cluster NDB,它具有开源选项或商业版本 。 对于Postgres来说,有很多插件可以让你获得不同程度的HA和共享
从长远来看,数据库的扩展通常归结为devise规划。 如果您的应用程序在devise时考虑到了规模,那么最适合您开发人员的数据库系统通常是最佳select。
PostGre有更多的function和configuration选项。
因此,扩展可能比较困难,但如果configuration得当,扩展也可能会更好。
一般来说,MySQL可能仍然会更快,但另一方面,真正的问题是您对数据完整性有多重视,您需要哪些function?您是否要依赖Oracle(现在拥有MySQL)?
此外,还有许可证问题,就像你真的想购买MySQL许可证,因为你不想在GPL下发布你的应用程序?
有了PostgreSQL,这是没有问题的,这是一个非常大的优势。