【大数据学习 | kafka高级部分】kafka的快速读写

news/2024/11/14 10:36:06/

1. 追加写

根据以上的部分我们发现存储的方式比较有规划是对于后续查询非常便捷的,但是这样存储是不是会更加消耗存储性能呢?

其实kafka的数据存储是追加形式的,也就是数据在存储到文件中的时候是以追加方式拼接到文件末尾的,这样就非常快速的跳过了文件的检索。

机械磁盘的文件检索需要使用到磁头进行不断扫描数据,如果存储大量的小文件或者存储位置不同的时候需要不停的扫描检索文件的位置,这个过程是非常浪费时间的,但是kafka的数据完全以追加的方式存储到磁盘中的,那么这个时候就完全省去了这样的一个过程,使得机械磁盘的性能和固态的性能相差无几索步骤。

我们可以看到经过测试,机械磁盘的存储性能可以达到600M/s 但是随机读写就比较慢100k/s

所以追加写造就了kafka的高写入性能。

写入的速度非常快,那么读取的性能是如何保证的呢?

首先kafka数据就是以分区作为单位进行分布式管理的,所以多个机器共同管理,效果更加明显

前文中说过kafka的存储是按照segment切分的,并且存储的数据是带有index索引的,这个速度可以几乎直接定位到相应的检索文件。

并且kafka还实现了零拷贝技术。

2. 零拷贝技术

首先我们可以看到普通的存储在磁盘上的文件要想发送出去的话,需要走以上的步骤

通过内核和用户空间的加载,反反复复经过4次加载和拷贝过程,这个过程是非常消耗性能和io的

其实直白来说,如果数据加载的过程中不走用户缓冲区的话直接以内核加载一次的方式进行传输效率是更加高效的。

所以使用到零拷贝技术,方式就是只将数据从磁盘加载到内存中一次,然后直接从内核空间将数据发送到网卡从而直接传输给消费者端。

零拷贝技术的本质就是怎么减少数据的复制过程,并不是没有数据的复制

这个实现方式就是使用到sendFile的系统函数,它可以直接实现系统内存的映射。


http://www.ppmy.cn/news/1546321.html

相关文章

单臂路由技术,eNSP实验讲解

单臂路由技术,eNSP实验讲解 一、简要介绍1、概念2、工作原理3、优点4、缺点5、应用场景举例 二、eNSP仿真实验1、步骤一:2、步骤二:3、步骤三:4、步骤四: 三、总结。 一、简要介绍 1、概念 单臂路由(Rout…

Spleeter:音频分离的革命性工具

目录 什么是Spleeter?Spleeter的工作原理Spleeter的应用场景Spleeter的技术优势Spleeter的挑战与局限性结论 什么是Spleeter? Spleeter 是一个由 Deezer 开发的开源音频源分离工具。它基于深度学习技术,尤其是卷积神经网络(CNN&a…

42.第二阶段x86游戏实战2-lua寻找状态指针

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…

websphere CVE-2015-7450反序列化和弱口令,后台Getshell

靶场安装 docker pull iscrosales/websphere7docker run -d -p 9060:9060 -p 9043:9043 -p 8880:8880 -p 9080:9080 iscrosales/websphere7 端口: 9080—web(http)应用访问端口、9443—web(https)应用访问端口、9060—管理后台访问端口、9043—管理控制台安全端口…

WPF中的依赖属性

1.创建项目后下载两个NuGet程序包 2.创建一个MyButton类继承Button MyButton类如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Contro…

大数据新视界 -- 大数据大厂之 Impala 性能优化:为企业决策加速的核心力量(下)(14/30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

Linux环境基础开发工具的使用

Linux软件包管理器yum yum是一个软件下载安装管理的客户端,相当于手机上的应用商店 Linux中软件包可能存在依赖关系,而yum会帮我们解决依赖关系的问题 Linux系统(centos)的生态 安装软件的方式:源代码安装、rpm包安…

汇盈策略股票杠杆交易加仓超1000亿,大幅买入这些股票

查查配分析上周,A股市场反弹,上证指数、深证成指、创业板指分别累计上涨5.51%、6.75%、9.32%。在市场反弹的情况下,Wind数据显示,截至11月8日,A股市场融资余额报17944.52亿元,创2015年7月3日以来新高,上周融资余额增加1031.35亿元。 汇盈策略但凭借其优秀的业务模式和高效的运…