【学习资料】第7期企业数据库选型规则

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 大家好,这里是企业数据库选型规则

背景


企业数据库选型规则。

一、数据库部署形式

随着硬件发展,指标上会有变化。

部署形式决定了容量上限,计算能力上限,读写带宽上限,RPO,RTO指标,适应场景。

1、分布式部署(例如pg+citus插件)

容量上限:100节点以上,PB级。

计算能力上限:100节点以上,6400核以上。

读写带宽上限:100节点以上,200GB/s以上。

RPO:如果每个计算节点都采用多副本存储,RPO=0。

RTO:如果每个计算节点都采用HA,RTO可以做到1分钟内。

使用限制:有一些SQL限制。

适应场景:应用代码可控程度高的情况下,适合TP和AP业务。

2、单节点本地存储

容量上限:10TB级。

计算能力上限:64核级。

读写带宽上限:2GB/s级。

RPO:RPO无保障。

RTO:RTO无保障。

使用限制:SQL无限制。

适应场景:测试环境,非生产环境,对数据库RPO,RTO都没有要求的环境。

3、单节点多副本存储

容量上限:32TB级。

计算能力上限:64核级。

读写带宽上限:2GB/s级。

RPO:单机房RPO=0,(如果存储支持跨机房多副本,可以做到多机房RPO=0)。

RTO:10分钟级。

使用限制:SQL无限制。

适应场景:非核心场景生产、测试。

4、双节点共享存储

容量上限:32TB级。

计算能力上限:64核级。

读写带宽上限:2GB/s级。

RPO:单机房RPO=0,(如果存储支持跨机房多副本,可以做到多机房RPO=0)。

RTO:1分钟级。

使用限制:SQL无限制。

适应场景:核心、非核心场景生产。

5、双节点主备异步复制

容量上限:32TB级(使用远程存储),10TB级(使用本机存储)

计算能力上限:64核级。

读写带宽上限:2GB/s级。

RPO:10GB网络,REDO延迟毫秒级、1MB以内。(支持跨机房部署)。心跳机制可确保RPO < 60秒

RTO:1分钟级。

使用限制:SQL无限制。

适应场景:非核心场景生产。

6、双节点主备半同步复制

容量上限:32TB级(使用远程存储),10TB级(使用本机存储)

计算能力上限:64核级。

读写带宽上限:2GB/s级。

RPO:

无节点或单一节点异常时,可保证RPO=0。

两个节点都异常时,RPO取决于备份延迟。采用基于PG流复制的持续REDO备份,可以做到RPO毫秒级。

RTO:1分钟级。

使用限制:SQL无限制。

适应场景:核心、非核心场景生产。

7、三节点及以上多副本全同步复制

容量上限:32TB级(使用远程存储),10TB级(使用本机存储)

计算能力上限:64核级。

读写带宽上限:2GB/s级。

RPO:

小于半数节点异常时,可保证RPO=0。

半数以上节点异常时,RPO取决于 1、10GB网络,REDO延迟毫秒级、1MB以内。2、备份延迟。采用基于PG流复制的持续REDO备份,可以做到RPO毫秒级。

RTO:1分钟级。

使用限制:SQL无限制。

适应场景:核心场景生产。

8、计算存储分离(存储多副本)(比如阿里云POLARDB PG)

容量上限:100TB级。

计算能力上限:16节点,1024核级。

读写带宽上限:32GB/s级。

RPO:单机房RPO=0,(如果存储支持跨机房多副本,可以做到多机房RPO=0)。

RTO:15秒级。

使用限制:SQL无限制。

适应场景:核心、非核心场景生产。

9、计算存储分离(存储多副本)+ 双机房半同步

容量上限:100TB级。

计算能力上限:16节点,1024核级。

读写带宽上限:32GB/s级。

RPO:

无节点或单一节点异常时,可保证RPO=0。

两个节点都异常时,RPO取决于备份延迟。采用基于PG流复制的持续REDO备份,可以做到RPO毫秒级。

RTO:15秒级。

使用限制:SQL无限制。

