关于Kafka的介绍

当咱们听到 “数据管道 “这个术语时,以下问题当即值得一提。

  1. 什么是数据管道?
  2. 它的目的是什么?
  3. 它与ETL有什么差异?

在数据生产者和数据顾客的情况下,生产者在做一些数据处理、数据治理和数据清洗之前不能发送数据。

所有关于数据管道和Kafka的基础知识

数据管道的类型

1.实时数据管道

2.批量数据管道

3.Lambda架构(实时和批处理)

生产者能够发送批量或实时数据。

批量数据。CSV、数据库和主机是传统数据的比如。例如,每周或每月的计费体系。

实时数据。这种信息来自物联网设备、卫星和其他来历。例如,交通办理体系。

在进入中央数据管道之前,批量数据要经过批量吸取,而实时数据要经过流吸取。

什么是批处理和流吸取?

批量吸取是对一段时期内取得的数据进行处理。相比之下,由于流吸取涉及到实时数据,所以处理是逐件进行的。

数据管道是由几个独立的组件组成的。考虑一个ODS(运营数据存储),在那里,批量数据在处理后被分阶段存放。流数据也能够在运用Kafka的Message hub中被分阶段处理。一个NoSQL数据库,如MongoDB,能够作为一个音讯枢纽。

由于ODS的存在,企业将能够从多个来历搜集数据,并将其存储在一个方位。Kafka是一个分布式数据存储,可用于创立实时数据管道。即使一切这些数据已经被剖析过,依然有可能充沛它。MDM能够用来做这个(主数据库办理)。它通过减少错误和冗余来协助处理数据。

当数据准备好后,它能够被交付到预订的目的地,如数据湖或数据仓库。客户能够利用它来创立事务报告、机器学习模型和仪表盘,以及其他东西。

所有关于数据管道和Kafka的基础知识

但它与ETL有什么不同?

在ETL管道的结尾,数据被放入数据库/数据仓库。另一方面,数据管道显然是不同的,由于它涉及的不仅仅是导入数据。它作为源和目的地之间的联系。这里,ETL管道能够被认为是数据管道的一个子集。

让咱们深化了解一下Apache kafka

Linkedin在将Kafka交给Apache基金会之前开发了它。Apache Kafka是一个开源的平台,与事情一起作业。为了充沛理解事情驱动的办法,咱们必须首先了解数据驱动和事情驱动办法之间的差异。

**数据驱动。**考虑一个在线零售商,如亚马逊。当顾客A在日期1购买了产品X,数据库就会记载下这笔交易。但假如咱们不得不考虑超过2亿的客户,会产生什么?一切的数据都保存在几个数据库中,这些数据库应该相互交流,并与在线网站交流。

**事情驱动:**这种办法选用与公司网站相同的互动办法。但是,一切的数据被保存在一个行列中。数据库能够从行列中取得它需求的信息。

什么是事情?

它可能是一个单一的活动或一组商业行为。例如,假如客户A在第1天购买了产品X,一个事情被记载下来,其信息如下。

客户ID- 123

名字- A

订单ID- 001

日期- 1。

Kafka鼓励运用行列来存储事情。任何客户都能够运用这个行列来获取他们需求的信息。

接下来应该想到的问题是:Kafka与其他中间件有什么不同?

1.咱们能够在任何时间段内存储大量的数据。

2.3.它对每个事情都是仅有的(即使同一个客户进行第2次购买,由于他或她可能在不同的日期购买产品Y)。

Kafka的另一个值得注意的作用是它运用了 “日志 “数据结构。日志中的OFFSET字段表明晰数据的取值范围。它永远不会掩盖现有的数据;相反,它将在最终追加数据。

**日志数据结构。**日志是最基本的数据结构,用于描述一个仅有附加记载的序列。不可变的日志记载是以准确的顺序添加到日志文件的结尾的。

**音讯-**行(它是Kafka架构中最小的单位)

**主题–**表

分区–视图

所有关于数据管道和Kafka的基础知识

音讯(邮件符号)、主题(圆柱形管道)和分区在上面的图片中都是清晰可见的。为了完成容错和可扩展性,这些分区都保持在多个设置中。事情只能在一个分区内进行分类或排序。

Kafka集群。

所有关于数据管道和Kafka的基础知识

Kafka生意人是Kafka服务器的另一个名字。他们从生产者和顾客那里取得数据存储和检索指令。数据仿制也被保存在与领导者不同的生意商中。在产生故障的情况下,仿制的生意人将行使权力。领导者将始终与生产者和顾客互动。一个Kafka集群是许多生意商的调集。

为了进一步探索,有一些Kafka产品。

1.Kafka中心(主题、日志、分区、生意人和集群)

2.Kafka Connect(衔接主机和数据库)

3.kSQL (为Kafka设计的SQL)

4.Kafka客户端(要衔接客户端)

5.Kafka Streams(办理Kafka中的流摄入)

优势

2.完全分布式(容错)。

3.基于事情的办法

4.零停机时间(可扩展的架构)

咱们能够清楚地看到,这个数据管道的概念关于现实世界的问题是很有用的,它通过自动化和使数据在单一来历供顾客访问,使其更容易取得洞察力和渐进式剖析。它提供了一个灵活的环境。

本文所展现的媒体不属于Analytics Vidhya一切,由作者自行决定运用。