- 博客(16)
- 收藏
- 关注
原创 从入门到精通:剖析LSM 树的工作原理
MemTable 是一种用于数据库和存储系统(如Cassandra和HBase)中的内存数据结构。它暂时存储最近写入的数据,以便快速访问和高效写入,然后定期将其刷写(flush)到磁盘上。MemTable 的设计主要考虑的是高效的读写操作,尤其是在写密集型的环境中。它的作用类似于一个缓冲区,能够接收从客户端写入的数据,并且在达到一定的大小后会定期将其 刷写(flush) 到磁盘上,生成新的磁盘文件(如 SSTable)。这种设计可以大大提高数据库的写入性能,并减少磁盘 I/O 操作。
2025-01-22 15:17:53
1076
原创 深入理解 LSM 树:现代存储系统的基础
磁盘批量的顺序写要远比随机写性能高出很多磁盘顺序写:将消息先写入到操作系统的页缓存中,由页缓存直接映射到磁盘文件,不需要在用户空间和内核空间直接拷贝消息,也可以认为消息传输是发送在内存中的磁盘随机写:磁盘随机写入是指数据写入磁盘时,写入位置不连续,磁盘的磁头需要频繁移动到不同位置进行写入。LSM树的核心特点是利用顺序写来提高写性能,但因为分层(此处分层是指的分为内存和文件两部分)的设计会稍微降低读性能,但是通过牺牲小部分读性能换来高性能写,使得LSM树成为非常流行的存储结构。
2025-01-20 17:50:54
865
3
原创 c++网络编程的io复用
比如我现在有一台1核2g的虚拟机,大概可以创建100多个进程/线程,但是万一现在我的客户机有200个,线程不够了,该怎么办呢,这时我们就引用了io复用技术常见的io复用技术有下面几个。
2023-12-04 19:26:03
122
原创 一个文章,彻底弄懂const关键字(c++)
首先记住一个口诀比如1.const int :左边没有东西,所以作用域右边的int2.int const:左边有东西,所以作用与左边的int3.const int * const ,第一个const作用于右边(int),第二个const作用域左边的指针类型(*)4.int * const:const作用域指针上,说明这个指针不可以改变,(作用于指针上,说明这个指针不可以改变,但是这个指针指向的地址的内容是可以改变的)
2023-12-02 09:06:40
106
原创 qt信号与槽机制
1.确定场景老师打开门,同学停止说话2.制定自己的信号和槽,添加自己的老师类和学生类3.在老师类中声明信号(打开门)信号千万不要实现在teacher.h中声明信号,注意,不要实现signals:4.在同学类中声明槽函数(停止说话)实现std::cout<<"老师来了,停止说话"<<std::endl;运行测试案例//结果:老师来了,停止说话1.信号的发送者和信号的接收者的基类必须是Qobject(槽函数是全局或者lamba表达式除外)
2023-11-28 13:05:50
93
原创 一文解决c++网络编程问题
网络通信是指两台计算机中的程序进行传输的过程是指:主动发起通信的程序是指:被动的等待,然后为向他发起通信的客户端提供服务的程序比如最常见的上网,客户端是电脑或者手机上的浏览器软件,服务端是web软件qq,客户端是qq软件,服务端是qq的后台下面是网络通信的流程我们下面编写最简单的客户端程序和服务端程序,我们首先连接我的树莓派:192.168.185.246可以看到如下界面。
2023-11-27 11:10:14
187
原创 c++抽象类和纯虚函数
因此,我们可以将虚函数改成纯虚函数,这样这个方法就无法实现(virtual void func()=0;2.子类必须重写抽象类中的纯虚函数,否则也属于抽象类(子类要是不重写纯虚函数,就无法实例化)c++,在多态中,父类中的虚函数的实现一般都是没有意义的,主要都是调用子类重写这些方法。特点:1.无法实例化对象(无论是栈区还是堆区)当一个类里面只有纯虚函数的时候,他就是一个。
2023-11-24 09:42:53
51
1
原创 C++友元
类的私有属性,也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术目的关键字例如,你的家里有客厅(public),卧室(private),客厅所有的客人都可以进去,但是卧室是私有的只有自己可以进去,,你也允许你的好闺蜜好基友一起进去。
2023-11-23 11:01:34
32
原创 基于cnn网络的图像识别识别
傻傻的我分不清楚,该怎么办,于是我想了个办法,可不可以用tensorflow区分一下小黄鸭与皮卡丘,于是我就开始折腾
2023-09-16 20:58:36
145
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人