`
lt200819
  • 浏览: 188917 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Infobright构架分析

 
阅读更多

Infobright的总体构架图如下:

  Infobright框架图

  如上图所示,Infobright采用了和MySQL一致的构架,分为两层。上层是服务及应用管理,下层是存储引擎。Infobright的默认存储引擎是brighthouse,但是Infobright还可以支持其他的存储引擎,比如MyISAM、MRG_MyISAM、Memory、CSV。Infobright通过三层来组织数据,分别是DP(Data Pack)、DPN(Data Pack Node)、KN(Knowledge Node)。而在这三层之上就是无比强大的知识网络(Knowledge Grid)。

  数据块(DP)是存储的最低层,列中每64K个单元组成一个DP。DP比列更小,具有更好的压缩比率;又比单个数据单元更大,具有更好的查询性能。

  数据块节点(DPN),DPN和DP之间是一对一的关系。DPN记录着每一个DP里面存储和压缩的一些统计数据,包括最大值、最小值、null的个数、单元总数count、sum等等。

  KN里面存储着指向DP之间或者列之间关系的一些元数据集合,比如值发生的范围(MIin_Max)、列数据之间的关联。大部分的KN数据是装载数据的时候产生的,另外一些事是查询的时候产生。

  在这三层之上是知识网络(Knowledge Grid),Knowledge Grid构架是Infobright高性能的重要原因。

 

  

  Knowledge Grid可分为四部分,DPN、Histogram、CMAP、P-2-P。

  DPN如上所述。Histogram用来提高数字类型(比如date,time,decimal)的查询的性能。Histogram是装载数据的时候就产生的。DPN中有mix、max,Histogram中把Min-Max分成1024段,如果Mix_Max范围小于1024的话,每一段就是就是一个单独的值。这个时候KN就是一个数值是否在当前段的二进制表示。

  

 

  Histogram的作用就是快速判断当前DP是否满足查询条件。如上图所示,比如select id from customerInfo where id>50 and id<70。那么很容易就可以得到当前DP不满足条件。所以Histogram对于那种数字限定的查询能够很有效地减少查询DP的数量。

 

  CMAP是针对于文本类型的查询,也是装载数据的时候就产生的。CMAP是统计当前DP内,ASCII在1-64位置出现的情况。如下图所示

  

  比如上面的图说明了A在文本的第二个、第三个、第四个位置从来没有出现过。0表示没有出现,1表示出现过。查询中文本的比较归根究底还是按照字节进行比较,所以根据CMAP能够很好地提高文本查询的性能。

 

  Pack-To-Pack是Join操作的时候产生的,它是表示join的两个DP中操作的两个列之间关系的位图,也就是二进制表示的矩阵。

  Knowledge Grid还是比较复杂的,里面还有很多细节的东西,可以参考官方的白皮书和Brighthouse: an analytic data warehouse for ad-hoc queries这篇论文。

转自:http://www.cnblogs.com/inmanhust/archive/2010/05/07/Inmanhust.html

分享到:
评论

相关推荐

    infobright-社区版.zip

    Infobright是一款高效、高性能的开源数据仓库系统,专门设计用于大数据分析。社区版是Infobright提供的免费版本,让开发者和小型企业有机会体验其强大的分析能力。在本压缩包"infobright-社区版.zip"中,包含了...

    mysql.rar_infobright

    Infobright是MySQL的一个分支,专为大数据分析而设计,尤其擅长处理大规模的数据仓库任务。Infobright强调的是高速的数据加载、低存储占用以及快速的查询性能。 Infobright的核心特性包括: 1. **列式存储**:与...

    infobright最新安装包.zip

    Infobright是一款开源的数据仓库系统,专为大数据分析设计,具有高效能、高并发和低存储成本的特点。本文将详细解析Infobright的核心技术、安装过程以及如何利用Infobright-4.0.7-0-x86_64-ice.rpm安装包进行部署。 ...

    infobright

    infobright-4.0.7,32位系统,32位。

    infobright珍贵资料(官方)

    Infobright是一款高效的数据仓库解决方案,它以列式存储为主,特别适合大数据分析场景。这款数据库系统被设计用于处理大规模的结构化数据,提供快速的查询性能和低存储成本。结合MySQL,它能够为用户提供一个全面的...

    Infobright原理

    Infobright是一款高性能的列式数据库系统,尤其适合大数据分析场景。其核心优势在于其独特的数据存储和查询优化机制,这使得它在处理大规模数据分析时能展现出极高的性能。 Infobright的架构基于MySQL,但采用了...

    infobright4.0.7-win.zip

    Infobright是一款高效、轻量级的开源数据仓库解决方案,主要设计用于大数据分析。这款数据库管理系统以其出色的查询性能和极低的存储需求而受到关注。标题中的"infobright4.0.7-win.zip"表明这是一个针对Windows操作...

    infobright for windows 64 数据仓库

    在Windows 64位操作系统环境下,Infobright提供了强大的分析性能和快速的数据加载能力。标题中的"infobright for windows 64 数据仓库"指的是适用于64位Windows系统的Infobright数据仓库软件,该版本特别优化了在...

    infobright-4.0.7-0-x86_64-ice.rpm

    Infobright是一款高效的数据仓库解决方案,专为大数据分析设计。这款产品以其优秀的性能、低存储成本和快速查询能力而闻名。在你提供的信息中,“infobright-4.0.7-0-x86_64-ice.rpm”是Infobright的一个特定版本,...

    Ubuntu安装Infobright及主从同步

    Infobright是基于MySQL的一个分支,专注于大数据分析,特别适合处理PB级别的数据。它的核心特性包括高度压缩的数据存储、列式存储以及优化的查询引擎。这使得Infobright在处理大数据时能提供出色的性能。 在Ubuntu...

    infobright包

    Infobright最近有部分工作涉及到了 Infobright 数据仓库,就浏览了一些相关的资料,感觉很受启发。下面写一些感想,如有谬误,还请指正。 简单的来讲,Infobright 主要有下面的一些优点: 1. TB 级的数据存储和...

    infobright.7z

    Infobright是一款高性能、列式存储的开源数据库系统,主要用于大数据分析和数据仓库应用。它在处理大量结构化数据时表现出色,尤其在读取密集型任务中,因其优化的查询性能而备受赞誉。Infobright的核心优势在于其...

    infobright-rpm.zip

    Infobright是一款高效、开源的数据仓库系统,专为大规模数据集的分析而设计。RPM(Red Hat Package Manager)是Linux系统中广泛使用的软件包管理器,用于安装、升级、查询和卸载软件。在本例中,“infobright-rpm....

    infobright-4.0.7-0-x86_64-ice.zip

    infobright-4.0.7-0-x86_64-ice.rpm infobright社区版,本来就是开源的东西,还要资源分,没办法了,只能选最低2分, csdn禁止重复上传,于是采用了压缩包加密上传,zip解压,密码是2CcMBzP8,云盘分享:htt去ps://...

    infobright-4.0.7-0-src-ice.tar.gz

    Infobright是一款高性能、列式存储的开源数据库系统,专为大数据分析而设计。这款数据库在处理大规模数据仓库时表现出色,尤其在读取密集型应用中,由于其列式存储方式,能实现快速的数据扫描和分析。Infobright的...

    infobright for windows 32 数据仓库

    Infobright是一款高效的数据仓库解决方案,特别针对大数据分析和处理进行了优化。在Windows 32位平台上,Infobright提供了一种快速安装的途径,使得企业在处理海量数据时能够享受到其强大的性能。在这个"infobright ...

    安装infobright

    Infobright是一款高效的数据仓库系统,它以列式存储的方式设计,特别适合处理大量数据分析任务。列式存储的优势在于,对于查询操作,尤其是涉及多列的聚合查询,它能显著提高查询速度,因为只需读取所需列的数据,而...

Global site tag (gtag.js) - Google Analytics