您当前的位置:首页 > 电脑百科 > 数据库 > MYSQL

为什么越来越多的人选择PostgreSQL,放弃了MySQL

时间:2023-09-15 13:36:33  来源:今日头条  作者:迷路的架构师

2023年Stack Overflow 调查显示,Postgres 已经取代 MySQL 成为第一名,成为最受欢迎的数据库。虽然这是国外统计,在中国应该还是MySQL更有广泛度,但足以说明问题,PostgreSQL的市场占有率越来越高了。

接下来我们探讨下原因。

1.PostgreSQL的开源协议更加宽松

  • PostgreSQL采用的是BSD许可证,这是一种开放源代码许可证。BSD许可证允许用户自由地使用、修改和分发PostgreSQL数据库系统,以及将其作为基础软件嵌入商业产品中,而无需公开源代码。
  • MySQL最初使用的是GNU通用公共许可证(GPL),这是一种强制开放源代码许可证。根据GPL,如果您在MySQL的基础上构建或修改了一个应用程序,并且打算将该应用程序发布或分发,那么你必须遵循GPL并公开你的源代码。

2.PostgreSQL具备更加强大的复制和集群能力

PostgreSQL提供了强大的复制和集群能力。

  • 复制技术:PostgreSQL提供了内置的流复制(Streaming Replication)功能,可以将数据从一个主数据库实例复制到多个从数据库实例。这种复制方式具有高可用性和容错性,一旦主数据库发生故障,可以快速切换到从数据库进行读写操作。
  • 异步和同步复制:PostgreSQL支持异步复制和同步复制两种模式。异步复制允许从数据库与主数据库之间存在一定的延迟,提供更好的性能和吞吐量。而同步复制要求从数据库在提交事务之前需要确认主数据库已成功写入,从而保证数据的一致性。
  • 逻辑复制:PostgreSQL还支持逻辑复制,它允许选择性地复制特定表、特定数据或特定事务,以满足更灵活的数据同步需求。逻辑复制还可以用于数据仓库、分析和报告等场景。
  • 高度可扩展的集群:PostgreSQL可通过第三方工具和技术构建高度可扩展的集群环境。例如,使用pgpool-II、PostgreSQL自带的pg_shard插件或基于逻辑复制的解决方案,可以实现水平扩展和负载均衡。
  • 多主复制:PostgreSQL支持多主复制,即多个数据库实例可以同时作为主数据库接受写入操作。这种架构使得应用程序可以在多个地理位置或数据中心进行写入操作,并通过复制将数据同步到其他节点,提高了系统的可用性和容错性。

3.PostgreSQL数据类型支持更加广泛

PostgreSQL提供了丰富的数据类型选择,除了支持MySQL的所有类型之外,还支持包括数组、JSON、XML等,可以更灵活地存储和处理不同类型的数据。

4.PostgreSQL支持复杂查询功能

PostgreSQL支持复杂查询和分析功能,如窗口函数、通用表达式等,使得在查询和分析大规模数据时更加方便和高效。

5.PostgreSQL扩展性强

PostgreSQL具备更高级的扩展能力,可以自定义数据类型、操作符、聚合函数等,满足特定业务需求,并且支持使用扩展插件来增加功能。

6.PostgreSQL完整性约束丰富

PostgreSQL提供了更丰富的完整性约束选项,如CHECK约束、实体完整性约束等,可以有效保证数据的一致性和准确性。

7.PostgreSQL事务处理能力强

PostgreSQL具备更强大的并发处理能力,可以处理大量并发请求并保证数据的一致性和隔离性。

8.PostgreSQL的性能优势

在复杂查询和大规模数据处理方面,PostgreSQL通常表现出较好的性能,尤其是对于复杂的操作和高级查询。

9.PostgreSQL社区支持和文档资源丰富

PostgreSQL拥有庞大的活跃社区和开源贡献者,提供大量的文档、教程和支持资源,用户可以更方便地学习和解决问题。

总结:PostgreSQL 是典型的学院派产品,功能强大,但相对与MySQL来说稍微难一点。PostgreSQL适用的场景更多,MySQL适合在相对简单的OLTP场景中使用。



