分析型数据库 AnalyticDB学习 ----技术架构及主要组件工作原理详解

分析型数据库 AnalyticDB学习 ----技术架构及主要组件工作原理详解

总体架构图

在这里插入图片描述

AnalyticDB组件

在这里插入图片描述
(1)Front Node:前端节点,负责接收sql请求,并解析发送给insert和delete 语句buffer Node写入缓存节点,对于查询语句,讲查询任务分发给computing node,并汇总结果返回给客户端。
(2)ComputingNode:负责计算和存储两个职责。计算由fn前端阶段发下来的执行计划,并完成数据分析处理任务。大存储模式下,cn会从盘古读取数据,热数据会缓存到本地ssd磁盘;搞性能模式,cn会从盘古读取全部数据,cn直接从ssd磁盘中读取。
(2)BufferNode:支持实时表和批量表,表类型在建表时指定。只有实时表支持insert和delete等dml语句,数据由用户通过dml语句写入缓存节点并且持久化到盘古,之后实时或者异步到cn节点,提供查询。采用读写分离架构,可隔离写入和分析计算负载。批量表不支持dml语句,由odps直接批量加载到盘古
(3)resource Manager:负责数据的调度管理,fn/cn/bn的节点管理,包括调用低层伏羲和调用服务进行新建服务节点和注销等,也包括扩容、升级等运维操作。rm还负责源信息管理,元信息,被持久化到rds服务,rm的配置值管理信息保存在高可靠的zookeeper组件。
(4)Builder:opds导入离线数据,并对实时数据进行定期的整理归并

AnalyticDB功能模块

Front Node(FN)

(1)用户认证
(2)提供jdbc,odbc协议的支持
(3)创建和查询table时从rds中读写table schema
(4)负责sql解析,下沉执行,聚合查询结果并且返回client
(5)insert操作,下沉到bn,select 到cn,ddl到rm
(6)启动的时从zk读取配置,在mpp模式下,通过zk选主discovery server

Compute Node(CN)

(1)解析,计划,优化,执行fn下沉的select,从本地或者盘古中获取数据,返回结果
(2)从bn缓存或盘古拉取bn和db导入的数据,db构建的索引
(3)查询table时从rds中读写table schema
(4)启动的时从zk读取配置

Buffer Node(CN)

(1)对节点写入数据,对实时表分区分配内部bn有master和salve之分
(2)处理实时导入的数据
(3)执行由fn下沉的insert sql,把insert日志写入盘古,同事推送到mastercn上
(4)启动的时从zk读取配置,通过zk选主

Builder

(1)通过mapReduce(运行在odps)导入离线数据(创建分区,行组,元数据,索引)
(2)通过mapReduce(运行在ads)对实时导入数据进行定期基线合并

Resource Manager (RM)

(1)资源调度
(2)数据调度
(3)系统健康检查
(4)系统在线升级和回滚
(5)系统扩容和缩容
(6)启动时候从zk中读取配置,通过zk选主master

在这里插入图片描述

AnalyticDB数据模型

(1)数据库(Database)
(2)表组(TableGroup)
(3)表(Table)
(4)一级分区键(Hash Key)
(5)二级分区键(List Key)

AnalyticDB行列混合

das采用行列混存模式,兼具行存和列存之长
(1) 对于每张表的每k行数据,每列数据连续的存放在单独的block中,每行组的列block在磁盘中连续存放
(2) 行内列block的数据可按指定列顺序存放。
(3) 每个列block可开启压缩

AnalyticDB智能索引

(1) 倒排索引:bitmap除外的列
(2) bitmap索引:值重复率高的列
(3) 区间树索引:类型为数字的列

行列混存的块索引–元数据

(1) 分区元数据包含该分区总行数,单个block中列行数等信息;
(2) 列元数据包括该列值类型,整列的max/min值,null值数目
(3) 列block元数据也包含该列的max整列的max/min/sum.总条目数

AnalyticDB高可用性架构

在这里插入图片描述

数据可靠性和数据一致性

(1)数据可靠性
1. ads全量数据保存在飞天盘古分布式文件系统,支持采用三副本或ec方式存储
2. 实时表数据和insert、delete操作,其提交后同步到盘古中,批量表也同步到盘古盘

(2)数据一致性
1. 针对insert 和delete的实时表,ads采用多版本的mvcc机制存储,保证有并发数更新操作时,查询所见的数据为发起查询时的数据版本。
2. 针对实时表,采用了读写分离的架构,支持允许秒级延迟可见的场景,以提供写入性能强制实时可见功能。

高可用

ads组件提供采用多活(Active-Active)或者主备模式,任意单点故障不中断服务,故障会自动检查并且恢复,不需要人工干预。升级、扩容等运维操作,采用节点间滚动的方式进行,服务不中断。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值