前言
PostgreSQL是一个功能强大的开源关系型数据库管理系统,它具有可扩展性、稳定性和安全性等特点,同时还支持高级特性,如ACID事务、多版本并发控制(MVCC)、JSON和XML支持、多种索引类型、外部表和外部数据包装器、全文搜索和文本处理、GIS和空间数据、备份和恢复等。PostgreSQL的历史可以追溯到20世纪90年代初,它是从Postgres数据库管理系统中发展而来,现在已经成为许多组织和企业的首选数据库之一。在这个技术分享会上,我们将了解PostgreSQL为什么是世界上最先进的开源数据库 一个先进的开源数据库。
The world's most advanced open source database
上图来自google search
postgres的一些特性
数据类型
全文搜索
扩展
postgres 支持扩展。通过扩展可以让pg有更多能力。这里介绍两个扩展,都能把pg变成专用的数据库,让pg在某些领域有更多能力。同时节省学习和维护成本,因为不用专门再学习、购买一套数据库了。
timescaledb
timescaledb是一个时序型数据库。官方网站 timescaledb远远不是一个章节能讲完的。大家有兴趣可以自行了解。console.cloud.timescale.com/ 提供托管的timescaledb,可以免费试用。 help.aliyun.com/document_de… 阿里云的这篇文章,展示了如何在RDS PostgreSQL实例上,安装timescaledb。
citus
官方网站 分布式postgres,开源,免费。Citus是一个非常适合于需要处理大量数据的应用程序的解决方案。Citus提供了跨节点的查询优化、事务管理、并发控制等功能,使得用户可以很方便地将其应用程序扩展到更大的数据规模。 2019年,微软收购了citus。
PostGIS
PostGIS是一个空间数据库。postgis.net/ PostGIS通过向PostgreSQL添加对空间数据类型、空间索引和空间函数的支持,将PostgreSQL数据库管理系统转换为空间数据库。 PostGIS的应用场景包括但不限于地理空间数据采集、分析和管理、地理信息系统开发、地图制作等领域。
OLAP(online analytical processing,联机分析处理)
联机分析处理(OLAP)是一种软件技术,可用于从不同的角度分析业务数据。组织收集和存储来自多个数据源的数据, 例如网站、应用程序、智能电表和内部系统。
备份和恢复
索引
ACID和MVCC
其它
平台和工具支持
虽然,关系型数据库中最流行是MySQL,但是Postgres的生态也不差。我找了一些常见的平台和工具,都支持postgres。例如阿里云、腾讯云、Amazon,和sqlalchem(python orm), diesel(rust orm), prisma(nodejs orm), gorm(golang orm)。其中diesel的Getting Started里用的就是postgres。
pgamin
官方出品的postgres管理工具。支持通过docker部署。