iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Wormhole大数据流式处理平台的设计思想是怎样的
  • 549
分享到

Wormhole大数据流式处理平台的设计思想是怎样的

2023-06-19 09:06:44 549人浏览 独家记忆
摘要

本篇文章为大家展示了WORMhole大数据流式处理平台的设计思想是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。导读:互联网的迅猛发展使得数据不再昂贵,而如何从数据中更快速获取价值变得日益重要

本篇文章为大家展示了WORMhole大数据流式处理平台的设计思想是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

导读:互联网的迅猛发展使得数据不再昂贵,而如何从数据中更快速获取价值变得日益重要,因此,数据实时化成为了一个大趋势。越来越多的业务场景需要实时分析,以极低的延迟来分析实时数据并给出分析结果,从而提高业务效率,带来更高价值。流式处理作为实时处理的一种重要手段,正在因数据实时化的发展而蓬勃发展。本文是敏捷大数据(Agile BigData)背景下的实时流式处理平台Wormhole的开篇介绍:Wormhole具体是一个怎样的平台?

一、Wormhole背景介绍

在流式计算领域,越来越多成熟的技术框架出现在开源世界,如Storm、Heron、spark、Samza、flink、Beam等。流式技术也逐步进化发展,支持流上丰富计算语法(类sql)、支持at least once或exactly once语义、支持高可靠高可用、支持高吞吐低延迟、支持基于事件时间计算、支持统一整合接入抽象等,这些都从不可能变为可能。

然而,虽然流式处理的技术已经很丰富,流式处理在企业中的实施仍然存在较大难度,主要原因是成本高,需求上线周期长等,而产生这样问题的原因又分两个方面,一是企业组织结构,二是技术。

传统数据仓库和BI的组织结构都是集中相关技术人员成立独立大数据部门,各个业务部门向其提需求,做定制化开发

Wormhole大数据流式处理平台的设计思想是怎样的

(企业组织结构)

如上图,大数据部门不仅仅做大数据环境运维,还做定制化开发和线上业务维护。恰恰这两点会消耗大量的人力,也增加了管理和沟通成本。举一个需求开发的例子,如下图:

Wormhole大数据流式处理平台的设计思想是怎样的

(需求开发流程)

上图是企业普遍使用的一个开发流程,这里边就反应出一些问题:

  • 人力成本高

从此图可以看出,至少需要3个角色的人员才能完成一个需求,而且流式开发人员要花很多时间了解需求、业务、表结构等等。

  • 上线周期长、效率低

所有需求都是由产品人员提出,由业务人员分析,然后与流式开发人员一起设计开发完成,且需要大量时间测试及验证结果。

  • 复用低

在需求中,有很多业务是类似的,但因业务和定制化问题,所以无法很好的做到代码复用,导致重复开发比较多。

  • 业务维护成本高

当上线的需求有变化时,就要在原有代码的基础上改造,流式处理开发人员也需要再一次了解业务流程、表结构等等,还是需要很多的人力资源,并且周期也很长,同时改动会增加出问题的概率。

  • 大量消耗资源

为了功能隔离和降低维护难度,每个定制化功能都要启动一个流式应用,无法复用,需要占用大量硬件资源。

目前流式处理的种种问题很大的制约了企业实时大数据的发展,各个公司都在寻找一条更轻量的解决之道。我们根据多年在实时大数据项目中的实践和经验积累,自主研发了流式处理平台——Wormhole,很大程度上解决了上述各类问题。下面我们来介绍一下Wormhole的具体情况。

二、Wormhole是什么

Wormhole是一个面向实时大数据项目实施者的流式处理平台,致力于统一并简化大数据开发和管理,尤其针对典型流式实时/准实时数据处理应用场景,屏蔽了底层技术细节,提供了极低的开发门槛。项目实施者只需简单配置及编写SQL即可支持大部分业务场景,使得大数据业务系统开发和管理变得更加轻量、可控可靠。

Wormhole大数据流式处理平台的设计思想是怎样的

(Wormhole数据处理样例)

Wormhole主要基于Spark技术,实现了基于SQL的流上数据处理和异构系统幂等写入等相关功能。如上图所示,Wormhole接入流上的数据,然后将数据中的出生日期通过用户编写的SQL处理为年龄,写入到另外一个存储系统中。

Wormhole通过技术手段实现基于SQL的流式处理方案,大大降低了流式处理的技术门槛;同时通过平台化和可视化等实现了职能的变化,减少了整个需求生命周期的参与角色数量,精炼了整个开发过程,进而缩短了开发周期,也减少了开发和维护成本。

三、Wormhole设计目标

3.1 设计目标

基于敏捷大数据的思想,Wormhole的设计目标如下:

  • 平台化/组件化

通过平台化支持,组件化组装实施,可以快速对原型进行验证,和需求方形成反馈闭环快速迭代

  • 标准化

对数据格式进行标准化,达到通用效果,减少数据格式化和维护的成本

  • 配置化/可视化

