其实“大数据”这个词在我的脑海中还没有一个比较确切的定义,几年前我接触了一个名词“海量数据”,它主要是指在数据库中如何处理优化查询海量数据的SQL,或者使用NoSQL(Not only SQL)进行处理,进而进行数据分析、数据挖掘等,从大量无规律的数据中提取出有价值的信息,总之海量数据是与数据库紧密关联的。而这两年兴起了“大数据”浪潮,我认为“海量数据”强调的是数据量的大小,而大数据则不仅仅是数据量的大小,还指每条数据本身的大小。用《大数据时代》中的4V特点来概括大数据就是:Volume(大量)、Velocity(高速)、Variety(多样)、Value(价值)。
大数据时代已经来临,比如淘宝网的日交易记录、用户浏览商品的记录就是大数据的典型应用场景,根据这些“数据”能够推断出用户购买商品的习惯、用户喜欢什么样的商品,进而更加准确的推荐一些商品给用户,以此提高交易额和交易量。再比如微信的应用,6亿多用户本身就是“大数据”,再加上6亿多用户彼此之间的关系,更是形成了一张巨大的社交网络。如何为这6亿用户提供高质量的实时通信交流、如何提供精确的搜索,都是大数据应用领域需要研究的课题。
pagerank即搜索引擎是根据什么样的规则、应用什么样的算法来对网页进行关联度筛选的,正好试读部分提供了这部分的内容。以前曾经写过简单的网页爬虫程序,抓取指定网站的页面的新闻等。原理很简单,就是通过请求网站获取返回的html进行分析,用正则筛选出包含关键字的页面的href和标题,然后存入数据库中。而通过试读部分我了解到,pagerank即网页的页面等级基于两个假设:数量假设、质量假设。pagerank算法刚开始赋予每个网页相同的重要性得分,通过迭代递归计算来更新每个页面节点的pagerank得分,直到得分稳定为止。
而图数据库应用中,我关注到了书中介绍的Facebook的TAO这个跨数据中心分布式图数据库。它由分布在多个数据中心的数千台服务器构成,为了能够实时响应应用请求,系统架构更重视可用性和低延时,尤其是对读操作做了很多优化。
通过主cache和从cache的二级缓存机制,降低缓存之间的耦合,同时系统也易于扩展。
未来大数据将会在各个领域不断发展和演变,并深刻的影响人类的生活。它涉及到的新技术、新架构非常繁杂,包括分布式、机器学习、数据挖掘等各个技术方向,并作为移动互联网、云计算、物联网等应用领域的核心支撑。
让数据产生价值,大数据时代正在来袭!