① 五种大数据处理架构
五种大数据处理架构
大数据是收集、整理、处理大容量数据集,并从中获得见解所需的非传统战略和技术的总称。虽然处理数据所需的计算能力或存储容量早已超过一台计算机的上限,但这种计算类型的普遍性、规模,以及价值在最近几年才经历了大规模扩展。
本文将介绍大数据系统一个最基本的组件:处理框架。处理框架负责对系统中的数据进行计算,例如处理从非易失存储中读取的数据,或处理刚刚摄入到系统中的数据。数据的计算则是指从大量单一数据点中提取信息和见解的过程。
下文将介绍这些框架:
· 仅批处理框架:
Apache Hadoop
· 仅流处理框架:
Apache Storm
Apache Samza
· 混合框架:
Apache Spark
Apache Flink
大数据处理框架是什么?
处理框架和处理引擎负责对数据系统中的数据进行计算。虽然“引擎”和“框架”之间的区别没有什么权威的定义,但大部分时候可以将前者定义为实际负责处理数据操作的组件,后者则可定义为承担类似作用的一系列组件。
例如Apache Hadoop可以看作一种以MapRece作为默认处理引擎的处理框架。引擎和框架通常可以相互替换或同时使用。例如另一个框架Apache Spark可以纳入Hadoop并取代MapRece。组件之间的这种互操作性是大数据系统灵活性如此之高的原因之一。
虽然负责处理生命周期内这一阶段数据的系统通常都很复杂,但从广义层面来看它们的目标是非常一致的:通过对数据执行操作提高理解能力,揭示出数据蕴含的模式,并针对复杂互动获得见解。
为了简化这些组件的讨论,我们会通过不同处理框架的设计意图,按照所处理的数据状态对其进行分类。一些系统可以用批处理方式处理数据,一些系统可以用流方式处理连续不断流入系统的数据。此外还有一些系统可以同时处理这两类数据。
在深入介绍不同实现的指标和结论之前,首先需要对不同处理类型的概念进行一个简单的介绍。
批处理系统
批处理在大数据世界有着悠久的历史。批处理主要操作大容量静态数据集,并在计算过程完成后返回结果。
批处理模式中使用的数据集通常符合下列特征…
· 有界:批处理数据集代表数据的有限集合
· 持久:数据通常始终存储在某种类型的持久存储位置中
· 大量:批处理操作通常是处理极为海量数据集的唯一方法
批处理非常适合需要访问全套记录才能完成的计算工作。例如在计算总数和平均数时,必须将数据集作为一个整体加以处理,而不能将其视作多条记录的集合。这些操作要求在计算进行过程中数据维持自己的状态。
需要处理大量数据的任务通常最适合用批处理操作进行处理。无论直接从持久存储设备处理数据集,或首先将数据集载入内存,批处理系统在设计过程中就充分考虑了数据的量,可提供充足的处理资源。由于批处理在应对大量持久数据方面的表现极为出色,因此经常被用于对历史数据进行分析。
大量数据的处理需要付出大量时间,因此批处理不适合对处理时间要求较高的场合。
Apache Hadoop
Apache Hadoop是一种专用于批处理的处理框架。Hadoop是首个在开源社区获得极大关注的大数据框架。基于谷歌有关海量数据处理所发表的多篇论文与经验的Hadoop重新实现了相关算法和组件堆栈,让大规模批处理技术变得更易用。
新版Hadoop包含多个组件,即多个层,通过配合使用可处理批数据:
· HDFS:HDFS是一种分布式文件系统层,可对集群节点间的存储和复制进行协调。HDFS确保了无法避免的节点故障发生后数据依然可用,可将其用作数据来源,可用于存储中间态的处理结果,并可存储计算的最终结果。
· YARN:YARN是Yet Another Resource Negotiator(另一个资源管理器)的缩写,可充当Hadoop堆栈的集群协调组件。该组件负责协调并管理底层资源和调度作业的运行。通过充当集群资源的接口,YARN使得用户能在Hadoop集群中使用比以往的迭代方式运行更多类型的工作负载。
· MapRece:MapRece是Hadoop的原生批处理引擎。
批处理模式
Hadoop的处理功能来自MapRece引擎。MapRece的处理技术符合使用键值对的map、shuffle、rece算法要求。基本处理过程包括:
· 从HDFS文件系统读取数据集
· 将数据集拆分成小块并分配给所有可用节点
· 针对每个节点上的数据子集进行计算(计算的中间态结果会重新写入HDFS)
· 重新分配中间态结果并按照键进行分组
· 通过对每个节点计算的结果进行汇总和组合对每个键的值进行“Recing”
· 将计算而来的最终结果重新写入 HDFS
优势和局限
由于这种方法严重依赖持久存储,每个任务需要多次执行读取和写入操作,因此速度相对较慢。但另一方面由于磁盘空间通常是服务器上最丰富的资源,这意味着MapRece可以处理非常海量的数据集。同时也意味着相比其他类似技术,Hadoop的MapRece通常可以在廉价硬件上运行,因为该技术并不需要将一切都存储在内存中。MapRece具备极高的缩放潜力,生产环境中曾经出现过包含数万个节点的应用。
MapRece的学习曲线较为陡峭,虽然Hadoop生态系统的其他周边技术可以大幅降低这一问题的影响,但通过Hadoop集群快速实现某些应用时依然需要注意这个问题。
围绕Hadoop已经形成了辽阔的生态系统,Hadoop集群本身也经常被用作其他软件的组成部件。很多其他处理框架和引擎通过与Hadoop集成也可以使用HDFS和YARN资源管理器。
总结
Apache Hadoop及其MapRece处理引擎提供了一套久经考验的批处理模型,最适合处理对时间要求不高的非常大规模数据集。通过非常低成本的组件即可搭建完整功能的Hadoop集群,使得这一廉价且高效的处理技术可以灵活应用在很多案例中。与其他框架和引擎的兼容与集成能力使得Hadoop可以成为使用不同技术的多种工作负载处理平台的底层基础。
流处理系统
流处理系统会对随时进入系统的数据进行计算。相比批处理模式,这是一种截然不同的处理方式。流处理方式无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作。
· 流处理中的数据集是“无边界”的,这就产生了几个重要的影响:
· 完整数据集只能代表截至目前已经进入到系统中的数据总量。
· 工作数据集也许更相关,在特定时间只能代表某个单一数据项。
处理工作是基于事件的,除非明确停止否则没有“尽头”。处理结果立刻可用,并会随着新数据的抵达继续更新。
流处理系统可以处理几乎无限量的数据,但同一时间只能处理一条(真正的流处理)或很少量(微批处理,Micro-batch Processing)数据,不同记录间只维持最少量的状态。虽然大部分系统提供了用于维持某些状态的方法,但流处理主要针对副作用更少,更加功能性的处理(Functional processing)进行优化。
功能性操作主要侧重于状态或副作用有限的离散步骤。针对同一个数据执行同一个操作会或略其他因素产生相同的结果,此类处理非常适合流处理,因为不同项的状态通常是某些困难、限制,以及某些情况下不需要的结果的结合体。因此虽然某些类型的状态管理通常是可行的,但这些框架通常在不具备状态管理机制时更简单也更高效。
此类处理非常适合某些类型的工作负载。有近实时处理需求的任务很适合使用流处理模式。分析、服务器或应用程序错误日志,以及其他基于时间的衡量指标是最适合的类型,因为对这些领域的数据变化做出响应对于业务职能来说是极为关键的。流处理很适合用来处理必须对变动或峰值做出响应,并且关注一段时间内变化趋势的数据。
Apache Storm
Apache Storm是一种侧重于极低延迟的流处理框架,也许是要求近实时处理的工作负载的最佳选择。该技术可处理非常大量的数据,通过比其他解决方案更低的延迟提供结果。
流处理模式
Storm的流处理可对框架中名为Topology(拓扑)的DAG(Directed Acyclic Graph,有向无环图)进行编排。这些拓扑描述了当数据片段进入系统后,需要对每个传入的片段执行的不同转换或步骤。
拓扑包含:
· Stream:普通的数据流,这是一种会持续抵达系统的无边界数据。
· Spout:位于拓扑边缘的数据流来源,例如可以是API或查询等,从这里可以产生待处理的数据。
· Bolt:Bolt代表需要消耗流数据,对其应用操作,并将结果以流的形式进行输出的处理步骤。Bolt需要与每个Spout建立连接,随后相互连接以组成所有必要的处理。在拓扑的尾部,可以使用最终的Bolt输出作为相互连接的其他系统的输入。
Storm背后的想法是使用上述组件定义大量小型的离散操作,随后将多个组件组成所需拓扑。默认情况下Storm提供了“至少一次”的处理保证,这意味着可以确保每条消息至少可以被处理一次,但某些情况下如果遇到失败可能会处理多次。Storm无法确保可以按照特定顺序处理消息。
为了实现严格的一次处理,即有状态处理,可以使用一种名为Trident的抽象。严格来说不使用Trident的Storm通常可称之为Core Storm。Trident会对Storm的处理能力产生极大影响,会增加延迟,为处理提供状态,使用微批模式代替逐项处理的纯粹流处理模式。
为避免这些问题,通常建议Storm用户尽可能使用Core Storm。然而也要注意,Trident对内容严格的一次处理保证在某些情况下也比较有用,例如系统无法智能地处理重复消息时。如果需要在项之间维持状态,例如想要计算一个小时内有多少用户点击了某个链接,此时Trident将是你唯一的选择。尽管不能充分发挥框架与生俱来的优势,但Trident提高了Storm的灵活性。
Trident拓扑包含:
· 流批(Stream batch):这是指流数据的微批,可通过分块提供批处理语义。
· 操作(Operation):是指可以对数据执行的批处理过程。
优势和局限
目前来说Storm可能是近实时处理领域的最佳解决方案。该技术可以用极低延迟处理数据,可用于希望获得最低延迟的工作负载。如果处理速度直接影响用户体验,例如需要将处理结果直接提供给访客打开的网站页面,此时Storm将会是一个很好的选择。
Storm与Trident配合使得用户可以用微批代替纯粹的流处理。虽然借此用户可以获得更大灵活性打造更符合要求的工具,但同时这种做法会削弱该技术相比其他解决方案最大的优势。话虽如此,但多一种流处理方式总是好的。
Core Storm无法保证消息的处理顺序。Core Storm为消息提供了“至少一次”的处理保证,这意味着可以保证每条消息都能被处理,但也可能发生重复。Trident提供了严格的一次处理保证,可以在不同批之间提供顺序处理,但无法在一个批内部实现顺序处理。
在互操作性方面,Storm可与Hadoop的YARN资源管理器进行集成,因此可以很方便地融入现有Hadoop部署。除了支持大部分处理框架,Storm还可支持多种语言,为用户的拓扑定义提供了更多选择。
总结
对于延迟需求很高的纯粹的流处理工作负载,Storm可能是最适合的技术。该技术可以保证每条消息都被处理,可配合多种编程语言使用。由于Storm无法进行批处理,如果需要这些能力可能还需要使用其他软件。如果对严格的一次处理保证有比较高的要求,此时可考虑使用Trident。不过这种情况下其他流处理框架也许更适合。
Apache Samza
Apache Samza是一种与Apache Kafka消息系统紧密绑定的流处理框架。虽然Kafka可用于很多流处理系统,但按照设计,Samza可以更好地发挥Kafka独特的架构优势和保障。该技术可通过Kafka提供容错、缓冲,以及状态存储。
Samza可使用YARN作为资源管理器。这意味着默认情况下需要具备Hadoop集群(至少具备HDFS和YARN),但同时也意味着Samza可以直接使用YARN丰富的内建功能。
流处理模式
Samza依赖Kafka的语义定义流的处理方式。Kafka在处理数据时涉及下列概念:
· Topic(话题):进入Kafka系统的每个数据流可称之为一个话题。话题基本上是一种可供消耗方订阅的,由相关信息组成的数据流。
· Partition(分区):为了将一个话题分散至多个节点,Kafka会将传入的消息划分为多个分区。分区的划分将基于键(Key)进行,这样可以保证包含同一个键的每条消息可以划分至同一个分区。分区的顺序可获得保证。
· Broker(代理):组成Kafka集群的每个节点也叫做代理。
· Procer(生成方):任何向Kafka话题写入数据的组件可以叫做生成方。生成方可提供将话题划分为分区所需的键。
· Consumer(消耗方):任何从Kafka读取话题的组件可叫做消耗方。消耗方需要负责维持有关自己分支的信息,这样即可在失败后知道哪些记录已经被处理过了。
由于Kafka相当于永恒不变的日志,Samza也需要处理永恒不变的数据流。这意味着任何转换创建的新数据流都可被其他组件所使用,而不会对最初的数据流产生影响。
优势和局限
乍看之下,Samza对Kafka类查询系统的依赖似乎是一种限制,然而这也可以为系统提供一些独特的保证和功能,这些内容也是其他流处理系统不具备的。
例如Kafka已经提供了可以通过低延迟方式访问的数据存储副本,此外还可以为每个数据分区提供非常易用且低成本的多订阅者模型。所有输出内容,包括中间态的结果都可写入到Kafka,并可被下游步骤独立使用。
这种对Kafka的紧密依赖在很多方面类似于MapRece引擎对HDFS的依赖。虽然在批处理的每个计算之间对HDFS的依赖导致了一些严重的性能问题,但也避免了流处理遇到的很多其他问题。
Samza与Kafka之间紧密的关系使得处理步骤本身可以非常松散地耦合在一起。无需事先协调,即可在输出的任何步骤中增加任意数量的订阅者,对于有多个团队需要访问类似数据的组织,这一特性非常有用。多个团队可以全部订阅进入系统的数据话题,或任意订阅其他团队对数据进行过某些处理后创建的话题。这一切并不会对数据库等负载密集型基础架构造成额外的压力。
直接写入Kafka还可避免回压(Backpressure)问题。回压是指当负载峰值导致数据流入速度超过组件实时处理能力的情况,这种情况可能导致处理工作停顿并可能丢失数据。按照设计,Kafka可以将数据保存很长时间,这意味着组件可以在方便的时候继续进行处理,并可直接重启动而无需担心造成任何后果。
Samza可以使用以本地键值存储方式实现的容错检查点系统存储数据。这样Samza即可获得“至少一次”的交付保障,但面对由于数据可能多次交付造成的失败,该技术无法对汇总后状态(例如计数)提供精确恢复。
Samza提供的高级抽象使其在很多方面比Storm等系统提供的基元(Primitive)更易于配合使用。目前Samza只支持JVM语言,这意味着它在语言支持方面不如Storm灵活。
总结
对于已经具备或易于实现Hadoop和Kafka的环境,Apache Samza是流处理工作负载一个很好的选择。Samza本身很适合有多个团队需要使用(但相互之间并不一定紧密协调)不同处理阶段的多个数据流的组织。Samza可大幅简化很多流处理工作,可实现低延迟的性能。如果部署需求与当前系统不兼容,也许并不适合使用,但如果需要极低延迟的处理,或对严格的一次处理语义有较高需求,此时依然适合考虑。
混合处理系统:批处理和流处理
一些处理框架可同时处理批处理和流处理工作负载。这些框架可以用相同或相关的组件和API处理两种类型的数据,借此让不同的处理需求得以简化。
如你所见,这一特性主要是由Spark和Flink实现的,下文将介绍这两种框架。实现这样的功能重点在于两种不同处理模式如何进行统一,以及要对固定和不固定数据集之间的关系进行何种假设。
虽然侧重于某一种处理类型的项目会更好地满足具体用例的要求,但混合框架意在提供一种数据处理的通用解决方案。这种框架不仅可以提供处理数据所需的方法,而且提供了自己的集成项、库、工具,可胜任图形分析、机器学习、交互式查询等多种任务。
Apache Spark
Apache Spark是一种包含流处理能力的下一代批处理框架。与Hadoop的MapRece引擎基于各种相同原则开发而来的Spark主要侧重于通过完善的内存计算和处理优化机制加快批处理工作负载的运行速度。
Spark可作为独立集群部署(需要相应存储层的配合),或可与Hadoop集成并取代MapRece引擎。
批处理模式
与MapRece不同,Spark的数据处理工作全部在内存中进行,只在一开始将数据读入内存,以及将最终结果持久存储时需要与存储层交互。所有中间态的处理结果均存储在内存中。
虽然内存中处理方式可大幅改善性能,Spark在处理与磁盘有关的任务时速度也有很大提升,因为通过提前对整个任务集进行分析可以实现更完善的整体式优化。为此Spark可创建代表所需执行的全部操作,需要操作的数据,以及操作和数据之间关系的Directed Acyclic Graph(有向无环图),即DAG,借此处理器可以对任务进行更智能的协调。
为了实现内存中批计算,Spark会使用一种名为Resilient Distributed Dataset(弹性分布式数据集),即RDD的模型来处理数据。这是一种代表数据集,只位于内存中,永恒不变的结构。针对RDD执行的操作可生成新的RDD。每个RDD可通过世系(Lineage)回溯至父级RDD,并最终回溯至磁盘上的数据。Spark可通过RDD在无需将每个操作的结果写回磁盘的前提下实现容错。
流处理模式
流处理能力是由Spark Streaming实现的。Spark本身在设计上主要面向批处理工作负载,为了弥补引擎设计和流处理工作负载特征方面的差异,Spark实现了一种叫做微批(Micro-batch)*的概念。在具体策略方面该技术可以将数据流视作一系列非常小的“批”,借此即可通过批处理引擎的原生语义进行处理。
Spark Streaming会以亚秒级增量对流进行缓冲,随后这些缓冲会作为小规模的固定数据集进行批处理。这种方式的实际效果非常好,但相比真正的流处理框架在性能方面依然存在不足。
优势和局限
使用Spark而非Hadoop MapRece的主要原因是速度。在内存计算策略和先进的DAG调度等机制的帮助下,Spark可以用更快速度处理相同的数据集。
Spark的另一个重要优势在于多样性。该产品可作为独立集群部署,或与现有Hadoop集群集成。该产品可运行批处理和流处理,运行一个集群即可处理不同类型的任务。
除了引擎自身的能力外,围绕Spark还建立了包含各种库的生态系统,可为机器学习、交互式查询等任务提供更好的支持。相比MapRece,Spark任务更是“众所周知”地易于编写,因此可大幅提高生产力。
为流处理系统采用批处理的方法,需要对进入系统的数据进行缓冲。缓冲机制使得该技术可以处理非常大量的传入数据,提高整体吞吐率,但等待缓冲区清空也会导致延迟增高。这意味着Spark Streaming可能不适合处理对延迟有较高要求的工作负载。
由于内存通常比磁盘空间更贵,因此相比基于磁盘的系统,Spark成本更高。然而处理速度的提升意味着可以更快速完成任务,在需要按照小时数为资源付费的环境中,这一特性通常可以抵消增加的成本。
Spark内存计算这一设计的另一个后果是,如果部署在共享的集群中可能会遇到资源不足的问题。相比HadoopMapRece,Spark的资源消耗更大,可能会对需要在同一时间使用集群的其他任务产生影响。从本质来看,Spark更不适合与Hadoop堆栈的其他组件共存一处。
总结
Spark是多样化工作负载处理任务的最佳选择。Spark批处理能力以更高内存占用为代价提供了无与伦比的速度优势。对于重视吞吐率而非延迟的工作负载,则比较适合使用Spark Streaming作为流处理解决方案。
Apache Flink
Apache Flink是一种可以处理批处理任务的流处理框架。该技术可将批处理数据视作具备有限边界的数据流,借此将批处理任务作为流处理的子集加以处理。为所有处理任务采取流处理为先的方法会产生一系列有趣的副作用。
这种流处理为先的方法也叫做Kappa架构,与之相对的是更加被广为人知的Lambda架构(该架构中使用批处理作为主要处理方法,使用流作为补充并提供早期未经提炼的结果)。Kappa架构中会对一切进行流处理,借此对模型进行简化,而这一切是在最近流处理引擎逐渐成熟后才可行的。
流处理模型
Flink的流处理模型在处理传入数据时会将每一项视作真正的数据流。Flink提供的DataStream API可用于处理无尽的数据流。Flink可配合使用的基本组件包括:
· Stream(流)是指在系统中流转的,永恒不变的无边界数据集
· Operator(操作方)是指针对数据流执行操作以产生其他数据流的功能
· Source(源)是指数据流进入系统的入口点
· Sink(槽)是指数据流离开Flink系统后进入到的位置,槽可以是数据库或到其他系统的连接器
为了在计算过程中遇到问题后能够恢复,流处理任务会在预定时间点创建快照。为了实现状态存储,Flink可配合多种状态后端系统使用,具体取决于所需实现的复杂度和持久性级别。
此外Flink的流处理能力还可以理解“事件时间”这一概念,这是指事件实际发生的时间,此外该功能还可以处理会话。这意味着可以通过某种有趣的方式确保执行顺序和分组。
批处理模型
Flink的批处理模型在很大程度上仅仅是对流处理模型的扩展。此时模型不再从持续流中读取数据,而是从持久存储中以流的形式读取有边界的数据集。Flink会对这些处理模型使用完全相同的运行时。
Flink可以对批处理工作负载实现一定的优化。例如由于批处理操作可通过持久存储加以支持,Flink可以不对批处理工作负载创建快照。数据依然可以恢复,但常规处理操作可以执行得更快。
另一个优化是对批处理任务进行分解,这样即可在需要的时候调用不同阶段和组件。借此Flink可以与集群的其他用户更好地共存。对任务提前进行分析使得Flink可以查看需要执行的所有操作、数据集的大小,以及下游需要执行的操作步骤,借此实现进一步的优化。
优势和局限
Flink目前是处理框架领域一个独特的技术。虽然Spark也可以执行批处理和流处理,但Spark的流处理采取的微批架构使其无法适用于很多用例。Flink流处理为先的方法可提供低延迟,高吞吐率,近乎逐项处理的能力。
Flink的很多组件是自行管理的。虽然这种做法较为罕见,但出于性能方面的原因,该技术可自行管理内存,无需依赖原生的Java垃圾回收机制。与Spark不同,待处理数据的特征发生变化后Flink无需手工优化和调整,并且该技术也可以自行处理数据分区和自动缓存等操作。
Flink会通过多种方式对工作进行分许进而优化任务。这种分析在部分程度上类似于SQL查询规划器对关系型数据库所做的优化,可针对特定任务确定最高效的实现方法。该技术还支持多阶段并行执行,同时可将受阻任务的数据集合在一起。对于迭代式任务,出于性能方面的考虑,Flink会尝试在存储数据的节点上执行相应的计算任务。此外还可进行“增量迭代”,或仅对数据中有改动的部分进行迭代。
在用户工具方面,Flink提供了基于Web的调度视图,借此可轻松管理任务并查看系统状态。用户也可以查看已提交任务的优化方案,借此了解任务最终是如何在集群中实现的。对于分析类任务,Flink提供了类似SQL的查询,图形化处理,以及机器学习库,此外还支持内存计算。
Flink能很好地与其他组件配合使用。如果配合Hadoop 堆栈使用,该技术可以很好地融入整个环境,在任何时候都只占用必要的资源。该技术可轻松地与YARN、HDFS和Kafka 集成。在兼容包的帮助下,Flink还可以运行为其他处理框架,例如Hadoop和Storm编写的任务。
目前Flink最大的局限之一在于这依然是一个非常“年幼”的项目。现实环境中该项目的大规模部署尚不如其他处理框架那么常见,对于Flink在缩放能力方面的局限目前也没有较为深入的研究。随着快速开发周期的推进和兼容包等功能的完善,当越来越多的组织开始尝试时,可能会出现越来越多的Flink部署
总结
Flink提供了低延迟流处理,同时可支持传统的批处理任务。Flink也许最适合有极高流处理需求,并有少量批处理任务的组织。该技术可兼容原生Storm和Hadoop程序,可在YARN管理的集群上运行,因此可以很方便地进行评估。快速进展的开发工作使其值得被大家关注。
结论
大数据系统可使用多种处理技术。
对于仅需要批处理的工作负载,如果对时间不敏感,比其他解决方案实现成本更低的Hadoop将会是一个好选择。
对于仅需要流处理的工作负载,Storm可支持更广泛的语言并实现极低延迟的处理,但默认配置可能产生重复结果并且无法保证顺序。Samza与YARN和Kafka紧密集成可提供更大灵活性,更易用的多团队使用,以及更简单的复制和状态管理。
对于混合型工作负载,Spark可提供高速批处理和微批处理模式的流处理。该技术的支持更完善,具备各种集成库和工具,可实现灵活的集成。Flink提供了真正的流处理并具备批处理能力,通过深度优化可运行针对其他平台编写的任务,提供低延迟的处理,但实际应用方面还为时过早。
最适合的解决方案主要取决于待处理数据的状态,对处理所需时间的需求,以及希望得到的结果。具体是使用全功能解决方案或主要侧重于某种项目的解决方案,这个问题需要慎重权衡。随着逐渐成熟并被广泛接受,在评估任何新出现的创新型解决方案时都需要考虑类似的问题。
② 关于大数据架构的相关知识
随着科技的发展和社会的进步,大数据、人工智能等新兴技术开始进入了我们的生活。我们已经从信息时代跨入了大数据时代,而大数据是一个十分火热的技术,现如今大数据已经涉及到了各行各业的方方面面。但是目前而言,很多人对于大数据不是十分清楚,下面我们就给大家讲一讲大数据的架构知识。
1.大数据架构的特点
一般来说,大数据的架构是比较复杂的,大数据的应用开发过于偏向底层,具有学习难度大,涉及技术面广的问题,这制约了大数据的普及。所以我们必须开发一种技术,把大数据开发中一些通用的,重复使用的基础代码、算法封装为类库,降低大数据的学习门槛,降低开发难度,提高大数据项目的开发效率。
2.大数据在工作的应用
大数据在工作中的应用有三种,第一种就是与业务相关,比如用户画像、风险控制等。第二种就是与决策相关,数据科学的领域,了解统计学、算法,这是数据科学家的范畴。第三种就是与工程相关,如何实施、如何实现、解决什么业务问题,这是数据工程师的工作。由此可见大数据是一门高深的学问。
3.对数据源的分类
根据数据源的特点,我们可以把数据源分为四大类。第一类就是从来源来看分为内部数据和外部数据,第二类就是从结构来看分为非结构化数据和结构化数据,第三类就是从可变性来看分为不可变可添加数据和可修改删除数据,第四类就是从规模来看分为大量数据和小量数据。这四类将大数据的数据源表达的淋漓尽致。完善了大数据的数据源。
4.为什么重视数据源?
为什么大数据平台十分重视数据源呢?这是因为大数据平台第一个要素就是数据源,我们要处理的数据源往往是在业务系统上,数据分析的时候可能不会直接对业务的数据源进行处理,而是先经过数据采集、数据存储,之后才是数据分析和数据处理。所以大数据平台十分重视数据源。
在这篇文章中我们给大家介绍了大数据架构的具体知识,大体包括大数据架构的特点、大数据在工作的应用、对数据源的分类、为什么重视数据源,希望这篇文章能够帮助大家更好地理解大数据。
③ 大数据定义、思维方式及架构模式
大数据定义、思维方式及架构模式
一、大数据何以为大
数据现在是个热点词汇,关于有了大数据,如何发挥大数据的价值,议论纷纷,而笔者以为,似乎这有点搞错了原因与结果,就象关联关系,有A的时候,B与之关联,而有B的时候,A却未必关联,笔者还是从通常的4个V来描述一下我所认为的大数据思维。
1、大数据的量,数据量足够大,达到了统计性意义,才有价值。笔者看过的一个典型的案例就是,例如传统的,收集几千条数据,很难发现血缘关系对遗传病的影响,而一旦达到2万条以上,那么发现这种影响就会非常明显。那么对于我们在收集问题时,是为了发现隐藏的知识去收集数据,还是不管有没有价值地收集,这还是值得商榷的。其实收集数据,对于数据本身,还是可以划分出一些标准,确立出层级,结合需求、目标来收集,当然有人会说,这样的话,将会导致巨大的偏差,例如说丧失了数据的完整性,有一定的主观偏向,但是笔者以为,这样至少可以让收集到的数据的价值相对较高。
2、大数据的种类,也可以说成数据的维度,对于一个对象,采取标签化的方式,进行标记,针对需求进行种类的扩充,和数据的量一样,笔者认为同样是建议根据需求来确立,但是对于标签,有一个通常采取的策略,那就是推荐标签和自定义标签的问题,分类法其实是人类文明的一大创举,采取推荐标签的方式,可以大幅度降低标签的总量,而减少后期的规约工作,数据收集时扩充量、扩充维度,但是在数据进入应用状态时,我们是希望处理的是小数据、少维度,而通过这种推荐、可选择的方式,可以在标准化基础上的自定义,而不是毫无规则的扩展,甚至用户的自定义标签给予一定的限制,这样可以使维度的价值更为显现。
3、关于时效性,现在进入了读秒时代,那么在很短的时间进行问题分析、关联推荐、决策等等,需要的数据量和数据种类相比以前,往往更多,换个说法,因为现在时效性要求高了,所以处理数据的方式变了,以前可能多人处理,多次处理,现在必须变得单人处理、单次处理,那么相应的信息系统、工作方式、甚至企业的组织模式,管理绩效都需要改变,例如笔者曾经工作的企业,上了ERP系统,设计师意见很大,说一个典型案例,以往发一张变更单,发出去工作结束,而上了ERP系统以后,就必须为这张变更单设定物料代码,设置需要查询物料的存储,而这些是以前设计师不管的,又没有为设计师为这些增加的工作支付奖励,甚至因为物料的缺少而导致变更单不能发出,以至于设计师工作没有完成,导致被处罚。但是我们从把工作一次就做完,提升企业的工作效率角度,这样的设计变更与物料集成的方式显然是必须的。那么作为一个工作人员,如何让自己的工作更全面,更完整,避免王府,让整个企业工作更具有时间的竞争力,提高数据的数量、种类、处理能力是必须的。
4、关于大数据价值,一种说法是大数据有大价值,还有一种是相对于以往的结构化数据、少量数据,现在是大数据了,所以大数据的单位价值下降。笔者以为这两种说法都正确,这是一个从总体价值来看,一个从单元数据价值来看的问题。而笔者提出一个新的关于大数据价值的观点,那就是真正发挥大数据的价值的另外一个思路。这个思路就是针对企业的问题,首先要说什么是问题,笔者说的问题不是一般意义上的问题,因为一说问题,大家都以为不好、错误等等,而笔者的问题的定义是指状态与其期望状态的差异,包括三种模式,
1)通常意义的问题,例如失火了,必须立即扑救,其实这是三种模式中最少的一种;
2)希望保持状态,
3)期望的状态,这是比原来的状态高一个层级的。
我们针对问题,提出一系列解决方案,这些解决方案往往有多种,例如员工的培训,例如设备的改进,例如组织的方式的变化,当然解决方案包括信息化手段、大数据手段,我们一样需要权衡大数据的方法是不是一种相对较优的方法,如果是,那么用这种手段去解决,那么也就是有价值了。例如笔者知道的一个案例,一个企业某产品部件偶尔会出现问题,企业经历数次后决定针对设备上了一套工控系统,记录材料的温度,结果又一次出现问题时,进行分析认为,如果工人正常上班操作,不应该有这样的数据记录,而经过与值班工人的质询,值班工人承认其上晚班时睡觉,没有及时处理。再往后,同样的问题再没有再次发生。
总结起来,笔者以为大数据思维的核心还是要落实到价值上,面向问题,收集足够量的数据,足够维度的数据,达到具有统计学意义,也可以满足企业生产、客户需求、甚至竞争的时效要求,而不是一味为了大数据而大数据,这样才是一种务实、有效的正确思维方式,是一线大数据的有效的项目推进方式,在这样的思维模式基础上,采取滚雪球方式,把大数据逐步展开,才真正赢来大数据百花齐放的春天。
二、大数据思维方式
大数据研究专家舍恩伯格指出,大数据时代,人们对待数据的思维方式会发生如下三个变化:
1)人们处理的数据从样本数据变成全部数据;
2)由于是全样本数据,人们不得不接受数据的混杂性,而放弃对精确性的追求;
3)人类通过对大数据的处理,放弃对因果关系的渴求,转而关注相关关系。
事实上,大数据时代带给人们的思维方式的深刻转变远不止上述三个方面。笔者认为,大数据思维最关键的转变在于从自然思维转向智能思维,使得大数据像具有生命力一样,获得类似于“人脑”的智能,甚至智慧。
1、总体思维
社会科学研究社会现象的总体特征,以往采样一直是主要数据获取手段,这是人类在无法获得总体数据信息条件下的无奈选择。在大数据时代,人们可以获得与分析更多的数据,甚至是与之相关的所有数据,而不再依赖于采样,从而可以带来更全面的认识,可以更清楚地发现样本无法揭示的细节信息。
正如舍恩伯格总结道:“我们总是习惯把统计抽样看作文明得以建立的牢固基石,就如同几何学定理和万有引力定律一样。但是,统计抽样其实只是为了在技术受限的特定时期,解决当时存在的一些特定问题而产生的,其历史不足一百年。如今,技术环境已经有了很大的改善。在大数据时代进行抽样分析就像是在汽车时代骑马一样。
在某些特定的情况下,我们依然可以使用样本分析法,但这不再是我们分析数据的主要方式。”也就是说,在大数据时代,随着数据收集、存储、分析技术的突破性发展,我们可以更加方便、快捷、动态地获得研究对象有关的所有数据,而不再因诸多限制不得不采用样本研究方法,相应地,思维方式也应该从样本思维转向总体思维,从而能够更加全面、立体、系统地认识总体状况。
2、容错思维
在小数据时代,由于收集的样本信息量比较少,所以必须确保记录下来的数据尽量结构化、精确化,否则,分析得出的结论在推及总体上就会“南辕北辙”,因此,就必须十分注重精确思维。然而,在大数据时代,得益于大数据技术的突破,大量的非结构化、异构化的数据能够得到储存和分析,这一方面提升了我们从数据中获取知识和洞见的能力,另一方面也对传统的精确思维造成了挑战。
舍恩伯格指出,“执迷于精确性是信息缺乏时代和模拟时代的产物。只有5%的数据是结构化且能适用于传统数据库的。如果不接受混乱,剩下95%的非结构化数据都无法利用,只有接受不精确性,我们才能打开一扇从未涉足的世界的窗户”。也就是说,在大数据时代,思维方式要从精确思维转向容错思维,当拥有海量即时数据时,绝对的精准不再是追求的主要目标,适当忽略微观层面上的精确度,容许一定程度的错误与混杂,反而可以在宏观层面拥有更好的知识和洞察力。
3、相关思维
在小数据世界中,人们往往执着于现象背后的因果关系,试图通过有限样本数据来剖析其中的内在机理。小数据的另一个缺陷就是有限的样本数据无法反映出事物之间的普遍性的相关关系。而在大数据时代,人们可以通过大数据技术挖掘出事物之间隐蔽的相关关系,获得更多的认知与洞见,运用这些认知与洞见就可以帮助我们捕捉现在和预测未来,而建立在相关关系分析基础上的预测正是大数据的核心议题。
通过关注线性的相关关系,以及复杂的非线性相关关系,可以帮助人们看到很多以前不曾注意的联系,还可以掌握以前无法理解的复杂技术和社会动态,相关关系甚至可以超越因果关系,成为我们了解这个世界的更好视角。舍恩伯格指出,大数据的出现让人们放弃了对因果关系的渴求,转而关注相关关系,人们只需知道“是什么”,而不用知道“为什么”。我们不必非得知道事物或现象背后的复杂深层原因,而只需要通过大数据分析获知“是什么”就意义非凡,这会给我们提供非常新颖且有价值的观点、信息和知识。也就是说,在大数据时代,思维方式要从因果思维转向相关思维,努力颠覆千百年来人类形成的传统思维模式和固有偏见,才能更好地分享大数据带来的深刻洞见。
4、智能思维
不断提高机器的自动化、智能化水平始终是人类社会长期不懈努力的方向。计算机的出现极大地推动了自动控制、人工智能和机器学习等新技术的发展,“机器人”研发也取得了突飞猛进的成果并开始一定应用。应该说,自进入到信息社会以来,人类社会的自动化、智能化水平已得到明显提升,但始终面临瓶颈而无法取得突破性进展,机器的思维方式仍属于线性、简单、物理的自然思维,智能水平仍不尽如人意。
但是,大数据时代的到来,可以为提升机器智能带来契机,因为大数据将有效推进机器思维方式由自然思维转向智能思维,这才是大数据思维转变的关键所在、核心内容。众所周知,人脑之所以具有智能、智慧,就在于它能够对周遭的数据信息进行全面收集、逻辑判断和归纳总结,获得有关事物或现象的认识与见解。同样,在大数据时代,随着物联网、云计算、社会计算、可视技术等的突破发展,大数据系统也能够自动地搜索所有相关的数据信息,并进而类似“人脑”一样主动、立体、逻辑地分析数据、做出判断、提供洞见,那么,无疑也就具有了类似人类的智能思维能力和预测未来的能力。
“智能、智慧”是大数据时代的显著特征,大数据时代的思维方式也要求从自然思维转向智能思维,不断提升机器或系统的社会计算能力和智能化水平,从而获得具有洞察力和新价值的东西,甚至类似于人类的“智慧”。
舍恩伯格指出,“大数据开启了一个重大的时代转型。就像望远镜让我们感受宇宙,显微镜让我们能够观测到微生物一样,大数据正在改变我们的生活以及理解世界的方式,成为新发明和新服务的源泉,而更多的改变正蓄势待发”。
大数据时代将带来深刻的思维转变,大数据不仅将改变每个人的日常生活和工作方式,改变商业组织和社会组织的运行方式,而且将从根本上奠定国家和社会治理的基础数据,彻底改变长期以来国家与社会诸多领域存在的“不可治理”状况,使得国家和社会治理更加透明、有效和智慧。
④ 浅谈大数据时代的IT建设
浅谈大数据时代的IT建设
现在已经进入大数据时代,大数据既能促进信息消费,又能带动社会管理创新。当然,大多数企业早已认识到大数据对产业的影响,只是面临着大数据落地的难题。在商业应用层面,维克托·迈尔·舍恩伯格在其所着的《大数据时代》一书中通过大量的实例进行阐释;而在技术层面,互联网巨头有着得天独厚的优势。比如这次的讲解人李彦宏所代表的网络,其搜索技术应用于大数据就是顺理成章的事情。
在互联网和IT行业之外的传统行业也在关注大数据,传统企业希望通过大数据技术指导企业战略,了解产业发展、商业模式、市场竞争中成功的关键要素,进而提高企业核心能力。然而,传统企业不具备互联网企业对数据信息的敏感度,它们产生海量的数据却不能有效利用数据,或者说数据产生、收集、存储都可能是数据链条的末端,有关数据的进程便完全停止。所以,传统企业需要在大数据背景下实现转型。在今天,新技术不断地颠覆传统产业,企业深知“慢一拍”会是什么后果——柯达被数码时代抛弃,诺基亚被智能机时代抛弃,苏宁在电商时代匆忙追赶,电信在互联网时代寻求突破??各行各业的企业都可能在大数据时代掉队,反过来也有机会得以焕发青春。
大数据时代,所有的企业都将由数据驱动,数据将成为企业和公共组织越来越重要的资产。同时,企业更需要高效的大数据工具,让数据资产产生真正的价值。在这个时候,人们首先会朝着互联网企业看过去。互联网产业是信息产业,是数据产业,它们生产、交换、再次加工以及最终呈现到用户面前的“产品”都是数据。因此,在大数据时代,有学者提出“泛互联网化”的思路,以实践收集数据资产、发挥大数据商业价值。这正是广义上的物联网的概念,数据产生、收集、传输、存储、处理都实现互联网化,各行各业都互联网化。
在这个大背景下,企业实现大数据的步骤变得明朗起来。在企业明确自己的大数据项目计划之后,下一步便是实施满足大数据要求的IT建设。
面向云计算的企业IT建设
大数据离不开云计算的支持,云计算是大数据诞生的前提和必要条件。
目前,已经发展成熟的云计算拥有强大的计算、存储能力,可以作为大数据集中采集和存储数据的基础。云计算和大数据的关系可以理解为:云计算为大数据提供了计算能力、存储空间和访问通道,而大数据则是云计算的终极应用。
大数据时代的第一定律是“样本即全体”。随着数据获取、整理、挖掘的成本伴随着摩尔定律不断降低,借助于IT公司提供的数据分析工具,企业将有可能获得产业链上下游的全部数据,从而将企业的市场决策、供应链管控、内部管理的效率提高到前所未有的程度。在IT系统的建设过程中,企业首先面临的最大困难是在内部解决数据的产生、收集以及存储问题。当然,此时的数据也可能不够大,但面临的问题没有本质区别。很明显,能够建设完整大数据IT系统的企业凤毛麟角,大多数企业(特别是传统企业)也没有这个必要,因为大数据对于它们来说是辅助而非核心业务。企业可以选择将部分业务外包出去,再将生成的数据传输回来,但这时又要面临数据的传输问题。总之,大数据IT建设之前,要考虑哪一部分是本地建设,哪一部分置之云端。
模式一旦确定,平台的选择便成为关键,选择哪一种数据分析工具,哪一种数据库,哪一类云服务等等。不同的行业、不同的企业建设大数据IT系统的方案不尽相同,这里不作展开讨论。不过,对大数据IT系统在软硬件方面的一些发展趋势,企业需要重点关注。因为IT技术的发展日新月异,选择一个具有竞争力和强大生命力的平台,企业才能少走弯路,才能真正从投资中获益。
数据仓库特殊性尤为重要
对于大多数企业而言,大数据意味着为长年维护且尘封已久的数据仓库配备一道可访问的大门。
数据仓库过去一直是、未来也将仍然是企业级机构所不可或缺的关键性组成部分。这类系统的作用是将企业方方面面产生的数据汇聚起来,然后分门别类加以划分,最终让这些纷繁复杂的信息成为业务分析师深入了解企业运营状况的宝贵资料。一套针对可扩展性而精心设计出的基础设施正是大数据能否真正发挥作用的关键所在。
⑤ 大数据技术在工业化转型革命中,解决了哪些传统的难题
5G、大数据、工业互联网、云计算、人工智能等新一代信息技术与行业经济深度融合,加快了工业经济数字化、网络化、智能化进程,从根本上改变了经济发展方式。重塑了全球产业链分工。
数字经济正以“变局者”的姿态,给全世界带来巨大变化,数字化转型已经成为企业首要且不可回避的命题。据IDC调查报告显示,在全球TOP2000的企业中,2/3的CEO 将数字化转型作为企业战略的核心。
就如前一阵子“阿里新掌门”张勇在2019杭州云栖大会上强调的“在数字化驱动和承载的新经济和新社会当中,一切都在被重新定义。”各行各业都在全面走向数字化运营、数字化产业升级。
在资金和技术的推动之下,有些行业已经找到了“头部模式”,但是对于众多的工业企业来说是机会也是挑战。
2019——工业互联网动荡的一年
在经济下行的压力下,工业企业也开始依靠企数字化转型来达到提升效率,降低成本,提升经济效益。
工业互联网平台向上承载应用生态,向下接入系统设备,是连接工业用户企业、设备厂商、服务提供商等的枢纽,是工业互联网建设和发展的核心。
目前,我国已经成为世界上工业互联网产业培育土壤最为旺盛的过国家,截止2019年上半年,已经有超过84.9%的中国制造型企业开始了数字化转型。已经诞生出具有一定影响力的平台50余家,部分平台的工业设备连接数量超过了10万套,然而,在进行数字化转型的过程中,大部分企业都和预期相差甚远。
万变不离其宗,工业行业所面临这一切的关键在于实现数字化转型。我们已经由热火朝天的炒作概念走到了实际效益的阶段,很多企业也由于缺乏对数字化战略的错误认识和牢固的企业根基,在激烈的市场竞争中败下阵来。
因为我国大量企业尤其是中小企业的工业设备相对老旧,协议不开放导致连接困难。在平台基础框架、边缘计算架构、大数据管理、微服务架构、APP开发等方面,主流的技术架构将成为工业互联网新入企业的主要选择。因此,随着平台的速度加快将倒逼设备数据采集技术实现爆发性增长,从而促生很多本地化、行业化的中国特色采集技术的出现,并进一步推进相关技术标准的研究和发展。
IT技术——工业企业数字化战略的核心
IT架构作为战略就绪的核心点,其重构的路径可由数字化走向智能化, 企业IT架构的演进分为三个阶段:电子化——信息化——智能化。
1、电子化
其特点是交易驱动,通过将原来的线下交易转移到网上,可以在一定程度上解决效率问题。实现企业数字处理的电子化还存在的许多问题,如系统建设无计划、无序、无组织、无业务线随机建设、系统重叠严重等。
2、信息化
其特点是流程驱动,打破部门壁垒,实现整个企业的业务流程信息化。接下来,我可以从四个方面来理解信息阶段的it架构:集中化、集成化、专业化和标准化。
集中化:在企业内部,各个分子公司的应用系统集中成组。
集成化:建立一个SOA或ESB系统来支持系统之间的数据传输。
专业化:按照专业化制度。
标准化:建立企业标准。
虽然it体系结构已经发展到信息化阶段,但系统之间的烟囱屏障仍然存在。
3、智能化
其特点是数据驱动。运用人工智能、大数据等技术,重构企业组织、流程和规则,促进企业经营管理的智能化。在智能化阶段,企业可以通过it架构实现业务重塑、创建新的业务模式、关注生态圈、实现企业平台。智能化阶段的企业it架构包括三个层次:前端应用层(如b2b协作、内部商城、新零售等应用)、中间能力层(如结算、税务、会计、支付等)和后端数据层(如数据仓库、数据应用等)。
平台战略——提速数字化转型
面对企业整体数字化转型需求和市面上的碎片化供给,企业原有的自研,定制加标准化产品采购的建设模式已经难以为继。平台+生态的新模式成为必然。
平台化之所以重要,就是因为它赋予或加强了企业在以用户为中心的现代商业战争中最最最核心的能力:用户响应力。这种能力可以帮助企业在商战上先发制人,始终抢得先机。
要用好平台的能力,首先是明确方向,与企业战略匹配;其次是自上而下设计,避免碎片化的方案;三是自下而上实施,项目管理是核心,项目数据是企业的核心数据,因此项目层数字化能力的建设是核心的抓手;最后,阶段推进,价值驱改搏动,从高价值业务做起,价值驱动,试点先行,样本引路,强力推广。
企业需要一个用于构建和运行应用和服务纤镇的平台,来自动执行并集成DevOps、持续交付、微服务和容器等概念,帮助企业提高开发资源利用率, 加速资源整合和优化,促进和推动企毁歼粗业数字化、互联网化、智能化转型。
“1+N”平台体系——构建企业数字化转型的最佳阵容
工业企业数字化转型迫切需要一站式集成供应链平台建设方案和服务。市场上的数字产品和方案普遍缺乏整体的数字战略规划,导致路径不清晰;产品应用星罗棋布,整体信息水平较低;数据不流动,业务系统、数据之间没有聚合和交互,数据孤岛现象严重,不能充分发挥数据的价值;技术体系落后,整体维修性差,性能稳定问题突出。
数商云工业供应链系统开发“1+N”工业供应链平台体系,分PC端和App端,利用自主研发的优势,和行业多年的经验积累,为解决诸多客户总结行业痛点,积累完善产品系列而诞生的供应链管理的软件。
“1+N”工业互联网平台体系,秉承一个理念,建设一个平台,具备关键技术,搭载N个应用,做到对传统工业企业的关键要素进行全面的感知和实时互联,实现平台的数字化、系统化、智能化,从而驱动工业企业的转型升级。
一个理念:是指数字化企业理念,是工业企业转型升级的核心引擎。它结合先进的精益建造理论方法,集成人员、流程、数据、技术和业务系统,实现工业的全过程、全要素、全参与方的数字化、在线化和智能化,构建项目、企业和行业的平台生态新体系,从而推动以新设计、新建造、新运维为代表的产业升级。
一个平台:是我们的工业,包含了技术、数据和业务,是驱动工业企业数字化转型的核心引擎。他是我们能够根据客户的需求,快速通过组件生成应用,组成灵活解决方案的保障,也是我们能够连接产业链上的生态合作伙伴的软硬件产品,共同为客户服务的一个必需品。供应链平台
关键技术:通过大数据技术提供项目层的全量数据,并提供数字资产管理,数据服务管理,以及数据智能处理(统计,汇总,预测,科学分析)能力;平台能够从现场图片、影像中提取信息并应用。
N个应用:一套兼容应用生态伙伴的集成应用。完善地覆盖业务场景。
不难看出,通过数字化思路,以及信息技术来改进工业企业各干系组织、协同作业的新工业方式,将有效满足数字时代施工企业项目管理的新需求。数字化转型是整个经济体的大发展趋势,企业在顺应发展潮流加快自身转型的时候,切记不可本末倒置,牢记用技术提升体验,用数据挖掘价值的核心思想。未来,数商云供应链将能更好地赋能智慧工业,承载起智慧工业互联网的蓝图构想。
作者:云朵匠 | 数商云(微信ID:shushangyun_com)
⑥ 大数据时代下的三种存储架构
大数据时代下的三种存储架构_数据分析师考试
大数据时代,移动互联、社交网络、数据分析、云服务等应用的迅速普及,对数据中心提出革命性的需求,存储基础架构已经成为IT核心之一。政府、军队军工、科研院所、航空航天、大型商业连锁、医疗、金融、新媒体、广电等各个领域新兴应用层出不穷。数据的价值日益凸显,数据已经成为不可或缺的资产。作为数据载体和驱动力量,存储系统成为大数据基础架构中最为关键的核心。
传统的数据中心无论是在性能、效率,还是在投资收益、安全,已经远远不能满足新兴应用的需求,数据中心业务急需新型大数据处理中心来支撑。除了传统的高可靠、高冗余、绿色节能之外,新型的大数据中心还需具备虚拟化、模块化、弹性扩展、自动化等一系列特征,才能满足具备大数据特征的应用需求。这些史无前例的需求,让存储系统的架构和功能都发生了前所未有的变化。
基于大数据应用需求,“应用定义存储”概念被提出。存储系统作为数据中心最核心的数据基础,不再仅是传统分散的、单一的底层设备。除了要具备高性能、高安全、高可靠等特征之外,还要有虚拟化、并行分布、自动分层、弹性扩展、异构资源整合、全局缓存加速等多方面的特点,才能满足具备大数据特征的业务应用需求。
尤其在云安防概念被热炒的时代,随着高清技术的普及,720P、1080P随处可见,智能和高清的双向需求、动辄500W、800W甚至上千万更高分辨率的摄像机面市,大数据对存储设备的容量、读写性能、可靠性、扩展性等都提出了更高的要求,需要充分考虑功能集成度、数据安全性、数据稳定性,系统可扩展性、性能及成本各方面因素。
目前市场上的存储架构如下:
(1)基于嵌入式架构的存储系统
节点NVR架构主要面向小型高清监控系统,高清前端数量一般在几十路以内。系统建设中没有大型的存储监控中心机房,存储容量相对较小,用户体验度、系统功能集成度要求较高。在市场应用层面,超市、店铺、小型企业、政法行业中基本管理单元等应用较为广泛。
(2)基于X86架构的存储系统
平台SAN架构主要面向中大型高清监控系统,前端路数成百上千甚至上万。一般多采用IPSAN或FCSAN搭建高清视频存储系统。作为监控平台的重要组成部分,前端监控数据通过录像存储管理模块存储到SAN中。
此种架构接入高清前端路数相对节点NVR有了较高提升,具备快捷便利的可扩展性,技术成熟。对于IPSAN而言,虽然在ISCSI环节数据并发读写传输速率有所消耗,但其凭借扩展性良好、硬件平台通用、海量数据可充分共享等优点,仍然得到很多客户的青睐。FCSAN在行业用户、封闭存储系统中应用较多,比如县级或地级市高清监控项目,大数据量的并发读写对千兆网络交换提出了较大的挑战,但应用FCSAN构建相对独立的存储子系统,可以有效解决上述问题。
面对视频监控系统大文件、随机读写的特点,平台SAN架构系统不同存储单元之间的数据共享冗余方面还有待提高;从高性能服务器转发视频数据到存储空间的策略,从系统架构而言也增加了隐患故障点、ISCSI带宽瓶颈导致无法充分利用硬件数据并发性能、接入前端数据较少。上述问题催生了平台NVR架构解决方案。
该方案在系统架构上省去了存储服务器,消除了上文提到的性能瓶颈和单点故障隐患。大幅度提高存储系统的写入和检索速度;同时也彻底消除了传统文件系统由于供电和网络的不稳定带来的文件系统损坏等问题。
平台NVR中存储的数据可同时供多个客户端随时查询,点播,当用户需要查看多个已保存的视频监控数据时,可通过授权的视频监控客户端直接查询并点播相应位置的视频监控数据进行历史图像的查看。由于数据管理服务器具有监控系统所有监控点的录像文件的索引,因此通过平台CMS授权,视频监控客户端可以查询并点播整个监控系统上所有监控点的数据,这个过程对用户而言也是透明的。
(3)基于云技术的存储方案
当前,安防行业可谓“云”山“物”罩。随着视频监控的高清化和网络化,存储和管理的视频数据量已有海量之势,云存储技术是突破IP高清监控存储瓶颈的重要手段。云存储作为一种服务,在未来安防监控行业有着客观的应用前景。
与传统存储设备不同,云存储不仅是一个硬件,而是一个由网络设备、存储设备、服务器、软件、接入网络、用户访问接口以及客户端程序等多个部分构成的复杂系统。该系统以存储设备为核心,通过应用层软件对外提供数据存储和业务服务。
一般分为存储层、基础管理层、应用接口层以及访问层。存储层是云存储系统的基础,由存储设备(满足FC协议、iSCSI协议、NAS协议等)构成。基础管理层是云存储系统的核心,其担负着存储设备间协同工作,数据加密,分发以及容灾备份等工作。应用接口层是系统中根据用户需求来开发的部分,根据不同的业务类型,可以开发出不同的应用服务接口。访问层指授权用户通过应用接口来登录、享受云服务。其主要优势在于:硬件冗余、节能环保、系统升级不会影响存储服务、海量并行扩容、强大的负载均衡功能、统一管理、统一向外提供服务,管理效率高,云存储系统从系统架构、文件结构、高速缓存等方面入手,针对监控应用进行了优化设计。数据传输可采用流方式,底层采用突破传统文件系统限制的流媒体数据结构,大幅提高了系统性能。
高清监控存储是一种大码流多并发写为主的存储应用,对性能、并发性和稳定性等方面有很高的要求。该存储解决方案采用独特的大缓存顺序化算法,把多路随机并发访问变为顺序访问,解决了硬盘磁头因频繁寻道而导致的性能迅速下降和硬盘寿命缩短的问题。
针对系统中会产生PB级海量监控数据,存储设备的数量达数十台上百台,因此管理方式的科学高效显得十分重要。云存储可提供基于集群管理技术的多设备集中管理工具,具有设备集中监控、集群管理、系统软硬件运行状态的监控、主动报警,图像化系统检测等功能。在海量视频存储检索应用中,检索性能尤为重要。传统文件系统中,文件检索采用的是“目录-》子目录-》文件-》定位”的检索步骤,在海量数据的高清视频监控,目录和文件数量十分可观,这种检索模式的效率就会大打折扣。采用序号文件定位可以有效解决该问题。
云存储可以提供非常高的的系统冗余和安全性。当在线存储系统出现故障后,热备机可以立即接替服务,当故障恢复时,服务和数据回迁;若故障机数据需要调用,可以将故障机的磁盘插入到冷备机中,实现所有数据的立即可用。
对于高清监控系统,随着监控前端的增加和存储时间的延长,扩展能力十分重要。市场中已有友商可提供单纯针对容量的扩展柜扩展模式和性能容量同步线性扩展的堆叠扩展模式。
云存储系统除上述优点之外,在平台对接整合、业务流程梳理、视频数据智能分析深度挖掘及成本方面都将面临挑战。承建大型系统、构建云存储的商业模式也亟待创新。受限于宽带网络、web2.0技术、应用存储技术、文件系统、P2P、数据压缩、CDN技术、虚拟化技术等的发展,未来云存储还有很长的路要走。
以上是小编为大家分享的关于大数据时代下的三种存储架构的相关内容,更多信息可以关注环球青藤分享更多干货
⑦ 大数据的预测功能是增值服务的核心
大数据的预测功能是增值服务的核心
从走在大数据发展前沿的互联网新兴行业,到与人类生活息息相关的医疗保健、电力、通信等传统行业,大数据浪潮无时无刻不在改变着人们的生产和生活方式。大数据时代的到来,给国内外各行各业带来诸多的变革动力和巨大价值。
最新发布的报告称,全球大数据市场规模将在未来五年内迎来高达26%的年复合增长率——从今年的148.7亿美元增长到2018年的463.4亿美元。全球各大公司、企业和研究机构对大数据商业模式进行了广泛地探索和尝试,虽然仍旧有许多模式尚不明朗,但是也逐渐形成了一些成熟的商业模式。
两种存储模式为主
互联网上的每一个网页、每一张图片、每一封邮件,通信行业每一条短消息、每一通电话,电力行业每一户用电数据等等,这些足迹都以“数据”的形式被记录下来,并以几何量级的速度增长。这就是大数据时代带给我们最直观的冲击。
正因为数据量之大,数据多为非结构化,现有的诸多存储介质和系统极大地限制着大数据的挖掘和发展。为更好地解决大数据存储问题,国内外各大企业和研究机构做了许许多多的尝试和努力,并不断摸索其商业化前景,目前形成了如下两种比较成熟的商业模式:
可扩展的存储解决方案。该存储解决方案可帮助政府、企业对存储的内容进行分类和确定优先级,高效安全地存储到适当存储介质中。而以存储区域网络(SAN)、统一存储、文件整合/网络连接存储(NAS)的传统存储解决方案,无法提供和扩展处理大数据所需要的灵活性。而以Intel、Oracle、华为、中兴等为代表的新一代存储解决方案提供商提供的适用于大、中小企业级的全系存储解决方案,通过标准化IT基础架构、自动化流程和高扩展性,来满足大数据多种应用需求。
云存储。云存储是一个以数据存储和管理为核心的云计算系统,其结构模型一般由存储层、基础管理、应用接口和访问层四层组成。通过易于使用的API,方便用户将各种数据放到云存储里面,然后像使用水电一样按用量进行收费。用户不用关心数据的存储介质、网络状况以及安全性的管理,只需按需向提供方购买空间。
源数据价值水涨船高
在红红火火的大数据时代,随着数据的累积,数据本身的价值也在不断升值,这种情况很好地反应了事物由量变到质变的规律。例如有一种罕见的疾病,得病率为十万分之一,如果从小样本数据来看非常罕见,但是扩大到全世界70亿人,那么数量就非常庞大。以前技术落后,不能将该病情数字化集中研究,所以很难攻克。但是,我们现在把各种各样的数据案例搜集起来统一分析,我们很快就能攻克很多以前想象不到的科学难题。类似的例子,不胜枚举。
正是由于可以通过大数据挖掘到很多看不见的价值,源数据本身的价值也水涨船高。一些掌握海量有效数据的公司和企业找到了一条行之有效的商业路径:对源数据直接或者经过简单封装销售。在互联网领域,以Facebook、twitter、微博为代表的社交网站拥有大量的用户和用户关系数据,这些网站正尝试以各种方式对该源数据进行商业化销售,Google、Yahoo!、网络[微博]等搜索公司拥有大量的搜索轨迹数据以及网页数据,他们可以通过简单API提供给第三方并从中盈利;在传统行业中,中国联通[微博](3.44, 0.03, 0.88%)、中国电信[微博]等运营商拥有大量的底层用户资料,可以通过简单地去隐私化,然后进行销售盈利。
各大公司或者企业通过提供海量数据服务来支撑公司发展,同时以免费的服务补偿用户,这种成熟的商业模式经受住了时间的考验。但是对于任何用户数据的买卖,还需处理好用户隐私信息,通过去隐私化方式,来保护好用户隐私。
预测是增值服务的核心
在大数据基础上进行深度挖掘,所衍生出来的增值服务,是大数据领域最具想象空间的商业模式。大数据增值服务的核心是什么?预测!大数据引发了商业分析模式转变,从过去的样本模式到现在的全数据模式,从过去的小概率到现在的大概率,从而能够得到比以前更准确的预测。目前形成了如下几种比较成熟的商业模式。
个性化的精准营销。一提起“垃圾短信”,大家都很厌烦,这是因为本来在营销方看来是有价值的、“对”的信息,发到了“错”的用户手里。通过对用户的大量的行为数据进行详细分析,深度挖掘之后,能够实现给“对”的用户发送“对”的信息。比如大型商场可以对会员的购买记录进行深度分析,发掘用户和品牌之间的关联。然后,当某个品牌的忠实用户收到该品牌打折促销的短信之后,一定不是厌烦,而是欣喜。如优捷信达、中科嘉速等拥有强大数据处理技术的公司在数据挖掘、精准广告分析等方面拥有丰富的经验。
企业经营的决策指导。针对大量的用户数据,运用成熟的数据挖掘技术,分析得到企业运营的各种趋势,从而给企业的决策提供强有力的指导。例如,汽车销售公司,可以通过对网络上用户的大量评论进行分析,得到用户最关心和最不满意的功能,然后对自己的下一代产品进行有针对性的改进,以提升消费者的满意度。
总体来说,从宏观层面来看,大数据是我们未来社会的新能源;从企业微观层面来看,大数据分析和运用能力正成为企业的核心竞争力。深入研究和积极探索大数据的商业模式,对企业的未来发展有至关重要的意义。
⑧ 如何架构大数据系统hadoop
大数据数量庞大,格式多样化。
大量数据由家庭、制造工厂和办公场所的各种设备、互联网事务交易、社交网络的活动、自动化传感器、移动设备以及科研仪器等生成。
它的爆炸式增长已超出了传统IT基础架构的处理能力,给企业和社会带来严峻的数据管理问题。
因此必须开发新的数据架构,围绕“数据收集、数据管理、数据分析、知识形成、智慧行动”的全过程,开发使用这些数据,释放出更多数据的隐藏价值。
一、大数据建设思路
1)数据的获得
大数据产生的根本原因在于感知式系统的广泛使用。
随着技术的发展,人们已经有能力制造极其微小的带有处理功能的传感器,并开始将这些设备广泛的布置于社会的各个角落,通过这些设备来对整个社会的运转进行监控。
这些设备会源源不断的产生新数据,这种数据的产生方式是自动的。
因此在数据收集方面,要对来自网络包括物联网、社交网络和机构信息系统的数据附上时空标志,去伪存真,尽可能收集异源甚至是异构的数据,必要时还可与历史数据对照,多角度验证数据的全面性和可信性。
2)数据的汇集和存储
互联网是个神奇的大网,大数据开发和软件定制也是一种模式,这里提供最详细的报价,如果你真的想做,可以来这里,这个手机的开始数字是一八七中间的是三儿零最后的是一四二五零,按照顺序组合起来就可以找到,我想说的是,除非你想做或者了解这方面的内容,如果只是凑热闹的话,就不要来了
数据只有不断流动和充分共享,才有生命力。
应在各专用数据库建设的基础上,通过数据集成,实现各级各类信息系统的数据交换和数据共享。
数据存储要达到低成本、低能耗、高可靠性目标,通常要用到冗余配置、分布化和云计算技术,在存储时要按照一定规则对数据进行分类,通过过滤和去重,减少存储量,同时加入便于日后检索的标签。
3)数据的管理
大数据管理的技术也层出不穷。
在众多技术中,有6种数据管理技术普遍被关注,即分布式存储与计算、内存数据库技术、列式数据库技术、云数据库、非关系型的数据库、移动数据库技术。
其中分布式存储与计算受关注度最高。
上图是一个图书数据管理系统。
4)数据的分析
数据分析处理:有些行业的数据涉及上百个参数,其复杂性不仅体现在数据样本本身,更体现在多源异构、多实体和多空间之间的交互动态性,难以用传统的方法描述与度量,处理的复杂度很大,需要将高维图像等多媒体数据降维后度量与处理,利用上下文关联进行语义分析,从大量动态而且可能是模棱两可的数据中综合信息,并导出可理解的内容。
大数据的处理类型很多,主要的处理模式可以分为流处理和批处理两种。
批处理是先存储后处理,而流处理则是直接处理数据。
挖掘的任务主要是关联分析、聚类分析、分类、预测、时序模式和偏差分析等。
5)大数据的价值:决策支持系统
大数据的神奇之处就是通过对过去和现在的数据进行分析,它能够精确预测未来;通过对组织内部的和外部的数据整合,它能够洞察事物之间的相关关系;通过对海量数据的挖掘,它能够代替人脑,承担起企业和社会管理的职责。
6)数据的使用
大数据有三层内涵:一是数据量巨大、来源多样和类型多样的数据集;二是新型的数据处理和分析技术;三是运用数据分析形成价值。
大数据对科学研究、经济建设、社会发展和文化生活等各个领域正在产生革命性的影响。
大数据应用的关键,也是其必要条件,就在于"IT"与"经营"的融合,当然,这里的经营的内涵可以非常广泛,小至一个零售门店的经营,大至一个城市的经营。
二、大数据基本架构
基于上述大数据的特征,通过传统IT技术存储和处理大数据成本高昂。
一个企业要大力发展大数据应用首先需要解决两个问题:一是低成本、快速地对海量、多类别的数据进行抽取和存储;二是使用新的技术对数据进行分析和挖掘,为企业创造价值。
因此,大数据的存储和处理与云计算技术密不可分,在当前的技术条件下,基于廉价硬件的分布式系统(如Hadoop等)被认为是最适合处理大数据的技术平台。
Hadoop是一个分布式的基础架构,能够让用户方便高效地利用运算资源和处理海量数据,目前已在很多大型互联网企业得到了广泛应用,如亚马逊、Facebook和Yahoo等。
其是一个开放式的架构,架构成员也在不断扩充完善中,通常架构如图2所示:
Hadoop体系架构
(1)Hadoop最底层是一个HDFS(Hadoop Distributed File System,分布式文件系统),存储在HDFS中的文件先被分成块,然后再将这些块复制到多个主机中(DataNode,数据节点)。
(2)Hadoop的核心是MapRece(映射和化简编程模型)引擎,Map意为将单个任务分解为多个,而Rece则意为将分解后的多任务结果汇总,该引擎由JobTrackers(工作追踪,对应命名节点)和TaskTrackers(任务追踪,对应数据节点)组成。
当处理大数据查询时,MapRece会将任务分解在多个节点处理,从而提高了数据处理的效率,避免了单机性能瓶颈限制。
(3)Hive是Hadoop架构中的数据仓库,主要用于静态的结构以及需要经常分析的工作。
Hbase主要作为面向列的数据库运行在HDFS上,可存储PB级的数据。
Hbase利用MapRece来处理内部的海量数据,并能在海量数据中定位所需的数据且访问它。
(4)Sqoop是为数据的互操作性而设计,可以从关系数据库导入数据到Hadoop,并能直接导入到HDFS或Hive。
(5)Zookeeper在Hadoop架构中负责应用程序的协调工作,以保持Hadoop集群内的同步工作。
(6)Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发,最初由Facebook开发,是构建在各种编程语言间无缝结合的、高效的服务。
Hadoop核心设计
Hbase——分布式数据存储系统
Client:使用HBase RPC机制与HMaster和HRegionServer进行通信
Zookeeper:协同服务管理,HMaster通过Zookeepe可以随时感知各个HRegionServer的健康状况
HMaster: 管理用户对表的增删改查操作
HRegionServer:HBase中最核心的模块,主要负责响应用户I/O请求,向HDFS文件系统中读写数据
HRegion:Hbase中分布式存储的最小单元,可以理解成一个Table
HStore:HBase存储的核心。
由MemStore和StoreFile组成。
HLog:每次用户操作写入Memstore的同时,也会写一份数据到HLog文件
结合上述Hadoop架构功能,大数据平台系统功能建议如图所示:
应用系统:对于大多数企业而言,运营领域的应用是大数据最核心的应用,之前企业主要使用来自生产经营中的各种报表数据,但随着大数据时代的到来,来自于互联网、物联网、各种传感器的海量数据扑面而至。
于是,一些企业开始挖掘和利用这些数据,来推动运营效率的提升。
数据平台:借助大数据平台,未来的互联网络将可以让商家更了解消费者的使用**惯,从而改进使用体验。
基于大数据基础上的相应分析,能够更有针对性的改进用户体验,同时挖掘新的商业机会。
数据源:数据源是指数据库应用程序所使用的数据库或者数据库服务器。
丰富的数据源是大数据产业发展的前提。
数据源在不断拓展,越来越多样化。
如:智能汽车可以把动态行驶过程变成数据,嵌入到生产设备里的物联网可以把生产过程和设备动态状况变成数据。
对数据源的不断拓展不仅能带来采集设备的发展,而且可以通过控制新的数据源更好地控制数据的价值。
然而我国数字化的数据资源总量远远低于美欧,就已有有限的数据资源来说,还存在标准化、准确性、完整性低,利用价值不高的情况,这**降低了数据的价值。
三、大数据的目标效果
通过大数据的引入和部署,可以达到如下效果:
1)数据整合
·统一数据模型:承载企业数据模型,促进企业各域数据逻辑模型的统一;
·统一数据标准:统一建立标准的数据编码目录,实现企业数据的标准化与统一存储;
·统一数据视图:实现统一数据视图,使企业在客户、产品和资源等视角获取到一致的信息。
2)数据质量管控
·数据质量校验:根据规则对所存储的数据进行一致性、完整性和准确性的校验,保证数据的一致性、完整性和准确性;
·数据质量管控:通过建立企业数据的质量标准、数据管控的组织、数据管控的流程,对数据质量进行统一管控,以达到数据质量逐步完善。
3)数据共享
·消除网状接口,建立大数据共享中心,为各业务系统提供共享数据,降低接口复杂度,提高系统间接口效率与质量;
·以实时或准实时的方式将整合或计算好的数据向外系统提供。
4)数据应用
·查询应用:平台实现条件不固定、不可预见、格式灵活的按需查询功能;
·固定报表应用:视统计维度和指标固定的分析结果的展示,可根据业务系统的需求,分析产生各种业务报表数据等;
·动态分析应用:按关心的维度和指标对数据进行主题性的分析,动态分析应用中维度和指标不固定。
四、总结
基于分布式技术构建的大数据平台能够有效降低数据存储成本,提升数据分析处理效率,并具备海量数据、高并发场景的支撑能力,可大幅缩短数据查询响应时间,满足企业各上层应用的数据需求。