当前位置: 首页 > article >正文

麻雀键值数据库开发日志

2023年5月1日,周一晚上:

首先,我想搞明白怎么把数据存储到硬盘中才能达到读写效率高。

我决定借鉴一下SQLite,可以通过研究SQLite的.db文件来看看。

我发现SQLite的.db文件主要由B-tree组成,所以我决定从研究B-tree开始。

可以预料,学习B-tree的过程应该要挺久的,不能短期内完成...


2023年5月2日,周二晚上:

找了两天,终于找到一个能轻松在windows上运行的开源键值数据库——redis,但是一试用我就发现和我当初想的键值数据库不太一样。我说呢,今天早上我还在纳闷,只有键和值怎么给图书管理系统当数据库呢。没办法,自己开的项目,说什么也要弄完。

redis只有十几M,有空看看它的源码。

一篇很棒的redis教程

Redis 教程 | 菜鸟教程

和redis比较像的数据库还有MongoDB

教程:

Windows 平台安装 MongoDB | 菜鸟教程

下载地址:

Download MongoDB Community Server | MongoDB


2023年5月2日,周二晚上:

麻雀键值数据库1.0.0版本的设计目标是:

用B树实现键值的添加、删除、查询

题外话,等弄完了这个项目,我有点想用C或者C++捣鼓一个操作系统


2023年5月3日,周三凌晨:

感觉redis很有借鉴意义,

特别是其中的redis-check-rdb.exe,感觉很有意思


2023年5月3日,周三早上:

今天早上学习B树的时候,发现了一个特别棒的B树教学视频

终于把B树搞明白了(一)_B树的引入,为什么会有B树_哔哩哔哩_bilibili

没想到,b树还和操作系统和计算机组成原理有关,
操作系统和计算机组成原理不愧是计算机四件套
我对开发操作系统越发感兴趣,感觉可以学到很多有意思的东西,感觉可以把课堂上学的东西给真正的用起来
我觉得有必要重视一下计算机四件套的学习了,特别是操作系统和计算机组成原理


2023年5月4日,周三中午:

在 Windows 平台上,Redis 使用 Win32 API 来实现终端窗口。而在 Linux 或其他类 Unix 系统中,Redis 使用 ncurses 库来实现控制台界面。

我决定用Win32 API里面的控制台 API来实现麻雀键值数据库的控制台界面,正好我以前用win32API写过两个小项目。

我打算在控制台界面里添加save命令和read命令,以实现保存内存中的键值到硬盘中和读取硬盘中的键值到内存中。

看到一篇挺全的控制台API博客

Windows Console API - Cikaros,一个无名的小站~

官方文档

控制台文档 - Windows Console | Microsoft Learn


http://www.kler.cn/a/17137.html

相关文章:

  • 机器学习总结
  • 探索Python的HTTP利器:Requests库的神秘面纱
  • 边缘的检测
  • 设计模式练习(一) 单例模式
  • 建筑施工特种作业人员安全生产知识试题
  • 使用Docker快速部署FastAPI Web应用
  • Linux常用的压缩、解压缩以及scp远程传输命令的使用
  • Android中Paint字体的灵活使用
  • 如何将 Elasticsearch 和时间序列数据流用于可观察性指标 - 8.7
  • 宏观经济笔记--CPI和PPI
  • 使用rt thread studio新建一个rt thread工程的详细操作说明(以stm32F411CEU6)为例
  • Python---多线程编程、基于Socket完成服务端程序开发、基于Socket完成客户端程序开发
  • SpringMVC详细介绍和@RequestMapping详细使用说明
  • 预制菜,巨头们的新赛场
  • python3 强制使用任意父级相对导入,越过python相对导入限制,拒绝 ImportError
  • 操作系统——设备管理
  • kafka的安装与使用
  • 关于低代码开发平台的一些想法
  • 【Frame.h】
  • 手写堆priority_queue优先队列
  • 题目:16版.学生-成绩关联实体
  • Centos7快速安装Kibana并连接ES使用
  • 结合SSE实现实时位置展示与轨迹展示
  • 区块链系统探索之路:基于椭圆曲线的私钥与公钥生成
  • FPGA/Verilog HDL/AC620零基础入门学习——8*8同步FIFO实验
  • spring-模型数据和视图---视图解析器的说明以及大量代码演示