适应场景:核心、非核心场景生产。

10、计算存储分离(存储多副本)+ 多机房多副本全同步

容量上限:100TB级。

计算能力上限:16节点,1024核级。

读写带宽上限:32GB/s级。

RPO:

小于半数节点异常时,可保证RPO=0。

半数以上节点异常时,RPO取决于 1、10GB网络,REDO延迟毫秒级、1MB以内。2、备份延迟。采用基于PG流复制的持续REDO备份,可以做到RPO毫秒级。

RTO:15秒级。

使用限制:SQL无限制。

适应场景:核心场景生产。

11、只读节点

使用限制:SQL无限制。

适应场景:扩展读能力。

12、非核心功能

12.1、业务透明的读写分离

使用限制:SQL无限制。

适应场景:扩展读能力。

12.2、跨库交互

使用限制:SQL无限制。

适应场景:跨库DBLINK,跨库外部表,跨库物化视图。

12.3、单元化

使用限制:SQL无限制。

适应场景:多实例共享少量数据,多写。

二、云产品形态

1、基础版(单机多副本存储)PG 10

当前容量上限:2 TB

未来可达32TB级。

2、双机版(异步复制)PG 9.4, 10、PPAS 9.3, 10

当前容量上限:6 TB

3、双机版(半同步复制)PG 11

当前容量上限:32 TB

4、只读实例

扩展读能力。

5、计算存储分离版 PG 11、PPAS 11

16个计算节点,读写分离。

当前容量上限:100 TB

PG、PPAS、POLARDB PG区别

除以上区别以外,还有如下区别(pg ppas polarddb选择评判标准:数据量,可用性,可靠性,是否有去O需求,成本):

1、pg社区版。

2、PPAS兼容PG、同时高度兼容ORACLE。

相比社区版PG,新增AWR报告、SQL防火墙、数据库用户级资源隔离、索引推荐等高级功能。

3、POLARDB PG。

兼容PG、同时高度兼容ORACLE。

相比PPAS、PG,容量达到100TB,计算存储分离,计算可扩展到16节点,支持超低延迟读写分离。

扩容速度快。(扩容不需要迁移数据,非常之快)

可用性高,恢复速度快。(恢复不需要REPLAY WAL,秒级恢复)

备份、恢复速度快。(存储快照,秒级备份)

由于一份存储支持读写分离(PG PPAS使用流复制方式,每个只读节点一份存储),POLARDB成本更低廉。

存储采用按实际使用量付费,不需要规划存储大小,弹性更好。

自研主打产品,未来产品黑科技会集中增加到POLARDB。

三、行业合规要求

一些行业对数据库系统的合规要求:

1、SQL审计

2、扩展性

3、可用性

4、可靠性

5、备份保留时间

6、备份可恢复时间点

7、闪回

8、回收站

9、存储加密

10、数据文件加密

11、类型加密

12、数据访问链路加密

13、连接认证加密

14、加密KEY管理形式

四、数据库版本推荐

除非业务有特殊要求。选新不选旧(新版本建议发行2个小版本后使用)。

例如当前PG最新版本为11,已发布两个小版本,推荐使用11最新小版本。

五、数据库选型推荐

1 老业务迁移

原来使用什么DB? (PG, EDB PPAS, oracle, sybase, db2, ms sql)

1、pg -> pg

2、edb ppas -> ppas

3、oracle -> pg (用户积极配合改动,并有倾向使用开源版)

平安案例

邮储案例

中国人寿案例

4、oracle -> ppas (用户期望少改动)

中航信案例

大量ZF,传统行业案例

使用ADAM,大量成功去O案例。

https://promotion.aliyun.com/ntms/act/ppasadam.html

5、sybase, db2 -> pg

sybase (铁老大案例)

db2 (苏宁案例)

6、ms sql -> pg

(康恩贝案例)

2 新业务

1、如果Oracle可以免费使用,用户选择Oracle的概率是多少?如果超过50%的概率选择Oracle,推荐到PG、POLARDB PG。

2、当前用户技术栈

2.1、Oracle -> PPAS、POLARDB PG

