导航:首页 > 数据处理 > 大数据项目如何保障交付

大数据项目如何保障交付

发布时间:2022-09-13 14:39:36

① 五种大数据处理架构

五种大数据处理架构
大数据是收集、整理、处理大容量数据集,并从中获得见解所需的非传统战略和技术的总称。虽然处理数据所需的计算能力或存储容量早已超过一台计算机的上限,但这种计算类型的普遍性、规模,以及价值在最近几年才经历了大规模扩展。
本文将介绍大数据系统一个最基本的组件:处理框架。处理框架负责对系统中的数据进行计算,例如处理从非易失存储中读取的数据,或处理刚刚摄入到系统中的数据。数据的计算则是指从大量单一数据点中提取信息和见解的过程。
下文将介绍这些框架:
· 仅批处理框架:
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提供了真正的流处理并具备批处理能力,通过深度优化可运行针对其他平台编写的任务,提供低延迟的处理,但实际应用方面还为时过早。
最适合的解决方案主要取决于待处理数据的状态,对处理所需时间的需求,以及希望得到的结果。具体是使用全功能解决方案或主要侧重于某种项目的解决方案,这个问题需要慎重权衡。随着逐渐成熟并被广泛接受,在评估任何新出现的创新型解决方案时都需要考虑类似的问题。

② 实现潜在大数据交付的七个步骤

实现潜在大数据交付的七个步骤
大数据趋势代表了不断变化的处理大量数据的需求,需要新的技术解决方案,而不一定是老一代的数据库处理方式。那么,企业开始与大数据打交道时需要考虑哪些因素呢?
首先,他们需要知道什么是大数据。如下是我如何定义大数据这一概念:
“新兴技术和实践方案,使收集、处理、发现和储存大量结构化和非结构化数据变得快速而富有成本效益。”
大数据涵盖了众多社会生活的范畴——从金融交易到人类基因组,从汽车的遥测传感器到互联网上社会媒体日志。利用传统的数据库方式来处理和存储这些大数据是相当昂贵的。为了解决这个问题的新技术,利用开放源解决方案和商业硬件高效存储数据,并行工作负载,提供快速处理能力。
随着越来越多的IT部门开始研究大数据的替代品,讨论中心栈,处理速度和平台。而这些IT部门无法很好的把握其现有技术的局限性,许多不能阐明这些替代方案的商业价值,更遑论他们将如何进行分类和优先级的数据排序,进入大数据治理。
事实上,我们所看到的新出现的大数据需求,以及关于其处理平台和流程的讨论只是大数据传输整体的一部分。在现实中,实现的全部潜在大数据的交付过程,需要七个步骤:
收集:从数据源和分布在多个节点处收集数据——通常是一个网格——每个进程的一个子集,并行数据。
流程:然后系统使用相同的高功率并行执行,对每个节点上的数据进行快速计算。节点“压缩”结果数据到更多的消费数据,由此产生的数据集可以被人工(在分析的情况下)或机器(在解释大型结果的情况下)使用。[page] 管理:正在处理大数据往往是异构的,来自不同的交易系统。这些数据通常需要理解、定义、注释,并且以安全起见,还要进行扫描和审核。
测量:公司往往会测量数据的速率,可与其他客户的行为或记录进行整合,并随时间的推移来决定是否对其进行整合或校正。业务要求应告知测量和持续跟踪的类型。
消耗:所产生的使用数据应符合原要求的处理流程。例如,如果利用几百TB的社会化媒体数据互动,有助于我们了解社会媒体数据如何驱动用户额外购买产品,那么我们应该建立社会媒体的数据应当如何被访问和更新的规则。这与机器对机器的数据访问是同样重要的。
存储:由于“数据即服务”趋势的形成,越来越多的数据开始存储在单一位置,以便于进程的访问。数据用于短期的存储批处理或长期保留,应审慎处理存储解决方案。
数据管理:数据治理是驱动业务的决策和监督数据。根据数据治理的定义,数据治理适用于六个前阶段的大数据传输。通过建立流程和指导原则,制裁围绕数据的行为。大数据需要根据其预期消费进行管辖。其他的风险是对于数据分配的不满,更不用说过度投资。
大多数工作人员负责调查和获取大数据解决方案侧重于收集和存储步骤,而牺牲了其他的步骤。他们的问题是:“我们如何收集所有这些数据,我们把这些数据存储在何处?”
但许多IT部门仍然逃避了定义离散的大数据业务需求的进程。而业务人士经常将大数据的趋势看成只是一个IT重新整修的借口,没有明确的终点的游戏。这种相互嘲讽的环境就是为什么大数据没有超越“前期调查阶段”的罪魁祸首。

