前面已经分析了Infobright的构架,简要介绍了Infobright的压缩过程和工作原理。现在来讨论查询优化的问题。
(1)配置环境
在Linux下面,Infobright环境的配置可以根据README里的要求,配置brighthouse.ini文件。
(2) 选取高效的数据类型
参见前面章节。
(3)使用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://www.cnblogs.com/inmanhust/archive/2010/05/08/1730459.html
相关推荐
此外,Infobright还采用了数据压缩技术,可以显著减少存储空间,同时保持高查询效率。 该压缩包中的主要文件"infobright-4.0.7-0-x86_64-ice.rpm"是一个RPM(Red Hat Package Manager)包,它是Linux发行版中最常见...
其核心优势在于其独特的数据存储和查询优化机制,这使得它在处理大规模数据分析时能展现出极高的性能。 Infobright的架构基于MySQL,但采用了专门设计的存储引擎——Brighthouse。这个引擎支持多种存储引擎,如...
3. **优化的查询引擎**:Infobright的查询引擎针对分析查询进行了优化,能够快速处理复杂的SQL查询,尤其是在数据仓库场景下。 4. **无索引设计**:Infobright在设计上不依赖于传统的B树索引,而是依赖于数据本身的...
此外,Infobright采用列式存储,针对分析查询优化,对于读取大量数据的SQL查询有显著优势。系统还支持分布式计算,通过并行处理提高数据处理速度。 Infobright-4.0.7是该软件的一个版本,提供了增强的性能和稳定性...
5. **自动优化**:Infobright具备自动优化功能,能够根据数据分布和查询模式自动调整数据存储和查询策略,无需人工干预,简化了数据库管理。 6. **SQL兼容性**:Infobright支持SQL接口,使得用户能够使用标准SQL...
通过阅读这些资源,用户可以学习如何创建数据库、导入数据、优化查询性能以及如何进行日常维护。 总的来说,Infobright 4.0.7是一个专为大数据分析设计的高性能数据库系统,适用于Windows环境。其独特的列式存储和...
3. **智能查询优化**:Infobright的查询引擎能够自动识别并优化查询路径,减少不必要的计算和I/O操作。 4. **高速数据加载**:Infobright支持批量数据导入,能快速处理大量数据的加载,缩短数据准备时间。 5. **...
其次,系统资源,尤其是内存,应该足够应对预期的负载,因为Infobright在运行时需要大量内存来优化查询性能。此外,你需要规划好数据存储和备份策略,确保数据安全和高可用性。 Infobright提供了SQL接口,使得用户...
3. **查询优化**:利用Infobright的列式存储和查询优化器,可以编写高效的SQL查询。理解JOIN操作、索引使用以及预计算视图等概念有助于提升查询性能。 4. **安全性**:Infobright提供了用户权限管理、角色定义以及...
它的核心特性包括高度压缩的数据存储、列式存储以及优化的查询引擎。这使得Infobright在处理大数据时能提供出色的性能。 在Ubuntu上安装Infobright的第一步是确保系统满足必要的依赖。Ubuntu通常会提供MySQL的存储...
大数据量存储主要依赖自己提供的高速数据加载工具(百G/小时)和高数据压缩比(>10:1),高效查询主要依赖特殊设计的存储结构对查询的优化,但这里优化的效果还取决于数据库结构和查询语句的设计。 2. 高数据压缩比...
5. **查询优化**:Infobright内置了智能查询优化器,能够自动识别并优化查询路径,确保在处理复杂查询时也能保持高速度。这对于大数据分析场景至关重要。 6. **扩展性**:Infobright支持水平扩展,通过添加更多的...
Infobright的核心优势在于其优化的查询处理和压缩算法,使得在处理大量数据时,能够显著降低存储需求并提升查询效率。 标题"infobright-4.0.7-0-src-ice.tar.gz"指的是Infobright数据库的4.0.7版本的源代码压缩包,...
在4.0.7这个版本中,可能包含了性能优化、bug修复以及对硬件和操作系统平台的支持。 安装Infobright RPM软件包的步骤通常包括以下几步: 1. 首先,你需要解压“infobright-rpm.zip”文件,这可以通过常见的压缩...
Infobright是一款高效的数据仓库解决方案,它以列式存储的方式优化了大数据分析性能。...通过理解和应用Infobright的列式存储、并行处理和优化查询等特性,企业可以更好地挖掘数据价值,驱动业务决策。
总的来说,Infobright的安装是一个相对直接的过程,但正确配置和优化以满足特定业务需求则需要对系统和数据库管理有一定的了解。安装完成后,你可以利用其强大的列式存储能力,快速处理大规模的数据分析任务。
1. **I/O带宽利用优化**:在执行查询时,列数据库只需要读取与查询相关的列数据,而不是整个表的数据。这意味着对于只涉及表中少数几个字段的查询,可以显著减少I/O操作,进而大幅度节约I/O带宽。 2. **并行性开发*...