自学数据资料维护西厄县
序列号日期说明12023-01-02首度重新整理1.为什么要做这件事
虽然从事数据资料库Mach合作开发有一段时间了,但浑然不觉一类貌似认知、虽说胆怯的感觉。在做许多评估预测、合作开发、bug定位预测中,也经常会碰到,那个点怎么没考虑到,那个地方一点据我所知,也就是所谓的“中子星”,这导致了化解难题时间变长,因此方案并非最优化解等难题,一直再思考,怎样化解这各方面的难题。
最近读了 OReilly动物系列书刊《软件构架:构架模式、特征及实践手册》,受到了许多启迪。此书第一章“构架观念”中给出了两个科学知识圆顶图,展示了当今世界上所有控制技术科学知识的类型。
未知:代指技工日常工作加进的控制技术、架构、C语言和辅助工具未知的未明:代指技工稍稍了解或听说过,但没有掌握的控制技术未明的未明:是科学知识圆顶中面积最大的部份,代指能够轻松化解技工面临的难题的控制技术、辅助工具、架构和C语言,但是技工甚至都不晓得它们的存在在分布式系统数据资料库领域,什么样是他们的未知、未知的未明、未明的未明,同时这二者也在不断的转换,“未知”必须要稳步更新–数据资料库当今世界里的科学知识不是动态的。如果做数据资料库Mach忽略了事务模型、优化器、分布式系统协议等核心理念两三年的话,专业科学知识就会过时。
对对个人在数据资料库各方面“未知”的科学知识,须要稳步稳步投入,才能维持专精。圆顶顶部的大小就是对个人的控制技术深度在向构架师方向成长操作过程中,须要广泛的认知控制技术,因此晓得怎样利用控制技术化解特定的难题,圆顶中顶部的2部份最为重要。例如,晓得两个难题的5中数学分析利皮扬卡晓得一类专精解更重要。那个操作过程要不断增加未知的未明,并将那个未明切换为未知对“未明的未明”,可能须要多看些新一代的书刊、控制技术顾问、网志、学术论文,让他们晓得有什么样以前不晓得的东西,可以化解这三类难题,也便于日后将其切换为未知的未明。具体可以多看天猫、霍洛德上新一代最冷的计算机类书刊,VLDB、SIGMD新一代学术论文等等这里,期望将碰到的较为好的数据库自学资源展开重新整理,帮助他们完成”未明的未明”->”未知的未明”->”未知的未知”->”维持已有科学知识的番茄”,因此,要对分布式系统数据资料库Mach自学数据资料重新整理,给他们两个提示。
那个事情对我来说,挑战还是较为大的,只能说是展开时,也期望大家多Behren。
2.数据资料库核心理念理论各方面
(1)《数据资料库系统概念》–原著名《Database System Concepts》
这本书是数据资料库系统各方面的经典教材之一,其内容由浅入深,既包含数据资料库系统基本概念,又反映数据资料库控制技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学等。我国也有多所大学采用本书作为本科生和研究生数据库课程的教材和主要教学参考书,收到了良好的效果。
(2)《数据资料库系统实现》–原著《Database System Implementation》
《数据资料库系统实现(第2版)》是斯坦福大学计算机科学专精数据库系列课程第二门课的教科书。书中对数据资料库系统实现原理展开了深入阐述,并具体讨论了数据资料库管理系统的三个主要成分——存储管理器、查询处理器和事务管理器的实现控制技术。
仔细研读这本书后,在去研读PostgreSQL、MySQL等数据资料库Mach代码,很可能会惊喜的发现,很多模块就是按照这本书设计的。
(3) CMU 15-445
该课以 《Database System Concepts》为辅助教材, 讲述了数据资料库管理系统(DBMS)设计和实现的主要内容。
(4) CMU 15-721
CMU 15-721是卡内基梅隆大学讲授的数据资料库方向进阶课程,讨论了很多数据资料库方向的新的控制技术研究方向与话题,适合有数据资料库基础又想在该方向有深入研究的同学自学。
课程内容覆盖 内存数据资料库、并发控制、索引、存储模型、数据资料库压缩、协议、网络、调度规划、查询执行、查询编译、哈希连接、查询优化、超内存数据资料库 等内容。
(5)MIT6.824
6.824 是MIT开设的一门讲解分布式系统系统的课程。课程内容包括分布式系统系统研究的动机、一致性协议算法、著名分布式系统系统软件学术论文(如spanner、spark、GFS、OCC算法、分布式系统事务)讲解和一致性算法实现实验。这门课是一门实践性质较为强的课程。
(6)CSEP590D
华盛顿大学(University of Washington)在数据管理各方面的高级课程,分为cockroach优化器、 Google BigQuery、Microsoft cascade架构等个主题报告。
CockroachDBs Query OptimizerTeradata DatabaseThe Cascades framework for query optimization at MicrosoftAmazon Redshift Re-inventedAn Overview of Google BigQueryThe Snowflake Data CloudDesign and Implementation of the RelationalAI Knowledge Graph Management System3.Papers List
(1)TiDB Awesome Database Learning
非常全面且系统的总结了数据资料库领域的papers、blogs、books资源。
(2)Gauss松鼠会
B站Gauss松鼠会中有大量数据资料库经典学术论文、前沿主题的报告,包括学术论文分享、控制技术群英会、大咖讲堂、SIGMOD 2021、NDBC 2022等多个合集,在精读学术论文前,可以先看看自学下,这样可以起到事半功倍的效果。
(3)TiDB paper reading
非常好的数据资料库学术论文分享,包括事务、优化器、存储等多个各方面。
(4)LoopJump 网志
经典论文的高质量研读,本人拜读过多篇,受益匪浅,在此向作者表示感谢。网志学术论文主题包括:
分布式系统系统理论分布式系统存储系统学术论文数据资料库SQL Optimizer & Executor数据湖仓性能优化等领域(5)知乎【henry liang】的优化器学术论文专栏
这是目前碰到的最为系统的对优化器经典学术论文的解读,本人拜读过多篇,受益匪浅,在此向作者表示感谢。
4.计算机类经典
数据资料库最终落脚点是软件,做好数据资料库也须要坚实的软件工程能力,这里重新整理了碰到的较为好的软件工程类经典资源。
(1)麻省理工学院公开课:算法导论
课程主题包含了:排序、搜寻树、堆积及散列;各个击破法、动态规划、偿还预测、图论算法、最短路径、网络流、计算几何、数字理论性算法;多项式及矩阵的运算;高速缓存控制技术及并行运算。
(2)哈佛大学公开课:计算机科学cs50
“CS50是哈佛的一门计算机科学的导论性的课程,内容包括基本的计算机科学知识以及基础算法,常见的C语言等等,还会探讨新一代的计算机科学领域的成果,课程发散性观念强。CS50课程的讲课形式让人耳目一新,真正做到了“快乐自学”。
(3)麻省理工学院公开课:计算机科学及编程导论
这门课程适用于那些拥有很少或没有编程经验的学生,它致力于使学生认知计算机在化解难题中的作用,因此帮助学生,不论其专精,使他们对能够完成有用的小程序的目标充满信心。
(4)MIT 6.S081 2020 操作系统
讲解了很多学术论文。
(5)编译原理
对核心理念算法给出了详细的推导操作过程,便于认知。
(6)Head First设计模式(第二版)
以一类简单易懂+示例描述的方式讲解设计模式。
(7)面向模式的软件构架
那个系列主要是总结提炼了软件构架的套路:包括《模式与模式语言》、《模式系统》、《分布式系统计算的模式语言》、《并发和联网对象模式》、《资源管理模式》。
这套书虽然是13年出版的,但至今仍然使用。书里总结了分布式系统计算、并发控制、资源管理等多种构架,并对比了各种构架的优缺点和适用范围,没有最好的构架,只有最适用的构架!研读当前主流数据资料库源码发现,从软件构架的角度看,仍然在这套书总结的软件构架之内。
当阅读两个数据资料库源码时,可以对照这套书,重新整理数据资料库的构架设计模式,这种模式都有什么样优缺点,并可以帮助他们认知是否可以采用其他构架模式,采用了有什么样收益,有什么样损失。
(8)x64汇编语言:从新手到AVX专家
为什么要学汇编:数据资料库最终落脚为两个软件,在碰到疑难core时,汇编就是化解这类难题的一剂良药。
本书从简单和基本的程序开始,一直讲到 AVX 编程,每个主题都给出了示例,简单易懂。
5.开源数据资料库源码自学
(1)PostgreSQLMach书单
(2)MySQL书单