由于项目中的登录log一直比较大,目前是每周切分一张表,每次做月季度数据分析的时候就很痛苦,今天特定请教了一下公司DBA的同学,学到了两个解决方法。一个是把每天的登录按照位运算的形式保存,查询的时候使用bit_count(field)来计算,速度会大大提升,这个以后在项目中实践了再来分享;另一个就是使用Infobright引擎,Infobright是一个列存数据仓库软件,可以与MySQL集成,作为MySQL的一个存储引擎来使用。详细的框架结构可以参考官方的白皮书,国内也有介绍的,比如这一篇文章。
Infobright是一个与MySQL集成的开源数据仓库(Data Warehouse)软件,可作为MySQL的一个存储引擎来使用,SELECT查询与普通MySQL无区别。
一、Infobright的基本特征:
优点:
查询性能高:百万、千万、亿级记录数条件下,同等的SELECT查询语句,速度比MyISAM、InnoDB等普通的MySQL存储引擎快5~60倍
存储数据量大:TB级数据大小,几十亿条记录
高压缩比:在我们的项目中为23:1,极大地节省了数据存储空间
基于列存储:无需建索引,无需分区
适合复杂的分析性SQL查询:SUM, COUNT, AVG, GROUP BY
限制:
不支持数据更新:社区版Infobright只能使用“LOAD DATA INFILE”的方式导入数据,不支持INSERT、UPDATE、DELETE
不支持高并发:只能支持10多个并发查询。
安装可以参考这篇文章 MySQL Infobright 数据仓库快速安装笔记[原创]。不过最新版已经没有64位的源码,我们可以直接下载rpm或者deb版本进行安装。
1. Download the install package (e.g. infobright-3.4-x86_64.rpm) to the server where you are installing Infobright
2. Obtain root user access
3. To install the RPM package, run:
rpm -ivh infobright_version_name.rpm [optional: --prefix=path]
To install the DEB package, run:
dpkg -i infobright_version_name.deb
Note: Please do not install ICE in the root or home directories due to possible MySQL permission checking issues during install, start up, and/or load. [需要注意会有mysql的权限问题,所以安装的目录需要chown mysql:mysql授予访问权限]
4. To change the default install options, after installation run:
/usr/local/infobright/postconfig.sh
You can run this script at any time after installation to change the datadir, CacheFolder, socket, and port. The script must be run as root and ICE must not be running. 【需要在infobright停止运行的时候再修改目录相关,该脚本需要在安装目录下运行,所以需要承 cd /usr/local/infobright/
】
5. The installation determines the optimum memory settings based on the physical memory of the system. You may change these settings by editing the file brighthouse.ini within the data directory.
Important: The memory settings assume that there are no other services on the machine consuming significant memory. If this is not the case, please lower the memory settings for Infobright.
6. To start or stop ICE, run:
/etc/init.d/mysqld-ib start
/etc/init.d/mysqld-ib stop
7. To connect to ICE, use the script mysql-ib:
/usr/bin/mysql-ib [optional:db_name]
8. To uninstall ICE, run either:
rpm -e infobright
dpkg -r infobright
备注:数据导入导出工具 http://www.infobright.org/Downloads/contribute/
9. 示例:从普通的MySQL数据库(假设MySQL安装路径为/usr/local/webserver/mysql)导出数据到csv文件:
/usr/local/webserver/mysql/bin/mysql -S /tmp/mysql3306.sock -D tongji_logs -e "select * from log_visits_2010_05_10 into outfile '/data0/test.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\' LINES TERMINATED BY 'n';"
10.示例:普通MySQL和Infobright建表对比
①、普通MySQL的InnoDB存储引擎建表:
CREATE TABLE IF NOT EXISTS `log_visits_2010_05_12` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cate_id` int(11) NOT NULL,
`site_id` int(11) unsigned NOT NULL,
`visitor_localtime` char(8) NOT NULL,
`visitor_idcookie` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `cate_site_id` (`cate_id`,`site_id`),
KEY `visitor_localtime` (`visitor_localtime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
②、Infobright的BRIGHTHOUSE存储引擎建表:
CREATE TABLE IF NOT EXISTS `log_visits` (
`id` int(11) NOT NULL,
`cate_id` int(11) NOT NULL,
`site_id` int(11) NOT NULL,
`visitor_localtime` char(8) NOT NULL,
`visitor_idcookie` varchar(255) NOT NULL,
) ENGINE=BRIGHTHOUSE DEFAULT CHARSET=utf8;
注:BRIGHTHOUSE存储引擎建表时不能有AUTO_INCREMENT自增、unsigned无符号、unique唯一、主键PRIMARY KEY、索引KEY。
11、示例:从csv文件导入数据到Infobright数据仓库:
/usr/local/infobright/bin/mysql -S /tmp/mysql3307.sock -D dw --skip-column-names -e "LOAD DATA INFILE '/data0/test.csv' INTO TABLE log_visits_2010_04_13 FIELDS TERMINATED BY ',' ESCAPED BY '\' LINES TERMINATED BY 'n';"
12、更改目录后不能启动mysqld的种种解答
1.配置文件在/etc/my-ib.cnf ;2. 启动脚本/etc/init.d/mysqld-ib可以知道配置文件中设置了mysql的sock,必须得让mysql对mysql.sock存放路径有访问权限
相关推荐
Infobright是一款高效的数据仓库解决方案,专为大数据分析设计。这款产品以其优秀的性能、低存储成本和快速查询能力而闻名。在你提供的信息中,“infobright-4.0.7-0-x86_64-ice.rpm”是Infobright的一个特定版本,...
infobright-4.0.7-0-x86_64-ice.rpm infobright社区版,本来就是开源的东西,还要资源分,没办法了,只能选最低2分, csdn禁止重复上传,于是采用了压缩包加密上传,zip解压,密码是2CcMBzP8,云盘分享:htt去ps://...
这款数据库在处理大规模数据仓库时表现出色,尤其在读取密集型应用中,由于其列式存储方式,能实现快速的数据扫描和分析。Infobright的核心优势在于其优化的查询处理和压缩算法,使得在处理大量数据时,能够显著降低...
nfobright for linux 64 数据仓库 快速安装包
Infobright是一款高效、高性能的开源数据仓库系统,专门设计用于大数据分析。社区版是Infobright提供的免费版本,让开发者和小型企业有机会体验其强大的分析能力。在本压缩包"infobright-社区版.zip"中,包含了...
infobright ,一个基于mysql的数据仓库系统实现,它已经是很多开源或商用BI系统的底层存储引擎。
nfobright 社区版,现在官方已经停止社区版,企业版太贵
Infobright是一款高效、开源的数据仓库系统,专为大规模数据集的分析而设计。RPM(Red Hat Package Manager)是Linux系统中广泛使用的软件包管理器,用于安装、升级、查询和卸载软件。在本例中,“infobright-rpm....
Infobright是一款高效的数据仓库解决方案,专为处理大规模数据集而设计。在Windows 64位操作系统环境下,Infobright提供了强大的分析性能和快速的数据加载能力。标题中的"infobright for windows 64 数据仓库"指的是...
Infobright是一款开源的数据仓库系统,专为大数据分析设计,具有高效能、高并发和低存储成本的特点。本文将详细解析Infobright的核心技术、安装过程以及如何利用Infobright-4.0.7-0-x86_64-ice.rpm安装包进行部署。 ...
Infobright是一款高效、轻量级的开源数据仓库解决方案,主要设计用于大数据分析。这款数据库管理系统以其出色的查询性能和极低的存储需求而受到关注。标题中的"infobright4.0.7-win.zip"表明这是一个针对Windows操作...
Infobright最近有部分工作涉及到了 Infobright 数据仓库,就浏览了一些相关的资料,感觉很受启发。下面写一些感想,如有谬误,还请指正。 简单的来讲,Infobright 主要有下面的一些优点: 1. TB 级的数据存储和...
1. **Infobright架构**:Infobright基于MySQL数据库,但设计上专注于数据仓库功能。它采用了列式存储的方式,这与传统的行式存储相比,对于数据分析和查询具有显著优势。列式存储允许快速读取大量数据,特别是在进行...
MySQL是一种广泛使用的开源关系型...总之,“mysql.rar_infobright”是一个关于MySQL数据库到Infobright数据仓库迁移的资源包,通过这个压缩包,你可以学习到如何利用Infobright的优势来提升大数据分析的效率和性能。
infobright-4.0.7,32位系统,32位。
Infobright是一款开源的MySQL数据仓库引擎,特别针对大数据分析进行了优化。本文将深入探讨Infobright的核心特性,以及如何在Windows系统上安装和使用它。 Infobright的核心特点: 1. **列式存储**:与传统的行式...
MongoDB 是一个流行的开源、基于分布式文件存储的数据库系统,被广泛用于大数据处理和现代Web应用程序。MongoDB 的设计目标是提供高性能、高可用性和自动扩展性,支持丰富的查询语句,适合处理结构化和半结构化的...
Infobright是一款高效的数据仓库解决方案,它以列式存储为主,特别适合大数据分析场景。这款数据库系统被设计用于处理大规模的结构化数据,提供快速的查询性能和低存储成本。结合MySQL,它能够为用户提供一个全面的...