Tags:PostgreSQL   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除。
▌相关推荐
2023年Stack Overflow 调查显示,Postgres 已经取代 MySQL 成为第一名,成为最受欢迎的数据库。虽然这是国外统计,在中国应该还是MySQL更有广泛度,但足以说明问题,PostgreSQL的市场...【详细内容】
2023-09-15  Tags: PostgreSQL  点击:(0)  评论:(0)  加入收藏
【CSDN 编者按】这篇文章分享了作者作为一位全栈开发者,在三周内将一个 3TB 的 PostgreSQL 数据库从 AWS 迁移到 Azure DevOps 的过程和经验,以及遇到的挑战和解决方案。原文...【详细内容】
2023-09-04  Tags: PostgreSQL  点击:(25)  评论:(0)  加入收藏
本文基于K8S中Docker容器对postgres数据库进行备份的操作,编写好脚本后,手动执行脚本是正常的,但是crontab定时实行却报错,报错信息为kubectl command not found,提示没有找到kub...【详细内容】
2023-08-28  Tags: PostgreSQL  点击:(38)  评论:(0)  加入收藏
在软件领域,数据库是毫无疑问的中流砥柱。在这片历史悠久、玩家众多的沃土上,流传着着无数技术和商业交织的故事。如今,老一代商业数据库日薄西山,开源数据库步步为营,处在浪潮之...【详细内容】
2023-07-02  Tags: PostgreSQL  点击:(43)  评论:(0)  加入收藏
当谈到数据库管理系统时,PostgreSQL是一个功能强大且广泛使用的开源关系型数据库。在本次讲解中,我将为您介绍如何创建和管理数据库,并提供一些有关PostgreSQL的基本概念和最佳...【详细内容】
2023-06-13  Tags: PostgreSQL  点击:(97)  评论:(0)  加入收藏
PostgreSql数据库,也是当下非常流行一款开源的关系型数据库,其性能和稳定性都非常不错,所以,在国内也是有比较多的企业在使用的。当前,官方发布的最新版是15。今天,就给大家讲讲如...【详细内容】
2023-05-14  Tags: PostgreSQL  点击:(215)  评论:(0)  加入收藏
PG数据库目前已经成为最热门的开源数据库之一,特别是因为其开源协议十分适合商业化,因此大量的商用数据库,包括大量的国产数据库也都基于PG的开源代码进行研发。作为一个曾经的...【详细内容】
2023-05-06  Tags: PostgreSQL  点击:(177)  评论:(0)  加入收藏
PostgreSQL数据库表在删除数据后磁盘空间未释放,该怎么办? 主流的压缩表工具有哪些?该如何选择?1、从空间未释放说起近期生产环境出现一张表占用size已达2T,且会定期删除记录,但...【详细内容】
2023-04-10  Tags: PostgreSQL  点击:(241)  评论:(0)  加入收藏
译者 | 布加迪审校 | 孙淑娟​远程托管数据库可以将您的数据库与本地环境隔离开来,带来诸多好处,包括数据安全性、全局可访问性、可靠性、可扩展性和资源有效性。​您是否将数...【详细内容】
2023-03-29  Tags: PostgreSQL  点击:(104)  评论:(0)  加入收藏
在如今的关系型数据库中,有两个开源产品是你必须知道的。其中一个是MySQL,相信关注我的小伙伴们一定都不陌生,因为之前的Spring Boot关于关系型数据库的所有例子都是对MySQL来...【详细内容】
2023-03-23  Tags: PostgreSQL  点击:(631)  评论:(0)  加入收藏
▌简易百科推荐
2023年Stack Overflow 调查显示,Postgres 已经取代 MySQL 成为第一名,成为最受欢迎的数据库。虽然这是国外统计,在中国应该还是MySQL更有广泛度,但足以说明问题,PostgreSQL的市场...【详细内容】
2023-09-15  迷路的架构师  今日头条  Tags:PostgreSQL   点击:(0)  评论:(0)  加入收藏
今天整理了一下 MySQL 的索引,一般人只知道3~4个,但我经常听到有10几个之多,如下图:索引是不是很多都听过,但是只是想不起来。我大概归了一下类:索引分类密度按照密度分,可分为稠密...【详细内容】
2023-09-15  迷路的架构师  今日头条  Tags:MySQL   点击:(0)  评论:(0)  加入收藏
MySQL是一款常用的关系型数据库管理系统,为了保证数据的安全性和可靠性,备份与恢复策略是非常重要的。下面将介绍在Java实践中如何进行MySQL数据库的备份与恢复,并提供一些相关...【详细内容】
2023-09-12  编程技术汇  今日头条  Tags:MySQL   点击:(7)  评论:(0)  加入收藏
随着互联网和大数据时代的到来,实时数据同步成为了许多企业面临的挑战。下面将介绍一种基于Change Data Capture(CDC)技术的解决方案,针对Java开发者在MySQL数据库中实现实时数...【详细内容】
2023-09-08  编程技术汇    Tags:MySQL CDC   点击:(11)  评论:(0)  加入收藏
MySQL 的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,工具好用是一方面,个人的使用习惯也很重要,这里介绍 11 款 MySQL 图形化管理工具,...【详细内容】
2023-09-04  kali笔记  微信公众号  Tags:MySQL   点击:(6)  评论:(0)  加入收藏
前言我们在日常开发中,一定遇见过某些SQL执行较慢的情况,我们俗称“慢SQL”,如果你对系统的接口性能要求较高的话,一定不会放过这种SQL,肯定会想办法进行解决,那么,导致慢 SQL 出现...【详细内容】
2023-09-04  dbaplus社群    Tags:慢SQL   点击:(15)  评论:(0)  加入收藏
此外本文也通过关于雇员薪酬调整的案例,渗透讲解 DDD 模型中的聚合对象、实体对象和值对象在领域模型中的实践。...【详细内容】
2023-09-04    小傅哥  Tags:   点击:(27)  评论:(0)  加入收藏
一、案例背景 二、库表规范 1. 建表相关规范 2. 字段相关规范 3. 索引相关规范 4. 使用相关规范 三、建表语句 三、语句操作 1. 插入操作 2. 查...【详细内容】
2023-09-04  小傅哥  微信公众号  Tags:MySQL   点击:(20)  评论:(0)  加入收藏
在开发和管理数据库的过程中,经常会遇到字段长度不足的问题。特别是对于MySQL这样的关系型数据库,字段长度限制是不可避免的挑战。然而,我们可以采取一些解决方案来应对这个问...【详细内容】
2023-09-04  编程技术汇  今日头条  Tags:MySQL   点击:(25)  评论:(0)  加入收藏
有时候我们可能因为手抖或者粗心,执行了一条delete语句,导致正常的业务数据被删除了。别慌,也先别跑路。有很多种方式可以恢复回来,这一篇文章就来聊聊使用my2sql工具解析出dele...【详细内容】
2023-09-02  dbaplus社群    Tags:MySQL   点击:(20)  评论:(0)  加入收藏
站内最新
站内热门
站内头条