关系型DB从0到1——基于Java语言的简易数据库
本项目初步练习实现一个基于Java语言的简易关系型数据库,用于学习关系型数据库(如Mysql)的设计理念,核心核心,基本算法。
涉及缓存,数据容量存储结构(B +树),锁,事务,优化器,重做/撤消日志等核心原理。
1.关系数据结构基本定义
添加数据库,表,行,细分等基础定义
2.数据持久化
每一个表存储成为一个物理磁盘文件,通过表数据变多,一个表对应的物理磁盘文件可以无限变大,全部读取到内存中肯定是不可取的,编写程序时应每次磁盘IO读取一个数据块,操作系统与磁盘一般以4k为以页的单位来交互的,因此我们读写数据也以4KB page为基本单位。
添加文件,页,表结构描述等定义的添加表文件(DbFile)的方法:writePageToDisk,readPageFromDisk,实现从表的磁盘文件中写入页面数据,读取页面数据
完成单例dataBa
2022-05-05 18:05:02
2.18MB
Java
1