怎样实现一个kv数据库
为了能够说明,将问题再简单化一点,实现一个kv全部存储在内存里面,但能够支持持久化的kv数据库。这样实现起来,分为两部分:1.通过hashmap实现内存部分2.通过wal实现持久化部分的事情然后讨论一下处理思路:一、添加只需要在wal文件中追加kv块,然后写入到内存,就完成了二、删除在wal中,追加写入删除操作三、加载在加载时,合并wal,构造hashmap这样处理后,每次写入,都只需要一次的磁盘操作,速度妥妥的。优化建议:1、定期合并wal,减少加载时间对于不能完全存储在内存里面的情况,通过将内存的内容,定期刷到磁盘中,形成镜像,且排序好,查询时,通过虚拟内存方式加载镜像,执行查询。但这样做还要处理合并的情况,后续讨论。
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 同比■同比增长7.1%!2021年的第一个节你花了多少钱?
- “他是我第一个会说普通话的老师”:一对师生折射青海山村蝶变
- 北京22家市属医院均开展安检基本实现重点区域安检措施全覆盖
- 长江流域渔民退捕“上岸”实现扩产新致富
- 实现“甜蜜计划”,这对中哈跨国夫妻好甜
- 北京地铁11号线西段三座车站提前实现主体结构封顶
- 有必要重新开个C店吗
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