③ 大数据来袭应用交付市场呼唤高性能产品

大数据来袭应用交付市场呼唤高性能产品

一分钟内,微博、推特上新发的数据量超过10万,社交网络“脸谱”的浏览量超过600万……近年来,随着云计算和大数据应用的广泛普及,及越来越多基于网络的应用和业务频繁出现,这直接导致了数据量和访问量的急速增加。

一方面,海量的数据交互让企业级网络应用平台收获了火爆的人气和收益;而另一方面,迅猛增长的数据量也对企业网络业务平台的可靠性、连续性、安全性提出了更为严峻的考验。如何保障企业应用在大数据、云计算环境下的安全、可用且可扩展应用,成为了各企业IT管理者亟待解决的问题,而高性能的应用交付正在担当解决这一系列问题的重要使命。

大数据来袭 企业级网络应用暗藏危机

由于大数据流动发生在“比特王国”里,无法用肉眼看见,也无法用身体感官体验,所以很多IT管理者一时间还无法感受到潜藏在“比特王国”里的数据危机。那么不妨做个比喻,假如北京要举行一场极具吸引力的火爆活动,火到足以吸引全国各地数百万人驱车而来,可以想象本已拥堵不堪的北京路网交通将会面临怎样的境地?众所周知,每月数万量的车辆自然增长就已让北京的路网交通疲于应付,就更别提这种瞬时间的车辆暴增情况。

而面临大数据的空前增长,“比特王国”里暗藏的问题危机则与这个比喻极为相似。比如“双十一”大促当天,各大电商网站承受的用户流量呈现几十倍甚至几百倍的暴增,其服务器及网络链路瞬时间承受的压力可想而知。若解决不善,不但企业面临重大损失,网络世界的“拥塞”同样会让众多用户心烦意乱、恼怒不止。试想,众多用户若因网络问题,无法在有效的时间内买到限时促销的特价商品,其心情会是怎样的失落?该网络平台的用户体验及口碑将会受到怎样的质疑和抨击?

当然,瞬时的数据增长仅是各类型企业网络应用中所面临的问题之一,随着当前网络应用环境日趋复杂、以及成长性需求频现等,企业级网络应用所面临的问题也越来越多,也越来越复杂。

面对这日益复杂的局面,越来越多企业的IT管理者们发现,仅仅是无限制的增加宽带来应对这一挑战已显得力不从心。尤其是在数据流量瞬时增长几十倍甚至几百倍的情况下,服务器与带宽肯定不能同样以几十倍甚至上百倍的随之增设。企业应用系统更多的时候需要根据用户所处地域,浏览器类型,访问的URI,Cookie类型等应用层信息进行更智能的流量调度,这就需要的是一个端到端的,更智能、可靠、高效、安全的解决方案。

由此,为了有效解决在企业IT的建设中,因大数据有序或无序增长所产生的一系列问题,“应用交付”开始扮演起极其重要的角色,并已是必然选择。

化解危机 呼唤高性能“应用交付”产品

“应用交付”是一套综合系统,除了包含传统负载均衡所有功能外,还包括进行更智能的流量调度,提升应用系统访问速度,节省服务器和带宽开支,改善用户体验以及对应用系统的安全防护等。同时,应用交付产品有三个最核心的功能,即必须实现应用系统的高性能、高可靠性和应用的安全。由此,高性能是实现高品质应用交付的最基础保障,否则产品自身反而成为应用系统的性能和可靠性瓶颈。

然而,要想打造高性能的“应用交付”产品却绝非易事。据国内新兴的应用交付解决方案供应商太一星晨研发总监冯晓杰表示,要想使应用交付产品具备高性能,首先需要有高转发性能的硬件平台,其次是能够驾驭硬件平台的软件系统。这就好比要建设高效通畅的地面交通路网,一方面需要科学规划道路网络硬件基础,另一方面也必须拥有高效智能的交通调度管理系统。

目前,应用交付开发依托的硬件平台主要由X86平台和Cavium两大类。在2006-2009年期间,嵌入式多核平台(Mips、powerpc等)在处理网络流量方面有一定优势。但在2009年之后,嵌入式多核平台因在业务中包含复杂算法时(例如DPI、病毒检测、协议分析、应用检测等),性能衰减程度高,渐渐不适应未来大数据时代的应用。而此间Intel在嵌入式事业部的重点投入、X86平台逐渐在网络设备领域实现了赶超。因此,目前主流负载均衡厂商都在采用X86平台,以满足高性能应用交付的平台需求。

