`

Infobright数据库查询优化

 
阅读更多



 

(1)配置环境

在Linux下面,Infobright环境的配置可以根据README里的要求,配置brighthouse.ini文件。

 

(2) 选取高效的数据类型

 

(3)使用comment lookup

comment lookup只能显式地使用在char或者varchar上面。Comment Lookup可以减少存储空间,提高压缩率,对char和varchar字段采用comment lookup可以提高查询效率。

Comment Lookup实现机制很像位图索引,实现上利用简短的数值类型替代char字段已取得更好的查询性能和压缩比率。CommentLookup的使用除了对 数据类型有要求,对数据也有一定的要求。一般要求数据类别的总数小于10000并且当前列的单元数量/类别数量大于10。Comment Lookup比较适合年龄,性别,省份这一类型的字段。

comment lookup使用很简单,在创建数据库表的时候如下定义即可:

act   char(15)   comment 'lookup',

part  char(4) comment 'lookup',

 

(4)尽量有序地导入数据

前面分析过Infobright的构架,每一列分成n个DP,每个DPN列面存储着DP的一些统计信息。有序地导入数据能够使不同的DP的DPN内 的数据差异化更明显。比如按时间date顺序导入数据,那么前一个DP的max(date)<=下一个DP的min(date),查询的时候就能够 减少可疑DP,提高查询性能。换句话说,有序地导入数据就是使DP内部数据更加集中,而不再那么分散。

 

(5)使用高效的查询语句。

这里涉及的内容比较多了,总结如下:

尽量不适用or,可以采用in或者union取而代之

减少IO操作,原因是infobright里面数据是压缩的,解压缩的过程要消耗很多的时间。

查询的时候尽量条件选择差异化更明显的语句

Select中尽量使用where中出现的字段。原因是Infobright按照列处理的,每一列都是单独处理的。所以避免使用where中未出现的字段可以得到较好的性能。

限制在结果中的表的数量,也就是限制select中出现表的数量。

尽量使用独立的子查询和join操作代替非独立的子查询

尽量不在where里面使用MySQL函数和类型转换符

尽量避免会使用MySQL优化器的查询操作

使用跨越Infobright表和MySQL表的查询操作

尽量不在group by 里或者子查询里面使用数学操作,如sum(a*b)。

select里面尽量剔除不要的字段。

Infobright执行查询语句的时候,大部分的时间都是花在优化阶段。Infobright优化器虽然已经很强大,但是编写查询语句的时候很多的细节问题还是需要程序员注意。

 

原文:http://blog.chinaunix.net/u2/72637/showart_2306114.html

  • 大小: 16.6 KB
分享到:
评论

相关推荐

    infobright.7z

    综上所述,"infobright.7z"包含了Infobright数据库的相关资源,使用这些资源需要了解列式存储的优势、数据库的安装配置、查询优化、安全设置、监控维护以及备份恢复等多个方面的知识。对于需要处理大数据分析的企业...

    mysql.rar_infobright

    3. 在目标环境中准备Infobright数据库,确保所有必要的组件和依赖项已安装。 4. 执行数据迁移,可能涉及到数据清洗、转换和加载。 5. 测试迁移后的数据,确保数据的完整性和一致性。 6. 配置和优化Infobright实例以...

    infobright-rpm.zip

    在本例中,“infobright-rpm.zip”是一个包含了Infobright数据库相关RPM软件包的压缩文件,具体为“infobright-4.0.7-0-x86_64-ice.rpm”。 Infobright的核心技术是其专利的压缩算法——Brighthouse Storage Engine...

    infobright最新安装包.zip

    3. **安装Infobright**: 执行以下命令来安装Infobright数据库服务器: ``` sudo rpm -Uvh infobright-4.0.7-0-x86_64-ice.rpm ``` 4. **配置Infobright**: 安装完成后,你需要配置Infobright的配置文件,通常...

    infobright珍贵资料(官方)

    5. **自动优化**:Infobright具备自动优化功能,能够根据数据分布和查询模式自动调整数据存储和查询策略,无需人工干预,简化了数据库管理。 6. **SQL兼容性**:Infobright支持SQL接口,使得用户能够使用标准SQL...

    infobright-社区版.zip

    与传统的行式数据库不同,列式存储允许快速查询特定列,大大提高了数据分析的速度。此外,Infobright还采用了数据压缩技术,可以显著减少存储空间,同时保持高查询效率。 该压缩包中的主要文件"infobright-4.0.7-0-...

    Infobright原理

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

    infobright4.0.7-win.zip

    通过阅读这些资源,用户可以学习如何创建数据库、导入数据、优化查询性能以及如何进行日常维护。 总的来说,Infobright 4.0.7是一个专为大数据分析设计的高性能数据库系统,适用于Windows环境。其独特的列式存储和...

    Ubuntu安装Infobright及主从同步

    **Ubuntu安装Infobright及主从同步** Infobright是一款开源的企业级数据仓库系统,以其高效...通过文档《infobright双机热备.doc》可以获取更详细的指导和最佳实践,以确保你的Infobright数据库系统稳定、高效地运行。

    列数据库的SQL查询语句编译与优化.pdf

    数据库优化通常包括两个层面:前端的查询优化和后端的底层优化。当前,大多数列数据库的优化工作主要集中在底层存储层次或执行层次。例如,通过改进列的存储格式、压缩技术或者并行计算算法来提升性能。然而,对于...

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

    标题"infobright-4.0.7-0-src-ice.tar.gz"指的是Infobright数据库的4.0.7版本的源代码压缩包,其中“-src”表示这是源代码版本,而非编译后的二进制文件。“ice”可能是特定分支或特性的标识,但具体含义可能需要...

    infobright for windows 64 数据仓库

    3. **智能查询优化**:Infobright的查询引擎能够自动识别并优化查询路径,减少不必要的计算和I/O操作。 4. **高速数据加载**:Infobright支持批量数据导入,能快速处理大量数据的加载,缩短数据准备时间。 5. **...

    infobright-4.0.7-0-x86_64-ice.rpm

    其次,系统资源,尤其是内存,应该足够应对预期的负载,因为Infobright在运行时需要大量内存来优化查询性能。此外,你需要规划好数据存储和备份策略,确保数据安全和高可用性。 Infobright提供了SQL接口,使得用户...

    安装infobright

    这个命令将打开一个客户端,让你能够与Infobright数据库进行交互。 8. 最后,为了允许局域网内的其他机器访问Infobright,你需要授予相应的权限。在MySQL命令行中输入`GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' ...

    infobright包

    大数据量存储主要依赖自己提供的高速数据加载工具(百G/小时)和高数据压缩比(&gt;10:1),高效查询主要依赖特殊设计的存储结构对查询的优化,但这里优化的效果还取决于数据库结构和查询语句的设计。 2. 高数据压缩比...

    infobright for windows 32 数据仓库

    5. **查询优化**:Infobright内置了智能查询优化器,能够自动识别并优化查询路径,确保在处理复杂查询时也能保持高速度。这对于大数据分析场景至关重要。 6. **扩展性**:Infobright支持水平扩展,通过添加更多的...

    infobright.rar

    Infobright是一款高效的数据仓库解决方案,它以列式存储的方式优化了大数据分析性能。...通过理解和应用Infobright的列式存储、并行处理和优化查询等特性,企业可以更好地挖掘数据价值,驱动业务决策。

    列式数据库的研究.pdf

    2006年,Sybase IQ 12.7 正式推出,增加 OLAP 函数,优化了子查询的性能,使得整个数据库的分析查询能力大幅提高。2009年,IQ 15 提供了全新的并发查询架构,适应了多核技术;同时通过信息生命周期管理提高了海量数据...

Global site tag (gtag.js) - Google Analytics