你好,我是醉墨居士,最近想做一些存储方面的东西玩玩,我第一时间就想到了能不能自己开发一个保存键值对的存储系统
我找了些资料,准备使用Go语言实现一下,想着有想法咱就要去实现,万一成功了呢,没有梦想的话,那和咸鱼有什么区别
一起来玩吧🫠
主要学一下Go语言
其它拓展的知识,我会边实现边讲,如果没讲的话可以自己主动的去了解学习
避免数据丢失和损坏,能够从崩溃中恢复
一个简单的步骤是
1.将更新后的整个数据写入到新文件中
2.使用fsync将新文件的数据刷到磁盘中
3.新文件重命名覆盖旧文件,该步是原子操作
这个流程只适合于数据量比较小的情况下,无法完成数据的增量更新
高效的查询和操作数据,使用B树
在数据库中有两类查询操作,一种是分析查询(OLAP)和事务查询(OLTP)
分析查询一般会涉及到大量的数据,比如聚合,分组或连接操作
事务查询一般只会查询少量的索引数据,索引查询,索引范围查询
处理并发的数据库请求
并发的读操作,不能去写入数据
单一的写操作,不能去读取数据
我们目前只是简单的聊一下数据库相关的内容,未来会更加深入的展开讲解,请不要错过,我是醉墨居士,我们下篇博客再见😉