但要打造高性能的应用交付,仅有硬件平台是远远不够的,还需要与之配套的软件系统。多年来,国际优秀厂商利用自身技术积累,研发最新的软件,充分发挥硬件多核的优势,成倍提升了产品性能。但在最初,依托硬件平台的软件研发实力却成为了掣肘国内应用交付厂打造高性能应用交付产品的瓶颈。

据了解,由于在硬件平台开发的积累不够成熟,很多国内厂家硬件虽达到了8核、16核,但是缺乏必要的软件开发能力,绝大部分都在使用intel的开源代码,性能提升有限,产品无法满足数据中心10G以上吞吐的要求。

不过,近两年来随着太一星晨等拥有深厚技术积累的应用交付厂商的兴起,开始加大在应用交付领域的研发投入,已经取得了很多让国内同行惊喜的成果。这主要表现在应用交付产品性能上屡创新高,业已呈现出迎头赶上,且在性能指标上可以挑战国际品牌的旺盛发展势头。

蛹化成蝶 国产高性能应用交付破茧而出

通过国内应用交付厂商的潜心研究发现,将具备网络开发和应用开发经验的人才相融合,是一条可行的发展道路。只要开发人员具备嵌入式平台的开发经验,同时又具备X86平台开发经验。将两种架构融合起来,硬件平台内部进行数据分流检测,就会极大的提升负载均衡的产品性能,充分发挥出X86 sandybridge平台的吞吐性能。

令业内欣喜的是,目前国内已经有先驱者组建了这样的优秀团队,努力攻坚,并成功发布负载均衡产品,且其产品已经在多个行业得到高效可靠的应用,让业内强烈感受到了国产品牌的竞争力。

日前,太一星晨旗下T-Force系列应用交付控制器(ADC)推出了V3.0版本。该版本便基于intel sandybridge多核硬件平台研发设计,并基于Hypervisor虚拟化架构,将应用交付与虚拟化高效结合,可以实现智能动态地利用资源,实现更高的灵活性和拓展性,以帮助企业更加通畅快捷的实现数据业务落地。

业内人士指出,由于前段时间发生的棱镜门等事件,无疑给国家数据信息安全防护敲响了警钟。因此,无论是出于国家信息安全的需要,还是国产品牌自强的使命,这都需要国产应用交付厂商肩负起义不容辞的责任,以研发高性能的应用交付产品来捍卫国家的信息安全。

而据消息透露,目前太一星晨已经研发出更高端且性能更加强劲的分布式平台,据传其整机会达到600G以上的处理能力,这已然达到国际领先水平。不仅可以完全满足超大型数据中心的各种要求,而且具备更好的双主控可靠性设计和弹性扩展能力,这无疑是国产应用交付产品发展史上又一针强心剂。

以上是小编为大家分享的关于大数据来袭应用交付市场呼唤高性能产品的相关内容,更多信息可以关注环球青藤分享更多干货

④ 如何保障稳定交付

咨询记录 · 回答于2021-11-22

⑤ 怎么更好的利用数据提高项目管理水平

数据的数量,价值,多样性,准确性和速度(通常称为大数据的5 V)正在不断收集有关业务和人类生活不同方面的多层数据,为利用数据提供了重要机会企业和社会的利益。项目在一个环境中生活和呼吸,无论是商业还是非商业,因此作为背景的一部分,大量有关项目和项目管理的数据也在不断收集。首先,关于项目管理收集的数据的性质有两种:涉及更广泛的项目生态系统,涉及政策,监管环境,业务背景,项目效益实现程序,项目融资和组织项目成熟度,关于活动,事件,这意味着如上所述的大数据集合可以至少以两种方式使用。首先,数据可用于开发新的科学和协议,以改进项目的规划,控制和交付。其次,可以分析数据以塑造整个项目生态系统的未来。为了开始关于这个关键问题的对话,我们讨论了大数据分析可以影响未来或项目管理交付的一些方式。

⑥ 大数据的生命周期的九个阶段

大数据的生命周期的九个阶段
企业建立大数据的生命周期应该包括这些部分:大数据组织、评估现状、制定大数据战略、数据定义、数据收集、数据分析、数据治理、持续改进。

