Doris学习2: 数据分布与存储机制学习笔记

Doris 数据分布与存储机制学习笔记(简化版)

Doris底层存储引擎------基于LSM-Tree的设计

  • Memtable = 内存中的快速笔记本
  • SSTable = 磁盘上的正式文件
  • Compaction = 定期整理文件,优化存储

一、核心流程

  1. 写入流程(重点!)

数据写入 → 内存Memtable → 磁盘SSTable → Compaction合并

  1. 读取流程

查询请求 → 检查Memtable → 检查SSTable → 合并结果

二、详细解释

  1. 写入过程

Memtable:内存中的有序数据结构(像快速笔记本)

Flush:当Memtable写满后,批量写入磁盘(像把笔记本内容整理成正式文件)

SSTable:磁盘上的有序数据文件(Sorted Strings Table)

  1. Compaction合并

Minor Compaction:合并小文件,快速响应

Major Compaction:深度合并,优化存储

自动调度:后台自动执行,不影响正常使用

三、为什么这样设计?

  1. 写入快的原因

内存写入:内存速度快,像在笔记本上写字

批量Flush:一次性写入磁盘,减少IO次数

顺序写:磁盘顺序写比随机写快很多

  1. 读取时的处理

多版本合并:需要合并Memtable和SSTable的数据

布隆过滤器:快速判断数据是否存在,避免无效读取

四、带来的好处

写入性能高:适合高频写入场景

存储优化:列式存储+压缩,节省空间

高并发支持:多线程同时写入,互不干扰

五、可能的问题

读放大:读取时需要合并多个文件

写放大:Compaction过程中数据被多次重写

Compaction性能:合并过程可能影响查询

六、实际效果

写入:像在笔记本上快速记录,然后整理成正式文件

读取:需要查看笔记本和文件,然后合并结果

这种设计让Doris在写入性能和存储效率上表现出色,虽然读取需要合并,但通过多种技术手段已经很好地解决了这个问题!

相关推荐
hzp6662 天前
doris学习6:参数调优
数据库·doris·参数·数据库调优
SelectDB技术团队3 天前
Apache Doris 5.0 年度版本前瞻(一):构建统一的多模湖仓实时分析平台
大数据·doris·数据湖·湖仓一体·lakehouse·湖仓分析·多模分析
一路追寻4 天前
在大模型时代,Apache Doris 深度融合文本搜索、向量搜索、AI 函数能力,构建从数据存储、检索到分析的完整 AI 数据栈。
doris
迈巴赫车主5 天前
Doris简介
大数据·数据仓库·doris
SelectDB技术团队5 天前
Apache Doris 支持同步/异步物化视图与 ROLLUP,多表加速能力优于 StarRocks
大数据·数据库·doris·技术选型·物化视图·starrock·查询加速
SelectDB技术团队6 天前
统一全文检索与 SQL 分析:Apache Doris 日志分析实践
大数据·数据结构·后端·python·全文检索·doris·日志分析
SelectDB技术团队6 天前
StarRocks 适合做日志分析吗?
大数据·数据结构·后端·python·doris·日志分析·starrock
StarRocks_labs9 天前
StarRocks 存算分离架构下的大规模实时导入优化实践
starrocks·flink·sstable·compaction·tablet·主键索引·存算分离架构
SL-staff10 天前
采购数据链打通实战:三步用JVS-BI实现跨系统ELT与嵌入式分析(附配置逻辑)
doris·数据集成·数据中台·elt·jvs-bi·采购数字化·低代码分析