普通开发者,要学哪些数据库架构的知识?
在我看来,两个核心点:
(1)存储容量(数据量)的无限扩展;
(2)计算能力(读写)的无限扩展;
如何快速学习相关的知识呢?
推荐一个宝藏项目,快速系统性学习数据库架构方面的知识。
项目名称:database-scaling
项目链接:
https://planetscale.com/learn/courses/database-scaling
database-scaling是什么?
一个针对数据库架构设计的免费课程。
database-scaling只有3个章节,重头戏是后2个章节。
第一章,概要。
第二章,数据库架构-扩展设计(scaling)。
分为12个小节:
1. 扩展方法(path)
2. 扩展时机(when)
3. 数据库与查询优化(query tuning)
4. 分区(partitioning)
5. 分区案例
6. 垂直扩展(vertical scaling)
7. 复制(replication)
8. 复制配置优化
9. 缓存(caching)
10. 缓存配置优化
11. 水平扩展(horizontal scaling)
12. 分组与租约(tenancy)
第三章,数据库架构-分片设计(sharding)。
分为7个小节:
1. 垂直分片(vertical sharding)
2. 水平分片(horizontal sharding)
3. 分片策略(sharding strategies)
4. 分片案例
5. 分片维护(sharding mantenane)
6. 连接管理(connection management)
7. 总结
可以看到,数据库架构设计相关的知识点基本都涵盖了。
另外,视频文字双管齐下,也是这个项目的核心特色。