万字长文揭秘:阿里如何实现海量数据实时分析?(5)

每个列block可开启压缩。 [原文来自:www.11jj.com]

[转载出处:www.11jj.com]

行列混存存储相应的元数据包括:分区元数据,列元数据,列block元数据。其中分区元数据包含该分区总行数,单个block中的列行数等信息;列元数据包括该列值类型、整列的MAX/MIN值、NULL值数目、直方图信息等,用于加速查询;列block元数据包含该列在单个Row Group中对应的MAX/MIN/SUM、总条目数(COUNT)等信息,同样用于加速查询。

全索引计算

用户的复杂查询可能会涉及到各种不同的列,为了保证用户的复杂查询能够得到秒级响应,玄武存储引擎在行列混合存储的基础上,为基线数据(即历史数据)所有列都构建了索引。玄武会根据列的数据特征和空间消耗情况自动选择构建倒排索引、位图索引或区间树索引等,而用的最多的是倒排索引。

万字长文揭秘:阿里如何实现海量数据实时分析?(5)

如上图所示,在倒排索引中,每列的数值对应索引的key,该数值对应的行号对应索引的value,同时所有索引的key都会进行排序。依靠全列索引,交集、并集、差集等数据库基础操作可以高性能地完成。如下图所示,用户的一个复杂查询包含着对任意列的条件筛选。玄武会根据每个列的条件,去索引中筛选满足条件的行号,然后再将每列筛选出的行号,进行交、并、差操作,筛选出最终满足所有条件的行号。玄武会依据这些行号去访问实际的数据,并返回给用户。通常经过筛选后,满足条件的行数可能只占总行数的万分之一到十万分之一。因此,全列索引帮助玄武在执行查询请求的时候,大大减小需要实际遍历的行数,进而大幅提升查询性能,满足任意复杂查询秒级响应的需求。

万字长文揭秘:阿里如何实现海量数据实时分析?(5)

自媒体 微信号:11jj 扫描二维码关注公众号
爱八卦,爱爆料。

小编推荐

  1. 1

    数字易经0到9代表什么卦(数字易经测算)

    大家好,小伟今天来为大家解答数字易经0到9代表什么卦以下问题,数字易经测算很多人还不知道,现在让我们一起来看看吧!1、数字1代表坎水、数

  2. 2

    苹果手机呼叫转移怎么设置(苹果手机呼叫转移怎么设置无法接通)

    大家好,小乐今天来为大家解答苹果手机呼叫转移怎么设置以下问题,苹果手机呼叫转移怎么设置无法接通很多人还不知道,现在让我们一起来看看

  3. 3

    中国红十字会标志简笔画(中国红十字会标志简笔画)

    大家好,小豪今天来为大家解答中国红十字会标志简笔画以下问题,中国红十字会标志简笔画很多人还不知道,现在让我们一起来看看吧!1、保护性

  4. 4

    八年级下册语文书人教版电子书(八年级下册语文书人教版电子书2022)

    大家好,小美今天来为大家解答八年级下册语文书人教版电子书以下问题,八年级下册语文书人教版电子书2022很多人还不知道,现在让我们一起来看

  5. 5

    古伊尔(魔兽古伊尔)

    大家好,小丽今天来为大家解答古伊尔以下问题,魔兽古伊尔很多人还不知道,现在让我们一起来看看吧!1、古伊尔是魔兽世界里面部落的一个酋长

  6. 6

    唯一极值点问题

    在高档数学的进修中,我们经常会碰着独一驻点的问题,在非常宽松的前提下,这个独一的驻点也就是极值点。今天我们稍微改变一下前提,商量如

  7. 7

    三公九卿制是什么(三公九卿制是什么朝代的制度)

    大家好,小乐今天来为大家解答三公九卿制是什么以下问题,三公九卿制是什么朝代的制度很多人还不知道,现在让我们一起来看看吧!1、三公九卿

  8. 8

    订房网哪个平台好(订房什么网最便宜)

    大家好,小娟今天来为大家解答订房网哪个平台好以下问题,订房什么网最便宜很多人还不知道,现在让我们一起来看看吧!1、携程、美团、艺龙、

Copyright 2024.依依自媒体,让大家了解更多图文资讯!