博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何实现单机版DataBase:概览
阅读量:2513 次
发布时间:2019-05-11

本文共 602 字,大约阅读时间需要 2 分钟。

从分而治之的角度,我们首先对“DataBase”分而治之拆分为以下几个模块:

CLI:客户端调用接口。接收Client的请求和输入,响应请求由后端处理后返回结果或数据。实现上面,可以选用开源的使用广泛的接口,如RDBMS可选择PostgreSQL、MySQL的接口,NoSQL可选择Redis,可以很好的适配现有的程序或者降低开发门槛,减少使用者的学习成本。

Data Manager:数据管理器。CLI接收请求,交由Data Manager进行处理,诸如解析命令生成执行计划、实际执行命令以及序列化数据、反序列化数据、记录日志等操作都在此处完成。可以做得非常简单,比如使用单线程类似Redis的处理方式;也可以做的很复杂,如Oracle,使用不同的进程和不同内存结构进行处理。

Data Storage:数据存储。这是数据实际存储的地方,职责是存储数据,输入是Binary的数据,输出也是Binary的数据,如何组装和解析由高层负责。这部分可以自己实现,也可以用现成的存储引擎,比如RocksDB、LevelDB等等。

bb
模型概览

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/6906/viewspace-2374925/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/6906/viewspace-2374925/

你可能感兴趣的文章
JPA自定义sql
查看>>
BigDecimal正确使用了吗?
查看>>
joplin笔记
查看>>
JNDI+springmvc使用
查看>>
vue+springboot分页交互
查看>>
vue+springboot打包发布
查看>>
XSL 开发总结
查看>>
【NOI 2018】归程(Kruskal重构树)
查看>>
如何开始DDD(完)
查看>>
[svc]gns3模拟器及探讨几个bgp问题
查看>>
Error:fatal: Not a git repository (or any of the parent directories): .git
查看>>
15 可视化工具 Navicat的简单使用
查看>>
神兵利器:Burpsuite工具分享与使用简介
查看>>
xml
查看>>
使用 Left Join 的一个错误说明
查看>>
Scala入门系列(十一):模式匹配
查看>>
Sql Server 生成数据透视表 (行列转换等经典SQL语句)
查看>>
理解sizeof()
查看>>
Vue学习笔记之vue-cli脚手架安装和webpack-simple模板项目生成
查看>>
SqlServer 扩展属性
查看>>