大数据是指那些超过传统数据库系统处理能力的数据。它的数据规模和转输速度要求很高,或者其结构不适合原本的数据库系统。为了获取大数据中的价值,我们必须选择另一种方式来处理它。数据中隐藏着有价值的模式和信息,在以往需要相当的时间和成本才能提取这些信息。而当今的各种资源,如硬件、云架构和开源软件使得大数据的处理更为方便和廉价。因此,大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的海量数据如何进行专业化处理。
对于企业组织和政府机构而言,大数据的价值主要体现在两个方面:大数据的分析使用和二次开发。对大数据进行分析能揭示隐藏其中的信息。例如零售业中对门店销售、地理和社会信息的分析能提升对客户的理解。
大数据具有数据量大(Volume)、类型繁多(Variety)、价值密度低(Value)与速度快(Velocity)的“4V”特征,而业务需求和竞争压力又对大数据处理的实时性、有效性提出了更高要求,从而使得传统的以处理器为中心的数据分析处理技术根本无法应付。在大数据环境下,需要采取以数据为中心的模式,减少数据移动带来的开销。一个完整的大数据处理流程至少应满足以下四个步骤:
步骤 1(数据采集):大数据的采集是指利用多个数据库来接收发自客户端(Web、App或者传感器形式等)的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。在大数据的采集过程中,其主要特点和挑战是用户的并发数高,因为同时有可能会有成千上万的用户来进行访问和操作,比如火车票售票网站和淘宝,它们并发的访问量在峰值时达到上百万,所以需要在采集端部署大量数据库才能支撑。并且如何在这些数据库之间进行负载均衡和分片的确是需要深入的思考和设计。
步骤2(数据导入和预处理):虽然采集端本身会有很多数据库,但是如果要对这些海量数据进行有效的分析,还是应该将这些来自前端的数据导入到一个集中的大型分布式数据库,或者分布式存储集群,并且可以在导入基础上做一些简单的清洗和预处理工作。导入与预处理过程的特点和挑战主要是导入的数据量大,每秒钟的导入量经常会达到百兆,甚至千兆级别。
步骤3(数据统计与分析):统计与分析主要利用分布式数据库,或者分布式计算集群来对存储于其内的海量数据进行普通的分析和分类汇总等,以满足大多数常见的分析需求。其中,一些实时性需求会用到EMC的GreenPlum、Oracle的Exadata,以及基于MySQL的列式存储Infobright等,而一些批处理,或者基于半结构化数据的需求可以使用Hadoop。统计与分析这部分的主要特点和挑战是分析涉及的数据量大,其对系统资源,特别是I/O会有极大的占用。
步骤4(数据挖掘):主要是在现有数据上面进行基于各种算法的计算,从而起到预测(Predict)的效果,以实现一些高级别数据分析的需求。比较典型算法有用于聚类的Kmeans、用于统计学习的SVM和用于分类的NaiveBayes,主要使用的工具有Hadoop的Mahout等。该过程的特点和挑战主要是用于挖掘的算法很复杂,并且计算涉及的数据量和计算量都很大,常用数据挖掘算法都以单线程为主。
目前,随着移动互联网技术的飞速发展,特别是近年来云计算、物联网、社交网络等新兴服务促使人类社会的数据种类和规模正以前所未有的速度增长,大数据时代已经悄然到来。数据正在从简单的处理对象开始转变为一种基础性资源,如何更好地管理和利用大数据已经成为普遍关注的话题。大数据的规模效应给数据存储、管理以及数据分析带来了极大的挑战,数据管理方式上的变革正在酝酿和发生,大数据正在“吞噬”和重构很多传统行业,并已在众多的行业领域得到了成功应用
领取专属 10元无门槛券
私享最新 技术干货