【MySQL】如何构建一个完整的MySQL知识体系(MySQL专栏启动)

作者简介:小明java问道之路,专注于研究 Java/ Liunx内核/ C++及汇编/计算机底层原理/源码,就职于大型金融公司后端高级工程师,擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。

 

热衷分享,喜欢原创~ 关注我会给你带来一些不一样的认知和成长。

 

InfoQ签约作者、CSDN专家博主/后端领域优质创作者/内容合伙人、阿里云专家/签约博主、51CTO专家

 

如果此文还不错的话,还请关注、点赞、收藏三连支持一下博主~ 

本文目录

本文目录

前言

一、为什么要学MySQL

1、MySQL是什么

2、都谁再用MySQL

二、MySQL要学习什么?

三、本专栏的设计

1、打造夯实寄存,绝望之谷

2、持续攀登,开悟之坡

3、进阶实战,知其然知其所以然

寄语


前言

为了能够使大家真正高效学好 MySQL,本文通过为什么要学MySQL,到MySQL要学习什么,给出本专栏会讲解MySQL哪些知识,全面了解本专栏,帮助大家可以简历中写“精通MySQL”而不虚,帮助学习本专栏的人成为组内数据库Owner。

【MySQL】如何构建一个完整的MySQL知识体系(MySQL专栏启动)_第1张图片

一、为什么要学MySQL

1、MySQL是什么

MySQL是一个关系型数据库管理系统,号称:全球最受欢迎的开源数据库,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的关系数据库管理系统应用软件之一(不谈论形而上学的问题,比如什么数据库最好)。

2、都谁再用MySQL

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言,由于体积小、速度快、总体拥有成本低,尤其是开放源码这一特点被很多互联网公司青睐,互联网公司的业务增长是指数级爆发式的增长。通过架构选型,最早像阿里、腾讯、百度等等国内外的互联网巨头纷纷选择用开源数据库MySQL。

包括 Facebook、Twitter 在内的许多世界上最大和发展最快的组织都依赖 MySQL 来节省时间和金钱来支持他们的大容量网站、关键业务系统和打包软件。

【MySQL】如何构建一个完整的MySQL知识体系(MySQL专栏启动)_第2张图片

二、MySQL要学习什么?

“物有本末,事有终始,知所先后,则近道矣。” 

学习MySQL首先需要一些入门知识,包括 MySQL 的历史背景、语法(CRUD、读写锁、事务、数据)、MySQL 的框架、多版本并发控制、存储引擎(InnoDB、MyISAM)等等基础知识。

有了这些知识的铺垫,我们可以更上一层楼,学习 MySQL 的工作原理,MySQL 的性能优化,MySQL 故障诊断和服务器问题分析等等。

同时要想设计一个好的数据库,对 MySQL 的物理设计的了解不可或缺,这关系到数据库的逻辑设计和物理设计,例如:如何建一个扩展性好的表,利用 MySQL 优化器、查询缓存等等。

MySQL 的软件源码和硬件设计了解之后,就要考虑如何配合我的应用程序工作,例如针对不同的项目如何配置 MySQL 才能更好的利用硬件资源,操作系统和 MySQL 的联系,学习了这些算是覆盖了 MySQL 基础和使用,MySQL 内部是如何实现的。

这时候我们算是对 MySQL 有了全方位的了解,最后在架构层面需要考虑整个应用架构的鲁棒性高可用高并发高性能高安全的设计。

MySQL主从同步、主主同步(多个服务器从一台主服务器同步数据),该怎么改善应用系统扩展性、高可用(如何保障 MySQL 稳定而正确地持续运行,例如:停电、火灾、无法抵御的恶意攻击、数据库备份与恢复,减少宕机时间),要想设计一款好的产品,程序员应该具备那些产品思维,从用户体验开始设计数据库。

三、本专栏的设计

本专栏目的为了解决 MySQL 有关一切问题,从入门到精通,再到 MySQL 架构实战,全方位构件知识体系。

1、打造夯实寄存,绝望之谷

MySQL 的体系架构与存储引擎,事务与锁的机制,深入了解 MySQL 的内部机制和原理

表的设计(比如表结构设计、访问设计、物理存储设计);

SQL 索引的设计与调优(比如多表 JOIN、子查询、分区表);

2、持续攀登,开悟之坡

MySQL 库表设计和索引设计的一些思路,MySQL 的架构设计和查询优化

MySQL 包括系统、网络、硬件、性能优化、高可用、架构设计等等方面的扩展和深入;

MySQL 分布式架构(分布式架构概述、分布式表结构设计、分布式索引设计、分布式事务)

3、进阶实战,知其然知其所以然

为了能够使大家真正高效学好 MySQL,搭建一个完整的、可靠的、符合各种业务类型的高可用解决方案(分库分表、自动化运维体系、容量规划、主从复制、MySQL 监控和部署、、热点更新问题、数据迁移等等问题),打造出一个能支撑海量的并发访问的分布式 MySQL 架构;

【MySQL】如何构建一个完整的MySQL知识体系(MySQL专栏启动)_第3张图片

寄语

为了大家真正高效学好 MySQL,帮助大家可以简历中写“精通MySQL”而不虚,帮助学习本专栏的人成为组内数据库Owner,最后推荐一些辅助本专栏的的学习资料:

MySQL(官网)、《MySQL8 Cookbook》、《Effective MySQL: Replication Techniques in Depth》、《High Performance MySQL》、《MySQL Internals Manual》、《InnoDB - A journey to the core》、《MySQL Crash Course》。

你可能感兴趣的:(mysql,数据库,java,架构,学习方法)