在上面的例子中,我们通过使用MySQL数据库存储数据,并在Tomcat应用服务器中计算最终的产品相关性结果。
但事实上,像MySQL这样的数据库更加适合作为联机事务处理(On-Line Transaction Processing,简称OLTP)系统,也称为面向交易的处理系统。其基本特征是顾客的原始数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果。而像产品相关性分析这样需要处理大数据量的操作,一般称其为联机分析处理(On-Line Analytical Processing,简称OLAP)。
联机分析处理的概念最早由关系数据库之父E.F.Codd于1993年提出的。Codd认为联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的要求,SQL对大数据库的简单查询也不能满足用户分析的需求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此,Codd提出了多维数据库和多维分析的概念,即OLAP。
OLAP委员会对联机分析处理的定义是:使分析人员、管理人员或执行人员能够从多种角度对从原始数据中转化出来的、能够真正为用户所理解的、并真实反映企业维特性的信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。
在前面的章节中我们提到了HBase这样的数据库,以及MapReduce这样的计算框架,在实际的生产环境中有很多公司采用HBase+MapReduce的方式分析海量数据。
主要原因包括:(www.xing528.com)
1)MapReduce框架可以并行计算海量数据。
2)由于HBase对数据进行了排序,使得某些大数据查询速度变快。
3)发HBase与MapReduce都是用HDFS作为文件系统,上面的文件自动冗余备份。当某一个存储服务器出现问题时,仍然可以进行正确的计算,系统稳定性高。
这里我们可以通过HBase+MapReduce的方法来计算商品频繁项集L[1]。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。