(五)Database数据库学习路径

2024-11-20 04:21

(五)Database数据库学习路径



1. 初阶

顺序

资源

知识分类/使用方法

链接和介绍

1

W3c的sql教程

菜鸟教程

【SQL】

https://www.w3schools.cn/sql/

https://www.runoob.com/sql/sql-tutorial.html


学完基础后可以下载mySQL做练习题:https://medium.com/%E6%95%B8%E6%93%9A%E5%88%86%E6%9E%90%E4%B8%8D%E6%98%AF%E5%80%8B%E4%BA%8B/%E9%9B%B6%E5%9F%BA%E7%A4%8E%E5%BF%AB%E9%80%9F%E8%87%AA%E5%AD%B8sql-2%E5%A4%A9%E8%B6%B3%E7%9F%A3-4900d8b3d7c2

2

《mySQL必知必会》/ 《SQL必知必会》是一本书

【SQL】

https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgh9yIuwYoo5Wv9gI.pdf

《MySQL必知必会》 这本书讲的非常全,从基本概念,到查询到插入新建表,用户的管理,都有具体的例子,非常适合没有任何基础的同学来学习Mysql,总之这本书学习的方法就是:1、十分钟了解下数据库的基本概念 2、找到练手的数据库 3、对照着上面的内容去敲。本书里也有大量的内容是讲sql的,可以结合w3c的sql教程一起,有取舍地看。

2‘

《SQL基础教程》

【SQL】

平替

https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgnNyIuwYokqPc_QM.pdf

对于零基础的朋友来说Mick的《sql基础教程》更容易看懂学会,非常适合入门者学习。如果只推荐一本书的话,我只推荐这本。

==

这本书也是基础入门的数据,讲述了很多SQL的知识点,它是以PostgreSQL 作为教程的,这本书的好处就是有大量的图片。

3

MongoDB University

【MongoDB】

https://learn.mongodb.com/


当然是 MongoDB 公司推出的免费在线课程 MongoDB University。这是关于 MongoDB 最好的在线教程,没有之一,权威、系统并且更新及时。可以告诉你的是,MongoDB 新入职员工培训都从这些在线课程开始。MongoDB University 比其它地方能找到的文章和教程要好太多。课程分别针对开发者和 DBA 而设计,非常用心。拿 MongoDB for Developers 来说,它在 mongo shell 之外使用 python 教学,但并不要求 python 经验。7周的课程中,从安装开始,带你写出一个基于 MongoDB 数据库的博客。每周的课程都有小作业,写写代码,答答题。除了在实践中学习,课程也涵盖了开发者需要知道的各方面细节,全面深入。另外,还有对 Foursquare 和 Codecademy 的采访,分享他们的使用经验和演变过程。还可以选择从 Kaltura 加载视频,不用翻墙看 Youtube,是不是非常贴心?

3‘

(optional)《MongoDB权威指南》

【MongoDB】

https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgltyIuwYoz5ut0gc.pdf

我对一门技术的学习一般都是从一本书、一个人、一份源码开始的;对于mongo,我觉得从其他人说的《mongodb权威指南》开始就够了;人的话,我身边真没有,网上也少有,所以我一般去stackoverflow上问;源码在这里不是指mongo本身的源码,而是找一个mongodb集群部署的教程一步步实现,在其中你就慢慢理解各个节点、配置的职责和作用了。之后还推荐一本《深入学习mongodb》带你更进一步,然后就在工作中体会吧,随着数据量的增加和需求的变化,你一定会遇到问题,一般查官方文档,同时结合搜索到的其他资料,你会慢慢理解mongo的一些原理(如存储机制),时间久了,自然就通了。

4

《数据库系统概念》

【general】

https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgiNyIuwYo2vPA5wQ.pdf

《数据库系统概念》这本书是dba必看的。零基础,想要自学数据库Redis入门指南的话,觉得起步阶段首选《数据库系统概念》这本书,因为这本书比较系统且综合全面。里面包含了数据模型、关系模型、基于对象的数据库以及XML、数据存储和查询、事务管理、数据库系统体系结构等各方面的相关内容。相当地直观易懂,里面的有些内容运用了结构清晰的图示和示例来取代形式化的证明。

5

《Redis入门指南》

《Redis使用手册》

【Redis】

两本书二选一

Redis入门指南:https://32931414.s21i.faiusr.com/61/ABUIABA9GAAglNyIuwYo_r_Kvwc.pdf


本书是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识。本书的目标读者不仅包括Redis的新手,还包括那些已经掌握Redis使用方法的人。



Redis使用手册:

