电子信息转java后端开发学数据库有什么推荐资料吗

追逐云端的美丽追逐云端的美丽 · 2022-03-31 17:20
本人是电子信息硕士研二在读,想秋招转互联网后端开发,数据库需要掌握到什么程度,有什么好的学习视频和资料推荐吗?
3 个回答
Cosplay Ame 🎶
Cosplay Ame 🎶
死亡是凉爽的夜晚,生命是躁动的白天。
博客原文: https://www.inlighting.org/archives/how-to-find-a-database-job/


这篇博客推荐的资源很不错,感觉你可以参考一下。他提到的 CMU15-445 我也是特别喜欢的。你试试学习并把实验都做了吧。


CMU 15-445(力荐)
说实话这门课非常不错,强烈建议好好学。
实验部分我差不多是花了一个月完成的,代码全部是 gradescope 满分通过的。
剩下的一个月主要就是看书,书本是我着重就看了 Query Planning,Query Execution 和 Concurrency Control 这三章。着重注意 Concurrency Control 这块,面试高频点。
配套的书是:《Database System Concepts》 第七版,考虑到数据库有很多专业名词,防止中文翻译误导,我买的是英文版。
推荐资料:我的博客


1
反对
评论
收藏
2022-04-02 14:36
特德网络
特德网络
一个中年不会写代码的码农,没有收入靠网贷生活,但是我还想能咸鱼翻身
JAVA 不错
赞同
反对
评论
收藏
2022-11-21 16:41
青藤木鸟
青藤木鸟
分布式系统、数据库、存储相关经历5年+。北邮毕业,在微软、腾讯、旷视等多个大厂和独角兽待过。公众号:木鸟杂记。

数据库开发大的方向可以粗分为两大块:

  1. 数据库内核
  2. 产品化

其中,数据库内核开发分为查询引擎和存储引擎。

  1. 查询引擎工作内容和编译器前端类似,分为 Parser、Binder、Planner、Processor,详细可以参考:SQL 是如何执行的
  2. 存储引擎现在多是分布式的,如共识协议(如 raft) + 单机引擎(如 RocksDB)。详细可以参考:数据库存储层都涉及到哪些工作

当然,还有其他一些模块,比如横跨两层的事务,其中事务中最重要的是隔离级别,背后对应的是并发控制机制,涉及到的概念有 MVCC、锁、冲突检测等等方面。其中关于事务的一些直观了解可以看:剖析事务中最难的部分——隔离性


此外,推荐一门数据库公开课,cmu 的 15445,和一些分布式系统资料


另外,数据库的产品化,其实是非常重要,但受重视较低的。现在国内数据库厂家很多,但最终谁能走到最后,关键在于产品化的打磨,包括上云、可视化、监控报警、数据导入导出、备份恢复、多集群同步、细粒度的权限控制、自动化运维等等。但我自己也做的较少,不再展开。


最后,我是做图数据库存储层开发的,欢迎交流。我的博客:https://www.qtmuniao.com/

赞同
反对
评论
收藏
2022-11-20 17:58