[未完待续] PostgreSQL 去O (Oracle),不仅仅是兼容,还有更多

less than 1 minute read

背景

PostgreSQL Oracle兼容性

ADAM(阿里云亚当) Oracle上云迁移套件

PostgreSQL 优于Oracle的特性

《[未完待续] PostgreSQL 应用场景 与 TEST CASE(压测) 精华》

PostgreSQL比Oracle或其他数据库有优势的场景

先罗列一下场景,后期补充实际的SQL。在PARSER到对应SQL时可以给出提示和转换SQL。

1、ltree树形类型,可以简化递归 SQL,或connect by表设计。

2、文本搜索(支持全文检索、模糊查询、正则查询、相似查询)

支持全文索引,模糊查询索引、正则查询索引、相似查询索引。

亿级文本,毫秒级响应。

3、空间数据处理(点、线、面、3D、4D对象;地理信息库支持平面坐标操作、球坐标操作)

支持空间索引,空间对象计算。

4、多值类型(jsonb, array, tsvector, hstore)

支持多值列倒排索引。

5、多字段任意组合条件过滤查询

三种内置技术,解决任意组合条件过滤查询效率问题:

bloom索引,gin多列索引,单列多索引bitmap scan。

5、地理数据支持路径规划

支持多种图式搜索算法。

6、秒杀

支持advisory lock。36万TPS 秒杀更新同一记录。

7、物联网,区间搜索(BRIN)

支持BRIN索引,BITMAP扫描。效率高,索引小(几百KB支持几百GB的表)。

8、FDW下推能力

下推(select clause, where , sort , join , agg)

9、机器学习(MADLib)

支持机器学习SQL库MADlib,支持plr, plpython。

阿里云HybridDB for PostgreSQL支持import python library。

10、支持多种索引接口,对应不同的数据类型和应用

《PostgreSQL 9种索引的原理和应用场景》

11、插件丰富,垂直领域扎根业务能力强

https://wiki.postgresql.org/wiki/PostgreSQL_derived_databases

rdkit,化学插件

postBSI,基因插件

imgsmlr,图像特征值插件

smlar,相似插件

postgis,空间数据库插件

citus,sharding插件

cstore,列存储插件

timescaleDB,时序数据库插件

AgensGraph,图数据库插件

。。。。。。

12、扩展能力强(类型、操作符、索引、UDF、采样接口、自定义外部数据访问接口、存储过程语言接口、扫描接口)

13、支持阿里云OSS对象存储外部表

14、支持存储过程

15、支持NOSQL特性

16、支持多核 并行计算

17、支持sharding(基于FDW)

18、支持异构数据访问(通过外部表读写Oracle, mysql, hadoop, 等。)

https://wiki.postgresql.org/wiki/Fdw

PostgreSQL 应用案例

PostgreSQL 去O案例

金融

八部委

互联网核心业务

Flag Counter

digoal’s 大量PostgreSQL文章入口