谁能指出我的参考资料或提供有关 Facebook、Yahoo、Google 等公司如何执行他们为运营特别是 Web 分析执行的大规模(例如多 TB 范围)日志分析的高级概述?
特别关注网络分析,我对两个密切相关的方面感兴趣:查询性能和数据存储。
我知道一般的方法是使用 map reduce 将每个查询分布在一个集群上(例如使用 Hadoop)。但是,最有效的存储格式是什么?这是日志数据,因此我们可以假设每个事件都有一个时间戳,并且通常数据是结构化的而不是稀疏的。大多数 Web 分析查询涉及分析两个任意时间戳之间的数据切片并检索该数据中的聚合统计信息或异常情况。
像 Big Table(或 HBase)这样的面向列的数据库会是一种有效的方式来存储,更重要的是,查询这些数据吗?您选择行子集(基于时间戳)的事实是否违背了这种存储类型的基本前提?将其存储为非结构化数据会更好,例如。反向索引?