专栏名称: 腾讯技术工程
腾讯技术工程事业群官方微信公众号。腾讯前沿科技技术、产品、行业信息交流发布平台。
今天看啥  ›  专栏  ›  腾讯技术工程

从零开始深入理解存储引擎

腾讯技术工程  · 公众号  ·  · 2024-07-30 18:00
    

文章预览

作者:zhengweiwu 很多应用都属于数据密集型应用,而非计算密集型;对于这类应用,CPU往往不是第一限制性因素,关键在于数据量 、数据复杂度 和 数据的快速多变性;因此数据库的选型在应用系统设计中就显得比较重要。 数据库(数据引擎)最核心的任务就是"读到写入的值",我们尝试从"最简单的脚本文件数据读写" 一步一步扩展讨论到"分布式键值数据库",在这个过程中我们会遇到很多"挑战",并尝试逐步解决。 1. 单机存储引擎 从 两行代码的shell脚本 读写文件开始,我们通过逐步解决如下问题得到了一个单机可用的存储引擎( LSM Tree ): 1. 读取慢 2. 磁盘耗尽 3. 文件压缩合并 4. 重新组织数据文件格式提高压缩合并效率 5. 内存排序数据以实现预期的数据文件格式 6. 有序数据文件的压缩合并 7.引入预写日志解决重启内存数据丢失 不使用已有的任何 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览