基于java实现MYDB数据库

news/2024/11/13 8:51:59/文章来源:https://www.cnblogs.com/Proxy009/p/18355892
  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文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/782983.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

颜色空间的互相转换

前言 在上一篇中,我们介绍了常见颜色空间的一些定义及表示,在这一章中,我们将大致了解各个颜色空间的互相转换 颜色转换算法 由于有些颜色空间可能并不能直接转换,或着过于繁杂,本文主要介绍由RGB向其它空间的转换,涉及到的代码也采用Ts进行演示讲解 在文章的最后面,会给…

TGI 多-LoRA: 部署一次,搞定 30 个模型的推理服务

你是否已厌倦管理多个 AI 模型所带来的复杂性和高成本? 那么, 如果你可以部署一次就搞定 30 个模型推理服务会如何? 在当今的 ML 世界中,哪些希望充分发挥其数据的价值的组织可能最终会进入一个“微调的世界”。在这个世界,各个组织会构建大量模型,其中每个模型都针对特定…

计算机常用软件和语言

关于CSP-J初赛的学习笔记3.计算机常用软件和语言 3.1 计算机软件系统 计算机软件通常分为系统软件和应用软件两大类;系统软件 即支持应用软件开发和运行的一类计算机软件。一般包括操作系统,语言处理程序,数据库系统,网络管理系统等应用软件 即为特定领域开发,并为特定目的…

「Day 7—离散化 树状数组 线段树」

离散化 定义 离散化本质是一种哈希,是一种用来处理数据的方法。 1.创建原数组的副本。 2.将副本中的值从小到大排序。 3.将排序好的副本去重。 4.查找原数组的每一个元素在副本中的位置,位置即为排名,将其作为离散化后的值。 B3694 数列离散化 代码 #include<iostream>…

chrome无法下载文件

用的电脑是Mac Air M1,安装了127版本的chrome,总有几次在浏览器上下载文件的时候明明点击了下载按钮,chrome图标显示已经有下载的内容了,但是打开下载文件夹却不显示显示下载的文件,扒拉看了一下说是迅雷插件要关闭,后面发现自己也没安装迅雷插件。解决方案: 把这两个关…

万兆以太网协议栈的FPGA实现(一):常识+PCSPMA+结构

参考: https://docs.amd.com/r/zh-CN/pg210-25g-ethernet/%E7%AE%80%E4%BB%8B?tocId=59kIPN67Q57xorWh9w6GTA 10GbE以太网MAC和PHY - 者旨於陽 - 博客园 (cnblogs.com) 什么是CML电平-CSDN博客 10G Ethernet PCS/PMA v6.0 Product Guide (PG068) • 查看器 • AMD 技术信息门…

Two-Processor Scheduling 学习笔记

再高没有高爸高。为什么有人联考放论文题啊?不过好有趣。参考的 glx 博客。 考虑这么一个问题,给定一张偏序图,即一个满足传递性和非自反性的偏序关系 \(\succ\) 连成的 DAG。你需要对这张图进行拓扑排序,每次可以同时删去一个或者两个零入度点,问最少删多少次可以把图删空…

【原创软件】第8期:pdf转图片软件FAST_PDF2PNG,可选分辨率快速pdf转图片

一、背景 因为经常处理扫描件,需要将扫描件或者电子书先转为图片进行优化处理。为了省去人工时间,制作了一个软件FAST_PDF2PNG。尽管已经有不少软件可以完成该功能,但是杀鸡焉用牛刀。 本工具仅约4M,小巧方便。(优点:速度快,比pdf补丁丁更快,可选分辨率72-1200dpi,含有…

2024暑假集训测试23

前言比赛链接。T2 部分分给得特别足,\(60pts\),而且他不可能剩下的数据全放菊花,所以得到了 \(76pts\),但赛时想了很长时间正解,没有想出来,给后面题剩的时间不多,就都胡暴力了,\(T4\) 甚至忘了剪枝,剪完之后 \(20pts\to 60pts\) 没绷住。 说到这儿要吐槽一下 T4 数据…

了解LSTM网络(英文博客汉化)

Understanding LSTM Networks-了解LSTM网络原文来自于大神Cristopher Colah于2015年在Github上发布的一篇博客, 窃以为此文不失为一篇入门神经网络的经典文章, 遂产生了汉化的想法, 附原文链接Understanding LSTM Networks什么是RNN 人类不会时时刻刻都从头开始思考。譬如当你读…

[Spring]Bean生命周期

生命周期的概要流程 Bean 的生命周期概括起来就是 4 个阶段:实例化(Instantiation) 属性赋值(Populate) 初始化(Initialization) 销毁(Destruction)实例化:第 1 步,实例化一个 bean 对象; 属性赋值:第 2 步,为 bean 设置相关属性和依赖; 初始化:第 3~7 步,步骤…

4-反向传播

从这张图片,可以看出。不管我们有多少层,都可以化简成最简形式。我们添加的层就没有意义。 所以我们要对每一层的输出做非线性变换,增加模型的复杂程度,使它没法化简反向传播的流程pytorch的tensor数据结构看到代码,要能把计算图构建出来,而不是简单的乘除运算在上面这张…