用户可视化配置、部署、管理、监控,降低大数据产品开发门槛,确保高质量产出

  • 低延迟/高性能/高可用

根据实时性的要求,流式处理要求更低的延迟,并且要求更高的吞吐量,以及容错能力,保证系统7*24正常运行

让企业从数据中心化转型为平台服务化,让每个数据从业者都能够有更多的自助服务,并释放数据处理能力,系统替代人工完成重复低级的工作,让从业者回归数据和业务本质

3.2 效果体现

Wormhole平台的建设带来的效果主要体现在以下几方面:

  • 组织结构更合理:

如下图,大数据相关部门不再做定制化开发和业务维护,而是更专注平台化和大数据环境的稳定,大大减少了人力资源的浪费。

Wormhole大数据流式处理平台的设计思想是怎样的

(基于Wormhole的组织结构)

  • 降低了流式处理开发的技术门槛:

流式处理的开发模式变为了业务人员通过可视化配置和编写SQL即可完成80%以上的业务场景,不再需要对流式处理技术有很深的理解

  • 缩短了需求上线周期:

如下图所示基于Wormhole的需求开发流程,一个需求从提出到上线只需要产品人员和业务人员,大幅降低了沟通和学习成本,进而大大缩短了需求开发上线周期。

Wormhole大数据流式处理平台的设计思想是怎样的

四、Wormhole设计规范

Wormhole大数据流式处理平台的设计思想是怎样的

(Wormhole流程设计图)

上图是Wormhole的一个设计介绍,体现了流式处理的从输入到输出的过程,在这个过程中,Wormhole定义新的概念,将整个流式处理进行了标准化,将定制化的流式计算变为标准化的流式处理,并从三个纬度进行了高度抽象。

  • 统一数据逻辑表命名空间——Namespace

Namespace:数据的“IP”,通过7层结构唯一定位数据对应的物理位置,即

[Data System].[Instance].[Database].[Table].[Table Version]. [Database Partition].[Table Partition]

Wormhole大数据流式处理平台的设计思想是怎样的

1)统一通用流消息协议——UMS

  • UMS是Wormhole定义的流消息协议规范

  • UMS试图抽象统一所有结构化消息

  • UMS自身携带结构化数据Schema信息,方便数据处理

  • UMS支持每一个消息中存在一份Schema信息及多条数据信息,这样,在存在多条数据时可以降低数据大小,提高处理效率

说明:

Wormhole大数据流式处理平台的设计思想是怎样的

  • protocol-type目前支持data_increment_data(增量数据)和data_initial_data(初始化全量数据)

  • schema-namespace指定数据对应的namespace

  • schema-fields描述每个字段的名称、类型、是否可空。ums_id_代表记录id,要求保证递增;ums_op_代表数据操作(i:插入;u:更新;d:删除);ums_ts_代表数据更新时间

  • payload-tuple指一条记录的内容,与schema-fields一一对应

注:在Wormhole_v0.4.0版本后,应社区需求,支持用户自定义半结构化JSON格式

2)统一数据计算逻辑管道——Flow

  • Flow是Wormhole抽象的流式处理逻辑管道

  • Flow由Source Namespace、Sink Namespace和处理逻辑构成

  • Flow支持UMS和自定义jsON两种消息协议

  • Flow支持Event和Revision两种Sink写入模式

  • Flow统一计算逻辑标准(SQL/UDF/接口扩展)

Wormhole大数据流式处理平台的设计思想是怎样的

(Flow)

说明:上图中蓝色框和箭头组成了一个Flow,首先从TopicA中读取Namespace1 (SourceNamespace)的数据,数据协议为UMS或者自定义JSON,然后处理用户配置好的数据处理逻辑,输出到Namespace2 (SinkNameSpace)对应的数据系统中,写入支持insertOnly和幂等(对同key且不同状态的数据保证最终一致性)。

作为一个实时大数据流式处理平台,Wormhole的设计目标和设计规范最终都是为流上处理数据而服务。

上述内容就是Wormhole大数据流式处理平台的设计思想是怎样的,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: Wormhole大数据流式处理平台的设计思想是怎样的

