加密谷大数据:大数据全系技术概览

什么是大数据?

大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》中大数据指不用随机分析法(抽样调查)这样捷径,而采用所有数据进行分析处理。大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。

大数据应用现状

大数据技术共性

业界主流大数据技术框架

磁盘存储

HDFS、HBASE、S3、Cassandra、MongoDB、Redis

内存存储

Alluxio 、Redis

数据分析

Spark(SQL、Streaming、MLlib、GraphX)、Storm、MapReduce、Mahout、Hive、Pig

分步式协调服务

ZooKeeper

集群系统监控

CDH-CMS, Metrics, Grafana、Ambari

消息总线

kafka、ActiveMQ、Apollo、 Redis

索引系统

Solr、Lucene、ElasticSearch

大数据组件应用分类

数据采集

flume、kafka connector、sqoop、socket、sftp、mina

实时处理

Spark Streaming、Kafka Streams、Storm、Samza、Flink

数据存储

HDFS、HBASE、S3、Cassandra、MongoDB、Redis、Solr、ElasticSearch

离线处理

Spark SQL、Hive、Map Reduce、Pig、Impala

交互式查询

Drill、PresTO、Kylin

数据展现

Echarts、Tableau、d3js

大数据组件简介

1、Hadoop是Apache开源组织的一个分布式计算框架,提供了一个分布式文件系统 (HDFS)、MapReduce分布式计算及统一资源管理框架(Yarn)的软件架构。

为大规模数据的存储提供解决方案(HDFS);

解决大规模分步式计算( MapReduce );

作为其周边软件Hbase、Hive、Pig、Mahout等的基础平台。

2、HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

解决海量数据的存储;

解决随机、实时读写大数据;

提供简化访问HDFS的编程接口。

3、kafka是Apache旗下的一个高性能,高吞吐量的分步式消息总线系统。

分布式系统相互通信;

数据复制、同步;

日志同步;

Delay Queue;

广播通知。

4、Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

解决海量数据的存储;

解决大规模数据的分析:SQL。

5、MongoDB 是一个高性能,开源,无模式的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。MongoDB不支持SQL,但有自己功能强大的查询语法。MongoDB使用BSON作为数据存储和传输的格式。BSON是一种类似JSON的二进制序列化文档,支持嵌套对象和数组。

解决海量数据在线存储;

许多情况下可以代替传统关系数据库;

代替键/值存储方式。

6、Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

7、Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

8、Storm是一个分布式的、容错的实时计算系统。使用Storm进行实时大数据分析。

9、Flink 是可扩展的批处理和流式数据处理的数据处理平台,设计思想主要来源于Hadoop、MPP数据库、流式计算系统等,支持增量迭代计算。

10、Alluxio A memory speed virtual distributed storage. Alluxio是一个高容错的内存分布式文件系统,允许文件以内存的速度在集群框架中进行可靠的共享。典型特点就是加速读写数据的速度。

11、ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。其典型特点是全文快速检索。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181008A109UB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券