lsm
  • 2024-09-25mini-lsm通关笔记Week2Day2
    项目地址:https://github.com/skyzh/mini-lsm个人实现地址:https://gitee.com/cnyuyang/mini-lsmSummary在本章中,您将:要将测试用例复制到启动器代码中并运行它们,实现一个simpleleveled合并策略,并在合并模拟器上进行仿真。将compaction作为后台任务启动,并在系统中实现一个
  • 2024-09-25mini-lsm通关笔记Week2Overview
    Week2Overview:CompactionandPersistence在上周,您已经实现了LSM存储引擎的所有必要结构,并且您的存储引擎已经支持读写接口。在本周中,我们将深入探讨SST文件的磁盘组织,并研究在系统中实现性能和成本效益的最佳方法。我们将花4天时间学习不同的compaction策略,从最简单的到最
  • 2024-09-15YOLOv8改进 | Conv篇 | 最新轻量化自适应提取模块LAE助力边缘设备部署计算(附代码 + 修改教程 + 运行教程)
    一、本文介绍本文给大家带来的一个改进机制是最新由LSM-YOLO提出的轻量化自适应特征提取(LightweightAdaptiveExtraction,LAE)模块,其是LSM-YOLO模型中的关键模块,旨在进行多尺度特征提取,同时降低计算成本。LAE通过以下方式实现更有效的特征提取:多尺度特征提取、自适应特征提取
  • 2024-09-09mini-lsm通关笔记Week2Day1
    项目地址:https://github.com/skyzh/mini-lsm个人实现地址:https://gitee.com/cnyuyang/mini-lsmSummary在本章中,您将:要将测试用例复制到启动器代码中并运行它们,实现合并某些SST文件并生成新SST文件的compaction逻辑。实现逻辑以更新LSM状态并管理文件系统上的SST文件。
  • 2024-09-03mini-lsm通关笔记Week1Day7
    Summary在上一章中,您已经构建了一个具有get/scan/put支持的存储引擎。在本周末,我们将实现SST存储格式的一些简单但重要的优化。欢迎来到Mini-LSM的第1周零食时间!在本章中,您将:在SST上实现布隆过滤器,并集成到LSM读路径get中。以SST块格式实现对key存储的压缩。要将测试用例
  • 2024-09-02mini-lsm通关笔记Week1Day6
    项目地址:https://github.com/skyzh/mini-lsm个人实现地址:https://gitee.com/cnyuyang/mini-lsmSummary在本章中,您将:使用L0flush实现LSM写路径。实现逻辑以正确更新LSM状态。要将测试用例复制到启动器代码中并运行它们,cargoxcopy-test--week1--day6cargoxsch
  • 2024-08-26mini-lsm通关笔记Week1Day5
    项目地址:https://github.com/skyzh/mini-lsm个人实现地址:https://gitee.com/cnyuyang/mini-lsmTask1-TwoMergeIterator在此任务中,您需要修改:src/iterators/two_merge_iterator.rs你已经在Week1Day2中实现了一个合并迭代器,它合并相同类型的迭代器(如:memtable迭代器)。既然
  • 2024-08-21mini-lsm通关笔记Week1Day4
    项目地址:https://github.com/skyzh/mini-lsm个人实现地址:https://gitee.com/cnyuyang/mini-lsmTask1-SSTBuilder在此任务中,您需要修改:src/table/builder.rssrc/table.rsSST由存储在磁盘上的数据块和索引块组成。通常,数据块都是懒加载的-直到用户发出请求,它们才会被加载
  • 2024-08-05论文解读:LSM Tree 的魔力,提升写入吞吐量的高效数据存储结构
    LSMTree是一种用于高写入吞吐量的数据库存储引擎,广泛应用于现代分布式数据库系统。其核心思想是将写入操作缓存在内存中,并定期批量写入磁盘,减少磁盘I/O操作,提高写入性能。因其高效的写入性能和适应大规模数据的能力,成为现代数据密集型应用的关键技术之一。LSM-tree主要由三
  • 2024-07-15论文阅读笔记-LSM-bush
    首先介绍前置工作。缩写缩写全称FPRfalsepositiverate符号符号含义单位NtotaldatasizeblocksFbuffersizeblocksLnumberoflevelsM所有bloomfilter的平均bitsperbitbitspsumofFPRsacrossallBloomfilters$p_i$
  • 2024-07-07mini-lsm通关笔记-字符相关操作
    本文捋一下mini-lsm中的字符相关操作[u8]Vec<u8>BytesBufKeySliceKeyBytes[u8]和Vec<u8>这两个是rust内置的数据类型。[u8]:切片本身并不拥有数据,而是引用了数据。它由一个指向数组开始处的指针和一个表示数组长度的计数器组成。[u8]类型通常写作&[u8],这是因为切片通
  • 2024-06-17超级底层:10WQPS/PB级海量存储HBase/RocksDB,底层LSM结构是什么?
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪
  • 2024-06-08SELinux 基本原理
    首发公号:Rand_csSELinux基本原理本文讲述SELinux保护安全的基本原理安全检查顺序不废话,直接先来看张图当我们执行系统调用的时候,会首先对某些错误情况进行检查,如果失败通常会得到一些error信息,通过查看全局变量errno可以知道到底是哪一类错误随后进行DAC检查,简
  • 2024-04-26LSM Tree 简笔
    LSMTree总览写流程:就地写,写入memTable当activememTable满后,转变为readOnlymemTable,在合适时机flush入磁盘。当前level数据满后,进行归并操作,把数据排序,去重后转入下一level。背景介绍两种场景,读多写少,写多读少。原地写写操作:找到老数据所在位置,更新,IO操作,慢。
  • 2024-03-10FPGA的DAC转换部分遇到的问题
    利用线性序列机根据时序图和手册中的输出值的对应关系。DAC这边的知识基本相同。在验证的时候发现了问题,反推仿真的时候发现了,子啊lsm_cnt线性序列机计数的33到了之后还有一位,发现是set_en的问题,因为set_en使能才能计数。这边是正确的波形图和代码对应always@(posedgeclko
  • 2023-11-14从BST到LSM的进阶之路
    前言相信大家之前都了解过很多种数据结构,我之前总是两两的,也就是从局部上去进行比较,没有从整体上进行这些树的发展脉络进行梳理,因此经常看完没多久就忘了。看来确实是需要从本源出发,不仅要知其然还要知其所以然,了解清楚前因后果,不仅可以方便我们记忆,更有利于增加我们的理解深度。
  • 2023-11-14从BST到LSM的进阶之路 | 京东物流技术团队
    前言相信大家之前都了解过很多种数据结构,我之前总是两两的,也就是从局部上去进行比较,没有从整体上进行这些树的发展脉络进行梳理,因此经常看完没多久就忘了。看来确实是需要从本源出发,不仅要知其然还要知其所以然,了解清楚前因后果,不仅可以方便我们记忆,更有利于增加我们的理解深度。实
  • 2023-11-12数据存储和检索:B-tree 和 LSM-tree
     本文主要介绍数据库的核心数据结构索引的实现方式:B+tree和LSM-tree。实际上,数据库是可以不存在索引结构的,遍历数据库总归可以实现数据库的查询,但是,如果数据量很大,这种低效的做法是不可接受的,那么自然而然,牺牲部分空间换取时间被提出和接受,即保留额外的元数据,实现数据
  • 2023-09-01技术分享 | LSM,Linux 内核的安全防护盾
    计算机安全是一个非常重要的概念和主题,它不仅仅可以保护用户个人信息和资产的安全,还可以影响到用户在使用过程中的体验;但同时,它也是一个很抽象的概念,关于其相关文献和资料不计其数,但它究竟是什么、包含什么,并没有详尽并全面的介绍。尽管困难,国际上还是对计算机安全概括出了三个特性
  • 2023-07-24LSM树学习笔记(2)
    SSTablesLSM(log-structuredmerge-tree)树使用排序字符串表(SSTable:SortedStringsTable)格式持久化到磁盘。顾名思义,SSTable是一种用于存储键值对的格式,其中的键是按排序排列的。SSTable由多个被称为段的有序文件组成。这些段一旦写入磁盘就不可更改。一个简单的例子如下:可
  • 2023-07-23LSM树学习笔记
    LSM-Tree即logstructuredmergetree。LSM-Tree是许多高度可扩展的NoSQL分布式键值类型数据库(如亚马逊的DynamoDB、Cassandra和ScyllaDB)的基础数据结构。众所周知,这些数据库在设计上支持的写入率远远超过传统关系数据库所能提供的写入率。几乎所有NoSQL数据库都使用LSM树的变体
  • 2023-07-21leveldb
    从B树到LSM树《数据库系统内幕》下文中很多图片源自这本书B+树在mysql原理中,进行过B+树与一些数据结构对比:B+树与B树B+树只在叶子节点存储数据,B树非叶子节点也要存储数据,所以B+树的单个节点的数据量更小,在相同的磁盘I/O次数下,就能查询更多的节点B+Tree叶子节点采用链表连接
  • 2023-06-11HBase的数据结构原理与使用
    一、HBase简介HBase是一个开源的、分布式的、版本化的NoSQL数据库(即非关系型数据库),依托Hadoop分布式文件系统HDFS提供分布式数据存储,利用MapReduce来处理海量数据,用Zookeeper作为其分布式协同服务,一般用于存储海量数据。HDFS和HBase的区别在于,HDFS是文件系统,而HBase是数据库。HBa
  • 2023-06-06LSM-Tree (BigTable 的理论模型)[转]
    Google的BigTable架构在分布式结构化存储方面大名鼎鼎,其中的MergeDump模型在读写之间找到了一个较好的平衡点,很好的解决了webscale数据的读写问题。MergeDump的理论基础是LSM-Tree(Log-StructuredMerge-Tree),原文见:LSMTree下面先说一下LSM-Tree的基本思想,再记录下读文章的几
  • 2023-05-09LSM 树 设计思想总结
    LSM树的设计思想很有意思。LSM树将对磁盘的随机写入转化为了磁盘友好型的顺序写(无论机械磁盘还是SSD,随机读写都要远远慢于顺序读写),从而大大提高了写性能。 1、怎么转化顺序写?核心就是在内存中维护一个有序的内存表(memtable),当内存表大于阈值的时候批量刷入磁盘,生成最新的S