写点什么

为什么选择 PostgreSQL 而不是 MySQL

  • 2015-03-26
  • 本文字数:1178 字

    阅读完需:约 4 分钟

David Bolton 是一名独立开发者,他使用 PostgreSQL 和 MySQL 都已有超过十年的时间。近日,他撰文阐述了选择PostgreSQL 而不是MySQL 的理由。他认为,MySQL 之所以仍然如此流行是因为每个Linux Web 托管软件包中都包含它。但随着Oracle 将其收购,MySQL 的开源程度大不如前。而PostgreSQL 不仅发展更快,还加入了JSON 支持,成为少数几个支持NoSQL 的关系型数据库之一。

MySQL/MariaDB 的当前版本是 5.7.6(MariaDB 为 MySQL 创建者 Monty Widenius 创建的一个 MySQL 分支),PostgreSQL 的版本是 9.4.1。Bolton 从以下几个方面对比了两者的最新版本:

  • ANSI 标准兼容性:与先前的版本相比,MySQL 已经有了长足的进步,但 MySQL 背后的哲学是,如果客户喜欢,他们就会支持非标准扩展,而 PostgreSQL 从开始就将标准构建到平台里。不过,二者殊途同归,差别不大;
  • ACID 遵从性:PostgreSQL 有一个存储引擎,而 MySQL 有 9 个,但只有 MyIsam 和 InnoDB 与大部分用户有关,其中,后者为默认存储引擎。InnoDB 和 PostgreSQL 都完全遵循 ACID,差别不大;
  • 无锁表修改:MyIsam 使用表级锁来提升速度,这会导致写互斥。但 PostgreSQL 和 InnoDB 均使用行级锁,差别不大;
  • 子查询:长期以来,这一直是 MySQL 的一个弱点,虽然 5.6.5 作了重大改进,但 PostgreSQL 对表连接支持得更好,尤其是 MySQL 不支持全外连接,因此,这方面 PostgreSQL 胜过 MySQL;
  • JSON 支持和 NoSQL:PostgreSQL 最近增加了 JSON 支持,与传统的关系型数据库相比,它提供了更大的数据存储灵活性,因此,这方面 PostgreSQL 胜过 MySQL。

此外,Bolton 指出,选择 PostgreSQL 还有如下理由:

  • 更好的许可:PostgreSQL 采用类似 MIT 的许可协议,允许开发人员做任何事情,包括在开源或闭源产品中商用,而 MySQL 的客户端遵循 GPL 许可协议,所以开发人员必须向 Oracle 付费或者将自己的应用程序开源;
  • 更好的数据一致性: PostgreSQL 会在数据插入和更新之前进行严格的验证,确保数据合法才会进行相应的操作,但在 MySQL 中,开发人员需要将服务器设定为严格 SQL 模式才能达到同样的目的,否则可能会产生不规范数据;
  • 服务器扩展:MySQL 提供了插件程序 API ,支持 C/C++ 或任何兼容 C 的语言,而且从 5.7.3 版本开始支持全文搜索,PostgreSQL 有一个类似的系统但支持的语言更多,包括 C/C++、Java、.Net、Perl、 Python、Ruby、Tcl、ODBC 等,它甚至可以在单独的进程中运行用户提供的代码;除了所有关系型数据库都包含的有关数据库、表和列的一般信息外,PostgreSQL 系统目录中还可以包含关于数据类型、函数和存取方法的信息,开发人员可以通过修改这些信息实现扩展。

感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

2015-03-26 00:3110299
用户头像

发布了 1008 篇内容, 共 392.7 次阅读, 收获喜欢 344 次。

关注

评论

发布
暂无评论
发现更多内容

时序预测双飞轮,全面超越Transformer,纯MLP模型实现性能效能齐飞

可信AI进展

#人工智能

应用场景|“迎峰度夏”进行时,AR技术显神通

AR玩家

Rokid Vision pro 炬目AR AR巡点检 AR远程协作

元宇宙与人工智能

dappweb

ao 元宇宙

区块链项目的商业模式

dappweb

区块链 ao

低代码开发让系统随需而动

快乐非自愿限量之名

低代码 系统开发

数字孪生助力新一代风力涡轮机高效建模,提升5倍速度

Altair RapidMiner

人工智能 数字孪生 仿真

元宇宙与虚拟现实(VR)

dappweb

ao 元宇宙

区块链在保险数据共享中的挑战

dappweb

区块链 ao

供应链追溯的有效性和实时性

dappweb

ao

英特尔实现光学I/O芯粒的完全集成

E科讯

【XIAOJUSURVEY&北大】如何扩展设置器 - setters源码分析

XIAOJUSURVEY

前端 低代码 setters

共识机制在区块链中起到什么作用

dappweb

区块链 ao

在区块链中共识机制有哪些常见实现方式

dappweb

区块链 ao

微创软件全资收购德国RLE NOVA GMBH公司与瑞士FINDERS SA公司

财见

《黑神话:悟空》2024年全球上线,多平台登陆,多版本售价公布!

青椒云云电脑

云电脑 黑神话悟空

OpenAI推迟ChatGPT高级语音模式发布!谷歌将推出明星网红AI聊天机器人|AI日报

可信AI进展

#人工智能

元宇宙与大数据

dappweb

ao 元宇宙

【XIAOJUSURVEY&北大】2024滴滴开源XIAOJUSURVEY北大软微开源实践课

XIAOJUSURVEY

开源 全栈 教育

混合共识机制中有哪些常见的设计挑战

dappweb

ao

区块链项目的商业模式有哪些成功案例

dappweb

区块链 ao

HarmonyOS NEXT获得首个新型移动智能终端操作系统安全隐私保护能力测评证书

最新动态

DeFi:重塑金融未来的去中心化浪潮

dappweb

ao

区块链与DeFi在保险领域的创新应用

dappweb

区块链 ao

AI填报高考志愿靠谱吗?已有近八成高考生使用

Geek_2d6073

标准国际化进程加速 开放式平台实力初显 WAA全球战略合作伙伴再扩员

最新动态

这个小游戏教你学好flex布局

大师兄

CSS JavaScript Flex

元宇宙与增强现实(AR)

dappweb

ao 元宇宙

监管合规下区块链保险数据共享如何实施

dappweb

区块链 ao

PingCAP 成为全球数据库管理系统市场增速最快的厂商

先锋IT

区块链可防止版权被篡改

dappweb

区块链 ao

区块链供应链的透明度和可追溯性

dappweb

区块链 ao

为什么选择PostgreSQL而不是MySQL_数据库_谢丽_InfoQ精选文章