大数据技术栈

转载出处:https://blog.csdn.net/u013710265/article/details/72580238

先贴一张大数据全景图

这里写图片描述

个人技术栈(实际可能使用的):【点击放大查看】

这里写图片描述

大数据技术栈:

提到大数据,很多人可能都听说过4V - Big Volume, Big Velocity, Big Variety, Big Value,大数据从业人员的工作内容也都和这4个V中的某些内容密切相关。

相比较传统的数据库技术,大数据的技术栈在过去几年取得非常迅速的发展,尤其是Hadoop和Spark已经构建了一个庞大的技术生态圈。

文件系统方面,除了传统的行式存储,还有新的列式存储格式如ORC,Parquet,以及一些新型的用SSD或者内存加速的存储,如Transwarp Holodesk以及Tachyon。此外,还有Ceph等新型文件系统。

在文件系统之上,各种存储引擎也迅速发展,如NoSQL类的HBase,MongoDB,CouchDB,它们在一些大数据场景下表现的非常出色(如高并发,文档存储等),而放弃另外一些特性,如事务和SQL支持;不过近年也涌现出一些新的NoSQL存储引擎,重新拾起来SQL和事务,如VoltDB,CockroachDB,以及Transwarp Hyperbase。

计算引擎的发展更是日新月异,可以按照批处理/交互式/流式/迭代式做个大体的分类。

批处理引擎在大数据领域发展的最快,MapReduce,Spark,Tez等已在大规模商用;

交互式分析引擎的代表有Dremel,Presto,Impala等,目前还处于未能完全证明商用能力,但是在快速发展并且验证的阶段;

流式引擎这两年发展很快,Spark Streaming/Flink/Storm/Samza是其中的代表;

迭代式引擎有Graphx,Pregel,以及Transwarp Graphene等。

数据分析领域,各种工具更是层出纷纭,如Hive,Mahout,MLlib,R,Kylin等。

数据集成和调度工具也有很多的开源项目涌现出来,如Oozie,Azkaban,Crunch,Sqoop,Flume,Kafka等等。

因为这么复杂的技术栈,以及各种层出不穷的新技术,开发者会面临着极大的学习成本,以及很困难的选型考量。如何选择更合适的技术方案,如何做基于大数据的新的应用的开发,如何去管理和运维大数据产品,这是新技术时代的主要问题。

猜你喜欢

转载自blog.csdn.net/fct2001140269/article/details/81087342