一、大数据的组织
没有人,一切都是妄谈。大数据生命周期的第一步应该是建立一个专门预算和独立KPI的“大数据规划、建设和运营组织”。包括高层的首席数据官,作为sponsor,然后是公司数据管理委员会或大数据执行筹划指导委员会,再往下就是大数据的项目组或大数据项目组的前身:大数据项目预研究团队或大数据项目筹备组。这个团队是今后大数据战略的制定和实施者的中坚力量。由于人数众多,建议引入RACI模型来明确所有人的角色和职责。
二、大数据的现状评估和差距分析
定战略之前,先要做现状评估,评估前的调研包括三个方面:一是对外调研:了解业界大数据有哪些最新的发展,行业顶尖企业的大数据应用水平如何?行业的平均尤其是主要竞争对手的大数据应用水准如何?二是对内客户调研。管理层、业务部门、IT部门自身、我们的最终用户,对我们的大数据业务有何期望?三是自身状况摸底,了解自己的技术、人员储备情况。最后对标,作差距分析,找出gap。
找出gap后,要给出成熟度现状评估。一般而言,一个公司的大数据应用成熟度可以划分为四个阶段:初始期(仅有概念,没有实践);探索期(已经了解基本概念,也有专人进行了探索和探讨,有了基本的大数据技术储备);发展期(已经拥有或正在建设明确的战略、团队、工具、流程,交付了初步的成果);成熟期(有了稳定且不断成熟的战略、团队、工具、流程,不断交付高质量成果)。
三、大数据的战略
有了大数据组织、知道了本公司大数据现状、差距和需求,我们就可以制定大数据的战略目标了。大数据战略的制定是整个大数据生命周期的灵魂和核心,它将成为整个组织大数据发展的指引。
大数据战略的内容,没有统一的模板,但有一些基本的要求:
1. 要简洁,又要能涵盖公司内外干系人的需求。
2. 要明确,以便清晰地告诉所有人我们的目标和愿景是什么。
3. 要现实,这个目标经过努力是能达成的。
四、大数据的定义
我认为:“数据不去定义它,你就无法采集它;无法采集它,你就无法分析它;无法分析它,你就无法衡量它;无法衡量它,你就无法控制它;无法控制它,你就无法管理它;无法管理它,你就无法利用它”。所以“在需求和战略明确之后,数据定义就是一切数据管理的前提”。
五、 数据采集
1. 大数据时代的数据源很广泛,它们可能来自于三个主要方面:现有公司内部网各应用系统产生的数据(比如办公、经营生产数据),也有来自公司外互联网的数据(比如社交网络数据)和物联网等。
2.大数据种类很多,总的来讲可以分为:传统的结构化数据,大量的非结构化数据(比如音视频等)。
3. 数据采集、挖掘工具很多。可以基于或集成hadoop的ETL平台、以交互式探索及数据挖掘为代表的数据价值发掘类工具渐成趋势。
4. 数据采集的原则:在数据源广泛、数据量巨大、采集挖掘工具众多的背景下,大数据决策者必须清楚地确定数据采集的原则:“能够采集到的数据,并不意味着值得或需要去采集它。需要采集的数据和能够采集到的数据的"交集",才是我们确定要去采集的数据。”
六、数据处理和分析
业界有很多工具能帮助企业构建一个集成的“数据处理和分析平台”。对企业大数据管理者、规划者来讲,关键是“工具要满足平台要求,平台要满足业务需求,而不是业务要去适应平台要求,平台要去适应厂商的工具要求”。那么这个集成的平台应该有怎样的能力构成呢?它应该能检索、分类、关联、推送和方便地实施元数据管理等。见下图:
七、 数据呈现
大数据管理的价值,最终要通过多种形式的数据呈现,来帮助管理层和业务部门进行商业决策。大数据的决策者需要将大数据的系统与BI(商业智能)系统和KM(知识管理)系统集成。下图就是大数据的各种呈现形式。
八、 审计、治理与控制
1.大数据的审计、治理和控制指的是大数据管理层,组建专门的治理控制团队,制定一系列策略、流程、制度和考核指标体系,来监督、检查、协调多个相关职能部门的目标,从而优化、保护和利用大数据,保障其作为一项企业战略资产真正发挥价值。
2.大数据的治理是IT治理的组成部分,大数据的审计是IT审计的组成部分,这个体系要统筹规划和实施,而不是割裂的规划和实施。
3.大数据的审计、治理与控制的核心是数据安全、数据质量和数据效率。
九、 持续改进
基于不断变化的业务需求和审计与治理中发现的大数据整个生命周期中暴露的问题,引入PDCA等方法论,去不断优化策略、方法、流程、工具,不断提升相关人员的技能,从而确保大数据战略的持续成功!

