MySQL和PostgresSQL对比

对比版本
Mysql 5.7
PostgresSQL 9.5

对比方面

  • 1、 流行程度Mysql > PostgreSQL,PostgreSQL在稳步上升
  • 2、 GIS:5.7之前,只有MyISAM支持空间索引,只支持二维空间的,空间函数较少,5.7,innodb也加入对空间索引的支持
  • 3、MySQL是多线程模型,PostgreSQL是多进程模型。
  • 4、MySQL的SQL层和存储层分离,支持多种存储引擎,例如InnoDB, MyISAM, NDB。PostgreSQL和绝大多数数据库一样是单存储引擎。
  • 5、FDW、FDW是foreign-data wrapper的缩写,见名知意,就是将外部数据包装为sql可操作数据的模块,PostgreSQL支持FDW
  • 6、高可用的原理不同,binlog + redo log + undo log vs redo log
  • 7、复制原理不同,MySQL的复制传输的是SQL层的binlog记录,binlog记录的是数据的逻辑变更(SQL语句或基于行的数据变更),属于逻辑复制;PostgreSQL的复制传输的是WAL记录,WAL记录的是数据块的变更,属于物理复制
  • 8、Mysql只支持普通视图,PostgreSQL既支持普通视图,也支持物化视图
  • 9、MySQL的表定义存储在特别的.frm文件中,DDL操作不支持事务。PostgreSQL中存储元数据的系统表和普通表的存储格式完全相同,这使得PostgreSQL很容易扩展,并且PostgreSQL的DDL操作也支持事务
  • 10、SQL特性,MySQL早期的定位是轻量级数据库,目前宽泛的SQL 99的子集, PostgreSQL的定位是高级的对象关系数据库,从一开始对SQL标准的支持比较全面,目前支持大部分的SQL:2011特性
  • 11、并发控制不一样,PostgreSQL是基于MVCC和SSI控制保证可行化,innodb是通过SS2PL保证可串行化,innodb的RC和RR阶段,使用的MVCC和S2PL技术,PostgreSQL的RR阶段使用的MVCC和SI技术

参考来源

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 事务可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。MySQL 中只有使用了 I...
    伊凡的一天阅读 2,434评论 3 22
  • MySQL运维实践 5.1-MySQL日志系统 什么是日志 日志(log)是一种顺序记录事件流水的文件 记录计算机...
    极客圈阅读 1,455评论 1 11
  • MySQL不权威总结 欢迎阅读 本文并非事无巨细的mysql学习资料,而是选择其中重要、困难、易错的部分进行系统地...
    liufxlucky365阅读 2,659评论 0 26
  • 1)介绍 PerconaXtraBackup(简称PXB)是Percona公司开发的一个用于MySQL数据库物理热...
    温东阅读 2,588评论 0 6
  • 今天早上艺林早早的就来到我们楼上,陪着小妹妹和我们一起吃饭,艺林很喜欢这个惹人喜欢的小妹妹,一直不停的抚摸着...
    a阿伦lun阅读 136评论 0 0