如何系统性学习数据库知识? | 个人经验分享
Posted 58沈剑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何系统性学习数据库知识? | 个人经验分享相关的知识,希望对你有一定的参考价值。
之前发了一些文章:
数据库是应用开发中不可或缺的一环,很多朋友会问我,如何系统性学习数据库知识,今天和大家简单分享一下。
首先,要搞透数据库,要学哪几方面的知识?
以我对mysql的学习为例,至少三个方面的内容需要了解与掌握的:
其一,应用层面:各行各业,是如何使用MySQL来解决各类业务问题的。
画外音:研发工程师必须掌握。
其二,内核层面:MySQL的内核原理是怎么样的。
画外音:架构师,想要用好MySQL的工程师,数据库内核研发人员必须掌握。
其三,上下游工具:MySQL相关的工具,有哪些以及原理是怎么样的。
画外音:架构师要了解,MySQL运维人员与DBA必须掌握。
如何学习MySQL“应用层面”的知识呢?
于我而言,20%来自看书学习,行业交流学习;80%来自日常工程实践(文末也提供了一个难得的实践好机会)。在做即时通讯,支付,推荐系统,信息平台,交易平台,打车平台,运营中后台的过程中,针对不同业务,设计不同的数据库应用方案。
数据库应用,实践出真知,有些业务系统不干一遍,是难以知道,其中的数据库设计有哪些坑的。
如何学习MySQL“内核层面”的知识呢?
于我而言,看MySQL官网文档。
如上图所述:MySQL恢复机制,优化,InnoDB,复制等四个章节需要重点学习。
其中,最重点的又属InnoDB模块。
如上图所示,InnoDB模块中的:介绍,ACID模型,MVCC,体系结构,内存数据结构,磁盘数据结构,锁与事务等章节建议重点学习。
如何学习MySQL“上下游工具”的知识呢?
于我而言,主要还是看MySQL官网文档。
其中,MySQL服务管理员,MySQL shell,MySQL sys表等很多章节,对研发工程师和架构师快速定位MySQL问题,对运维与DBA维护与调优MySQL,都非常有帮助。
如上,曾经的我,就是这么系统性的学习MySQL知识的,查阅的都是一手资料,所以撰文时才会非常自信:“如果和别家资料冲突的,以我的为准”。另外,当遇到问题要回顾的时候(不可能所有知识点都记得),去MySQL官网找到相应的地儿,就能快速解决问题。
画外音:网上误传的,过时的二手资料很多,还是建议大家直接看MySQL官网。
接下来,又有同学问我了:
(1)英文很差,看不懂MySQL官网;
(2)GOOGLE翻译出来的结果质量很差,很多专有名词文不对题;
(3)等专家几年后的中文译本,很多知识点又过时了;
怎么办?
额…
思来想去,还真不是没有办法。
数据库学习,只有MySQL一个选择吗?国人就没有拿得出手的数据库产品吗?
TiDB就是其中一个选择。
TiDB的系统性文档,对于大家学习【先进的】【中文的】【最新的】数据库应用,数据库内核,数据库上下游工具,绝对是不二选择。
如图所示:
0 -> 架构全览,用户手册
1 -> 体系结构与上下游工具
2 -> 应用实践
3 -> 认证资料
画外音:文末领取。
源码:https://github.com/pingcap/tidb
有系统性文档,有源码,还是中文的,很适合学习。
当然,系统性学习数据库应用+内核+工具是一个长期的过程。有许多工程师实际面对的,是要解决一个具体的业务问题,此时,如何快速学习数据库应用与内核的知识呢?
还是那句话,在实践中学习是最快的,例如:黑客马拉松就是一个集中学习,快速成长的大好机会。
TiDB的作者黄东旭组织了一个TiDB黑客马拉松活动,活动在五城(北京,上海,广州,成都,新加坡)设立了线下会场。当然,也可以在线参加,有灵感出创意拿大奖,总奖池35W,非常有诚意。
活动分为两大赛道:
(1)应用方向:使用TiDB构建游戏,电商,金融,公益等各类应用,更多应用场景,等你来发掘;
(2)内核方向:为TiDB内核及上下游工具提升性能,稳定性,易用性,甚至添加新功能;
画外音:不管是应用还是内核,都能快速提升。
每个赛道又分为几阶段:
今天 - 10.17 :报名,找idea,找队友组队,提交初赛RFC(此阶段不需要编码)
10.17 - 10.19 :初赛评选,每个赛道前30组进入决赛
10.22 - 10.23 :决赛,coding(代码必须开源,且遵循 Apache2.0开源许可)
10.23 :决赛答辩,评奖颁奖
除了丰厚的35W奖金,这次黑客马拉松,还能让你结交更多的朋友,快速学习TiDB的应用与内核,和TiDB的作者做深入的技术交流,是一个不可多得的成长机会。
找举办方要了一个参赛快捷通道,扫码添加小助手(或者直接加微信:tidbai),进入活动群,认识更多小伙伴。参赛所需相关资料(文档+视频)都已经准备好,等你来挥洒创意。
扫码报名,立刻入群
更多 TiDB 相关原理解读、用户案例、开发适配等技术内容,都在 TiDB 社区中,欢迎查看:https://tidb.net/
阅读原文,了解更多活动信息,希望大家有收获。
以上是关于如何系统性学习数据库知识? | 个人经验分享的主要内容,如果未能解决你的问题,请参考以下文章