导读:本文主要给大家介绍什么是PostgreSQL数据库、PostgreSQL有哪些强大的功能及其目前的一些应用情况,以便大家对PostgreSQL有一个初步的认识。
作者:唐成
来源:大数据DT(ID:hzdashuju)
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很快会被修复,有应用场景的需求也会及时得到响应。
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,