存储系统的实现-探析存储的机制和原理
这一篇主要想写写一些自己对于存储的思考和领悟,由于有些东西自己实践过,所以感触过更加深一些,技术上我还是觉得自己实现和看别人的代码在感触上是不同的。
这里如果一个图书馆,假如说书就是要我们要放的数据,会怎么放。最土的办法就是随便往里面丢,然后毫无章法,这样每次找书我们就累死了,由于必须每一本书都要一本书一本书翻过去(有点像DB的全表扫描),如果运气好可能会在比較前面找到,最差情况下就是翻遍整个图书馆最后找到了这本书。所以现实中图书馆的书也不是随便丢了,都是各个书架相应各种类型的书籍,这样才方便查找。详细到我们的数据存储也是这种,不可能有一条数据就往文件中面放,这样当数据量一大整个查找就很困难了。
我对于整个存储的实现是很easy的一种,没有DB中依照各种字段进行查找,仅仅有依照ID进行查找,依照ID进行删除。我实现的初衷也并不是要反复制造轮子,而是在实现的过程中更好的理解这些存储的基本原理。
系统架构图
数据格式
名词解释
管理文件(Manager)
索引文件(Index,严格来讲是一个主键文件)
数据文件
详细操作数据
Insert数据
Delete数据
Update数据
Select数据
总结
转载于:https://www.cnblogs.com/zfyouxi/p/4296085.html
存储系统的实现-探析存储的机制和原理相关推荐
- java序列化算法透析_Java序列化机制与原理的深入分析
Java序列化算法透析 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的过程.Java序列化API提供一 ...
- 《编程机制探析》第六章 面向对象
<编程机制探析>第六章 面向对象 面向对象(Object Oriented)是命令式编程的主流编程模型,其概念极其重要.可以说,命令式编程几乎就是面向对象的天下. 面向对象(Object ...
- 人机智能融合之哲学探析
"网络延展心灵"假说的哲学探析 一.延展心灵理论与当代信息技术 当代认知科学的主流观点认为,人类的心理活动和心理状态必然是大脑活动的 产物.人类心灵和世界之间有着明确的分界 ...
- 高通量测序技术和序列拼接算法探析
高通量测序技术和序列拼接算法探析 时间:2019-05-27 来源:计算机科学 作者:周卫星,石海鹤 本文字数:16853字 摘 要: 高通量测序 (High-throughput Sequen ...
- 全球及中国建筑产业十四五建设机会与运营风险探析报告2022版
全球及中国建筑产业十四五建设机会与运营风险探析报告2022版 --------------------------------------------- [修订日期]:2021年11月 [搜索鸿晟信合 ...
- 新工科背景下的大数据体系建设探析
新工科背景下的大数据体系建设探析 王元卓,于建业 中国科学院计算技术研究所,北京 100190 北京物资学院信息学院,北京 101149 摘要:大数据产业迅猛发展,对大数据人才培养提出了巨大挑战. ...
- 【天光学术】语言学论文:英语认知语言学和心理语言学的融通互补探析(节选)
摘 要:心理语言学的主要研究范畴为通过分析大脑与语言的关系, 探索人类在加工语言过程中的神经心理机制.认知语言学则是源于体验哲学, 研究受社会环境影响的认知在语言理解与接受上的表现.具体到英语, 研究 ...
- 联创机房管理系统重连服务器失败,联创机房管理系统在CAD实验室应用探析.doc...
联创机房管理系统在CAD实验室应用探析 联创机房管理系统在CAD实验室应用探析摘要:随着CAD实验室计算机的增多,联创机房管理系统在CAD实验室有了很好的应用,它不但能减少管理人员工作量而且能提高实验 ...
- 计算机网络发展趋势多元化,探析计算机网络通信技术现状与未来趋势.doc
探析计算机网络通信技术现状与未来趋势 探析计算机网络通信技术现状与未来趋势 [摘 要]计算机网络通信技术是一种用于实现网络间用户资源共享和用户设备合作运行的技术,其最初目的就是用于不同计算机用户间的资 ...
- ChatGPT: 人工智能对话模型的前沿技术与应用探析
ChatGPT: 人工智能对话模型的前沿技术与应用探析 引言 ChatGPT作为一种人工智能对话模型,在近年来引起了广泛的关注和研究.随着人工智能技术的不断发展,ChatGPT作为一种前沿技术在人机对 ...
最新文章
- java n个点 凸多边形_hrbustoj 1291 点在凸多边形内
- [YTU]_2008( 简单编码)
- 怎么全量备份oracle数据库,Oracle 数据库全量备份恢复和部分备份恢复 | 学步园...
- leetcode 729, 731, 732. My Calendar I, II, III | 729. 我的日程安排表 I, II, III(线段树)
- linux动态链接库软件,Linux 动态链接库
- [转]用g++编译动态链接库
- react 执行入口_如何使用React执行CRUD操作
- 百度Q2扭亏为盈 李彦宏发信勉励:变革带来阵痛 但能走得更稳更远
- 苹果Mac Dock 栏应用窗口预览:​​​​​​​​​​​​DockView
- SQL中的日期和字符串互相转换
- 【经验总结—1】:研究僧常用文献搜索网站和下载方法
- 【Java并发编程 】同步——volatile 关键字
- future java get_关于 Future get方法的疑问
- netstat -ano命令失效怎么办
- 日语初级语法复习 Day 17 Summary(更新中)
- Python中break语句和continue语句的用法
- ant design vue时间范围(range-picker)自定义时间段范围
- Linux 系统管理 : usermod 命令详解
- GMT中文字体显示配置
- 云计算基础2-什么是云存储?