码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MIT6.5830 Lab1-GoDB实验记录(一)


    MIT6.5830 Lab1-GoDB实验记录(一) – WhiteNight's Site

    标签:Golang, 数据库

    了解接下来的实验要做什么。

    实验目的

    实现GoDB

    从lab1开始一直到实验结束,我们的目的只有一个–实现GoDB,一个基础的数据库管理系统。而本次实验lab1主要完成的功能为:访问磁盘上存储的数据。这点我们会在接下来的实验记录中慢慢展开。

    由于我是边做实验边记录,所以可能在记录过程中有些遗漏的地方没有讲到,不过我还是会尽力给出一个详细具体的思路的,还请见谅

    😢

    。

    不过在开始阅读本次实验记录之前,你应该阅读先了解以下文章:

    • 数据库系统:初识存储管理器
    • 关系数据库的结构

    实验步骤

    阅读lab1实验要求

    先来看看GoDB的架构

    1. GoDB consists of:
    2. Structures that represent fields, tuples, and tuple schemas;
    3. Methods that apply predicates and conditions to tuples;
    4. One or more access methods (e.g., heap files) that store relations on disk and provide a way to iterate through tuples of those relations;
    5. A collection of operator classes (e.g., select, join, insert, delete, etc.) that process tuples;
    6. A buffer pool that caches active tuples and pages in memory and handles concurrency control and transactions (neither of which you need to worry about for this lab); and,
    7. A catalog that stores information about available tables and their schemas.

    首先,GoDB包括

    • 表示了字段,元组和元组模式(用于描述元组中各数据的数据类型和结构)的数据结构;
    • 通过条件和谓词筛选元组数据的方法;
    • 将数据存储在磁盘上,并提供某个方式以遍历关系中的元组;
    • 实现像SELECT,DELETE这些指令的指令集;
    • 处理并发控制和事务,以及缓存数据至内存的缓冲区(本次实验不用管它,貌似已经实现了);
    • 最后则是目录,用于存储表和它们对应模式的信息。

    之后阅读整个lab1的markdown文档,可以看到这次实验共有5个模块。我们将依次来完成它们。

    但在此之前请在go.sum所在目录的终端中输入以下代码,否则go test的时候会报错“缺少依赖项”。

    1. go get github.com/srmadden/godb
    2. go get main

    以及在agg_op中有一个未使用的变量,用空白符即可。

  • 相关阅读:
    搜索技术【启发式搜索】 - 简介 & A* 算法 & IDA*算法
    <sa8650>QCX Camera ISP overview
    Coremail邮件安全网关:双一流高校背后的邮件安全专家
    SpringCloud Alibaba - Sentinel 授权规则、自定义异常结果
    如何在 Vue 3 中使用 Ant Design
    详细javaweb基础
    NX二次开发UF_CAM_ask_doc_template_name 函数介绍
    如何在面试中胜出?接口自动化面试题安排上
    激光切割机加工过程中产生毛刺的原因及解决方案
    springboot系列(八):mybatis-plus之条件构造器使用手册|超级详细,建议收藏
  • 原文地址:https://blog.csdn.net/white_night_SZTU/article/details/134027643
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号