ruby-DB
Ruby系列是使用Go语言重构实现数据库,操作系统,编译器等计算机最核心内容。使用简单的核心讲解方式进行编排。ruby-DB就是一个基于Golang的类sqlite数据库系统,实现了我们常用的相关功能,一共分为13讲。
主要实现的内容
- 数据以什么格式存储?(内存或是硬盘)
- 数据什么时候从内存移动到硬盘?
- 为什么可以只拥有一个主键在每张表?
- 如何实现事务的回滚?
- 索引的格式是如何实现的呢?
- 什么时候,什么条件下会发生整张表索引呢?
- 查询语句以什么格式存储?
第一部分 REPL的实现
使用过Mysql或者MongoDB或者使用过Shell交互式界面的同学应该了解,我们整个程序一直处于读取一串输入,返回一串结果的循环,这就是REPL(read–eval–print loop)。
这就是第一部分的主要代码逻辑,使用一个for循环从命令行循环读入数据,直到输入“.exit”也就是model.Exit退出我们的数据库程序。
最终实现效果
这是我的github相关项目地址,欢迎来进行交流学习和
使用相关内容:
Golang Goland gitemoji git github
参考资料: