不同点:1、MySQL通过执行命令来启动实例,PG通过执行进程来启动;2、PG支持物化视图,MySQL不支持物化视图;3、MySQL不支持扩展性,PG扩展性强;4、PG对存储过程函数支持优于MySQL,并且有本地缓存执行计划的能力。
本教程的运行环境:系统、版本、Dell G3电脑。
MySQL
MySQL 相对较年轻,最早出现于 1994 年。它号称是最受欢迎的开源数据库。MySQL 是 LAMP(用于 Web 开发的软件包,包括 Linux、PHP 和 Perl)中的 M。大多数基于 LAMP 堆栈构建的应用程序都使用 MySQL,包括 PHP、Zend 和 phpBB 等知名应用程序。
最初,MySQL 被设计为快速 Web 服务器后端,使用快速索引序列访问方法 (ISAM),不支持 ACID。经过早期的快速发展,MySQL 开始支持更多的存储引擎,并通过引擎实现 ACID。MySQL 还支持其他存储引擎,提供临时表功能(使用存储引擎),通过引擎实现高速读取数据库,并拥有其他核心存储引擎和第三方引擎。
MySQL 具有非常丰富的文档,有许多高质量的免费参考手册、书籍和在线文档,以及来自第三方供应商的培训和支持。
近年来,MySQL 经历了多次所有权变更和一些波折。它最初由 MySQL AB 开发,随后于 2008 年以 10 亿美元的价格卖给了 Sun ,后者于 2010 年被 Sun 收购。MySQL 支持多个版本:、、、、和。其中一些是免费下载的,而其他则需要付费。核心代码根据 GPL 授权,对于不想使用 GPL 的开发人员和供应商,可以使用商业许可证。
现在,基于原始 MySQL 代码可以选择的数据库越来越多,因为有几位核心 MySQL 开发人员发布了 MySQL 分支。MySQL 的原始创建者之一“Monty”似乎对将 MySQL 卖给 Sun 感到后悔,因此他开发了自己的 MySQL 分支,该分支是免费的,并采用 GPL 许可。知名 MySQL 开发人员 Brian Aker 创建的分支对其进行了广泛的重写,特别是针对多 CPU、云、网络应用程序和高并发进行了优化。
(简称 PG)自称是世界上最先进的开源数据库。一些 PG 的粉丝说,它与 MySQL 相媲美,但价格却没有 MySQL 那么高,客户服务也不那么苛刻。它有着悠久的历史,最初于 1985 年在加州大学伯克利分校开发,作为 MySQL 的继任者。
它是一个完全由社区驱动的开源项目,由全球 1,000 多名贡献者维护。它提供单一功能齐全的版本,而不像 MySQL 提供多个不同的社区、商业和企业版本。基于免费的 BSD/MIT 许可证,组织可以使用、复制、修改和重新分发代码,只要他们提供版权声明即可。
可靠性是 的最高优先级。它以坚如磐石的质量和良好的工程设计而闻名,支持高交易量、任务关键型应用程序。 的文档非常好,有大量免费的在线手册和旧版本的存档参考手册。 的社区支持非常出色,并且还有来自独立供应商的商业支持。
数据一致性和完整性也是高优先级的功能。它完全支持 ACID 特性,为数据库访问提供强大的安全保障,并充分利用和等企业安全工具。您可以根据自己的业务规则定义自己的检查,以确保数据质量。
在众多管理功能中,时间点 (PITR) 是一项很棒的功能,它是一种灵活的高可用性功能,提供创建热备份和快照以及用于故障恢复的还原功能。但这还不是全部,该项目还提供了几种方法来管理实现高可用性、负载平衡和复制,以便您可以使用适合您特定需求的功能。
与 MySQL 的区别
特征
MySQL
示例
实例是通过执行MySQL命令()来启动的。一个实例可以管理一个或多个数据库。一个服务器可以运行多个实例。一个实例管理器可以监控每个实例。
通过执行 () 来启动实例。一个实例可以管理一个或多个数据库,这些数据库组成一个集群。集群是磁盘上的一个区域,在安装时初始化,由存储所有数据的目录组成。用于创建第一个数据库。可以在一台机器上启动多个实例。
数据库
数据库是对象的命名集合,是与实例中的其他数据库不同的实体。MySQL 实例中的所有数据库共享相同的系统目录。
数据库是对象的命名集合,每个数据库都是与其他数据库不同的实体。每个数据库都有自己的系统目录,但所有数据库共享它。
数据缓冲区
数据缓冲区通过size配置参数设置,该参数是用于缓存表数据和索引的内存缓冲区的字节数,在专用数据库服务器上,该参数最大可以设置为机器物理内存的80%。
缓存。默认分配64个缓冲区。默认块大小为8K。可以通过在.conf文件中设置参数来更新缓冲区缓存。
数据库连接
客户端使用USE语句连接数据库,必须指定数据库名称、用户ID和密码。使用角色管理数据库中的用户和用户组。
客户端使用语句连接数据库,然后指定数据库名称,用户ID和密码。使用角色来管理数据库中的用户和用户组。
验证
MySQL 在数据库级别管理身份验证。仅支持密码身份验证。
支持多种认证方式:信任认证、密码认证、身份认证、基于Ident的认证、LDAP认证、PAM认证
加密
您可以在表级别指定密码来加密数据。您还可以使用和函数来加密和解密列数据。可以通过 SSL 连接实现网络加密。
可以使用库中的函数对列进行加密/解密。可以通过 SSL 连接实现网络加密。
审计
你可以通过 grep 来查找它。
您可以在表上使用 PL/pgSQL 触发器来执行审计。
备份、恢复和日志记录
使用预写日志。支持在线和离线完整备份以及崩溃和事务恢复。需要第三方软件来支持热备份。
在数据目录的子目录中维护预写日志。支持在线和离线完整备份以及崩溃、时间点和事务恢复。可以支持热备份。
约束
支持主键、外键、唯一和非空约束。检查约束会被解析但不强制执行。
支持主键、外键、唯一、非空和检查约束。
存储过程和用户定义函数
支持和语句。存储过程可以用 SQL 和 C++ 编写。用户定义函数可以用 SQL、C 和 C++ 编写。
没有单独的存储过程,全部通过函数实现。用户定义函数可以用 PL/pgSQL(一种专用的过程语言)、PL/Tcl、PL/Perl、PL/SQL 和 C 编写。
扳机
它支持行前触发器、行后触发器和语句触发器。触发器语句以过程语言复合语句编写。
支持行前触发器、行后触发器和语句触发器。触发器程序用 C 编写。
系统配置文件
我的配置文件
配置文件
数据库配置
我的配置文件
配置文件
客户端连接文件
我的配置文件
配置文件
XML 支持
有限的 XML 支持。
有限的 XML 支持。
数据访问和管理服务器
TABLE - 回收未使用的空间并消除数据文件碎片
– 更新查询优化器(存储引擎)使用的统计信息
mysql-命令行工具
MySQL 客户端 GUI 工具
—— 回收未使用的空间
-- 更新查询优化器使用的统计信息
psql-命令行工具
—— 客户端 GUI 工具
并发控制
支持表级和行级锁。存储引擎支持、、和。使用SET LEVEL语句在事务级别设置隔离级别。
支持表级和行级锁定。支持的 ANSI 隔离级别为读取(默认 - 查看查询开始时的数据库快照)和(类似于读取 - 仅查看事务开始前提交的结果)。使用 SET 语句在事务级别设置隔离级别。使用 SET 在会话级别设置。
开源
它是一个受许可证(自由开放源代码许可证)管辖的免费开源系统。
MySQL是该公司的产品,提供多个付费版本供用户使用。
管理
它是全球用户共同开发的产品
MySQL 是根据 GNU 通用公共许可证和各种专有许可证条款授权的产品。
表现
适合对读写速度要求较高的大型系统使用
MySQL主要用于只需要数据库进行数据交易的Web应用程序。
ACID 合规性
自始至终遵循 ACID 原则,并确保满足要求
只有在使用 NDB 存储引擎时,MySQL 才符合 ACID 标准。
SQL 兼容性
“从文档来看,它与大多数 SQL 兼容。支持 SQL:2011 的大多数功能。在核心一致性所需的 179 个强制功能中,至少有 160 个是兼容的。此外,还有一系列受支持的可选功能。”
“从文档来看,MySQL 的某些版本部分兼容 SQL。我们对该产品的主要目标之一是继续努力满足 SQL 标准的要求,而不会牺牲速度或可靠性。如果这能大大提高 MySQL 对大部分用户的可用性,我们可以添加 SQL 扩展或支持非 SQL 功能。”
支持的平台
它可以在Linux(SP4及以上)、Mac OS X、AIX、IRIX和Tu64上运行。它还支持技术巨头惠普开发的HP-UX操作系统和开源Unix操作系统。
MySQL 可以在 Linux、Mac OS X 上运行。MySQL 扩展了对开源操作系统的支持
编程语言支持
它用 C 语言编写,支持多种编程语言,最著名的是 C/C++、、、Java、、R、Tcl、Go、Lisp 和 .Net。
它用 C 和 C++ 编写,支持 C/C++、PHP、Lisp、Go、Perl、Java、、R 和 Node.js。
物化视图
支持物化视图
MySQL 不支持物化视图
数据备份
支持主从复制,也可以通过实现第三方扩展来处理其他类型的复制
MySQL支持主从复制,每个节点都是主节点,有更新数据的权限。
可扩展性
具有高度的可扩展性,您可以添加和拥有数据类型、运算符、索引类型和功能语言。
MySQL 不支持可伸缩性。
访问方法
支持所有标准。
MySQL 支持所有标准。
社区支持
积极的社区支持有助于改进现有功能,其富有创造力的提交者竭尽全力确保该数据库保持最新功能和最高安全性,处于最先进水平。
MySQL 还拥有庞大的追随者社区,他们为偶尔的新功能做出贡献,并维护现有功能,尤其是在收购之后。
安全
为连接提供本机 SSL 支持,以加密客户端/服务器通信。PSQL 还具有行级安全性。
MySQL 高度安全并包含多种安全功能。
相较于 MySQL 的优势
MySQL相对于PG的优势:
扫一扫在手机端查看
-
Tags : postgresql mysql
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。