PostgreSQL数据库使用系列之简介

175 阅读3分钟

PostgreSQL数据库使用系列之简介

PostgreSQL: The world's most advanced open source database
PostgreSQL中文社区:: 世界上功能最强大的开源数据库...
blog/readme.md at master · digoal/blog · GitHub

postgreSQL 是什么?

PostgreSQL 是一个功能强大的开源对象-关系数据库系统,它使用并扩展了 SQL 语言,结合了许多安全存储和扩展最复杂数据工作负载的特性。PostgreSQL 的起源可以追溯到1986年,它是加州大学伯克利分校 POSTGRES 项目的一部分,在核心平台上已经积极开发了35年以上。

PostgreSQL 因其经过验证的架构、可靠性、数据完整性、健壮的特性集、可扩展性以及开源社区在软件背后始终如一地提供高性能和创新解决方案的奉献精神而赢得了良好的声誉。PostgreSQL 运行在所有主要的操作系统上,自2001年以来一直兼容 ACID,并具有强大的附加组件,如流行的 PostGIS 地理空间数据库扩展程序。毫不奇怪,PostgreSQL 已经成为许多人和组织选择的开源关系数据库。

为什么使用 postgreSQL ?

  • 丰富的数据类型

    • 基础数据类型
    • 结构化数据类型
    • 文档类型
    • 几何类型
    • 自定义类型
  • 丰富的数据完整性

    • 唯一、非空
    • 主键、外键
    • 排除约束
    • 显示锁、咨询锁
  • 多线程&性能

    • 索引
    • 高级索引
    • 复杂的查询规划器/优化器,仅索引扫描,多列统计复杂的查询规划器/优化器,仅索引扫描,多列统计
    • 事务、嵌套事务(通过保存点)、嵌套事务(通过保存点)。
    • MVCC多版本控制
    • 读查询的并行化和建立 B 树索引读查询的并行化和建立 B 树索引
    • 表分区
    • SQL 标准中定义的所有事务隔离级别,包括 SerializableSQL 标准中定义的所有事务隔离级别
    • 实时(JIT)表达式编译的实时(JIT)编译
  • 可靠性&容灾恢复

    • WAL日志
    • 流复制:同步、异步
    • 点对点恢复、主从切换
    • 表空间
  • 完备的安全性

    • 多种验证方式支持: SSAPI, SSPI, LDAP, SCRAM-SHA-256, Certificate等
    • 完善的系统访问
    • 列&行级别的安全访问
  • 可扩展性

    • 支持存储过程&函数
    • 过程语言支持丰富:PL/pgSQL, Perl, Python, and Tcl,通过插件机制也支持诸如:ava, JavaScript (V8), R, Lua, and Rust等
    • SQL/JSON 表达式支持
    • 外部数据包裹,通过标准的API进行连接
    • 自定义表的存储模式API
    • 扩展机制支持外部扩展,如: POSTGIS
  • 国际化支持 & 全文检索

    • 支持国际化的字符集
    • 支持不区分大小写和不区分重音的排序规则
    • 支持全文检索

postgreSQL 生态?

postgreSQL 社区

image.png

postgresSQL 衍生物

Postgres-XL

Postgres-XL | Open Source Scalable SQL Database Cluster
PostgreSQL-XL文档汉化.md · caitxj/postgres-xl10_doc - 码云 - 开源中国 (gitee.com)

基于PG上进行扩展开发提供的,分布式数据存进行存储,可以作为OLAP也可以作为OLTP进行数据操作。提供诸如: GTM、Coordinate、DataNode GTM-standby等概念。

image.png

Greenplum

Greenplum Database

Greenplum是基于开源PostgreSQL的分布式数据库,采用shared-nothing架构,即主机、操作系统、内存、存储都是每台服务器独立自我控制,不存在共享

image.png