为什么MaxCompute采用列式存储?列式存储和行式存储的主要区别在哪

摘要: 1 为什么要按列存储 列式存储(Columnar or column-based)是相对于传统关系型数据库的行式存储(Row-basedstorage)来说的。简单来说两者的区别就是如何组织表(翻译不好,直接抄原文了): Ø Row-based storage stores atable in a sequence of rows. Ø Column-based storage storesa table in a sequence of columns. 下面来看一个例子: 从上图可以很清楚地看到,行式存储下一张表的数据都是放在一起的,但列式存储下都被分开保存了。

点此查看原文: http://click.aliyun.com/m/41691/

1 为什么要按列存储
列式存储(Columnar or column-based)是相对于传统关系型数据库的行式存储(Row-basedstorage)来说的。简单来说两者的区别就是如何组织表(翻译不好,直接抄原文了):
Ø  Row-based storage stores atable in a sequence of rows.
Ø  Column-based storage storesa table in a sequence of columns.
 
下面来看一个例子:
 

从上图可以很清楚地看到,行式存储下一张表的数据都是放在一起的,但列式存储下都被分开保存了。所以它们就有了如下这些优缺点:
  行式存储 列式存储
优点 Ø 数据被保存在一起
Ø INSERT/UPDATE容易
Ø 查询时只有涉及到的列会被读取
Ø 投影(projection)很高效
Ø 任何列都能作为索引
缺点 Ø 选择(Selection)时即使只涉及某几列,所有数据也都会被读取 Ø 选择完成时,被选择的列要重新组装
Ø INSERT/UPDATE比较麻烦
注:关系型数据库理论回顾 - 选择(Selection)和投影(Projection)


2数据压缩
刚才其实跳过了资料里提到的另一种技术:通过字典表压缩数据。为了方面后面的讲解,这部分也顺带提一下了。
下面中才是那张表本来的样子。经过字典表进行数据压缩后,表中的字符串才都变成数字了。正因为每个字符串在字典表里只出现一次了,所以达到了压缩的目的(有点像规范化和非规范化Normalize和Denomalize)

3查询执行性能

下面就是最牛的图了,通过一条查询的执行过程说明列式存储(以及数据压缩)的优点:


关键步骤如下:
1.     去字典表里找到字符串对应数字(只进行一次字符串比较)。
2.     用数字去列表里匹配,匹配上的位置设为1。
3.     把不同列的匹配结果进行位运算得到符合所有条件的记录下标。
4.     使用这个下标组装出最终的结果集。


扫描二维码获取更多消息:


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522758.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hive精华问答 | Hive和传统数据库有什么不同?

Hive是一个数据仓库基础工具,它是建立在Hadoop之上的数据仓库,在某种程度上可以把它看做用户编程接口(API),本身也并不存储和处理数据,依赖于HDFS存储数据,依赖MR处理数据。它提供了一系列对数据…

MaxCompute SQL原理解析及性能调优

摘要: 分享内容 介绍了ODPS SQL的基于mapreduce是如何实现的及一些使用小技巧,回顾了mapreduce各个阶段可能产生的问题及相应的处理方法,同时介绍了一些应对数据倾斜的处理方法,最后介绍了一些关于数据集构造、特征选择的技巧帮助…

flowable用户组的处理

背景 flowable有自己的用户账号信息,用户信息,用户组信息,其实这些用户信息都我们系统可能都存在,那么我们如何去使用一份数据呢? 1.我们可以建立视图直接取我们的组织信息,这个可以参考相关的文档 2.我们…

微软 SQL Server 2019 将免费支持 Java;Rancher Labs获2500万美元融资;腾讯云进军日本市场……...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go “2019世界计算机大会”新闻…

玩 High API 系列之:实现钉钉Ding功能

摘要: 钉钉是企业IM市场上的领先者,深受中小企业客户的喜欢,就再几天前刚刚宣布用户数超过1亿!在钉钉里面有个特别实用的功能,那就是Ding一下,如果你发的消息特别紧急,可以直接通过短信、电话等…

flowable中动态显示节点的审批人信息

1、上面的流程图当任务还没有到的节点,用户想看看节点的人的信息,如果我们常规的是不能实现的。 2、思路就是我们取出节点的表达式,然后用我们流程实例的变量来给他翻译出来即可,如何做呢? 2.1、通过流程实例id查出历…

InfoComm China 2019,揭秘“NVIDIA风格”数据科学!

戳蓝字“CSDN云计算”关注我们哦!作者|刘晶晶在炫酷的复联4电影中,超过2600个特效镜头层出不穷,意味着电影的后期剪辑与特效对于硬件设备的要求越发提高,毕竟特效制作着力依赖画面渲染。我们了解,在没有GPU之前&#x…

