实现一个数据库(0)mydb大纲

之所以有自己实现一个分布式数据库的想法,源于组内的任务:在自研INM数据库上加入MongoDB的模块进行性能改善,首先要想清楚下列的问题。要将MongoDB作为INM的下层数据库需要考虑:MongoDB的沿用、INM的舍弃。修改后的访问流程。问题。尝试实现一个类MongoDB的分布式数据库。功能;整体架构;服务器架构;客户端架构;引擎MongoDB的沿用、INM的舍弃单纯地将MongoDB作为改善INM性能的一个手段,需要考虑沿用MongoDB哪些部分、舍弃INM本身哪些部分。首先考
摘要由CSDN通过智能技术生成

单机版基本框架已经实现完毕。待完成:flex/bison语法解析模块、磁盘级索引、磁盘级归并排序、java驱动、分布式。


mydb

之所以有自己实现一个数据库的想法,源于组内的任务。简单说明,并附上源码,博君一乐。

功能

  1. 面向文档,数据格式为JSON,底层存储格式为BSON。
  2. 可以对数据进行CRUD,通过_id进行搜索。
  3. 客户端支持多节点集群,数据按唯一_id散列至相应节点。

整体架构

在这里插入图片描述

服务端架构

请求解析:消息组件(消息协议控制)、进程模型组件(入口main函数、线程调度逻辑)。

请求处理:runtime(从PMD接受被解析好的请求,跟底层的DMS和IXM进行通讯读写数据)。

存储访问:数据管理服务、索引管理组件(散列索引)。

通用组件:操作系统服务、BSON数据结构、监控组件、问题诊断组件。

在这里插入图片描述

客户端架构

用户通过在Edb的cmd中输入命令。
命令经过命令工厂得到对应处理函数,进行CRUD。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值