Evernote部署新型大数据分析工具
美国《InfoWorld》 发表于:13年02月27日 09:12 [转载] DOIT.com.cn
为了从2亿多个日常事件中收集和分析数据,Evernote(印象笔记)从MySQL数据仓库转向了由Hadoop和ParAccel组成的混合环境。
由于数据洪流已经威胁到了Evernote的分析系统,为了处理这些大数据,Evernote开始在不增加预算的情况,对其分析环境进行现代化升级。作为一家颇受欢迎的个人组织与生产力应用提供商,Evernote已经开始从常规数据仓库迁移至由Hadoop和ParAccel组成、且能够进行大规模并行处理(MPP)分析的现代化数据库。
Evernote一直在收集并分析其用户数据。自2008年以来,已经有3600多万用户创建了自己的 Evernote账户,与此同时这些账户生成了数百太字节的数据。这些数据包括了12亿条“笔记”和20亿个附件。其中的笔记以文本、网页、照片、语音备忘录等多种形式存在的,并且能够被标记、注释、编辑、分类,以及用其他方式进行操作。
为了确定优化Evernote用户体验的方式,该公司每天通过Hadoop和ParAccel混合数据库对2亿多个事件进行分析。此外,Evernote还利用开源的JasperReports服务器社区版生成相关报告和图表。
突破数据容量限制
Evernote最初的数据仓库是以OLTP(联机事务处理)关系型数据库为基础的。这些数据仓库使用的是一个星形模型。这意味着数据是根据查询进行安排,而不是根据处理进行安排的。通常只要MySQL中的数据容量在数太字节以内,这一解决方案都能够很好地进行报告与分析。但是当数据超过了这一限制,只有很少一部分历史数据能够被保留下来,同时数据仓库的查询速度、灵活性与可负担性将难以忍受。
这就是Evernote所遇到的问题。以前,Evernote的数据仓库建立在MySQL之上,庞大的 RAID10阵列与应用的主服务器使用相同的网络。在每天晚上,批处理操作每隔9至18个小时就会将多个操作数据库表单的增加部分与应用服务器被解析的结构化事件日志关联起来。在手动创建和调整之后,再通过电子邮件的形式分发报告。
自2012年年初以来,Evernote的分析团队意识到,他们现有的解决方案已经无法应对这些负载。由于主要的表单超过了400亿行,因此每次访问几天的数据就根本是不可能的事情。报告数据库的速度也非常慢,并且难以维护,尤其是难以进行查询。
因此,Evernote开始着手创建一个分析环境。这个环境要能有效地存储全部的历史数据,生成十多份标准的每日报告,特别是能够方便地管理查询,并且在未来能持续进行扩展。与此同时,Evernote的预算并不宽裕。