码迷,mamicode.com
首页 > 其他好文 > 详细

论文摘抄 - Infobright

时间:2014-08-14 23:53:56      阅读:465      评论:0      收藏:0      [点我收藏+]

标签:数据仓库   列存储   知识网格   

背景

论文 Brighthouse: AnAnalytic Data Warehouse for Ad-hoc Queries,VLDB 2008

 

brighthouse是一个面向列的数据仓库,在列存储和压缩数据方面,数据压缩比达到10:1。其核心Knowledge Grid(知识网格)层,即一个能自动调节、所存出具特别小的元数据层,替代了索引的功能,提供了数据过滤、统计信息表达、实际数据位置信息等内容,让brighthouse可以作为一个分析型的数据仓库,,达到ad-hoc查询的速度。Knowledge Grid层介入的是query优化和执行阶段,减少数据读入量和解压缩开销。

 

这篇论文中的brighthouse就是商业数据仓库infobright。


介绍

面向列的架构比较适合分析型数据仓库,面向行的架构比较适合OLTP系统。brighthouse是面向列的。

 

Knowledge Gird是一个data about data的思路,提供一些类似数据的统计信息,来帮助query优化和执行阶段取得想要的数据,这是brighthouse设计最核心的部分。从层次上说,介于query优化、执行层和数据(压缩)存储层之间。而且Knowledge Grid存储的元数据非常小,完全可以存在内存里。

 

Knowledge Grid由Knowledge Nodes组成,每个Node上记录了压缩数据的元数据信息,这些实际数据存储在Data Packs里,数据量比较庞大,是按列存的,不做分区(这部分信息由Knowledge Node维护),且压缩过。所以Data Packs相当于代表了brighthouse的数据存储模型,而Knowledge Grid类似元数据层。


架构和模块

架构图:

bubuko.com,布布扣

灰色部分是mysql原有的模块,白色与蓝色部分则是 infobright自身的。

跟mysql一样的两层结构,上面的逻辑层处理查询逻辑,下面的是存储引擎。

通过这张图主要说明几个部分,数据导入导出、DataPack、Knowledge Grid、优化和执行。

 

逻辑层右端的loader与unloader是infobright的数据导入导出模块,是一个独立的服务。

 

存储层最底层是Data Pack。每一个Pack装着某一列的64K个元素,所有数据按照这样的形式打包存储,DataPack根据不同数据类型采用不同的压缩算法,压缩比很高。


Knowledge Grid里面包含两类结点:

每个Data Pack Node对应一个Data Pack,存储一些统计信息,如min, max, avg, null的个数,总个数等;

Knowledge Node存储了一些更高级的统计信息,以及与其它表的连接信息,这里面的信息有些是数据载入时已经算好的,有些是随着查询进行而计算的,所以说是带自动化的。

 

Knowledge Grid里面还存了这样几种数据信息。

1.  Histograms(HISTS),为数字型的列创建的柱状图。以二进制的方式存。

2.  Character Maps(CMAPS),为字母型的列创建的信息,比如String里面各个字母出现的情况。

3.  Pack-to-Packs,这部分是为join型的操作准备的,关联了两张table的某条件下两个column值。

应用方面,

HISTS适合between语句,因为柱状图表达了最大,最小,range内分别的信息。

CMAPS适合LIKE语句,因为是和字母相关的。

Pack-to-Packs适合join操作,为join操作提供适合条件的对应table的Row编号。

以上大致说明了几张数据统计信息表示和适合的场景。

 

query优化和执行方面,参考了粗糙集的思路来设计,把数据分为相关,不相关,怀疑三种类型,对应正向region,负向region和boundary region。

 

总结

Infobright作为开源的MySQL数据仓库解决方案,引入了列存储方案,高强度的数据压缩,优化的统计计算等内容,本文是摘抄了infobright论文里最重要的设计点,KnowledgeGird是infobright设计上的核心。



全文完 :)

论文摘抄 - Infobright,布布扣,bubuko.com

论文摘抄 - Infobright

标签:数据仓库   列存储   知识网格   

原文地址:http://blog.csdn.net/pelick/article/details/38568963

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!