488
阿里云
2.3 特色功能__第二章 基本概念_使用手册_分析型数据库-阿里云
作为创新型的实时OLAP服务,分析型数据库提供很多独有的特色功能,这里便就其中常用的部分进行简要的介绍。
聚集列
在创建表时,用户可以指定一列或者若干列作为聚集列。
- 在物理上,一个分区内聚集列内容相同的数据会尽可能的分布在同样的区块内存放。因此当用户的查询Query的条件指定了聚集列的内容或范围时,查询性能会有较大的提升。
- 需要注意的是如果用户指定多列为聚集列,那么指定的聚集列的顺序就是比较数据是否相同的顺序。
- 聚集列可以在建表后进行修改,但是目前修改后需重新装载数据完毕后才生效。
多值列
分析型数据库有一个特殊的数据类型:多值列。
- 多值列可以存入String类型的多个值。在原始数据中多值列为一列用分隔符(默认为半角逗号,也可以建表时进行配置)分隔的String类型。
- 多值列数据存入分析型数据库后,可使用in, contains条件对该列的单个值进行查询,枚举查询后该列的每个值可像一个普通列一样进行各类操作。但是不允许在没有进行枚举查询时对该列直接select或在group by中使用该列。
多值列的通常使用场景:
已有一个实体属性表均为普通列并以实体编号为主键的情况下,需要新增一个用于进行实体筛选的属性,而这个属性和实体编号为多对多的对应关系,按照通常的做法,则新建一张该实体编号和属性两列的数据表,和原有的实体属性表进行Join操作查询。而使用多值列后,性能会被进行Join操作计算高数倍。
一个具体的例子如下:
一张用户表中已有用户id和性别、年龄、职业、籍贯的数据。
用户ID | 性别 | 年龄 | 职业 | 籍贯 |
---|---|---|---|---|
bigint | varchar | int | varchar | varchar |
而现在需要增加用户购买的商品品类的数据用于筛选,于是可以将这个商品的品类id存放在用户表的一个新增的多值列中使用。
用户ID | 性别 | 年龄 | 职业 | 籍贯 | 购买的商品品类ID |
---|---|---|---|---|---|
bigint | varchar | int | varchar | varchar | multivalue |
智能自动索引
分析型数据库拥有智能的自动索引创建机制。
通常情况下,分析型数据库会根据导入的数据的每一列分布情况自动为每一列创建符合该列情况的索引类型,无需用户指定创建索引或索引类型。
注:导入数据每一列分布情况如该列的枚举值数量的多少,该列的数据是连续或离散。
但是,如果用户认为某一列不需要进行筛选查询,可以指定该列不需要创建索引来节省数据存储空间。
注:0.9版本之前如果一个列需要作为表关联的hash 分区列,那么用户需要人工指定该列创建Hash索引。0.9版本已废弃Hash索引,可动态根据Join SQL进行优化,完全无需用户干预。
查询CBO优化
分析型数据库拥有高度智能的CBO(Cost-Based Optimization)优化策略。
在用户发起的一个Query达到分析型数据库后,分析型数据库会智能的判断该Query涉及的数据的分布情况、索引使用情况、缓存使用情况、Query条件分布等,进行逻辑和物理执行计划优化和重组,尽可能的以最优的路径执行Query查询。
因此大部分情况下用户无需关心Query的具体写法,只要保证语义正确即可。另外分析型数据库提供一些Hint参数,可以在Query时对执行计划进行部分调整,详见《用户指南》的《多计算引擎和Hint》章节。
最后更新:2016-12-06 11:56:38
上一篇:
2.2 数据类型支持__第二章 基本概念_使用手册_分析型数据库-阿里云
下一篇:
2.4 ECU详解__第二章 基本概念_使用手册_分析型数据库-阿里云
如何变更备案登录账号__备案基础介绍_备案须知_备案-阿里云
并发__操作指南_批量计算-阿里云
服务协议__产品概述_弹性 Web 托管-阿里云
HTTP协议Demo__高级课程_性能测试视频教程_性能测试-阿里云
性能数据分析__快速开始_移动数据分析-阿里云
金融云负载均衡开放哪些端口__常见问题_负载均衡-阿里云
平台概述__平台介绍_数加平台介绍-阿里云
如何获取耗时比较长的慢请求信息?__开发运维_技术运维问题_云数据库 MongoDB 版-阿里云
执行自动快照策略__快照相关接口_API 参考_云服务器 ECS-阿里云
创建编排模板__镜像与模板管理_用户指南_容器服务-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云