谈谈基于事件驱动的数据架构

简介: 在数字化时代,我们一直在处理数据,我相信大家已经看到了数据领域的一些结构性变化。

在数字化时代,我们一直在处理数据,我相信大家已经看到了数据领域的一些结构性变化。不仅与架构相关,如今其大部分基于云而且还与团队和实施中涉及的某些角色相关。

从架构的角度来看实际的实现,我们可以有几种方法,但是我们越来越多地看到事件驱动的架构出现了!这些架构基于微服务和 API 驱动的实现,符合实时或近实时摄取和处理的目的。

下图可以说明使用微服务实时摄取数据并利用半结构化数据功能使其可用于 Data LakeHouse 或 Data Lake 的想法。

eeac6a896a60ee93d587a92b3fb5efde.png

微服务层和事件队列

大多数新的源系统都是 API 驱动的,这意味着它们可以在推/拉逻辑下工作:■推送逻辑使用流式 API 工作,这些 API 在事件发生时导出事件(通常以 JSON 格式)。

■拉取逻辑的工作方式与我们所说的“批处理”非常相似,数据管道负责从源系统请求信息,使用参数来减少通过数据管道(增量)移动的数据量。

主要关注推送逻辑,微服务(可以用多种语言构建,例如 Python、.NET、Java 等)将负责订阅端点/webhook 并将事件传递到定义的主题。这些主题特定于每个事件,并且需要具有唯一的命名约定或定义。对于这些部分,一些技术可以保证队列、复制和分区,例如 Apache Kafka、Confluent 或 Cloud Pub/Sub。


Data Lake / LakeHouse

数据湖是用于存储大量原始格式数据的存储库。组织和个人使用数据湖来存储不同类型的大数据,包括结构化、非结构化和半结构化数据。

数据湖使用平面架构,没有文件或文件夹层次结构。每条数据都与一组元数据相关联,并与一个唯一标识符相关联。它们使用各种各样的数据源,包括移动应用程序、物联网产品、网站和工业应用程序。

数据湖具有功能性、可扩展性和低成本的优势:

■作为功能,它具有与机器学习工具、人工智能算法、高级实时数据分析和预测模型配合良好的优势;

■在可扩展性范围内,它们用于管理大量数据,这些数据根据数据输入而增长和变化;

■该工具的低成本在于它允许使用开源技术。

另一方面,数据湖可能会变成数据沼泽,数据完整性和安全性较差,存在一定的劣势,包括:

■由于数据的大小,数据的复杂性意味着只有工程师和数据科学家才能导航和利用数据进行可能的分析。

■浏览数据湖可能很耗时,因为它们需要定期组织和维护数据完整性以避免数据质量问题。如果没有这些预防措施,数据湖最终会变成一个数据沼泽,其中包含杂乱无章且无法使用的数据。

■在数据湖中粗心会带来安全风险。由于存储了如此多的数据,安全和访问风险可能会增加。如果没有必要的预防措施,某些敏感数据最终可能会“存在”在数据湖中,并可供任何有权访问数据湖的人使用。

Data Lakehouse旨在接收结构化或非结构化数据。使用这种方法,企业可以从处理非结构化数据中受益,这些数据只需要存储库,而不需要像湖这样的仓库基础设施。

由于新的系统设计,Lakehouses 有可能被创建,为低成本开放格式的数据仓库实施类似的数据结构和数据操作工具。

作为 Data Lakehouse 应用程序的功能,可以实现以下能力:

■有利用价值的数据存储

■支持所有文件格式的所有类型的数据

■通过数据管理机制支持模式

■同时写入和读取数据

■优化对数据科学和机器学习工具的访问

■一个系统可帮助数据团队更高效、更快速地移动数据,而无需访问多个系统■可以应用 ACID 事务,它允许同时读取和写入数据

■数据科学、机器学习和数据分析项目的实时分析

■可扩展性和灵活性

■成为开源的所有优势这种方法的优点可以是:

■简化模式

■更好地处理和分析数据

■减少数据流量和冗余

■更快、更有效地利用团队时间

这种方法还可以利用无服务器处理在青铜层、白银层和黄金层之间移动数据。通常,黄金层随后在数据仓库中用于洞察力计算,并且所有现有数据都已通过数据质量检查、ETL 或使用文件/表连接的数据处理进行管理。

18b2ab66b67d0035eebe2e2c2bf8972e.png

数据仓库

数据仓库是以结构化格式存储的大量业务数据,可帮助组织获取知识。在数据仓库中写入数据之前,有必要知道它的模式。它从各种来源获取数据并将其格式化以匹配定义的模式。

数据仓库经过优化,可以以高效的查询方式处理和存储。此外,它提供了良好的数据质量并快速获得查询结果。

数据仓库无法处理原始数据或非结构化数据。由于数据不断增长,它的维护非常昂贵。此外,它不是处理复杂数据(例如使用机器学习或预测分析)的最佳解决方案。

主要挑战:

■高成本

■不灵活的架构

■高复杂性和冗余

■性能缓慢且性能下降


