论文摘抄 - Infobright

背景

论文 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类似元数据层。

架构和模块

架构图:

灰色部分是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设计上的核心。

全文完 :)

时间: 2024-11-02 13:36:59

论文摘抄 - Infobright的相关文章

论文摘抄 - Tenzing

本摘抄不保证论文完整性和理解准确性 背景 异构数据的适配及数据可扩展性,资源可扩展性,廉价机器,SQL查询. 架构概述 Worker pool,query server,clientinterfaces,metadata server Worker线程是long-running的,worker pool包括master节点和worker节点,以及一个master watcher. Query server把query解析,优化之后传给master执行,优化包括一些基本的规则优化和基于成本的优化.

论文摘抄 - FlumeJava

本摘抄不保证论文完整性和理解准确性  原始的MapReduce,分Map,Shuffle,Reduce.Map里包括shards.Shuffle理解为groupByKey的事情.Reduce里包括Combiner,可以定义Sharder来控制key怎么和Reducer worker对应起来. 核心抽象和基本原语 PCollection<T>是一个不可变的bag,可以是有序的(Sequence),也可以是无序的(Collection).PCollection可以来自于内存里的Java PColl

MySQL · 引擎特性 · Infobright 列存数据库

简介 系统架构 存储引擎 优化器和执行器 数据装载和卸载 领域知识 查询优化 简单场景的示例 小结 存储结构 Data Pack Knowledge Node 数据压缩 总结 简介 Infobright 是一个面向 OLAP 场景的开源列存数据库.比较容易找到代码的版本是 Infobright Community Edition 4.0.7,大概是 2006 年前后的代码.2016 年6 月,Infobright 决定停止开源1.由于它同时提供企业版和社区版,开源版本的功能相比企业版而言,肯定是

开源MySQL高效数据仓库解决方案:Infobright详细介绍_Mysql

Infobright是一款基于独特的专利知识网格技术的列式数据库.Infobright是开源的MySQL数据仓库解决方案,引入了列存储方案,高强度的数据压缩,优化的统计计算(类似sum/avg/group by之类),infobright 是基于mysql的,但不装mysql亦可,因为它本身就自带了一个.mysql可以粗分为逻辑层和物理存储引擎,infobright主要实现的就是一个存储引擎,但因为它自身存储逻辑跟关系型数据库根本不同,所以,它不能像InnoDB那样直接作为插件挂接到mysql,

MySQL数据仓库解决方案 Infobright 详解

Infobright是一款基于独特的专利知识网格技术的列式数据库.Infobright是开源的MySQL数据仓库解决方案,引入了列存储方案,高强度的数据压缩,优化的统计计算(类似sum/avg/group by之类),infobright 是基于mysql的,但不装mysql亦可,因为它本身就自带了一个.mysql可以粗分为逻辑层和物理存储引擎,infobright主要实现的就是一个存储引擎,但因为它自身存储逻辑跟关系型数据库根本不同,所以,它不能像InnoDB那样直接作为插件挂接到mysql,

Win7数学面板来帮忙理科论文

  又是一年毕业季,又有一批莘莘学子要离开大学一个象牙塔.我们别离昨天,拥抱明天,要说毕业之前最重要的莫过于毕业论文的书写了,不仅格式要求严格,字数众多,对于理科生来讲,论文中的公式书写可以说让大家大呼"伤不起".写起论文来说真是费时费力,为此同学们可谓八仙 --各显神通,可能很多朋友都没有想过其实win7中的自带软件也可以达到相同的效果,这就今天的主角数学输入面板. 首先我们需要一台预装有正版win7操作系统的电脑,单击"开始"按钮在开始菜单的搜索输入框中输入&q

opencv3. 1鱼眼镜头畸变模型依据的是哪篇论文? 想找到看看原型

问题描述 opencv3. 1鱼眼镜头畸变模型依据的是哪篇论文? 想找到看看原型 opencv3. 1鱼眼镜头畸变模型依据的是哪篇论文? 想找到看看原型

Web基础架构设计原则经典论文《架构风格与基于网络的软件架构设计》导读

1. 概述 Roy Fielding博士(见个人主页)是IETF发布的HTTP和URI协议的主要设计者.HTTP和URI是两个最为重要的Web基础技术架构协议,因此Fielding博士可谓是Web架构的奠基者之一. 除了学术上的卓越成就之外,Fielding博士还参与过很多开源软件的设计和开发工作.他是libwww-perl(世界上最早的HTTP开发库之一)的开发者,曾经负责Apache HTTP服务器中与HTTP.URI协议相关部分代码的开发.Fielding博士还指导过很多其他团队在HTTP

轻轻松松写论文 快快乐乐拿学位

现在正是大学毕业生完成毕业设计.撰写毕业论文的时候,大家往往要苦熬一个多月才能完成自己的 毕业论文.现在大家主要都是用Microsoft Word来编辑论文(不论各位用哪个版本,基本功能都是一致 的,以下简称Word).如果不能充分Word的一些强大功能,大家在撰写和编辑较长篇幅的科技论文的时 候,可能经常要为不断地调整格式而烦恼.在这里我把自己以前使用Word的经验和教训总结一下,以求 抛砖引玉. 一篇论文应该包括两个层次的含义:内容与表现,内容是指文章作者用来表达自己思想的 文字.图片.表格