什么是PostgreSQL?比MySQL、Oracle强在哪( 二 )
在国内 , 越来越多的公司开始使用PostgreSQL , 如斯凯网络的后台数据库使用的基本都是PostgreSQL数据库 , 去哪儿网(qunar.com)和平安科技也大量地使用了PostgreSQL数据库 。
主流的云服务提供商如亚马逊、阿里云、腾讯云、华为云也都提供了PostgreSQL的云数据库服务 。
更多关于PostgreSQL数据库的现状信息可见PostgreSQL官方网站:
http://www.postgresql.org/
【什么是PostgreSQL?比MySQL、Oracle强在哪】 04 PostgreSQL数据库与其他数据库的对比
本节主要介绍PostgreSQL数据库与主流数据库MySQL和Oracle的相同点和区别 。
1. PostgreSQL与MySQL数据库的对比
本文插图
可能有人会问 , 既然已经有一个人气很高的开源数据库MySQL了 , 为什么还要使用PostgreSQL?这主要是因为不同的数据库有不同的特点 , 应该为合适场景选择合适的数据库 。 在一些应用场景中 , 使用MySQL有以下几大缺点 。
- 复杂SQL支持弱
另因为MySQL无完善的基于COST的优化器(CBO) , 长期来说也会存在一定的问题) , 不仅如此 , 它对很多SQL语法都不支持 , 子查询性能比较低 。 例如 , MySQL不支持单独的sequence , 有公司为此还专门开发了统一序号分发中心的软件 。
- 性能优化工具与度量信息不足
- MySQL的复制是异步或半同步的逻辑同步 , 这存在两个问题
由于有两层日志(binlog日志和InnoDB的Redo日志) , 因此也很难做到Master/Slave在异常切换过程中的零数据丢失 。 一些第三方公司改造MySQL源代码以实现同步复制 , 但这些方案要么是没有开源 , 要么是已开源却又不是很稳定 , 所以 , 对于普通用户来说 , 如何实现零数据库丢失的同步复制是一个令人头疼的问题 。
- 在线操作功能较弱
对于第一种方法 , 需要公司有很强的MySQL研发能力 , 第二种方法则需要公司有较强的开发能力 , 能设计出较强的应用架构 。 这对于一些中小型公司来说不太容易实现 。
- 难以写插件来扩展MySQL的功能
相对MySQL的这些弱点 , PostgreSQL有以下几个优点 。
- 功能强大
PostgreSQL是笔者见过的对正则表达式支持最强、内置函数也是最丰富的数据库 。 它的字段类型还支持数组类型 。 除了可以使用PL/PGSQL写存储过程外 , 还可以使用各种主流开发语言的语法(如Python语言的PL/Python、Perl语言的PL/Perl来写存储过程) 。
- 疫苗|美国确诊破1200万,特朗普却不断“溜号”,G20峰会早退去打这个!比特币深夜巨震,一度暴跌1000美元!发生了什么?
- 李雪琴回应被中消协点名|李雪琴回应被中消协点名 具体发生了什么?
- 教师资格证|非师范生,考什么学科的教师资格证容易就业?
- 律师|29岁硕士遭潜规则,反抗后被羞辱:不是名校毕业,你装什么装!
- 生活巧教你如何选电视,什么是LCD,LED,OLED,4K,8K电视
- 北京|不知什么时候开始
- 趣头条 特斯拉是家什么样的公司?
- SpaceThink科技 到弯道超车,中国移动通信发展到底经历了什么?,从跟随与博弈
- 环球新基建一家民营企业凭什么参与BWFRP电力管国家标准制定
- 时尚大拍档|150斤穿什么颜色的冬季外套?杨天真亲身示范,既暖又美还不显胖look1:咖色look2:米黄色look3:西瓜红look4:玫红色look5:靛青色look6:奶白色