概念介绍

1、ECU:弹性计算单元(Elastic compute units 简写ECU)是AnalyticDB用来衡量实例计算能力的元单位。一个数据库由若干个同一类型的ECU节点组成,例如数据库A,可能由4个C8组成,或者6个S2N组成,每个ECU节点配备有固定的磁盘和内存资源。

2、表组:表组是一系列可发生关联的数据表的集合,AnalyticDB为了管理相关联的数据表,引入了表组的概念。表组类似于传统数据库schema的概念,AnalyticDB表组分为两类:

维度表组(系统自带):自带维度概念的表,可以放到维度表组下。
普通表组: 一般会把需要关联的普通表放在相同普通表组中,建议这个表组中的所有普通表的一级分区数一致,join性能会有很大提升。
3、表: 在表组之下是表的概念,AnalyticDB提供两种类型的表:

维度表: 带有维度概念的表,又称为复制表。默认每个ECU节点放置一份全量的维度表数据,所以维度表可以和任何普通表进行关联。由于维度表会消耗更多的存储资源,所以维度表的数据量大小有限制,一般要求维度表单表不超过5000万行。
普通表: 普通表就是分区表,为充分利用分布式系统的查询能力而设计的一种表。普通表默认是指一级分区表,如果有增量数据导入需求,可以创建二级分区表。
4、分区: 普通表才有分区的概念,AnalyticDB支持两级分区策略:一级分区采用hash算法,单表数据量在60亿以内,我们推荐您使用一级分区,通常一级分区已足够。二级分区采用list算法,二级分区部分见最佳实践章节。

5、主键: AnalyticDB的的表必须包含主键字段,通过主键进行记录的唯一性判断。主键由业务id、一级分区键组成,有些情况业务id与一级分区相同。对于记录量特别大的表,从存储空间和insert性能考虑,一定要减少主键的字段数。

支持的数据类型介绍

boolean布尔类型,值只能是0或1。取值0的逻辑意义为假,取值1的逻辑意义为真,存储字节数1比特位。

tinyint微整数类型,取值范围-128到127,存储字节数1字节。

smallint整数类型,取值范围-32768到32767,存储字节数2字节。

int整数类型,取值范围-2147483648到2147483647,存储字节数4字节。

bigint大整数类型,取值范围-9223372036854775808到9223372036854775807,存储字节数8字节。

float单精度浮点数,取值范围-3.402823466E+38到-1.175494351E-38, 0, 1.175494351E-38到 3.402823466E+38,IEEE标准,存储字节数4字节。

double双精度浮点数,取值范围-1.7976931348623157E+308到-2.2250738585072014E-308, 0, 2.2250738585072014E-308 到 1.7976931348623157E+308,IEEE标准,存储字节数8字节。。

varchar变长字符串类型。varchar长度不得超过16KB,否则可能会出现字段为null。可以设置该列去掉索引或者设置为全文索引。去掉索引后建议该列不要在查询中进行筛选和计算。

date日期类型,取值范围'1000-01-01' 到 '9999-12-31',支持的数据格式为 'YYYY-MM-DD',存储字节数为4字节。

time 时间类型,取值范围'00:00:00' 到 '23:59:59',支持的数据格式为'HH:MM:SS',存储字节数为4字节。

timestamp时间戳类型, 取值范围'1970-01-01 00:00:01'UTC到 '2038-01-19 03:14:07' UTC,支持的的数据格式为'YYYY-MM-DD HH:MM:SS',存储字节数为4字节。

语法介绍

1、ADB全面兼容MySQL和SQL2003,所以很多语法都是和MySQL类似的。
2 、 注 意 : A B D 不 支 持 u p d a t e , 可 以 通 过 主 键 覆 盖 的 方 式 进 行 i n s e r t 操 作 实 现 u p d a t e 
3 、 分 析 型 数 据 库 M y S Q L 版 默 认 是 全 索 引 , 即 所 有 列 都 会 有 索 引 。