我要推荐的《Redis 使用手册》,就是一本非常好用的工具书。在这本书中,作者把 Redis 的内容分成了三大部分,分别是“数据结构与应用”“附加功能”和“多机功能”。其中,我认为最有用的就是“数据结构与应用”的内容,因为它提供了丰富的操作命令介绍,不仅涵盖了 Redis 的 5 大基本数据类型的主要操作命令,还介绍了 4 种扩展数据类型的命令操作,包括位图、地址坐标、HyperLogLog 和流。只要这本书在手边,我们就能很轻松地了解和正确使用 Redis 的大部分操作命令了。

5’

(optional)【尚硅谷】Redis 6 入门到精通 超详细 教程

【Redis】

https://www.bilibili.com/video/BV1Rv41177Af/?from=search&seid=8217200282879095491&spm_id_from=333.337.0.0&vd_source=72867308e8b7b6d7774a7e4be6278f68


【尚硅谷】Redis 6 入门到精通视频课,一共 47 集,内容涵盖:Redis 常用数据类型和底层结构、Redis 和 Spring Boot 整合、Redis 事务和锁、Redis 持久化、Redis 主从复制和集群等等内容,有网友说这套课程基本上是按照《Redis开发与运维》这本书来讲的,可以把这本书拿来作为参考资料。这门课由《尚医通》的王泽老师授课,后面在Java 企业级开发中也会提到。

6

Distributed systems for fun and profit

【分布式系统】【大局观】

https://book.mixu.net/distsys/

这本小书可读性很强,基本的东西也都覆盖差不多了。它比较好多一点是不纠结算法细节,重在梳理思路。当然它也给了reference,假如你需要的话。

7

《HBase权威指南》

【HBase】

https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgityIuwYo_rHg0gM.pdf

2. 中阶

顺序

资源

知识分类/使用方法

链接和介绍

1

CMU 15-445/645 Database Systems

【general】【实战】

https://www.bilibili.com/video/BV1LA411H7Gj/

教科书:database system concepts

https://15445.courses.cs.cmu.edu/fall2017/


每一门都是非常有趣非常好的课程,学习的话一定要完成作业。从工程角度而言,几门导论课扎实地学了一门之后,找实习/工作应该就不愁了。从research角度来说,Andy的两门课程学得扎实了之后,甚至可以直接尝试自己想idea发sigmod/vldb了。

2

MySQL官方文档

【mySQL】

如何阅读官方文档:

  1. 在阅读 MySQL 官方文档之前,需要先花些时间了解文档的整体架构,方便后续阅读查阅;

  2. 在需要了解某个具体 MySQL 知识点时,建议可以精读 MySQL 文档;

  3. 如果希望系统的了解某个 MySQL 特效的时候,可以完整的阅读;

  4. MySQL 文档 MySQL 官方文档最新的都是英文的,需要有一定的英文阅读能力。

dev.mysql.com/doc/



3

《MySQL技术内幕:InnoDB存储引擎》

【mySQL】

‍https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgtd_IuwYoo82O-Ac.pdf‍


《MySQL技术内幕:InnoDB存储引擎》这本书详细介绍了 MySQL 的系统架构和各种各样的存储引擎,非常顶的一本书。强烈推荐2、4、5三章。

5

MongoDB官方文档

【mongoDB】

https://www.mongodb.com/docs/manual/


了解基本概念和用法之后,在项目里试试吧。英文的 MongoDB 文档 绝对会是最好的帮手,能解答你许多疑问。主要内容都有中文翻译 MongoDB 中文文档。不夸张地说,80% 的疑问都可以很容易在文档里找到答案。

6

《Redis设计与实现》

【Redis】

配合读源码

https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgtt_IuwYozrWGzQY.pdf


另外,真心建议大家试着去读一下Redis源码,没有想象的那么难,而且Redis的代码质量非常高,由于是单线程的内存数据库,没有多线程运行时的复杂逻辑,读起来非常顺畅!其实很多我们纠结的小问题,不要只靠猜和网上查资料,读一下源码就能快速找到答案。而且现在源码分析的文章非常多,讲解的也很细,结合起来读代码并不难。


只有自己试着去读源码,当遇到问题时,再查资料,学习到的东西才是最深刻的。而且在查资料时,还会发现更大的世界,例如老师文章提到的操作系统知识、分布式系统问题、架构设计的取舍等等,这样我们所学到的知识不再是一个面,而是慢慢形成一个知识网,这样才能够达到融会贯通,举一反三。

7

Redis官方文档

【Redis】

https://redis.io/documentation

https://redis.io/topics/data-types

中文版:http://redis.cn/


如何阅读官方文档:

  1. 在阅读 MySQL 官方文档之前,需要先花些时间了解文档的整体架构,方便后续阅读查阅;

  2. 在需要了解某个具体 MySQL 知识点时,建议可以精读 MySQL 文档;

  3. 如果希望系统的了解某个 MySQL 特效的时候,可以完整的阅读;

  4. MySQL 文档 MySQL 官方文档最新的都是英文的,需要有一定的英文阅读能力。