⑦ 大数据数仓建设性能优化方案

大数据数仓的性能优化主要围绕以下四个方面:

在数据仓库建设的过程中,我们不可避免的要执行数据任务,那么这些任务如何进行配置才会是最优的?如果任务调度配置存在问题,将会导致出现瓶颈任务,或者无法及时提供业务所需的数据,这时我们就需要首先从调度方面来考虑,是不是有些任务的调度时间设置不合理?或者是不是有的任务的优先级设置不合理?

对于数仓的建模而言,其实可以分为3NF建模和维度建模,推荐使用维度建模方式,可以按照星型模型或者雪花模型架构的方式去建模。3NF建模方式或者实体建模方式的应用性会差一点,在很多时候其性能也会差一点,但3NF会避免数据的冗余,其扩展性会好一些。而维度建模会有一定的数据冗余,并且冗余程度会很高,但是对于上层使用者而言,其易用性要好很多,并且其查询的性能也会好很多,虽然牺牲了一定的可扩展性,但是仍然在可接受的范围之内。之所以在大数据的框架下推荐使用维度建模,是因为建模产生的数据冗余对于大数据离线数仓来说,存储的成本并不高,因为其都属于SATA盘的存储,这样的存储成本是很低的。
总之,在大数据框架下推荐大家使用维度建模,使用星型模型或者雪花模型建模的方式,这样无论对于后续的运维还是后续的数据使用而言,都是比较便利的,并且性能会好一些。星型模型其实就是中间一个事实表,周边围绕着一堆维度表,其结构会简单一些,使用比较方便,性能也比较好;对于雪花模型而言,维度表可能还会继续关联其他的维度表,这种方式就是雪花模型,它会略微比星型模型复杂一些。其实星型模型也可以理解为较为简单的雪花模型。这里推荐大家使用星型模型,当然如果业务非常复杂,必须要使用雪花型也可以使用。这是因为星型模型虽然有数据冗余,但是其结构比较简单,容易理解,而且使用起来只需要A传给B就可以了,不需要再关联一个C。
除了上述两个较大的关键点之外,还有一些需要注意的小点,比如中间表的使用。我们一般将数仓分为三层,第一层做缓冲,第二层做整合,第三层做应用。但是并不是严格的只能分为三层,中间可能会有一些中间表,用于存储中间计算的结果,如果能够利用好中间表则会增强数仓的易用性和整体的性能。中间表的使用主要在数仓的第二层里面,因为需要整合数据,但整合后的数据仍是明细数据,对于这些表而言,数据量往往会比较大,而且会有见多的下游任务依赖这个表,因此可以做一些轻度的汇总,也就是做一些公共的汇总的中间表,这样应用层可以节省很多的计算量和成本。此外,虽然建议使用中间表,但也要注意中间表的数量,因为中间表数量过多,就会有太多的依赖层级。
在某些业务场景下,我们还需要对宽表进行拆表,拆表的情况一般发生在该表的字段较多,而其中几个字段的产出时间较晚,导致整个表的交付时间也会延迟,在这种情况下我们可以将这几个字段单独拆出来处理,这样就不会因为几个字段影响其余业务的使用。
与拆表相对的情况是合表,随着业务的增多,可能会有多个表中存放类似的数据指标,此时,我们可以将多个表整合到一个表中,减少数据任务的冗余。

表分区的功能一定要合理利用,这对于性能会产生很大的影响,一级分区一般都是按照天划分的,建议大家一天一个增量或者一天一个全量来做。二级分区的选择反而会多一些,首先大家要烤炉是否建立二级分区,其次大家再选择二级分区的建立方式。二级分区比较适合于在where语句中经常使用到的字段,而且这个字段应该是可枚举的,比如部门名称这样的。这里还有一个前提,就是如果这个字段的值的分布是非常不均匀的,那么就不太建议做二级分区。

离线数仓的计算任务基本都是通过SQL实现,这里也只讲在SQL部分如何进行优化。我们平时在进行数据处理,数据清洗,数据转换,数据加工的过程中都会使用到SQL。对于大数据体系下的SQL的优化而言,主要集中在两个大的方面进行:减少数据输入和避免数据倾斜。减少数据输入是最核心的一点,如果数据输入量太大,就会占用很多的计算资源。而数据倾斜是在离线数仓中经常会遇到的,数据倾斜分为几种,需要针对性的进行优化。

