PostgreSQL 也很强大,为何在中国大陆,MySQL 成为主流,PostgreSQL 屈居二线呢?

本文主要是介绍PostgreSQL 也很强大,为何在中国大陆,MySQL 成为主流,PostgreSQL 屈居二线呢?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题:

  • PostgreSQL 也很强大,为何在中国大陆,MySQL 成为主流,PostgreSQL 屈居二线呢?
  • PostgreSQL 能否替代 MySQL?

当我们讨论为何 MySQL 在中国大陆成为主流而 PostgreSQL 屈居二线时,
我们其实在剖析的是一段技术演进与市场需求相互作用的历史。

首先,我们得承认每种技术都有其诞生和发展的背景。

起初,MySQL 更像是一种轻量级的解决方案,它提供了足以满足基本需求的关系数据库功能。
它的诞生正赶上了互联网的初期波潮,那时候,很多互联网初创企业都需要一种简单、易用且能够迅速部署的数据库系统来支持它们的业务,
而 MySQL 恰好符合这些需求。

MySQL 的优势在于其简单性和性能。
很多早期的应用并不需要复杂的事务管理或者高级的数据库功能;
它们更多地需要的是快速的读写能力和易于水平扩展的架构。MySQL 的 MyISAM 存储引擎在当时提供了非常高效的读取速度,
这使得 MySQL 在处理大量的简单查询时非常迅速。

&nbsp

举个例子来说,如果你的应用是一个内容发布系统,访问量非常大,但事务处理并不复杂,
如多数内容都是读取操作(例如新闻网站或博客平台),那么 MySQL 就很可能是一个合适的选择。
因为在这种场景下,你更关心的可能是如何快速地向用户展示内容,而不是如何处理复杂的数据关系或事务。

随着业务的发展,人们开始逐渐意识到 MySQL 除了简单性能外,也需要强化其事务处理的能力。
这时候,InnoDB 存储引擎开始受到青睐,因为它支持ACID事务,提供了行级锁定(row-level locking)和外键约束,
这些都是企业级应用所需的特性。

&nbsp

然而,PostgreSQL 一直以其作为“最先进的开源数据库”自居,它在事务处理、数据一致性和高级特性上拥有非常强大的能力。
比如,它的MVCC(多版本并发控制)为数据库提供了高级的事务隔离级别,
这对于需要处理复杂查询和保持强数据一致性的金融或者企业级应用来说是非常关键的。

以金融业为例,如果一个银行需要处理成百上千的交易,这些交易之间可能存在复杂的关系,需要确保数据的一致性和安全性。
在这种情况下,PostgreSQL 的高级事务控制、强数据一致性保障和丰富的数据类型(例如,对金融产品进行建模时可能会用到的范围类型或自定义复合类型)就显得尤为重要了。
这可以保证在多用户并发操作下,数据的完整性不会受到威胁。

&nbsp

但 PostgreSQL 在早期有其不足之处,尤其是在易用性和运维上。例如,它长期使用的是多进程模型,
这在管理大量连接时的资源开销要高于 MySQL 的多线程模型。并且,直到近些年 PostgreSQL 才引入了逻辑复制(logical replication),
而 MySQL 在这方面走在了前面。

当然,随着时间的推移,两者都发生了演变。MySQL 增添了诸如存储过程、触发器、视图等高级功能,
而 PostgreSQL 也变得更加易用,新增了对逻辑复制的支持,改善了性能和易用性。

在决定是否能够替换 MySQL时 ,PostgreSQL 需要面对的不仅仅是技术挑战,还有市场和生态的挑战。
MySQL 的普及为其构建了强大的社区支持和丰富的周边工具,而这些对于企业来说是一个不容忽视的优势。
另外,因为很多人才市场上的数据库管理员和开发者更加熟悉 MySQL,这也促成了它的主流地位。

推荐几个学习 MySQL 教程文章

  • 01、MySQL 简介
  • 02、MySQL 管理
  • 03、MySQL 创建连接
  • 04、MySQL 获取数据库列表
  • 05、MySQL 创建数据库
  • 06、MySQL 数据类型
  • 07、MySQL 创建数据表
  • 08、MySQL 插入数据
  • 09、MySQL SELECT FROM 查询数据
  • 10、MySQL WHERE 子句有条件的查询数据
  • 11、MySQL UPDATE 更新数据
  • 12、MySQL DELETE FROM 语句删除数据
  • 13、MySQL JOIN 进行多表查询
  • 14、MySQL 数据库事务
  • 15、MySQL 索引

小结:

PostgreSQL 是否能够扛起大梁并不是一个技术层面能够简单回答的问题。
它涉及到对现有业务的影响、团队的技术栈熟悉度、以及维护和运营的成本等一系列复杂因素。
如果你的应用场景能够从 PostgreSQL 的高级特性中受益,同时你的团队对它也有足够了解,那么它绝对是一个可行的选择。
不过,在大多数情况下,企业可能会因为种种原因继续选择 MySQL,这是市场和技术共同作用的结果。

求一键三连:点赞、分享、收藏

点赞对我真的非常重要!在线求赞,加个关注我会非常感激!@小郑说编程

这篇关于PostgreSQL 也很强大,为何在中国大陆,MySQL 成为主流,PostgreSQL 屈居二线呢?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/676455

相关文章

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点: 1.确保子表中的某个字段(外键)只能引用父表中的有效记录2.主表中的列被删除时,子表中的关联列也会被删除3.主表中的列更新时,子表中的关联元素也会被更新 子表中的元素指向主表 以下是一个外键约束的实例展示

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

如何去写一手好SQL

MySQL性能 最大数据量 抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。 《阿里巴巴Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐分库分表。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL配置、数据表设计、索引优化。500万这个值仅供参考,并非铁律。 博主曾经操作过超过4亿行数据

跨国公司撤出在华研发中心的启示:中国IT产业的挑战与机遇

近日,IBM中国宣布撤出在华的两大研发中心,这一决定在IT行业引发了广泛的讨论和关注。跨国公司在华研发中心的撤出,不仅对众多IT从业者的职业发展带来了直接的冲击,也引发了人们对全球化背景下中国IT产业竞争力和未来发展方向的深思。面对这一突如其来的变化,我们应如何看待跨国公司的决策?中国IT人才又该如何应对?中国IT产业将何去何从?本文将围绕这些问题展开探讨。 跨国公司撤出的背景与

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

MySQL高性能优化规范

前言:      笔者最近上班途中突然想丰富下自己的数据库优化技能。于是在查阅了多篇文章后,总结出了这篇! 数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份

[MySQL表的增删改查-进阶]

🌈个人主页:努力学编程’ ⛅个人推荐: c语言从初阶到进阶 JavaEE详解 数据结构 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 💻💻💻数据库约束 🔭🔭🔭约束类型 not null: 指示某列不能存储 NULL 值unique: 保证某列的每行必须有唯一的值default: 规定没有给列赋值时的默认值.primary key:

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就

从戴尔公司中国大饭店DTF大会,看科技外企如何在中国市场发展

【科技明说 | 科技热点关注】 2024戴尔科技峰会在8月如期举行,虽然因事未能抵达现场参加,我只是观看了网上在线直播,也未能采访到DTF现场重要与会者,但是通过数十年对戴尔的跟踪与观察,我觉得2024戴尔科技峰会给业界传递了6大重要信号。不妨简单聊聊:从戴尔公司中国大饭店DTF大会,看科技外企如何在中国市场发展? 1)退出中国的谣言不攻自破。 之前有不良媒体宣扬戴尔将退出中国的谣言,随着2