德哥 - PG去O非你莫属

阿里/PG中国社区发起人Digoal(德哥)分享《PostgreSQL 11与12告诉你为什么去“O”唯有PG》

展开查看详情

1. PG去“O”,非你莫属 阿里云 digoal 2019 中国数据智能管理峰会

2.目录 • PG社区的独特性 • PG的商业能力和创新能力 • PG 新版本与新特性 • PG on 云 2019 中国数据智能管理峰会

3.独特性 • 学生为什么应该学PG, PG与其他数据库有哪些独特性, 为什么 PG是数据库的未来? – https://github.com/digoal/blog/blob/master/201906/201906 26_01.md • PostgreSQL 社区分析 - 为什么PostgreSQL社区几乎不可能被任 何一个商业公司、国家所控制? – https://github.com/digoal/blog/blob/master/201906/201906 08_02.md 2019 中国数据智能管理峰会

4.社区独特性 • 如果:99%的开源数据库都是被商业公司控制的 • 那么:PG是那1% • 商业数据库 - 1为什么要开源?2为什么改协议? – 逐利,培养背书群体,扩大生态,收割大客户。 – 上云是大趋势,“云开源数据库服务” 吞噬开源数据库市 场,用户更多选择的是云服务,而不是商业开源数据库的 企业版。商业开源公司与云发生利益冲突,改协议是必然 的。 • PG为什么没有被商业公司控制? – 纯社区 2019 中国数据智能管理峰会

5.2019 中国数据智能管理峰会

6.sponsors 国家 日本 3 德国 3 美国 11 英国 1 瑞典 1 澳大利亚 2 法国 1 俄罗斯 2 2019 中国数据智能管理峰会

7.2019 中国数据智能管理峰会

8.他们为什么要持续贡献核心代码? • 数据库厂商 – 推一款新的商业数据库,通常都需要背书,小厂 产品,谁为你背书? – 1、有技术的厂商,很难挑战已有数据库市场格局。 – 2、有渠道的厂商,需要抓住窗口期,快速占领市 场,避免重复造轮子,需要一款可以无法律风险, 二次分发的开源数据库。唯有PG。 – 贡献核心代码,社区所有的用户都可以为之背书 • 数据库服务 | DaaS服务提供商 – 开源产品的服务提供商,能力如何体现? – 架构能力?优化能力?管理能力?FIX BUG的能力? – 背书 2019 中国数据智能管理峰会

9.他们为什么要持续贡献核心代码? • 最终用户 – 希望社区长久,期望可以享受免费的、可持续发展的、开源的、不被任何商业公司、不被 任何国家控制的企业级的数据库。去O(贵),去DB2去sybase(产品下市、无法再升级、支持) – 不靠数据库赚钱 – 1、PG用到人越多,越多人背书,使用越靠谱(事实证明是如此,比商业数据库还靠谱), – 2、抛砖引玉,企业投入2个研发持续贡献(一年可能一两百万),实际上整个PG社区有数千 人在贡献,对最终用户来说,简直赚到了。 • 使用商业数据库,除了LICENSE等成本,依旧需要投管理、研 发、外包资源,一年数千万甚至上亿。 • 公司越大,越有动力去贡献社区。 从趋势来看,给PG贡献代 码的大客户只会越来越多。 • 云厂商 – 开源数据库纷纷改协议 – 数据库市场巨大 – 自研是最佳选择 – 自研的问题:需要培养生态,需要市场背书,需要大量研发资源,可能需要重复造轮子? – BASE PG, 1 免去自己培养生态,2 避免重复造轮子,3 PG 的代码基础非常不错 (开源界 “O”) – 防止其他厂商控制PG失去市场主导能力(AWS,google,IBM,微软都已进入sponsor行列) 2019 中国数据智能管理峰会

10.开源许可独特性-活雷锋 • PG的开源许可是类BSD许可。可以随意分发,闭源或开源。 2019 中国数据智能管理峰会

11.架构独特性 • PG采用了开放接口的设计,例如 – type, operator, index, – storage, language, fdw, – custom scan, sample, hook等 • PG是最具扩展能力的数据库(基于PG的 图数据库、流数据库、GIS、时序数据库、 推荐数据库、搜索引擎等。围绕PG的应用 垂直化插件机器学习、图像识别、分词、 向量计算、MPP等。) – 基本上都是使用PG扩展接口扩展出来的 2019 中国数据智能管理峰会