使用ADAM,大量成功去O案例。

https://promotion.aliyun.com/ntms/act/ppasadam.html

2.2、sybase, db2 -> pg

2.3、ms sql -> pg

2.4、pg -> pg

2.5、edb ppas -> ppas

3、业务复杂度

3.1、复杂业务(有较复杂SQL,较复杂业务逻辑) -> PG

例如: 企业crm, erp, oa, 财务, 销售, 经营分析系统,GIS地理信息业务,等。 (此类场景典型PG客户:用友,sap,odoo)

3.2、简单业务 -> PG (同样完全可以胜任)

4、业务分类

4.1、纯AP

100TB 以内数据,纯AP(T+1):POLARDB PG。

32TB 以内数据,纯AP(T+1):PG 11。

4.2、实时分析:WHERE条件过滤后数据量亿级。 POLARDB PG。 PG 11。

4.3、TP

PG, PPAS, POLARDB PG

4.4、混合场景(有TP,有AP)

100TB以内数据量:

POLARDB PG

32TB 以内数据量:

PG 11

6TB 以内数据量:

PG 10, PPAS 10

产品AP能力主要包括:并行计算、GPU加速、JIT、向量计算、流计算、物化视图、丰富的分析函数、丰富的窗口查询函数、HASH JOIN、MERGE JOIN、丰富的内置函数、丰富的PLSQL语法。

产品TP能力:单节点 百万级QPS

4.5、海量数据,大量为冷数据,不能删除,极少查询。

pg, ppas, polardb pg,均支持OSS_FDW外部表,冷存储。查询对业务透明。

5、业务有SHARDING需求,但是不想改SQL适配sharding(sharding 带来的SQL使用限制,包括跨库事务,跨库查询,复杂SQL,维度表过大等问题)

100TB以内数据量:

POLARDB PG

32TB 以内数据量:

PG 11

6TB 以内数据量:

PG 10, PPAS 10

6、业务有多模需求,并且要求数据一致性,实时性

如果不要求实时性,一致性,可以再考虑将数据同步到其他产品

6.1、全文检索、模糊查询(tsvector, tsquery, pg_trgm技术)

6.2、任意字段多维度组合实时查询(smlar, rum, gin, bitmap scan, varbitx, roaring bitmap等技术)

例如:实时画像系统、营销系统。

6.3、文本相似查询(pg_trgm技术)

6.4、向量相似查询(cube技术)

例如:相似推荐系统

6.5、图像相似查询(imgsmlr技术)

6.6、GIS地理信息业务(postgis, brin, gist技术)

例如:天文、气象、地震、国土、测绘、车联网、物联网

6.7、时空轨迹、混合场景业务(ganos, postgis, brin, gist技术)

例如:饿了么,点我达,打车,车联网,

6.8、时序类(timescaledb 技术)

6.9、流计算(pipelinedb 技术)

6.10、图式搜索(CTE 技术)

例如:风控、族谱、社交、内容推荐、用户推荐等 业务。

多模类业务,性能功能指标参考HTAP测试

《HTAP 用例测试,性能指标》

相关文章
|
29天前
|
安全 NoSQL 关系型数据库
阿里云数据库:助力企业数字化转型的强大引擎
阿里云数据库:助力企业数字化转型的强大引擎
|
1月前
|
SQL NoSQL 关系型数据库
数据库学习
【10月更文挑战第8天】
21 1
|
1月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
61 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
1月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
69 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
1月前
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
25 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
|
30天前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改
|
30天前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本
|
1月前
|
NoSQL 关系型数据库 OLAP
如何选择最合适的数据库,帮助企业及个人业务更好的开展
如何选择最合适的数据库,帮助企业及个人业务更好的开展
|
1月前
|
关系型数据库 MySQL 数据库
mysql关系型数据库的学习
mysql关系型数据库的学习
18 0
|
1月前
|
存储 NoSQL Java
使用 Java 了解和学习 NoSQL 数据库:三个主要优势
使用 Java 了解和学习 NoSQL 数据库:三个主要优势
14 0