写点什么

数据库|PostGreSql 和 MySql 的优劣对比

作者:谐云
  • 2023-11-02
    浙江
  • 本文字数:1928 字

    阅读完需:约 6 分钟

数据库


数据库是一个存储和管理大量结构化数据的集合。它可以看作是一个电子化的文件柜或数据仓库,用于有效地组织、存储、检索和操作数据。


01

数据库的用途

数据库可以用来存储、管理和操作大量结构化数据的集合。它是许多应用程序的核心组成部分,并提供了许多功能和用途,包括但不限于以下几个方面:

数据存储

数据管理

数据检索

数据更新

数据分析

并发控制

数据安全

扩展和集群


02

MySQL


MySQL 是一种开源的关系型数据库管理系统(RDBMS),它是目前最流行的数据库系统之一。MySQL 以其高性能、可靠性和灵活性而著名,并且被广泛用于 Web 应用程序和许多其他类型的应用中。

MySQL 的主要特点和功能:

关系型数据库:MySQL 是一种基于关系模型的数据库,它使用表来存储数据,并支持复杂的查询和关联操作。

多用户多线程:MySQL 可以同时处理多个用户的请求,并且具有良好的并发性能。

支持标准 SQL:MySQL 遵循 SQL(Structured Query Language)标准,允许使用标准 SQL 语句进行数据操作和查询。

安全性:MySQL 提供了丰富的安全特性,包括用户和权限管理、数据加密和网络安全配置,以保护数据库免受恶意操作和攻击。

高性能:MySQL 采用一系列优化策略和技术,以提供快速的数据读写性能,包括索引、查询优化器和缓存机制等。

可扩展性:MySQL 支持水平和垂直扩展,可以根据需要增加计算和存储资源,以适应不断增长的数据量和访问需求。

复制和高可用性:MySQL 提供了主从复制和集群技术,以实现数据复制、冗余和故障转移,提供高可用性和数据冗余保护。

数据备份和恢复:MySQL 提供了数据备份和恢复机制,包括逻辑备份(如导出和导入数据)和物理备份(如复制和恢复数据文件)。


03

PostgreSQL


PostgreSQL 是一种功能强大的关系型数据库管理系统(RDBMS),它具有许多先进的特性和广泛的应用领域。

PostgreSQL 的一些重要特点和优势:

开源和免费:PostgreSQL 是一个开源项目,可以免费使用,用户可以自由访问和修改源代码。

数据完整性和可靠性:PostgreSQL 支持丰富的完整性约束,包括主键、外键、唯一性约束等,确保数据的一致性和正确性。它还具有强大的事务支持和崩溃恢复机制,保证数据的可靠性。

高扩展性和性能:PostgreSQL 可以在大规模数据集和高并发负载下运行,支持水平扩展和并行查询。它提供了丰富的索引类型和查询优化器,以提高查询性能。

多样化的数据类型和功能:PostgreSQL 支持许多内置的和扩展的数据类型,包括 JSON、数组、几何类型等。它还提供了丰富的内置函数和扩展功能,例如全文搜索、地理定位、时间序列等。

安全性和权限管理:PostgreSQL 提供了严格的安全性控制,支持细粒度的权限管理和角色基础访问控制。它支持 SSL/TLS 加密连接,保护数据的传输安全性。

可编程性:PostgreSQL 支持多种编程语言的绑定,包括 PL/pgSQL、PL/Python、PL/Java 等,使得用户可以在数据库内编写存储过程和触发器等功能。

社区支持和活跃度:PostgreSQL 拥有一个庞大的活跃社区,提供了丰富的文档、教程和支持资源,用户可以获得广泛的帮助和交流。


04

PostGreSql vs MySql 

MySQL 的主要优点:

速度,流行,window,线程,事务


PostgreSQL 的主要优点:

协议,规范,可靠,进程,查询


MySQL

速度,流行,window,线程,事务

1、 首先是速度,MySQL 通常要比 PostgreSQL 快得多。MySQL 自已也宣称速度是他们追求的主要目标之一,基于这个原因,MySQL 在以前的文档中也曾经说过并不准备支持事务和触发器。

2、MySQL 比 PostgreSQL 更流行,流行意味着更多的用户,意味着经受了更多的考验,意味着更好的商业支持。而且 MySQL 提供了多个不同的社区版、商业版与企业版,而 PG 只提供了单个完整功能的版本。

3、 与 PostgreSQL 相比,MySQL 更适宜在 Windows 环境下运行。PostgreSQL 在 Windows 下运 行没有 MySQL 稳定。

4、MySQL 使用了线程,而 PostgreSQL 使用的是进程。在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多。

5、由于 MySQL 4.0.2-alpha 开始支持事务的概念,因此事务对于 MySQL 不再成为劣势。相反,因为 MySQL 保留无事务的表类型。这就为用户提供了更多的选择。


PostgreSQL

协议,规范,可靠,进程,查询

1、PG 遵循的是 BSD 协议,完全开源免费且不会被任何商业公司控制;而 MySQL 在 Oracle 手中,慢慢走向封闭。

2 、 PostgreSQL 源代码堪称 C 语言的规范,易读性比 MySQL 强很多。

3、可靠性是 PostgreSQL 的最高优先级。它以坚如磐石的品质和良好的工程化而闻名。PostgreSQL 是完全支持 ACID 特性的,对于数据库访问提供了强大的安全性保证。

4、 PG 是多进程的,而 My 是多线程的。虽然并发不高时,My 处理速度快;但是当并发高时,对于现在的多核的单台机器上,My 的总体性能不如 PG,原因是 My 的线程无法充分利用 CPU 的能力。

5、PG 有很强大的查询优化器,支持很复杂的查询处理,而 My 对复杂查询处理较弱,查询优化器不够成熟。


用户头像

谐云

关注

中国数字基础建设云原生软件领导者 2019-09-30 加入

杭州谐云科技有限公司成立于2016年7月,是国内为数不多掌握底层核心技术的容器云提供商,拥有100%国产自主可控的软件产品。谐云从观云台为核心,结合DevOps与微服务等场景,提供应用全生命周期管理。

评论

发布
暂无评论
数据库|PostGreSql 和 MySql 的优劣对比_谐云_InfoQ写作社区