1. MySQL
同属最受欢迎的开源数据库MySQL,同样是被关注的焦点之一。然而对比PostgreSQL,小伙伴们的关注点显然不同。有位虚心学习的网友@yumraj就这么问道:
我听说过PostgreSQL,而且它在HN社区很受欢迎,但是我当下使用的是RDS上的MySQL服务。鉴于我的项目还处于初期阶段,所以数据量不是很大,那么迁移到PostgreSQL会不会很有意义。
对于虚心求学的同学,在任何地方都很受欢迎,他很快就得到了许多资深数据库用户的回应,@adrianh,上文我们有提过的Django建立者之一,说道:
PostgreSQL是真正关心你的数据。在你输入一个错误的时间数据“2013-10-32”,MySQL将默默的把它更改为“0000-00-00”,而PostgreSQL则会弹出一个错误。如果你的一个事务发生错误,MySQL仍然让你完成事务里的后续操作,PostgreSQL则会无效这个事务,并强制你重新再来。如果你想给一个表格插入新的一列,而这一列有着上千万行,MySQL可能会让你等待许久,而PostgreSQL只需要1秒。当然,你可以让MySQL更加可用,但是PostgreSQL确实更加的可靠及快速。(ps:自2001年,我就同时使用了这两个数据库)
对比@adrianh下面两位网友的说法显然更深度了一点,@jeffdavis:
我认为PostgreSQL两个最大的优势就是可靠性和灵活性。可靠性——更好的语言,更加接近于SQL,在工程质量上更是得到众多证明;灵活性——提供了大量的API和特性,非常有益于用户的按需修改。
@gdulli11则做了更为具体的优势解决
更健壮——更少的崩溃,更少的脏数据
更多的特性——JSON数据类型、局部索引、函数/表达式索引、CTE等等