【数据库内核】01——从0到1数据库内核实战,挑战数据库领域最强大脑 1

简介: 【数据库内核】01——从0到1数据库内核实战,挑战数据库领域最强大脑

1、数据库系统概述

1.1 给入门小白洗洗脑

1.1.1 为什么学习数据库内核

  • 了解底层
  • 出故障救火
  • 数据库开发不吃青春饭,越老越吃香
  • 未来趋势,国家要防止数据库被老美卡脖子

1.1.2 数据库开发入门难吗

不难。可以从简单的MiniOB的开始,

MiniOB只有几万行,

SQLLite只有二十多万行源码,

还有大神早就写了经典教材

《数据库系统实践》

《数据库系统概念》

而且你们还有我帮你们踩坑。

1.1.3 这篇文章教你什么内容

课程分为两部分。入门与进阶。这篇先带大家入门,该专栏后续还有很多文章带大家深入。


bb2fc5276719436a938cec4ae1d9d313.png

进阶超级超级硬核的~


da19a12e9aad4a4f9799d36461c50a43.png

点击关注不迷路。

1.2 数据库的那些事儿

1.2.1 没有数据库真的让开发头大


6515537b37f44b3a8914f191b5f7d28e.png


a3f460e0b2ee4f4e8f64b202ea94c6aa.png


1.2.2 数据库要解决什么问题

最大的问题归根结是没有进行抽象。

7bee9e6c2f55495fbec2724bfc3f67ab.png

1.2.3 早期的数据库系统


3c641b7a640d4b29946dc5f5839dba30.png

淘汰原因:描述的世界,结构太死板,不灵活。不够简单,无法提供抽象简单数据库语言,根本原因!

1.2.4 现代主流数据库系统

关系型数据库


2f9d6ca5b592467280e351e5ab121c31.png

关系间可以相互转化,不会丢失语义。

逻辑层关系代数,物理层用关系存储清晰。

NoSQL

解决存储容量不能线性扩展的痛点:提出分布式支持数据库无限线性

底层数据模型:K-V,不需要预定义结构


4b7113731dd54b0b9658013e0ee412cf.png

1.2.5 数据库简史

数据库是图灵奖最多的领域,膜拜数据库之神

e043af3dde4647318cd50da4f0f6b403.png

数据库简史

e67ca36ae1fc45288d13f27ac03f5ac7.png

MongoDB:在文档上解决特别好

OceanBase:NewSql + HTAP

Amazon Aurora:云上数据库系统

1.2.6 数据库架构


edfc3352679a47b493b0ff05bf7b4e5f.png

parser:词法分析、语法分析(生成语法树)。

Query result cache:直接对SQL进行硬解析。

resolver:对部分变量进行替换,生成语法树。

plan chache:命中plan chache成功则将其丢到物理执行器Executor中,否则扔到优化器里去

Transformer:进行逻辑优化,比如索引下推。

Optimizer:进行代价优化,从众多物理执行计划选出最优。工业中与transformer进行混杂,选择相对优的执行计划(为了节约时间、不一定会选最优)。

code generator:将多个算子merge,生成更加高效的算子。

日志恢复分为物理日志和逻辑日志。

8698f45f807d4f9eb320a2b8e4ab0c10.png

6f8f9f8e0f754da0974535b81f4b0bfa.png

B+树,平衡二叉树,读写性能均衡算法


adba2a693df94fcd97287e574d3c2429.png


e4936918209943ebb848de436d0a8c57.png

2 MiniOB——从底层深入了解数据库实现

2.1 MiniOB介绍

2.1.1 数据库系统学习的难点

image.png

2.1.2 MiniOB架构


7ba078fcc028418f9ecf9f69e4cb945f.png


相关文章
|
19天前
|
关系型数据库 Apache 流计算
手把手教你实现 OceanBase 数据到阿里云数据库 SelectDB 内核版 Apache Doris 的便捷迁移|实用指南
本文介绍了如何将数据从 OceanBase 迁移到阿里云数据库 SelectDB 内核版 Apache Doris。提供 3 种数据同步方法 1. 使用 DataX,下载 DataX 并编写配置文件,通过 OceanBaseReader 和 DorisWriter 进行数据迁移。 2. 利用 Apache Doris 的 Catalog功 能,将 OceanBase 表映射到 Doris 并插入数据。 3. 通过Flink CDC,设置 OceanBase 环境,配置 Flink 连接器,实现实时数据同步。
手把手教你实现 OceanBase 数据到阿里云数据库 SelectDB 内核版 Apache Doris 的便捷迁移|实用指南
|
1天前
|
SQL 数据库
数据库SQL语言实战(六)
本次实战的重点就在于对表格本身的一些处理,包括复制表格、修改表格结构、修改表格数据
|
1天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(五)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
|
1天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
|
1天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(三)
本篇文章重点在于SQL中的各种删除操作
|
4天前
|
关系型数据库 分布式数据库 数据库
|
6天前
|
存储 监控 Apache
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
网易的灵犀办公和云信利用 Apache Doris 改进了大规模日志和时序数据处理,取代了 Elasticsearch 和 InfluxDB。Doris 实现了更低的服务器资源消耗和更高的查询性能,相比 Elasticsearch,查询速度提升至少 11 倍,存储资源节省达 70%。Doris 的列式存储、高压缩比和倒排索引等功能,优化了日志和时序数据的存储与分析,降低了存储成本并提高了查询效率。在灵犀办公和云信的实际应用中,Doris 显示出显著的性能优势,成功应对了数据增长带来的挑战。
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
|
6天前
|
存储 NoSQL 关系型数据库
MongoDB非关系型数据库实战
【5月更文挑战第6天】MongoDB,流行的NoSQL数据库,以其灵活的数据模型和高性能备受青睐。本文介绍了MongoDB的基础,包括文档型数据库特性、安装配置、数据操作。通过电商订单管理的实战案例,展示了MongoDB在处理复杂数据结构和大规模数据时的优势,适用于电商、游戏、视频直播等场景。MongoDB的索引、全文搜索和地理空间功能进一步增强了其实用性。注意性能优化和扩展性以确保系统稳定性和可靠性。
|
11天前
|
缓存 关系型数据库 MySQL
MySQL数据库性能优化实战
【4月更文挑战第30天】本文探讨了MySQL性能优化实战技巧,包括硬件与配置优化(如使用SSD、增加内存和调整配置参数)、索引优化(创建合适索引、使用复合索引及定期维护)、查询优化(避免全表扫描、减少JOIN和使用LIMIT)、分区与分片(表分区和数据库分片),以及使用缓存、定期清理数据库和监控诊断。通过这些方法,可以提升数据库性能和响应速度。
|
12天前
|
存储 SQL Apache
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读