开源MySQL高效数据仓库解决方案:Infobright详细介绍
2019-01-05 09:58:50 来源:易采站长站 作者:刘景俊
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里面尽量剔除不要的字段。 避免使用select * from table 避免使用union all 尽量使用系统提供的函数Infobright执行查询语句的时候,大部分的时间都是花在优化阶段。Infobright优化器虽然已经很强大,但是编写查询语句的时候很多的细节问题还是需要程序员注意。
Infobright导入工具
Insert MySQL 导入工具 (@bh_dataformat='mysql') ETL工具:http://www.infobright.org/Downloads/Contributed‐Software/ Infobright 自身的导入工:CSV格式(@bh_dataformat='txt_variable'),二进制格式(@bh_dataformat='binary') DLP 分布式导入工具(1.6TB/小时)参考链接:
infobright商业网站:http://www.infobright.com/ infobright社区交流网站:http://www.infobright.org/ mysql对infobright的介绍:http://dev.mysql.com/tech-resources/articles/datawarehousing_mysql_infobright.html 关于infobright的介绍视频:http://www.infobright.com/Resource-Library/Webcasts-Podcasts/?infobright_product_demo- 热点聚合:
暂时禁止评论













闽公网安备 35020302000061号