什么是PostgreSQL?比MySQL、Oracle强在哪


导读:本文主要给大家介绍什么是PostgreSQL数据库、PostgreSQL有哪些强大的功能及其目前的一些应用情况 , 以便大家对PostgreSQL有一个初步的认识 。
作者:唐成
来源:华章科技
什么是PostgreSQL?比MySQL、Oracle强在哪
本文插图
01 什么是PostgreSQL
PostgreSQL数据库是功能强大的开源数据库 , 它支持丰富的数据类型(如JSON和JSONB类型、数组类型)和自定义类型 。
PostgreSQL数据库提供了丰富的接口 , 可以很方便地扩展它的功能 , 如可以在GiST框架下实现自己的索引类型 , 支持使用C语言写自定义函数、触发器 , 也支持使用流行的编程语言写自定义函数 。
PL/Perl提供了使用Perl语言写自定义函数的功能 , 当然还有PL/Python、PL/Java、PL/Tcl等 。
02 PostgreSQL数据库的优势
PostgreSQL数据库具有以下优势:

  • PostgreSQL数据库是目前功能最强大的开源数据库 , 它是最接近工业标准SQL92的查询语言 , 至少实现了SQL:2011标准中要求的179项主要功能中的160项(注:目前没有哪个数据库管理系统能完全实现SQL:2011标准中的所有主要功能) 。
  • 稳定可靠:PostgreSQL是唯一能做到数据零丢失的开源数据库 。 目前有报道称国内外有部分银行使用PostgreSQL数据库 。
  • 开源省钱: PostgreSQL数据库是开源的、免费的 , 而且使用的是类BSD协议 , 在使用和二次开发上基本没有限制 。
  • 支持广泛:PostgreSQL 数据库支持大量的主流开发语言 , 包括C、C++、Perl、Python、Java、Tcl以及PHP等 。
  • PostgreSQL社区活跃:PostgreSQL基本上每3个月推出一个补丁版本 , 这意味着已知的Bug很快会被修复 , 有应用场景的需求也会及时得到响应 。

什么是PostgreSQL?比MySQL、Oracle强在哪
本文插图
03 PostgreSQL应用现状和发展趋势
PostgreSQL目前在国外很流行 , 特别是近几年 , 使用PostgreSQL数据库的公司越来越多 。
日本电报电话公司(NTT)大量使用PostgreSQL替代Oracle数据库 , 并且在 PostgreSQL之上二次开发了Postgres-XC , Postgres-XC是对使用者完全兼容PostgreSQL接口的share-nothing 架构的数据库集群 。
亚信科技(AsiaInfo)在Postgres-XC的基础上开发了AntDB数据库 , AntDB是一款面向金融、电信、政务、安全、能源等行业的分布式事务型关系数据库产品 。 它具备集群自动高可用、秒级在线扩缩容、异地容灾、SQL语句级自定义分片、分布式事务和MVCC等功能 , 且具有强大的Oracle兼容性 。 AntDB完全兼容PostgreSQL数据库 。
腾讯在PosgreSQL-XC基础上开发了TBase分布式数据库 。 相较于Postgres-XC , 其稳定性得到了较大提高 , 同时TBase通过在内核中创造性地引入 GROUP 概念 , 提出了双Key分布策略 , 有效地解决了数据倾斜的问题;它根据数据的时间戳 , 将数据分为冷数据和热数据 , 分别存储于不同的存储设备中 , 有效地解决了存储成本的问题 。
网络电话公司Skype也大量使用了PostgreSQL , 并贡献了如下与PostgreSQL数据库配套的开源软件 。
  • PL/Proxy:PostgreSQL中的数据水平拆分软件 。
  • pgQ:使用PostgreSQL的消息队列软件 。
  • Londiste:用C语言实现的在PostgreSQL数据库之间进行逻辑同步的软件 。
全球最大的CRM软件服务提供商Salesforce也开始使用PostgreSQL , 并招募了PostgreSQL内核开发者Tom lane 。
著名的图片分享网站Instagram也大量使用了PostgreSQL 。
2012年 , 美国联邦机构全面转向PostgreSQL阵营;法国也正积极推动政府机构采用PostgreSQL数据库来取代商业数据库 。