所有应用软件之中,数据库可能是最复杂的。
MySQL的手册有3000多页,PostgreSQL的手册有2000多页,Oracle的手册更是比它们相加还要厚。

但是,自己写一个最简单的数据库,做起来并不难。Reddit上面有一个帖子,只用了几百个字,就把原理讲清楚了。下面是我根据这个帖子整理的内容。
一、数据以文本形式保存
第一步,就是将所要保存的数据,写入文本文件。这个文本文件就是你的数据库。
为了方便读取,数据必须分成记录,每一条记录的长度规定为等长。比如,假定每条记录的长度是800字节,那么第5条记录的开始位置就在3200字节。
大多数时候,我们不知道某一条记录在第几个位置,只知道主键(primary key)的值。这时为了读取数据,可以一条条比对记录。但是这样做效率太低,实际应用中,数据库往往采用B树(B-tree)格式储存数据。
二、什么是B树?
要理解B树,必须从二叉查找树(Binary search tree)讲起。

本文是数据库入门的简单介绍,首先说明数据通常以文本形式存储,然后讲解了B树的概念及其与二叉查找树的区别,强调了B树在减少硬盘操作次数上的优势。接着介绍了索引的概念,如何通过索引文件加速查找过程。最后提到了数据库的高级功能,如SQL支持、数据库连接、事务处理、备份和远程操作。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



