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

Go语言实现KV存储系统:前言

文章目录

  • 前言
  • 前提条件
  • 持久
  • 索引
  • 并发
  • 总结

前言

你好,我是醉墨居士,最近想做一些存储方面的东西玩玩,我第一时间就想到了能不能自己开发一个保存键值对的存储系统

我找了些资料,准备使用Go语言实现一下,想着有想法咱就要去实现,万一成功了呢,没有梦想的话,那和咸鱼有什么区别

一起来玩吧🫠

前提条件

主要学一下Go语言
其它拓展的知识,我会边实现边讲,如果没讲的话可以自己主动的去了解学习

持久

避免数据丢失和损坏,能够从崩溃中恢复

一个简单的步骤是

1.将更新后的整个数据写入到新文件中
2.使用fsync将新文件的数据刷到磁盘中
3.新文件重命名覆盖旧文件,该步是原子操作

这个流程只适合于数据量比较小的情况下,无法完成数据的增量更新

索引

高效的查询和操作数据,使用B树

在数据库中有两类查询操作,一种是分析查询(OLAP)和事务查询(OLTP)
分析查询一般会涉及到大量的数据,比如聚合,分组或连接操作
事务查询一般只会查询少量的索引数据,索引查询,索引范围查询

并发

处理并发的数据库请求

并发的读操作,不能去写入数据
单一的写操作,不能去读取数据

总结

我们目前只是简单的聊一下数据库相关的内容,未来会更加深入的展开讲解,请不要错过,我是醉墨居士,我们下篇博客再见😉

http://www.lryc.cn/news/268434.html

相关文章:

  • 代码随想录刷题笔记(DAY1)
  • Linux域名IP映射
  • postman使用-03发送请求
  • 【Spring实战】09 MyBatis Generator
  • 【自然语言处理】【大模型】 ΨPO:一个理解人类偏好学习的统一理论框架
  • 计算机网络——传输层(五)
  • python3处理docx并flask显示
  • Python:正则表达式速通,码上上手!
  • centos7安装nginx并安装部署前端
  • Hive实战:统计总分与平均分
  • Linux:不同计算机使用NFS共享资源
  • leetcode贪心算法题总结(一)
  • SQL高级:窗口函数
  • Excel formulas 使用总结(更新中)
  • 华为OD机试 - 两个字符串间的最短路径问题(Java JS Python C)
  • 强敌环伺:金融业信息安全威胁分析——钓鱼和恶意软件
  • 1月1日起,贵阳市退役军人可以免费乘坐公交地铁
  • 网络隔离后,怎样建立高效安全的数据安全交换通道?
  • Python:PyTorch
  • CentOS 5/6/7 基于开源项目制作openssh 9.6p1 rpm包—— 筑梦之路
  • python的pandas数据分析处理基础学习
  • 【Qt-容器类】
  • 2023-12-27 语音转文字的whisper应用部署
  • MAVLINK生成自定义消息
  • 【MediaPlayerSource】播放器源内部的音视频sender的创建和使用
  • 【机器学习】西瓜书第6章支持向量机课后习题6.1参考答案
  • 【OpenAI Q* 超越人类的自主系统】DQN :Q-Learning + 深度神经网络
  • Vue axios Post请求 403 解决之道
  • 【Leetcode】重排链表、旋转链表、反转链表||
  • RabbitMQ 报错:Failed to declare queue(s):[QD, QA, QB]