作家
登录

为什么我更喜欢PostgreSQL而不是MariaDB/MySQL

作者: 来源: 2017-09-12 08:48:23 阅读 我要评论


译者注:作者将PostgreSQL与MariaDB和MySQL进行比较,在数据类型处理,数据构造和NULL处理三方面表现出PostgreSQL的优势,同时赞助开辟者更好地选择合适本身的数据库。

以下为译文:

为什愦我更爱好PostgreSQL而不是MariaDB/MySQL

多年来,MySQL和PostgreSQL是互相竞争的数据库,但这些数据库是针对不合的用户。在我看来PostgreSQL办事于专业用户,而MySQL在Web开辟人员中很受迎接。然则,在Oracle接办MySQL之后,我认为MySQL的明星色彩已经有点褪色了。

自负年夜MariaDB推出以来,我小我认为这项技巧还没有真正完成,但用户依旧会应用MySQL/MariaDB,并且很有兴趣地将PostgreSQL与这些技巧进行比较。很多人对“PostgreSQL is just better”(PostgreSQL更胜一筹)如许的话表示不合意。如许的┞幅论往往是不明智的,但PostgreSQL社区确切可以或许做得更好。所以应当提出一些设法主意,为什么应用PostgreSQL比MySQL/MariaDB更合适。

这篇文┞仿的目标是列举一些例子,来解释在技巧层面上为什么你可能更应当应用PostgreSQL。但要留意:这个帖子只是解释一些“最好的”特点,并不是一个完全的列表,然而,这些应当足以让人们做出决定计划。

PostgreSQL与MySQL / MariaDB:数据类型处理

为什愦我更爱好PostgreSQL而不是MariaDB/MySQL

在这里看到的是PostgreSQL缺点,因为试图放入表中的数据并不相符列的数据类型,而MySQL / MariaDB则会静静地更改你的数据。是的,MySQL/MariaDB确切发出了警告,但过了一段时光后,表中的数据就不是最初的数据了。

为什么这很重要?假设你中了一百万的彩票,但你最终只获得9999.99,只因为数据变更极少,所以不幸的是根本没有人留意到。你会朝气吗?我会的。在这个例子中,PostgreSQL所显示的操作是精确的,原因有很多:

  • 最可能的原因是定义了列的方法。
  • 警告不等同于缺点。
  • 存储数据不是 “容忍”——它更存眷精确性。
  • 如不雅你对着本身开枪,那也就没有须要去警告你,因为“你如今可能已经逝世了”——所以最好是在一开端就阻拦这种工作的产生。

经验总结:PostgreSQL异常看重数据构造。

PostgreSQL vs MySQL / MariaDB:谨慎对待现稀有据

为什愦我更爱好PostgreSQL而不是MariaDB/MySQL

为什愦我更爱好PostgreSQL而不是MariaDB/MySQL

PostgreSQL细心区分了0、空字符串和NULL。这些都是不一样的,PostgreSQL老是会看重你的束缚前提。


再强调一遍,MySQL / MariaDB是会更改你的数据的。请留意,插入到表中的原始值为1234.5678,但如今获得9.99。所以今后你会开端存眷细微的差别了吗?如不雅这是你的银行账户?你会在乎吗?如不雅这个数据库只是为了保持运行而不解决问题——那么你还会持续信赖它吗,也许是时刻须要找到一个替代品了。如不雅你的生活依附于数据,你会接收一张数据表悄无声音的改变吗?也许我太保守了,所以我不会接收。

PostgreSQL达到了我小我对数据库的期望。它会报掉足误,并告诉我们数据是不克不及被更改的,因为数据是须要被保护的。如不雅你想要更改表中的数据(以防新规矩被违背),你必须明白地告诉PostgreSQL你想要什么:

为什愦我更爱好PostgreSQL而不是MariaDB/MySQL

在这种情况下,我们会告诉PostgreSQL若何进行处理数据。PostgreSQL并没有很智能(也不像MySQL / MariaDB如许的掉败),它不会去测验测验做一些有趣的工作——它只是做你想做的工作,以及做一些对你的数据有好处的工作。

PostgreSQL与MySQL / MariaDB:NULL处理很重要

为什愦我更爱好PostgreSQL而不是MariaDB/MySQL

51CTO诚邀您9月23号和秒拍/国美/美团元专家一路聊智能CDN的优化之路,抓紧时光哦!

你还记得“id”列上有一个非空束缚吗?MySQL / MariaDB并不关怀这个,只是将值设为0。然则,0和NULL绝对不是一回事。NULL的意思是“不决义”或“我们不知道的值”。这其实很有事理:如不雅你不知道你口袋里有若干钱,那也不料味着你的口袋是空的。如不雅你不知道你喝了若干啤酒,这也并不料味着你的血液里有“零”酒精——你实际上可能方才大年夜椅子上摔下来。

选择数据库

我在PostgreSQL和MySQL/MariaDB之间的选择是毫无疑问的,对于我小我来说,MySQL不会是我的选择。然而,这是一个自由的世界,人们可以本身做决定,欲望你们能做出明智的决定。


  推荐阅读

  读图后时代,人工智能能否破解图片社交困局

51CTO诚邀您9月23号和秒拍/国美/美团元专家一路聊智能CDN的优化之路,抓紧时光哦!图片社交之所以可以或许逐渐替代文字成为风行的社交方法,一方面是因为图片的临盆方法便捷,今朝中国智妙手机保有量异>>>详细阅读


本文标题:为什么我更喜欢PostgreSQL而不是MariaDB/MySQL

地址:http://www.17bianji.com/lsqh/37320.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)