什么是大数据
大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
大数据的定义是4Vs:Volume、Velocity、Variety、Veracity。用中文简单描述就是大、快、多、真。
-
Volume —— 数据量大
随着技术的发展,人们收集信息的能力越来越强,随之获取的数据量也呈爆炸式增长。例如百度每日处理的数据量达上百PB,总的数据量规模已经到达EP级。
-
Velocity —— 处理速度快
指的是销售、交易、计量等等人们关心的事件发生的频率。2017年双11,支付成功峰值达25.6万笔/秒、实时数据处理峰值4.72亿条/秒。
-
Variety —— 数据源多样
现在要处理的数据源包括各种各样的关系数据库、NoSQL、平面文件、XML文件、机器日志、图片、音视频等等,而且每天都会产生新的数据格式和数据源。
-
Veracity —— 真实性
诸如软硬件异常、应用系统bug、人为错误等都会使数据不正确。大数据处理中应该分析并过滤掉这些有偏差的、伪造的、异常的部分,防止脏数据损害到数据准确性。
- 文件存储:Hadoop HDFS、Tachyon、KFS
- 离线计算:Hadoop MapReduce、Spark
- 流式、实时计算:Storm、Spark Streaming、S4、Heron、Flink
- K-V、NOSQL数据库:HBase、Redis、MongoDB
- 资源管理:YARN、Mesos
- 日志收集:Flume、Scribe、Logstash、Kibana
- 消息系统:Kafka、StormMQ、ZeroMQ、RabbitMQ
- 查询分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、分布式协调服务:Zookeeper、Kylin、Druid
- 集群管理与监控:Ambari、Ganglia、Nagios、Cloudera Manager
- 数据挖掘、机器学习:Mahout、Spark MLLib
- 数据同步:Sqoop
- 任务调度:Oozie