玩 High API 系列之:智能云相册

摘要: 相册是手机中的一个非常重要的功能,然而目前的大部分手机的相册非常普通,仅仅有查看照片,编辑相片的等几个简单功能。我们来看看如果在API时代,如何通过调用API快速实现一个好玩的,具备智能分析识别、…

玩 High API 系列好文:UGC内容检测、视频智能、拍照翻译、懂天气的草地喷水头...

摘要:玩 High API 系列好文:UGC内容检测、视频智能、拍照翻译、懂天气的草地喷水头 导读:初创公司可以利用API来解决问题。了解更多场景如何玩High API?如何将API变现?请下载阿里云 API Playbook(免费下载&…

java项目功能详情介绍,JAVAEE—spring的详细介绍

一、spring介绍1.三层架构中spring位置2.spring一站式框架正是因为spring框架性质是属于容器性质的.容器中装什么对象就有什么功能.所以可以一站式.不仅不排斥其他框架,还能帮其他框架管理对象.aop支持、ioc思想、spring jdbc、aop 事务、junit 测试支持二、spring搭建1.导包日…

乘势而起,走进2019年风口“边缘计算”

戳蓝字“CSDN云计算”关注我们哦!作者| pasca原创 | 蛋蛋团(ID:dandan_tuan)5G火了,也带火了边缘计算。2019年3月,一篇《5G风口扩散,超清视频边缘计算概念崛起》的文章意外走红,直接…

详解SLB、EIP、NAT网关之间区别, 合理选择云上公网入口

摘要: 概述 阿里云的公网入口产品共有三个,SLB、EIP、NAT网关,这几个产品都可以作为云上资源的公网入口,他们之间有何区别,又分别应该在什么场景下使用呢? 点此查看原文:http://click.aliyun.co…

Hadoop常见问题 | Hadoop能干什么?

戳蓝字“CSDN云计算”关注我们哦!我们很荣幸能够见证Hadoop十几年间经历了从无到有,再到称王。感动于技术的日新月异时,希望通过本篇有问有答,带大家解决Hadoop的常见问题。1Q: Hadoop 的发展历史A:2Q&…

matlab 导入元胞,MATLAB导入xls文件以及cell的使用方法

使用matlab读入.xls的文件时候可以用[T,TXT,RAW]xlsread("filename.xls")导入也可以使用import data 的办法手动导入文件。但是我比较倾向于自动化程度比较高的前者,毕竟有时候导入的文件数量是几百个手动导入不科学。xlsread返回的参数有三个&#xff0c…

uDevice Center - IoT弹性在线多设备开发平台

摘要: IoT开发的一大痛点在于:硬件获取与setup路径太长;开发工具难以支持多设备联合开发。我们用uDevice Center把开发板/设备都搬到了线上,让用户可以不用买硬件接线,在线就能做IoT开发调试了。同时,uDevi…

快报:Python 被爆重大“黑料”!程序员:劲爆!

坐拥各大编程排行榜的Python,真的无敌了吗?在我一个朋友看来,他坚信 Python 可以做任何事情。但其实我是不服的,我相信很多人都有这种感觉。但是我最近当看 GitHub 年度项目数量时,我哭了,因为 Python 应用…

SpringBoot集成flowable-modeler(6.4.1) 实现免登

因公司需求需要将flowable的流程设计器集成到项目中,下面将最近的研究成果记录一下。 文章目录一、下载flowable-modeler源码二、添加相关maven包三、调用idm服务重新接口四、配置类五、启动类跳过登陆拦截六、配置文件一、下载flowable-modeler源码 把flowable-ui…

时代在召唤5G

戳蓝字“CSDN云计算”关注我们哦!作者| 白告天原创 |边缘计算社区错过房价飞涨的年代,你还要错过5G这班车吗?一 5G是什么?5G,就是第五代移动通信技术。和大哥大变成智能手机,绿皮火车变成和谐号都是一种大幅…

jboss连接池,断开后自动重连功能

最近客户现场的测试环境连的数据库极不稳定,经常会出现需要重新启动数据库的情况, 但是一旦重启数据库 则会出现 提示 ,执行sql错误,原因就是datasource 没有获取新的连接! 那么解决办法就是怎样让jboss每次提供连接的时候都给我们…

API信息全掌控,方便你的日志管理——阿里云推出API网关打通日志服务

摘要: 近日,阿里云API网关对接了日志服务,可以输出用户在API网关产生的API调用日志,目前支持将 API 接入 API 网关的用户查看日志明细、概况、报表分析、在线查询等。 访问日志(Acccess Log)是由应用服务生…