PostgreSQL vs MySQL——哪种关系数据库更好?

PostgreSQL和MySQL是两种广泛使用的RDBMS。PostgreSQL在处理复杂查询和科学数据方面表现优越,适合需要关联非传统数据集的场景。MySQL则因其灵活的实验环境和较低的资源需求在原型开发中受到青睐。性能测试显示PostgreSQL在读/写操作和大型数据库上速度更快,而MySQL适合只读操作。两者在安全性、社区支持和文档质量上各有特点,选择应基于项目需求和团队经验。
摘要由CSDN通过智能技术生成

PostgreSQL和MySQL是世界上最流行的两种关系数据库管理系统(RDMS)。包括商业企业和开源基金会在内的所有市场人口都在使用它们。它们的共同点是强大的网络容错能力和对数据聚类的支持。这篇文章的主题是将它们区分开来。

RDMS起源和历史

1973年,加州大学伯克利分校启动了一个名为“Ingres”的项目,为关系数据库管理系统制定新标准。该项目是用C编写的,并根据开源许可证向公众发布。根据[Wikipedia关于此事的文章](https://en.wikipedia.org/wiki/Ingres_(database),Ingres的优势在于它使用了QUEL,与SQL相比,QUEL是一种更正式但更精确的查询语言。

1985年,该项目在伯克利以“Postgres”的名义进行了修改,后来改为“PostgreSQL”,以确认SQL的可访问性。1994年,Michael Wideius创建了一款名为“MySQL”的竞争产品。该产品于2010年由甲骨文通过公司收购收购。

这揭示了两者之间的第一个主要区别-PostgreSQL是一个由社区支持志愿者维护的免费产品,而MySQL是一个具有专业部署和支持的公司产品。

PostgreSQL与MySQL-缺失功能列表

2017年9月5日,黑客新闻用户“kaamos”发布了MySQL中存在的功能列表,但在当时最新版本的PostgreSQL 9.2.23中缺失:

  • 用户变量

  • 优化器提示

  • 虚拟列

  • 优化器跟踪

  • 聚集索引

  • 声明性分区

  • emi同步复制

  • 内置事件调度程序和逻辑复制

  • 能够在创建数据库时选择数据页大小

  • 具有自动分片的分布式内存网格

  • 同步多主群集(Galera,组复制)

  • 页面级压缩、加密和增量备份

  • 编写类似MyRocks和TokuDB的优化存储引擎

  • NoSQL客户端API(HandlerSocket、memcached协议、X协议)

  • 使用ALTER TABLE添加新列时指定列顺序的能力

  • 高效的MVCC实现,不受XID环绕问题和真空问题的影响

Kaamos指出,这些功能“对于设计和运营互联网上最繁忙网站的人来说是巨大的,(w)这可能是MySQL仍然在该领域大放异彩的原因。”

在回复kaamos的功能愿望列表时,用户“fusiongyro”回答说,MySQL中的高级复制策略由于分布式一致性错误而导致“脱发和离婚”。根据他的经验,最终用户认为MySQL复制功能将在没有规划或监督的情况下按预期运行。当这种假设失败时,他们会经历一系列停机和错误。

2019年PostgreSQL与MySQL讨论

PostgreSQL vs MySQL上的2019年黑客新闻线程提供了更多关于开发者共识的见解,即哪种更好。用户“matthewmacleod”建议使用PostgreSQL作为默认RDM,除非有理由不这样做。用户“jerrytsai”表示,PostgreSQL在科学意义上具有更好的数据分析功能。

“Madhadron”建议开发者使用他们更熟悉的东西。该用户指出,部署的简易性与长期可行性无关。用户“nmpennypacker”补充说,PostgreSQL在本地强制执行数据类型,而MySQL没有。该用户表示,MySQL中随意使用的数据类型可能会导致“污染数据”。

用户“gtsteve”表示,PostgreSQL和MySQL对客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全能资料库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值