没有合适的资源?快使用搜索试试~ 我知道了~
Freedom:自己DIY一个具有ACID的数据库
共166个文件
java:156个
xml:7个
md:1个
需积分: 9 0 下载量 164 浏览量
2021-05-13
13:35:37
上传
评论
收藏 187KB ZIP 举报
温馨提示
自己动手写SQL执行引擎 前言 在阅读了大量关于数据库的资料后,笔者情不自禁产生了一个造数据库轮子的想法。来验证一下自己对于数据库底层原理的掌握是否牢靠。在笔者的github中给这个database起名为Freedom。 整体结构 既然造轮子,那当然得从前端的网络协议交互到后端的文件存储全部给撸一遍。下面是Freedom实现的整体结构,里面包含了实现的大致模块: 最终存储结构当然是使用经典的B+树结构。当然在B+树和文件系统block块之间的转换则通过Buffer(Page) Manager来进行。当然了,为了完成事务,还必须要用WAL协议,其通过Log Manager来操作。 Freedom采用的是索引组织表,通过DruidSQL Parse来将sql翻译为对应的索引操作符进而进行对应的语义操作。 MySQL Protocol结构 client/server之间的交互采用的是MySQL协
资源推荐
资源详情
资源评论
收起资源包目录
Freedom:自己DIY一个具有ACID的数据库 (166个子文件)
.gitignore 34B
BPNode.java 33KB
ErrorCode.java 30KB
ServerParseSet.java 27KB
ServerParse.java 17KB
ServerParseSelect.java 14KB
StringUtil.java 14KB
BTreeTest.java 11KB
ParseUtil.java 10KB
MySQLMessage.java 10KB
SplitUtil.java 9KB
TableFilter.java 8KB
BPTree.java 8KB
FrontendConnection.java 8KB
SelectVisitor.java 7KB
BpPage.java 6KB
BufferWrapper.java 6KB
BaseIndex.java 6KB
FrontendAuthenticator.java 6KB
BPPageTest.java 6KB
CreateVisitor.java 5KB
Page.java 5KB
TableTest.java 5KB
WhereVisitor.java 5KB
CharacterSet.java 5KB
IndexEntry.java 5KB
SelectResponse.java 5KB
CharsetUtil.java 5KB
JdbcVariableResponse.java 5KB
Table.java 5KB
ServerParseShow.java 4KB
TableLoader.java 4KB
SelectExecutor.java 4KB
BufferUtil.java 4KB
MySQLPacket.java 4KB
SelectExprEval.java 4KB
AuthPacket.java 4KB
FieldPacket.java 4KB
PageHeaderData.java 4KB
Log.java 3KB
InsertVisitor.java 3KB
LogStore.java 3KB
Trx.java 3KB
Value.java 3KB
SetHandler.java 3KB
IntegerUtil.java 3KB
FrontendCommandHandler.java 3KB
Capabilities.java 3KB
RowDataPacket.java 3KB
ServerQueryHandler.java 3KB
FStore.java 3KB
BaseIndexCursor.java 3KB
FreedomServer.java 3KB
ValueString.java 3KB
ShowDatabases.java 3KB
ShowTables.java 3KB
DeleteExecutor.java 2KB
HandshakePacket.java 2KB
TableManager.java 2KB
SecurityUtil.java 2KB
ByteUtil.java 2KB
ErrorPacket.java 2KB
PacketUtil.java 2KB
SelectVersionComment.java 2KB
OkPacket.java 2KB
SelectTest.java 2KB
LongUtil.java 2KB
ValueLong.java 2KB
ValueInt.java 2KB
Attribute.java 2KB
SqlExecutor.java 2KB
SelectDatabase.java 2KB
SelectVersion.java 2KB
FileUtils.java 2KB
ServerParseStart.java 2KB
MySqlPacketDecoder.java 2KB
SelectTxResponse.java 2KB
SelectIncrementResponse.java 2KB
PageTest.java 2KB
SecondIndexCursor.java 2KB
RecoverManager.java 2KB
Database.java 2KB
CharTypes.java 2KB
TableMetaTest.java 2KB
KillHandler.java 2KB
FrontHandlerFactory.java 2KB
EOFPacket.java 2KB
PageLoader.java 2KB
BasicGenTable.java 2KB
ValueBoolean.java 2KB
DeleteVisitor.java 2KB
RandomUtil.java 2KB
LogTest.java 2KB
CommandPacket.java 1KB
Fields.java 1KB
ResultSetHeaderPacket.java 1KB
SelectHandler.java 1KB
ItemData.java 1KB
FrontConnectionFactory.java 1KB
Session.java 1KB
共 166 条
- 1
- 2
资源评论
侯戈
- 粉丝: 20
- 资源: 4630
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功