首页 > 数据库 >基于java实现MYDB数据库

基于java实现MYDB数据库

时间:2024-08-12 22:53:57浏览次数:13  
标签:文件 管理器 -- 数据库 实现 Manager java MYDB

  1. 整体结构
    --MYDB分为后端和前端,前后端通过socket进行交互
    前端(客户端)用于读取用户输入,并发送到后端执行,输出返回结果
    MYDB后端需要解析SQL
    --MYDB的后端分为5个模块
    分别是:
    1、Transaction Manager事务管理器
    2、Data Manager数据管理器
    3、Version Manager版本管理器
    4、Index Manager指针管理器
    5、Table Manager表管理器
    依赖关系如图:

    实现顺序是:TM->DM->VM->IM->TBM
    --每个模块的职责
    1、TM通过维护XID文件来维护事务的状态,并提供接口供其他模块来查询某个事务的状态
    2、DM直接管理数据库DB文件和日志文件
    DM的主要职责:1、分页管理DB文件 并进行缓存 2、管理日志文件 保证在发生错误的时候可以根据日志进行恢复 3、抽象DB文件为DataItem供上层模块使用 并提供缓存
    3、VM基于两段锁协议实现了调度序列的可串行化,并实现了MVCC以消除读写阻塞,同时实现了两种隔离级别
    4、IM实现了基于B+树的索引
    5、TBM实现了对字段和表的管理 同时解析SQL语句 并根据语句操作表

2、TM
--XID文件

标签:文件,管理器,--,数据库,实现,Manager,java,MYDB
From: https://www.cnblogs.com/Proxy009/p/18355892

相关文章

  • 提升前端性能的JavaScript技巧
    1.前端JavaScript性能问题前端JavaScript的性能问题可以显著影响Web应用的用户体验和整体性能。以下是一些常见的前端JavaScript性能问题:1.1.频繁的DOM操作问题描述:JavaScript经常需要与DOM(文档对象模型)交互来更新页面内容。然而,每次DOM操作都可能触发浏览器的重绘(rep......
  • JavaSE基础知识分享(五)
    写在前面前面讲的是面向对象中的继承思想,下面让我们来看看多态这部分的内容!Java面向对象概念概述多态概述:某一个事物在不同状态下的多种状态。实现多态的三大前提:要有继承关系。要有方法的重写。要有父类的引用指向子类对象。访问成员的特点:成员变量:编译时看左,运行......
  • Java毕业设计 基于SSM vue在线教学质量评价系统
    Java毕业设计基于SSMvue在线教学质量评价系统SSMvue在线教学质量评价系统功能介绍前端学生首页图片轮播展示登录学生注册教师展示教师详情学生评价课程信息课程详情提交选修该课学生选课学生留言个人中心后台管理员管理员登录个人中心学生管理教......
  • 四数相加2 | LeetCode-454 | 哈希集合 | Java详细注释
    ......
  • 长度最小的子数组 | LeetCode-209 | 双指针+滑动窗口 | 前缀和+二分查找 | Java详细注
    ......
  • Java实现微信手机号更新:如何在后台同步客户信息
    文章目录接口说明:更新客户微信手机号码核心逻辑:获取微信手机号并更新客户信息总结在现代数字化生活中,手机号码是我们与外界联系的重要方式之一。特别是微信,作为中国最广泛使用的社交和支付平台,其绑定的手机号更是至关重要。在开发微信相关功能时,经常需要处理用户手......
  • Java基础入门18:File、IO 流1(方法递归、字符集、IO流-字节流)
    File和IO流FileFile是java.io.包下的类,File类的对象,用于代表当前操作系统的文件(可以是文件、或文件夹)。IO流用于读写数据的(可以读写文件,或网络中的数据...)File代表文件IO流用来读写数据File创建对象创建File类的对象注意:File对象既可以代表文件、也可以代表文......
  • Java入门基础16:集合框架1(Collection集合体系、List、Set)
    集合体系结构Collection是单列集合的祖宗,它规定的方法(功能)是全部单列集合都会继承的。collection集合体系Collection的常用方法packagecom.itchinajie.d1_collection;importjava.util.ArrayList;importjava.util.HashSet;/**目标:认识Collection体系的特点。*......
  • 高级java每日一道面试题-2024年8月12日-设计模式篇-请列举出在JDK中几个常用的设计模
    如果有遗漏,评论区告诉我进行补充面试官:请列举出在JDK中几个常用的设计模式?我回答:在JavaDevelopmentKit(JDK)中,许多设计模式被广泛使用,以帮助实现软件的结构、行为和复用。下面是一些在JDK中常见的设计模式及其简要说明:工厂模式(FactoryPattern)JDK中的java......
  • java面试题:CPU飙高问题如何排查
    在Java面试中,关于CPU飙高问题的排查是一个常见的考点。以下是针对这一问题的详细排查步骤和建议:一、初步诊断1.查看系统监控:使用系统监控工具(如Windows的任务管理器、Linux的top或htop命令)查看当前CPU使用情况,找出哪个Java进程占用了大量CPU资源。注意观察CPU使用率的波......