对有分区的表,合理使用分区可以过滤数据,避免全表扫描,有效的降低计算的数据输入。

SQL支持只读取一次源数据,然后将其写入到多个目标表,这样就保证了只做一次查询。语法如下

当我们在使用join,Rece或者UDF时,先对数据进行过滤也能有效的提高任务的效率

当发生数据再Map阶段倾斜的情况,第一种处理方式反馈至业务层面,看能否通过业务层面的修改让kv值均衡分布,如果业务层面无法处理,那么可以调整Map的个数,也就是加大Map的计算节点,默认情况是每256M的数据为一个计算节点,我们可以将其调小,也就是加大Map处理的节点的个数,使得数据分割的更加均匀一些。

Join阶段的倾斜也是比较常见的,其解决方案需要分钟如下几种情况处理:

Rece倾斜可能的情况有以下几种:

总结一下,性能调优归根结底还是资源不够了或者资源使用的不合理,或者是因为任务分配的不好,使得某些资源分配和利用不合理。

⑧ 再谈如何提高全球交付保障能力

而对新一代服务外包,客户也不再仅仅关心成本降低和一般的需求符合,更关注于商务价值、服务质量及创新、以及交付的可靠性,这意味着客户对供应商的选择提出了更高的要求。
质量保证(QA)是传统 IT 服务供应商较关注的一个最佳实践,但 QA只注重需求和 SLA的符合、以及开发过程的监控和质量的审计,但为实现客户的商务精良,则要求就需更进一步——这就是所谓的“交付保障”(Delivery Assurance ——DA):它强调预报和控制风险,更高的服务质量,为客户提供更好商务价值和投资回报(ROI),能提供创新的解决方案,显着改进客户满意度。
从 QA 到 DA 已成为今天服务供应商全球交付模型的一个重要组成部分,一些具领先意识的厂商已开始建立独立的 DA 管理团队、设立专职的 DA 管理岗位。他们都是一些有经验和专长的人员组成,能对客户的商务复杂性有足够的把握,能对交付质量作出合理评估,能对交付过程有效监管、降低风险、提高客户干系者的利益回报和信心。
交付保障 DA 关系组织价值管理体系,要予以制度化渗透到每个成员和过程环节中,保证对客户的交付质量和价值承诺。DA 程序要求对每个客户和项目作出客观完整评估,它涉及八个方面,包括:交易结构、客户环境、软件架构、项目计划和跟踪、财务、团队组织、方法论和接受准则。
DA 是一个有效工具,能帮助企业实现较高的交付质量基准,让客户充分放心,提高服务竞争力,显示企业的与众不同。
交付管理 (Delivery Management – DM) 要比项目管理有更宽的含义,它关系人员、过程和技术的组织与管理,提供商务和技术功能,实现客户预期想得到的价值和好处。负责这类工作的人,称为交付经理、交付主任或交付 VP,他们与项目经理有些相近之处,但项目经理涉及更多细节,交付经理则站得更高些,往往跨多个责任领域,也是更有经验的人员,常常参与更大更复杂的项目和更高层的管理。他们需要熟悉生命周期管理、项目管理方法、交付方法、客户位理、供应商管理、关系管理、人员管理、有技术经验和新技术的知识,也是一个能与客户就交付目标达成共识的战略家。
交付管理框架包括:商务交付模型、定价模型、项目管理模型、软件开发方法、和要求的符合过程。当前流行的全球交付模型是同时组合在岸和离岸模型的混合交付或多层交付模型,在定价方式上采用多种灵活选择形式,新一代偏向于基于 TCO 的模式,强调与客户共担风险/共享收益,开发方法上趋向敏捷迭代开发,项目管理模型包罗 PMI PMBOK, Prince2 和敏捷项目管理 (APM),而参考的符合标准模型,包括: CMMI,ISO (SPICE,ISO 20000)和六西格玛。
一些着名IT 厂商也已经开发了一些交付管理系统和解决方案,如微软的服务交付管理(SDM)、Borland 的全套软件交付产品、1stCore 的交付管理产品等。
VDM 与传统的项目管理在着眼点上有很大的差别,它也有助于解决过去项目管理中存在的一些问题,如有些项目建议没有与商务目标挂钩,没有提供商务价值考虑或支持组织策略,项目预期与商务预期存在差异,承诺了的商务价值没有实际交付,或者由于没有预期的风险造成商务价值的失落。
VDM 则不同,对每一个项目建议都要做价值评估和案例分析,为什么要做这一功能 ?它的好处是什么样? 需要什么代价 ?风险度和可行性如何 ?对项目实施范围,实现优先排序,项目的计划也是基于价值的,要求计划与客户组织的商务行动密切配合,得到高层领导的直接支持与参与,真正理解干系者的预期和价值,对变更管理的态度也不只是随附客户要求的被动应诺,而是把它看成是为客户带来更高价值的变革要求和动力,对风险管理也不只是着眼保护项目本身,而是更关心保护项目的产出价值,尽力消除价值实施的障碍或可能造成损失的因素,这称之为价值风险管理。VDM 也特别关注财务方面和收益/价值管理,要求把项目价值管理目标都量化,评估产出结果和影响因素,财务管理也不仅局限于项目预算,更关注于结果损益,对项目的管控, VDM 的着眼点不是项目是否完成,是否超支和误期,是否达到质量要求,而更关注的是否实现预期价值,这是所有管理决策、判断和测量的出发点。
在项目管理层面也有不同,全球开发和交付还必须应对全球项目管理 (Global Project Management —— GPM)的新课题和挑战,这包括:全球项目管理框架的建立、全球虚拟团队的发展和项目领导、基本架构实现要求、结构化项目管理过程、跨文化合作、信任建立、合作工具、冲突解决、分布团队的协调、知识传播和共享、全球沟通策略和技术、干系者识别和沟通渠道、会议规则和模板等,为培养全球项目管理经理和人才
,已推出不少 GPM 培训课程,国外一些大学也已通过多国合作,让高年级学生能得到参与全球项目开发的实训体验。
与交付保障和管理直接相关的一个内容,就是所谓的“服务/软件交付平台”(Service/Software Delivery Platform —— SDP),这个名称起源于通信业,期望通过服务交付平台(SDP)和服务交付框架 (SDF),提高服务的复用率,缩短服务的上市时间,虽然它与这里谈的交付保障和管理没有直接关系,但 SDP 的概念,即需要一个共性的支撑环境或交付平台,还是十分有用的,这方面已经出现了一些有价值的产品和解决方案,譬如,微软提出的通过服务交付平台实现有效的软件交付,把应用开发中一些共性功能,作为平台的可复用支撑服务,它可支持服务的创建、部署和执行以及服务的协调、集成和管理;再如 Borland 的软件交付平台,通过集成的工具套,支持整个应用开发生命周期上开发团队不同角色间的合作和配合,这些工具包括:CoreAnalyst, CoreArchitect, CoreDeveloper, CoreTester, 它支持Java和Eclipse 平台上的开发;其它可注意的还有,Capgemini 用集成服务平台 BPOpen, 加快 BPO 的交付 .
软件作为服务(SaaS)的兴起,也是值得这里特别关注的一件事。因为 SaaS 本身就意味着是一类新的软件交付模型,它无论对客户方和供应方都有许多吸引力的地方:对客户而言,这是一种按需交付模式,它可以快速上线,初始投资低,且交付可靠性高,运行维护省心,系统容易同步升级;对供应方而言,可以提供一对多的服务,有持久性的服务收入。近年来,SaaS 交付平台的出现,像微软、Orcale、HCL、OpSource等都纷纷推出了相关的产品,其基本技术都是基于 SOA 的,更为这一模式的推广如虎添翼,更方便了应用开发商进入 SaaS 市场的步伐。而 SaaS 交付模式对外包市场的影响也已开始显露,如印度的 TCS 已经开始与 SaaS 供应商Salesforce.com结盟,利用后者已有的服务解决作为新外包服务的基础,以加快对按需服务的交付,同时减轻过于依赖劳力资源的传统外包服务。BPO 与SaaS 汇合也是一个可以预期的趋势,因为在 BPO 领域同样存在如何摆脱过分依赖劳务密集商务模式带来的问题,应用SaaS 能提供更多机会自动化现成的过程和操作,这方面一个可引用的例子是印度的 Cognizant 公司对两家 SaaS 公司marketRx 和 AimNet的并购。按Gartner 和一些专家的分析,SaaS 正成为对外包的一个成本有效和较少风险的选择,作为服务供应商也不得不考虑采纳这种新的交付模式,以保持对市场的竞争力,一个建议是外包供应商应加强与 SaaS 开发商的合作,或者发展自己的SaaS模型。专家的另一个建议是,外包供应商应设法利用 SaaS 去“转化他们的运行模式从劳力中心到技术使能”,否则不断升高的工资期望和高举不下的跳槽率,将消去离岸外包的价格优势,一个可借鉴的实例是:一个叫 TrueAdvantage 的印度公司,它通过收购硅谷一家 SaaS 公司 InsideView,帮助母公司紧缩了 150 名开发人员。
提高全球交付保障能力,要求供应商进一步加强管理,它要求新的思路和方法,本文仅是罗列了一些应考虑的要点。