总体架构图

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. 阿里下一代云分析型数据库AnalyticDB入选Forrester云化数仓象限

    前言 近期, 全球权威IT咨询机构Forrester发布"The Forrester Wave: CloudData Warehouse Q4 2018"研究报告,阿里巴巴分析型数 ...

  2. 回首2018 | 分析型数据库AnalyticDB:不忘初心 砥砺前行...

    导读 分析型数据库AnalyticDB(下文简称"ADB"),是阿里巴巴自主研发.唯一经过超大规模以及核心业务验证的PB级实时数据仓库.截止目前,现有外部支撑客户既包括传统的大中型 ...

  3. 阿里巴巴下一代云分析型数据库AnalyticDB入选Forrester Wave™ 云数仓评估报告 解读

    前言 近期, 全球权威IT咨询机构Forrester发布"The Forrester WaveTM: CloudData Warehouse Q4 2018"研究报告,阿里巴巴分析 ...

  4. 回首2018 | 分析型数据库AnalyticDB:不忘初心 砥砺前行

    导读 分析型数据库AnalyticDB(下文简称"ADB"),是阿里巴巴自主研发.唯一经过超大规模以及核心业务验证的PB级实时数据仓库.截止目前,现有外部支撑客户既包括传统的大中型 ...

  5. 回首2018 | 分析型数据库AnalyticDB: 不忘初心 砥砺前行...

    题记 分析型数据库AnalyticDB(下文简称ADB),是阿里巴巴自主研发.唯一经过超大规模以及核心业务验证的PB级实时数据仓库.截止目前,现有外部支撑客户既包括传统的大中型企业和政府机构,也包括众 ...

  6. 分析型数据库 AnalyticDB学习 ----基本介绍

    分析型数据库 AnalyticDB学习 ----基本介绍 AnalyticDB简介 阿里巴巴自主研发的海量数据实时并发在线分析的云计算服务,可以在毫秒级针对千亿级数据进行多维分析和业务探索.具备海量数 ...

  7. 阿里云分析型数据库AnalyticDB:使用Logstash插件进行高效数据写入

    前言 AnalyticDB(简称ADB,ADS,早期项目名Garuda)是阿里巴巴自主研发的海量数据实时高并发在线实时分析型数据库(Real-Time OLAP).自2012年第一次在集团发布上线以来 ...

  8. 分析型数据库(AnalyticDB)-V2.7版本正式支持全文索引

    AnalyticDB 全文索引介绍 背景 大数据处理技术经过若干年的发展,结构化数据检索已经逐渐有了多元化的.丰富的解决方案.但是与此同时,比如文本.图片.视频等非结构化数据的产生速度越来越快,数据量 ...

  9. 大数据概述、前世今生、处理流程、学习路线、开发工具详解

    一. 什么是大数据? 大数据是无法使用传统计算技术处理的大型数据集的集合.它不是单一的技术或工具,而是已成为一个完整的主题,涉及各种工具,技术和框架. 全球数据的90%是在最近十年中产生的. 1.1 ...

最新文章

  1. Li‘s 影像组学视频学习笔记(28)-ROI/病灶体积的计算、Li‘s have a solution and plan.
  2. 【ES6】Generator函数详解
  3. 【Linux 内核】调度器 ④ ( sched_class 调度类结构体分析 | yield_task 函数 | heck_preempt_curr 函数 | task_struct 函数 )
  4. DL之GRU:GRU算法相关论文、建立过程(基于TF)、相关思路配图集合、TF代码实现
  5. 怎么控制latex插图的位置_如何在报告OR论文中画出漂亮的插图?
  6. Python对图像的基本操作
  7. hdu 4277 USACO ORZ
  8. 使用canvas实现擦玻璃效果
  9. 路由器mysql密码重置密码_【验证】mysql root密码恢复
  10. php7与apache整合,apache集成php7.3.5的详细步骤
  11. java 内存模型 多线程_Java 高并发三:Java内存模型和线程安全详解
  12. django migration使用指南
  13. Ai人工智能相面分销系统,看别人如何爆赚百万
  14. erp java 开源_华夏ERP完整开源版J2EE代码
  15. python怎么添加包_python怎样导入包
  16. (3)paddle---近视眼睛分类的例子
  17. 未来精英论坛3.0 | 探秘桔厂科技和人文
  18. 深度学习-43:长短时记忆神经网络(LSTM)
  19. iOS 应用签名原理
  20. 安全审计——等级保护日志审计要求的一种解决方案

热门文章

  1. 网络线路及带宽中CN2,GIA,CIA,BGP,CMI以及IPLC都是什么意思?
  2. 高强度文件夹加密——破解
  3. mysql登录失败5次锁定300秒_django 实现登录时候输入密码错误5次锁定用户十分钟...
  4. 【洛谷T7243】【CJOJ2225】【BYVoid S3】珠光宝气阁(潜入辛迪加)
  5. visual studio 2017如何打开 *.sdf 数据库文件 (笔记)
  6. 哈工大李志军操作系统 —(四)设备驱动与文件系统—目录与文件系统L31.L32
  7. MyEclipse 6.5 下载及注册
  8. SCRIPT1002: 语法错误
  9. Unity3D制作注册登录界面,并实现场景跳转
  10. IL、ST、LD、FBD、SFC分别是什么语言?