惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Forbes - Security
Forbes - Security
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
I
Intezer
S
Schneier on Security
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
月光博客
月光博客
G
Google Developers Blog
S
Securelist
WordPress大学
WordPress大学
T
Tailwind CSS Blog
IT之家
IT之家
C
Cybersecurity and Infrastructure Security Agency CISA
A
Arctic Wolf
C
CXSECURITY Database RSS Feed - CXSecurity.com
J
Java Code Geeks
宝玉的分享
宝玉的分享
阮一峰的网络日志
阮一峰的网络日志
V
Vulnerabilities – Threatpost
P
Privacy & Cybersecurity Law Blog
博客园 - 聂微东
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Cloudflare Blog
P
Privacy International News Feed
The Hacker News
The Hacker News
L
LINUX DO - 热门话题
爱范儿
爱范儿
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
美团技术团队
有赞技术团队
有赞技术团队
博客园 - 司徒正美
C
Cyber Attacks, Cyber Crime and Cyber Security
大猫的无限游戏
大猫的无限游戏
Recent Commits to openclaw:main
Recent Commits to openclaw:main
G
GRAHAM CLULEY
小众软件
小众软件
T
Tenable Blog
Jina AI
Jina AI
Simon Willison's Weblog
Simon Willison's Weblog
Security Latest
Security Latest
Application and Cybersecurity Blog
Application and Cybersecurity Blog
AWS News Blog
AWS News Blog
T
Troy Hunt's Blog
博客园 - Franky
量子位
博客园_首页
P
Proofpoint News Feed

Lss233's.Blog()

10 分钟快速入门垃圾回收机制 2022: 艰难,但充满希望 MiniDB 开发手札2 - 网络通信: PostgreSQL 服务端实现 HELLO: 2022 OpenVINO + YoloV5 目标视觉炼丹流程简述 使用 Tinc 组建虚拟内网,并接入 DN42 TOJ 1175 - 线段树模板题 HDU 1671 - Phone List HDU 1257 - 统计难题 于是乎,我就这样活过了2020:这是一篇年末总结 这个Lss233一事无成却敢写年末总结:2019,再见啦。 噩梦24小时:记一次服务器迁移与宕机过程 新技能学习:教你如何阅读Java字节码 让我们用PGP进行安全地交流吧!
MiniDB 开发手札1 - 概览
Lss233 · 2022-10-03 · via Lss233's.Blog()

本学期一门叫《应用软件开发》的课程要求我们实现一个数据库系统,要求能索引、可持续化、多表连接查询、远程访问等功能。

简单思考了一下,我认为这个数据库应该分为以下几个部分:

看起来是一个挺复杂的工程,但慢慢实现一定是能成功的。

系统结构

对于网络通信这一部分,因为自己一直想试试 Netty 这个网络框架,但是又觉得 Java 写着无聊,于是便选择了 Kotlin 作为后端服务器的编程语言,顺便学习一下它的使用方式。

SQL 解析可以使用 ANTRL 来实现, GitHub 上也有大量的资料,应该不是很大的问题。

我希望这款数据库不仅可以作为像 MySQL 这样的分布式数据库服务器,还可以作为像 SQLite 这样的内嵌式数据库,因此还准备了一种数据库驱动和服务端代码一起打包并直接调用的方式,不过这个事情可以后面再说。

数据库引擎应该是整个系统最具有技术含量的部分,由于我没有系统地学习过任何一款数据库引擎实现,所以我对这部分内容是完全没有一点头绪——那也放到后面去吧!

此外,这个系统将由我和另外一位队友一起完成,为了确保我们可以在完成课程要求的前提下实现一些花里胡哨的功能,我们打算先从简单的功能写起,然后再让它逐渐变得复杂。

我认为实现这个数据库的过程也很有意思,所以打算写一系列开发手札,把这个过程记录下来,希望可以帮助到其他人去写类似的项目。

最后,附上我们的项目地址:

GitHub - lss233/MiniDB

Contribute to lss233/MiniDB development by creating an account on GitHub.

lss233