⑨ 大数据应用成功的四个标准

大数据应用成功的四个标准
在大数据范畴大展拳脚肯定是个正确方向,同时世界各地的初创公司及企业巨头也在借力大数据和大数据应用创造价值——将大量的数据处理转化为金钱或竞争优势。然而光彩的背后,总是掩饰着一些不可忽视的真相。简而言之,不是所有在大数据上的尝试都得到了应有的回报,而且远非如此。同样这里也有另一个不容忽视的真相,在IT企业界,大数据“成功”定义的标准非常宽松,甚至“我们并没有完全失败”这种的观念都可以归结于“成功”。
那么大数据应用成功的标准究竟是什么?10gen战略副总裁Matt Asay带来了他为成功总结的4个标准:
首先,必须要可以运作
大数据应该为行业创造切实的价值,不止是高科技。McKinsey在关于大数据未来的报告中指出,大数据在医疗、政府、零售以及制造产业上拥有万亿的潜在价值。机构对大数据的成功实现需要在一下几个方面带来切实的收获:附加收益、提升客户满意度、削减成本等。
其次,必须有本质提高
大数据交付的不应该只是渐进式的商务模式改善,更应该是本质上的突破。比如就初创企业Foursquare来说,为了发现数据之间的关系,Foursquare使用了机器学习算法让系统可以建立“Explore”,一个社交推荐系统可以实时的给用户推荐有价值的位置信息,使用新的业务模式去驱动位置信息类型业务。“Explore”依赖大数据技术,同时从多于3000万个位置信息中获取见解。现在Foursquare已经具备了理解人们之间如何进行互动的能力,并且位置信息也不只止步平台,而是真实世界。
再次,必须具备高速度
传统数据库技术会拉低大数据的性能,同样也是非常繁琐的,因为不管这项技术是否迎合你的需求,专利许可涉及到的企业繁琐制度远超出你的想象。一个成功大数据项目,使用的工具集和数据库技术必须同时满足数据体积及多样性的双重需求。论据是:一个Hadoop集群只需几个小时就可以搭建,搭建完成后就可以提供快速的数据分析。事实上大部分的大数据技术都是开源的,这就意味着你可以根据你的需求添加支持和服务,同时许可不再是快速部署的阻碍之一。
最后,必须能以前所不能
在大数据出现之前,类似Gilt Groupe这种“限时抢购”公司根本不可能实现。限时抢购网站需要日处理上千万用户的登陆,并且会造成非常高的服务器负载峰值——通过高性能、快速扩展的大数据技术让这种商业模型成为可能。
总结
大数据部署成败的关键不是系统每秒可以处理多少数据量,而是使用大数据后给公司业务带来了多少价值以及是否让业务有突破性的提升。专注业务类型,选择适合公司业务的工具集才是该重点关注的领域。

阅读全文

与大数据项目如何保障交付相关的资料

热点内容
微信如何做到不接收对方信息 浏览:144
数据有很多重复值怎么去除重复值 浏览:953
有哪些做代理的项目 浏览:891
武夷山茶市场面临哪些困难 浏览:317
灵通快线什么时候交易 浏览:924
个人业务代理费税率多少 浏览:712
完美校园请假老师可以看到哪些信息 浏览:179
美国什么数据利好黄金 浏览:261
醉驾拿起诉书走快速程序多久判 浏览:208
跑赢市场前景如何 浏览:908
金蝶期初数据有哪些项目 浏览:47
昆明狗市场有哪些品种 浏览:762
代理加盟美团外卖怎么样 浏览:605
大年龄学什么技术好 浏览:145
如何用去黑头产品 浏览:999
哈尔滨职业技术学院护理系怎么样 浏览:634
古时候没有大数据怎么记录 浏览:39
昌平有多少个建材市场 浏览:364
怎么样才能记住产品价格 浏览:317
汝州市打疫苗信息去哪里查 浏览:655