HadoopPostgreSQL 与 Storm 全面解读,你更习惯用哪个?

Posted 海量云服

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HadoopPostgreSQL 与 Storm 全面解读,你更习惯用哪个?相关的知识,希望对你有一定的参考价值。

https://mp.weixin.qq.com/s/5dVOPsYp1AbJNx8FB8iBaQ


如今,不少企业将数据库从 PostgreSQL 迁移到 Hadoop,可能速度、容量以及类型是他们面临的主要问题,PostgreSQL 正在渐渐从这些企业的数据中心消失,并且在行业中,Hadoop 生态各开源工具的使用频率很可能远远超过 PostgreSQL。与此同时,也会有一些企业从 Hadoop 迁移至 PostgreSQL,这为思考大数据问题和解决方案及其影响提供了机会。


很早之前,我们在分析大数据问题时倾向于三个层面: 管理不断增加的数据量、管理数据增长速度以及处理多种类的数据结构。值得注意的是,这些只是问题类型,而不是问题本身,同类别的问题之间可能存在很大差异,所有解决方案几乎都意味着不小的成本付出,我经常看到将 Hadoop 作为企业通用解决方案,而不关注成本和问题类型的,结果往往是整个体系过于复杂,难以维护,速度可能很慢。


因此,我们应该学会区分 Hadoop (狭义的 MR 和 HDFS 组合,不代指整个生态)、Storm 以及 PostgreSQL,Hadoop 是专业通用的解决方案,而 OLTP 和关系型数据库则是更通用的方案。通常,明智的企业会从通用解决方案开始逐渐转向专业解决方案,并且知道应该使用专业的解决方案来解决哪些问题,比如 Hadoop 在批处理方面很牛,但它并不是一个很好的通用 ETL 平台.....


PostgreSQL 与 Hadoop 对比


企业应该清楚,构建 Hadoop 是为了同时解决大数据 3V 问题,这就意味着,如果你只存在某一方面的困扰,那么构建 Hadoop 的成本就显得过高了。PostgreSQL 和其他关系型数据解决方案为数据提供了非常好的保证,因为它们强化了多样性,在写入时强制使用模式,如果违反该模式,则会引发错误。Hadoop 在读取时强制执行模式,因此可以在存储数据后再尝试读取数据,这对于大量非结构化数据很有帮助。



如果仅仅面临容量和速度问题,首先要查看的解决方案应该是 Postgres-XL 或者类似的集群解决方案,但这些方案确实需要良好的数据分区标准。如果数据集高度相关,这可能不是一个好的解决方案,因为跨节点连接是昂贵的。此外,这些方案也不适用于小型数据集,因为搭建这些解决方案的复杂性和成本也不是很低。


Storm 与 Hadoop 对比


Storm 和 Hadoop 的主攻方向完全不同,Storm 的主工程师 Nathan Marz 曾表示, Storm 可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm 之于实时处理就好比 Hadoop 之于批处理。如果习惯于用 Hadoop 代指整个 Hadoop 生态,那你可能会把 Storm 也划分在生态圈之中。但在企业选择解决方案时,还是应该将狭义上的 Hadoop 与 Storm 进行一些对比。


Hadoop、PostgreSQL 与 Storm 全面解读,你更习惯用哪个?


根据 Hadoop 官网的说法,“Apache Hadoop 是一个框架,允许使用简单的编程模型在整个计算机集群上分布式处理大型数据集,它可以从单个服务器扩展到数千台机器,本地计算和存储,而不是依靠硬件来提供高可用性,该框架本身旨在检测和处理应用层的故障,最大的优势是批处理。


Apache Storm 是一个分布式实时计算系统,本身不会在典型的 Hadoop 集群上运行,可以与任何编程语言一起工作。Storm 是一个任务并行连续计算引擎,使用 Apache ZooKeeper 和主 / 从工作进程,协调拓扑,主机和工作者状态,保证信息语义。无论如何,Storm 必定还是可以从 HDFS 文件消费或者从文件写入到 HDFS 的,Storm 可以与任何队列或数据库系统 (即 RDBMS,NOSQL) 集成。


根据官网介绍,Storm 的应用非常广泛,比如实时分析、在线机器学习、连续计算、分布式 RPC、ETL 等。Storm 的速度很快—每个节点每秒钟可处理超过一百万个元组,具有可扩展性和容错性,可确保数据得到处理并且易于设置和操作。在消耗资源相同的情况下,一般来说 Storm 的延时低于 MapReduce,但是吞吐也低于 MapReduce。Storm 是典型的流计算系统,MapReduce 是典型的批处理系统。


下表对比了 Storm 和 Hadoop 进行数据处理时的各项指标:


Hadoop、PostgreSQL 与 Storm 全面解读,你更习惯用哪个?


如果你正在因为大数据的 3V 问题烦恼,Hadoop 是最理想的解决方案,如果你只需要解决其中之一,你可以尝试一些其他解决方案,因为此时搭建 Hadoop 生态的性价比会大打折扣。如果数据量较少,比如国外企业的数据量整体上少于国内,没必要使用 Hadoop 处理,因为无法发挥出 Hadoop 的全部价值。


Hadoop、PostgreSQL 与 Storm 全面解读,你更习惯用哪个?
本篇内容来源于网络,版权归原作者及原出处所有,分享仅供交流与学习,如有侵权,请后台联系小编,即刻删除。

海量云服




以上是关于HadoopPostgreSQL 与 Storm 全面解读,你更习惯用哪个?的主要内容,如果未能解决你的问题,请参考以下文章

Storm与SparkHadoop三种框架对比

Storm笔记整理:Storm本地开发案例—总和计算与单词统计

Storm与SparkHadoop三种框架对比

Storm笔记整理:Storm集群安装部署与Topology作业提交

Storm笔记整理:Storm核心概念与验证——并行度与流式分组

storm的集群安装与配置