本文链接: https://www.lsjlt.com/news/295258.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Wormhole大数据流式处理平台的设计思想是怎样的
    本篇文章为大家展示了Wormhole大数据流式处理平台的设计思想是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。导读:互联网的迅猛发展使得数据不再昂贵,而如何从数据中更快速获取价值变得日益重要...
    99+
    2023-06-19
  • 大数据的数仓平台设计思路是什么
    这篇文章主要讲解了“大数据的数仓平台设计思路是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“大数据的数仓平台设计思路是什么”吧!下图为数仓整体的技术架构:一个优秀可靠的数仓,一定要结构、...
    99+
    2023-06-05
  • 大数据总线平台DBus设计思路与工作原理
    大数据总线平台DBus设计思路与工作原理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、背景企业中大量业务数据保存在各个业务系统数据库中,过去通常的同步数据的...
    99+
    2023-06-02
  • 关系数据库的设计思想是什么
    本篇内容介绍了“关系数据库的设计思想是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在计算机领域有许多...
    99+
    2024-04-02
  • 如何进行大数据平台架构的设计
    本篇文章为大家展示了如何进行大数据平台架构的设计,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  关于大数据平台架构的设计探究。麦肯锡全球研究所给出的定义是:一种规模大到在获取、存储、管理、分析方面...
    99+
    2023-06-02
  • hadoop大数据处理平台的示例分析
    这篇文章给大家分享的是有关hadoop大数据处理平台的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。大数据能够在国内得到快速发展,甚至是国家层面的支持,最为重要的一点就是我们纯国产大数据处理技术的突破以及...
    99+
    2023-06-02
  • 大数据流处理中Flume、Kafka和NiFi的对比是怎样的
    今天就跟大家聊聊有关大数据流处理中Flume、Kafka和NiFi的对比是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。我们将简要介绍三种Apache处理工具:Flume、Ka...
    99+
    2023-06-02
  • Windows平台上,哪些框架是大数据处理的首选?
    随着大数据时代的到来,数据的处理和分析已经成为了许多企业和组织的重要任务。在Windows平台上,选择合适的大数据框架可以帮助我们更加高效地处理海量数据。那么,在Windows平台上,哪些框架是大数据处理的首选呢?本文将为您介绍几个优秀的大...
    99+
    2023-10-09
    大数据 windows 框架
  • ApacheBeam中的数据处理流程是怎样的
    Apache Beam 是一个分布式数据处理框架,它可以处理批处理和流处理任务。数据处理流程通常包括以下步骤: 创建一个 Pip...
    99+
    2024-03-06
    ApacheBeam
  • 运维平台的建设思考-元数据管理(三)
    继第一篇,第二篇介绍了关于元数据的一些想法,最近做了一些改进。 对于一部分的元数据抽取大体有下面的两种方式。假设数据源已经做了很大的努力,终于统一起来了。我们现在要通过ssh的方式从源端抽取出数据来。 一种...
    99+
    2024-04-02
  • Kafka集群在马蜂窝大数据平台的优化是怎样的
    本篇文章给大家分享的是有关Kafka集群在马蜂窝大数据平台的优化是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  Kafka是当下热门...
    99+
    2024-04-02
  • 阿里云大数据服务器高效的数据处理平台
    阿里云大数据服务器是阿里云推出的一款高性能、高可靠的大数据处理平台,它可以帮助企业更有效地管理和分析大规模数据。本文将详细说明阿里云大数据服务器的特性和优势,以及如何使用它来处理大数据。 阿里云大数据服务器特点: 1. 高性能:阿里云大数据...
    99+
    2023-12-11
    高效 阿里 数据处理
  • Spring Cloud Data Flow:数据流式处理,大数据的利剑
    Spring Cloud Data Flow简介 Spring Cloud Data Flow是一个基于Spring Boot构建的轻量级流式数据处理框架。它提供了开箱即用的应用程序编程接口(API)和界面,允许开发者轻松设计、部署和监...
    99+
    2024-03-07
    Spring Cloud Data Flow;数据流处理;大数据分析;流式计算;Apache Kafka;Apache Spark
  • 大数据报表数据外置计算是怎样的
    大数据报表数据外置计算是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在报表应用中,针对历史数据查询的报表占比很大,这类报表的特点是:第一,数据变化小,查询的历史数据...
    99+
    2023-06-02
  • MVVM 设计模式:理解 JavaScript 数据流的艺术
    ...
    99+
    2024-04-02
  • Serverless在大规模数据处理的实践是怎样的
    本篇文章给大家分享的是有关Serverless在大规模数据处理的实践是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前言当您第一次接触 Serverless 的时候,有一...
    99+
    2023-06-04
  • 微服务的数据库设计是怎样的
    这篇文章给大家介绍微服务的数据库设计是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。单独的数据库:微服务设计的一个关键是数据库设计,基本原则是每个服务都有自己单独的数据库,而且只...
    99+
    2024-04-02
  • 在Linux平台上,NumPy如何处理ASP文件的大量数据?
    ASP(Active Server Pages)是一种Microsoft开发的动态网页技术,可以在Web服务器上执行脚本并生成动态内容。ASP文件通常包含大量的数据,如数据库查询结果、日志记录等。在Linux平台上,如何高效地处理这些数据...
    99+
    2023-08-14
    文件 linux numy
  • C++技术中的大数据处理:如何设计优化的数据结构以处理大数据集?
    大数据处理在 c++++ 中使用数据结构进行优化,包括:数组: 用于存储相同类型元素,动态数组可随需求调整大小。哈希表: 用于快速查找和插入键值对,即使数据集很大。二叉树: 用于快速查找...
    99+
    2024-05-12
    大数据 数据结构 c++ 键值对
  • web自动化平台开发元数据的设计方法是是什么
    这篇“web自动化平台开发元数据的设计方法是是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“web自动化平台开发元数据的...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作