流计算

      数据总体上可以分为静态数据和流数据。对静态数据和流数据的处理,对应着两种截然不同的计算模式:批量计算和实时计算。批量计算以“静态数据”为对象,可以在很充裕的时间内对海量数据进行批量处理,计算得到有价值的信息。Hadoop就是典型的批处理模型,由HDFS和HBase存放大量的静态数据,由MapReduce负责对海量数据执行批量计算。流数据必须采用实时计算,实时计算最重要的一个需求是能够实时得到计算结果,一般要求响应时间为秒级。当只需要处理少量数据时,实时计算并不是问题;但是,在大数据时代,不仅数据格式复杂、来源众多,而且数据量巨大,这就对实时计算提出了很大的挑战。因此,针对流数据的实时计算——流计算,应运而生。

      总的来说,流计算秉承一个基本理念,即数据的价值随着时间的流逝而降低。因此,当事件出现时就应该立即进行处理,而不是缓存起来进行批量处理。为了及时处理流数据,就需要一个低延迟、可扩展、高可靠的处理引擎。对于一个流计算系统来说,它应达到如下需求。
* • 高性能。处理大数据的基本要求,如每秒处理几十万条数据。
* • 海量式。支持TB级甚至是PB级的数据规模。
* • 实时性。必须保证一个较低的延迟时间,达到秒级别,甚至是毫秒级别。
* • 分布式。支持大数据的基本架构,必须能够平滑扩展。
* • 易用性。能够快速进行开发和部署。
* • 可靠性。能可靠地处理流数据。

原文地址:https://www.cnblogs.com/demo-deng/p/13960918.html