PB级多源异构数据管理实践
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
原生分布式数据库
Application
cluster
cluster
cluster cluster
将不同模块的数据表分库存储,库间 不相互关联查询,如果有,必须通过 数据冗余或在应用层二次加工来解决, 对应用程序侵入较大。
核心 信贷 CRM 票据
cluster
cluster
cluster cluster
8
分布式数据库技术发展体系对比
垂直分库
分库分表
原生分布式数据库
• 起点比较早,应用控制能力强,可进 • 构建中间SQL解析层,尽可能将标准 • 数据库内部处理分布式事务与数据切
行深度定制化
SQL拆分成多个子查询下压到下层数
分逻辑,对于应用程序完全透明,不
优•
对于底层数据库没有任何特殊要求, 完全在应用程序内部进行分库
SequoiaFS
用途
交易型应用场景,精准查询
交易型应用场景,数据中台应用场景,中等数据量关联聚合查询
离线统计分析应用场景,大数据量关联聚合查询
交易型应用场景,单表增删改查
偏互联网的新型应用场景,半结构化数据功能优先,速度优先 非结构化数据最高速增删改查,适用于影像平台、内容管理、非结 构化数据存储 兼容 Amazon S3 对象存储接口,把巨杉数据库当做对象存储使用 兼容 POSIX fuse 文件系统接口,把巨杉数据库当做网络文件系统使 用
cluster
cluster
cluster cluster
核心 信贷 CRM 票据
核心DB1 信贷DB1 CRM-DB1 票据DB1
核心DB2
核心DB3
核心DBn
信贷DB2
信贷DB3
信贷DBn
CRM-DB2
CRM-DB3
CRM-DBn
票据DB2
票据DB3
票据DBn
将表分布到不同机器的库上,减轻数据库的压 力物理机的CPU、内存、网络IO负载分摊。支持 分布式事务。
核心DB1 信贷DB1 CRM-DB1 票据DB1
核心DB2
核心DB3
核心DBn
信贷DB2
信贷DB3
信贷DBn
CRM-DB2
CRM-DB3
CRM-DBn
票据DB2
票据DB3
票据DBn
通过分布式中间件进行用户ID的路由分发,保 证用户的一类操作涉及的表在一个节点上完成, 避免分布式事务。如果有跨节点的事务,则通 过中间件保证其一致性。
• 交易型业务场景 • 替换 MySQL、
PGSQL 等传统关系 型数据库
数据中台
• 数据服务与高频只读 类业务
• 提供比 Hbase 更加友 好的开发接口以及更 加简便的运维能力
内容管理
• 音视频、图片、文件 等对象存储类业务
• 提供比 Ceph 更优的实 时容灾能力以及更加 丰富的内容管理特性
13
9
SequoiaDB
巨杉数据库
10
SequoiaDB巨杉数据库介绍
首款入选Gartner数 据库推荐报告的国 产分布式数据库产 品 超过100家大型金 融企业核心业务系 统上线使用
巨杉目前已经规模进入金融、电信、政府等主要行业,拥有超过30家以上的银行 客户以及十余家世界五百强企业客户。
11
SequoiaDB巨杉数据库
ACID的支持
事务、一致性等,处理OLTP
传
统
技
术
兼
容
性
SQL完整支持
MySQL/PostgreSQL语法的完整兼容
7
分布式交易型数据库技术发展体系
应用垂直分库
Application
核心 信贷 CRM 票据
分库分表
Application 分布式中间件(路由分发MQ)
用户组1 用户组2 用户组3 用户组4
需要进行复杂逻辑才能进行合理数据
需感知底层数据分布结构,才能设计 • 辅助工具相对较少,生态环境有待完
劣•
分布 拓扑结构调整或扩容时非常痛苦,几
•
出优化后的查询逻辑 中间件实现分布式事务,跨库事务使
善
势
乎不可能完成在线扩容
用XA机制,性能大幅度下降
• 很难支持跨库事务
• 作为单点向新型分布式数据库转型的 过渡阶段,技术延续性堪忧
4
数据库如何应对微服务应用框架
Oracle IBM DB2
集中式存储
• 数据紧耦合 • 无法弹性扩张 • 单点故障
MySQL MySQL PGSQL PGSQL
碎片化存储
• 数据碎片化 • 数据无共享 • 运维成本高
MySQL 实例
MySQL 实例
PGSQL 实例
分布式数据库
PGSQL 实例
分布式存储
• 微服务对应独 立实例
• 物理分散存储 弹性扩张
5
联机交易业务需要 什么样的分布式数据库
6
联机交易业务需要什么样的分布式数据库?
分布式
分布式是新一代架构的基础,扩展性能应对
新
变化的数据量
技
术
前
HTAP
瞻 性
混合事务和分析场景,适应
更多数据应用需求
Multi-model与多租户
multi-model多模数据库引擎,同一引擎处理多种 数据应用场景,符合微服务和云数据库的架构理念
SequoiaDB是一款多模(Multi-Model)数据 库: • 全面兼容MySQL与PGSQL的分布式
NewSQL关系型数据库 • Posix文件系统兼容的对象存储 • MongoDB兼容的JSON数据库 • S3 对象存储服务 • 混合交易分析场景业务的HTAP数据库
12
三大核心应用场景
联机交易
•
据库,在SQL层进行结果拼装 对于底层数据库无特殊要求,在中间
•
需感知底层数据分布 数据库内部原生支持分布式事务,性
势
件进行SQL切分(支持XA即可)
能远远高于分库分表
• 部分兼容传统SQL,应用程序开发难 • 高可用与容灾能力由数据库内核原生
度小于垂直分库
支持,不需额外辅助工具
• 应用程序逻辑侵入性极强,应用程序 • 应用程序逻辑侵入性较强,应用程序 • 技术较新,业界成熟案例相对较少
SequoiaDB 巨杉数据库
PB级多源异构数据 管理实践
1
应用程序开发 面临怎样的趋势
2
应用程序开发从烟囱式架构向分布式的转型
应用 前端
应用 前端
中间件 数据库
传统架构向微 服务转型
Байду номын сангаас
微
微
微
服
服
服
务
务
务
…… 数据库 ……
微
微
微
服
服
服
务
务
务
…… 数据库 ……
微
微
微
服
服
服
务
务
务
…… 数据库 ……
3
数据库应该如何 应对微服务应用框架
SequoiaDB各个计算服务
类型
计算引擎
SequoiaSQL-MySQL
结构化数据访问
SequoiaSQL-PostgreSQL SparkSQL
SequoiaDB JSON API
半结构化数据访问 SequoiaDB JSON API
非结构化数据访问
SequoiaDB JSON API SequoiaS3