机器学习与数据科学

机器学习和数据科学对于某些企业寻找用于预测客户行为或参与、欺诈、产品定制或简单推荐的模型非常有用。

在这个领域还有很多需要讨论和探索的方面,但在这一点上,机器学习工程师将需要数据,而这正是让数据工程师发挥作用的地方。为了向他们提供需要的数据,在这背后使用一个简单的存储库(Data Lake/ Lakehouse)或结构化数据(Data Warehouse)。


洞察力和 KPI

洞察力和 KPI 是每项业务的一些主要驱动力。它们代表历史或实时信息,对于跟踪模式、了解当前状态以及根据准确、非冗余和提供方向的数据做出明智的决策非常有用。

还有一些与数据质量相关的 KPI,这些 KPI 展示了需要在源系统上更正的信息或一些缺少关键洞察力的信息。该层通常使用数据仓库和更传统的方式或关系模型,使用 3N 范式和数据建模的几种方法之一(Kimball、Inmon、Data Vault 等)来提供数据。

相关文章
|
7月前
|
消息中间件 Java Kafka
Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
375 7
|
8月前
|
存储 BI Shell
Doris基础-架构、数据模型、数据划分
Apache Doris 是一款高性能、实时分析型数据库,基于MPP架构,支持高并发查询与复杂分析。其前身是百度的Palo项目,现为Apache顶级项目。Doris适用于报表分析、数据仓库构建、日志检索等场景,具备存算一体与存算分离两种架构,灵活适应不同业务需求。它提供主键、明细和聚合三种数据模型,便于高效处理更新、存储与统计汇总操作,广泛应用于大数据分析领域。
857 2
|
8月前
|
SQL 缓存 前端开发
如何开发进销存系统中的基础数据板块?(附架构图+流程图+代码参考)
进销存系统是企业管理采购、销售与库存的核心工具,能有效提升运营效率。其中,“基础数据板块”作为系统基石,决定了后续业务的准确性与扩展性。本文详解产品与仓库模块的设计实现,涵盖功能概述、表结构设计、前后端代码示例及数据流架构,助力企业构建高效稳定的数字化管理体系。
|
7月前
|
数据采集 缓存 前端开发
如何开发门店业绩上报管理系统中的商品数据板块?(附架构图+流程图+代码参考)
本文深入讲解门店业绩上报系统中商品数据板块的设计与实现,涵盖商品类别、信息、档案等内容,详细阐述技术架构、业务流程、数据库设计及开发技巧,并提供完整代码示例,助力企业构建稳定、可扩展的商品数据系统。
|
6月前
|
数据采集 机器学习/深度学习 搜索推荐
MIT新论文:数据即上限,扩散模型的关键能力来自图像统计规律,而非复杂架构
MIT与丰田研究院研究发现,扩散模型的“局部性”并非源于网络架构的精巧设计,而是自然图像统计规律的产物。通过线性模型仅学习像素相关性,即可复现U-Net般的局部敏感模式,揭示数据本身蕴含生成“魔法”。
279 3
MIT新论文:数据即上限,扩散模型的关键能力来自图像统计规律,而非复杂架构
|
6月前
|
JSON 供应链 监控
1688商品详情API技术深度解析:从接口架构到数据融合实战
1688商品详情API(item_get接口)可通过商品ID获取标题、价格、库存、SKU等核心数据,适用于价格监控、供应链管理等场景。支持JSON格式返回,需企业认证。Python示例展示如何调用接口获取商品信息。
|
7月前
|
数据采集 监控 数据可视化
数据量暴涨时,抓取架构该如何应对?——豆瓣电影案例调研
本案例讲述了在豆瓣电影数据采集过程中,面对数据量激增和限制机制带来的挑战,如何通过引入爬虫代理、分布式架构与异步IO等技术手段,实现采集系统的优化与扩展,最终支撑起百万级请求的稳定抓取。
420 0
数据量暴涨时,抓取架构该如何应对?——豆瓣电影案例调研
|
7月前
|
SQL 数据采集 数据处理
终于有人把数据架构讲清楚了!
本文深入浅出地解析了数据架构的核心逻辑,涵盖其定义、作用、设计方法及常见误区,助力读者构建贴合业务的数据架构。
|
8月前
|
数据采集 存储 分布式计算
一文读懂数据中台架构,高效构建企业数据价值
在数字化时代,企业面临数据分散、难以统一管理的问题。数据中台架构通过整合、清洗和管理数据,打破信息孤岛,提升决策效率。本文详解其核心组成、搭建步骤及常见挑战,助力企业高效用数。
2315 24
|
11月前
|
存储 运维 Serverless
千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践
碧桂园服务通过引入 EMR Serverless StarRocks 存算分离架构,解决了海量数据处理中的资源利用率低、并发能力不足等问题,显著降低了硬件和运维成本。实时查询性能提升8倍,查询出错率减少30倍,集群数据 SLA 达99.99%。此次技术升级不仅优化了用户体验,还结合AI打造了“一看”和“—问”智能场景助力精准决策与风险预测。
1053 69