8

《Redis实战》

Redis 命令参考

【Redis】

Redis 初学者可以考虑使用《Redis入门指南(第2版)》作为教程, 并辅以《Redis命令参考》文档作为参考。

Redis实战:

‍https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgt9_IuwYo3oK9lwE.pdf

Redis 命令参考:

https://32931414.s21i.faiusr.com/61/ABUIABA9GAAguN_IuwYooJjpMA.pdf

9

MIT 6.824: Distributed Systems

【分布式系统】

https://www.youtube.com/@6.824

https://www.bilibili.com/video/BV1x7411M7Sf/?from=search&seid=15149782867482872906&spm_id_from=333.337.0.0&vd_source=3fc05c3b7f095e12a12ea9850e2e0a35

https://pdos.csail.mit.edu/6.824/schedule.html


跟着他的作业从零开始手撸分布式系统。主要包括mapreduce,paxos,backup server和shared key-value server。重点是,可以手撸。

10

PostgreSQL官方文档

【PostgreSQL】

https://www.postgresql.org/docs/



3. 高阶

顺序

资源

知识分类/使用方法

链接和介绍

1

《数据库索引设计与优化》

【general】

https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgtt_IuwYo3qCz8gI.pdf


作者通过系统的讲解及大量的案例,清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式。 这本书讲解了如何快速地估算 SQL 运行的 CPU 时间及执行时间,帮助读者从原理上理解 SQL、表及索引结构、访问方式等对关系型数据库造成的影响,并能够运用量化的方法进行判断和优化,指导关系型数据库的索引设计。

2

《高性能MySQL》

【mySQL】

https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgtt_IuwYo9aWulgE.pdf


MySQL界的圣经,目前已经出到第三版。非常详细的介绍了MySQL运维的各个部分,可以通读了解,也可以作为工具书进行查阅。


《高性能 MySQL》则从“优化”为入口,将 MySQL 相关的知识点聚合在一起,包括了查询性能优化(SQL 优化)、高性能索引、库表结构(Schema)优化等,也包括了服务器配置(硬件和软件)优化、架构优化(包括了复制、只读节点、分片)等,还介绍了部分云服务商的 MySQL 等内容,是一本非常适合进阶阅读的书籍。

3

《Redis开发与运维》

【Redis】

https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgtt_IuwYopKuFwwM.pdf


既有原理的讲解,又有结合实际案例的实战,既有开发又有运维,难得的理论与实战结合的好书。

4

《Redis深度历险:核心原理与应用实践》

【Redis】

https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgtd_IuwYo57q4Tw.pdf


这本书很薄,而且最大的特点是讲解接地气,它可以让你对Redis的基础使用、业务场景、原理分析有一个基本的认识和了解,作为入门和进阶非常合适,起码可以让你重新树立起深入学习Redis的信心。

5

CMU Advanced Database Systems (15-721)

【分布式系统】

https://www.bilibili.com/video/BV1mJ41147KK/?spm_id_from=333.337.search-card.all.click

这两个不用多说,经典的数据库入门教程,由数据库的大佬 Andy Pavlo 亲自授课。可以了解到数据库的基本概念,例如存储、BufferPool 管理、索引、优化器、执行器、事务、MVCC 等。

==

讨论更高级主题,主要是paper讲解

6

Google的三篇论文

【分布式系统】

https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgtd_IuwYo0tmH4QM.pdf

‍https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgtd_IuwYop_vXrAU.pdf

‍https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgtN_IuwYosLWbrQU.pdf

7

论文


https://github.com/rxin/db-readings



DIY吧 除非你...
若你有信心 我建议CS申硕申博求职DIY~ 若你想找专家伴你成长 我建议寻找做啥成啥的人 他们能力强 资源多 能解决你一切CS申硕申博求职身份生活的挑战~
先找其他机构?
肯定有其他靠谱机构 但如果你感觉他们干不过我、或你走投无路了 你再来找我吧hhh 但如果我没名额了 希望你别难过 我不是针对你 而是我每年名额都会满
就想加肖哥微信
我的微信被我藏在我荡气回肠的人生经历里 xiaogeedu.tech/col.jsp?id=253 辛苦你去找下hhh 我是美西时区 但每年9月中-12月中是申请季/招聘季 作息是乱的
不考虑商业合作
不商业合作 因为我不知谁靠谱 不合作能杜绝狗血 因噎废食能保护我自己 且我不缺流量还要赶走流量 找我合作您巨亏hh 我与任何商家或申硕申博求职中介都无关
用电脑访问本站
不建议用手机端访问本站,看着贼挤,在电脑端看着舒服hh