12.商业趋势 • 1、全球都在提高安全、合规、正版化意识 • 2、PG是去O首选 • 3、PG是数据库厂商首选,避免重复造轮子,前面说了PG的功 能覆盖度高,是很好的基础。 • 同时扩展性很强很容易做出行业特色, • 最重要的是它的开源许可允许任意的使用(分发、闭源)。 • 4、PG 是云首选 • 很多开源数据库的背后有商业公司,商业公司如果和云厂商没 有很好的合作协议。云厂商拿去卖,客户被带上云,数据库厂 商的利益与与云厂商的利益发生冲突的概率非常大。 • 商业数据库厂商被迫修改许可协议是一种手段。 • PG是纯社区开源数据库,没有修改协议的动机。PG的协议干净,是云厂商首 选。 2019 中国数据智能管理峰会

13.技术趋势 • 1、PG是多模数据库,因为它的开放性,可以 随意扩展。例如前面提到的诸多插件,使得PG 是目前最强度大的多模数据库。 • 2、内置并行计算 • 3、支持存储引擎扩展(12)。 • 4、对芯片友好,例如ARM芯片的支持。 • 以上4点满足市场的既要又要还要的需求: • 既要SQL通用性,又要NOSQL扩展性, 还要多模开发便捷性。 • 既要OLTP又要OLAP。 2019 中国数据智能管理峰会

14.目录 • PG社区的独特性 • PG的商业价值与创新价值 • PG 新版本与新特性 • PG on 云 2019 中国数据智能管理峰会

15. OLTP、OLAP、 时空、GIS、图像 创 SMP并行计算、 文本、时序、 新 GPU并行计算、 向量相似、图谱 价 实时分析、 流计算、异构、 值 列存储、 混合 机器学习、 JIT、向量计算 多模 多维计算、shard 负载 0丢失+高可用: Oracle quorum based sync repl 安全: 企业级 降低迁移成本。 商 SSL\SQL防火墙\TDE(13) 兼容 社区版: 用 弹性: 插件化 shard ora2pg+orafce 价 模块化扩展 值 性能: 阿里云版: 32C TPCC 100万+ ADAM+PPAS 并行计算 2019 中国数据智能管理峰会

16. 目录 • PG社区的独特性 • PG的商业能力和创新能力 • PG 新版本与新特性 • PG on 云 2019 中国数据智能管理峰会

17.PG版本发布节奏 2019 中国数据智能管理峰会

18.PG 11 • 分区表增强 • 并行计算增强 • btree index include索引叶子附加属性 • 添加字段(含默认值)更快 • 支持存储过程 2019 中国数据智能管理峰会

19.分区表增强 • hash分区 • 支持触发器 • 支持默认分区 • 允许修改分区字段 2019 中国数据智能管理峰会

20.并行计算增强 • https://github.com/digoal/blog/blob/master /201903/20190318_05.md • 36个CASE, 平均 20倍 提升 • create table|mview as,create index • hash join, hash agg, parallel multi-phase agg 2019 中国数据智能管理峰会

21.2019 中国数据智能管理峰会

22.2019 中国数据智能管理峰会

23.2019 中国数据智能管理峰会

24.2019 中国数据智能管理峰会

25.btree index include索引叶子附加属性 • https://github.com/digoal/blog/blob/master/201905/20190503_03.md • 类似B+tree数据聚集, • create index idx_t1_1 on t1 (id) include(c1,c2,c3,info,crt_time); 2019 中国数据智能管理峰会

26. 添加字段(含默认值)更快 • https://github.com/digoal/blog/blob/master/201805/20180518_01.md 2019 中国数据智能管理峰会

27.支持存储过程 • https://www.postgresql.org/docs/11/sql-createprocedure.html • CREATE [ OR REPLACE ] PROCEDURE • name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } default_expr ] [, ...] ] ) • { LANGUAGE lang_name • | TRANSFORM { FOR TYPE type_name } [, ... ] • | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER • | SET configuration_parameter { TO value | = value | FROM CURRENT } • | AS 'definition' • | AS 'obj_file', 'link_symbol' • } ... • https://github.com/digoal/blog/blob/master/201905/20190531_01.md • 支持事务 • commit|rollback 2019 中国数据智能管理峰会

28.PG 12 • AM接口 • 分区表-大量分区性能提升 • GiST index include索引叶子附加属性 • CTE 物化、非物化 • 日志采样 • COPY WHERE 2019 中国数据智能管理峰会

29.AM接口 PG 12 • https://github.com/digoal/blog/blob/master/201903/20190331_03.md • https://github.com/digoal/blog/blob/master/201905/20190531_03.md 2019 中国数据智能管理峰会