diff --git a/README.md b/README.md index 6f25e0b..1b470af 100644 --- a/README.md +++ b/README.md @@ -16,20 +16,36 @@ > - 🔁 项目同步维护:[Github](https://github.com/dunwu/db-tutorial/) | [Gitee](https://gitee.com/turnon/db-tutorial/) > - 📖 电子书阅读:[Github Pages](https://dunwu.github.io/db-tutorial/) | [Gitee Pages](https://turnon.gitee.io/db-tutorial/) -## 📖 内容 +## 数据库原理 -### 关系型数据库 +### 数据结构 + +TODO... + +### 分布式 + +- [分布式简介](https://dunwu.github.io/design/distributed/分布式简介.html) +- [分布式基础理论](https://dunwu.github.io/design/distributed/分布式理论.html) - 关键词:`拜占庭将军`、`CAP`、`BASE` +- [分布式算法 Paxos](https://dunwu.github.io/design/distributed/分布式算法Paxos.html) - 关键词:`共识性算法` +- [分布式算法 Raft](https://dunwu.github.io/design/distributed/分布式算法Raft.html) - 关键词:`共识性算法` +- [负载均衡](https://dunwu.github.io/design/distributed/负载均衡.html) - 关键词:`轮询`、`随机`、`最少连接`、`源地址哈希`、`一致性哈希`、`虚拟 hash 槽` +- [消息队列](https://dunwu.github.io/design/distributed/消息队列.html) - 关键词:`重复消费`、`消息丢失`、`消息顺序性`、`消息积压` +- [分布式存储](https://dunwu.github.io/design/distributed/分布式存储.html) - 关键词:`读写分离`、`分库分表`、`迁移`、`扩容` +- [分布式缓存](https://dunwu.github.io/design/distributed/分布式缓存.html) - 关键词:`进程内缓存`、`分布式缓存`、`缓存雪崩`、`缓存穿透`、`缓存击穿`、`缓存更新`、`缓存预热`、`缓存降级` +- [分布式锁](https://dunwu.github.io/design/distributed/分布式锁.html) - 关键词:`数据库`、`Redis`、`ZooKeeper`、`互斥`、`可重入`、`死锁`、`容错`、`自旋尝试` +- [分布式 ID](https://dunwu.github.io/design/distributed/分布式ID.html) - 关键词:`UUID`、`自增序列`、`雪花算法`、`Leaf` +- [分布式事务](https://dunwu.github.io/design/distributed/分布式事务.html) - 关键词:`2PC`、`3PC`、`TCC`、`本地消息表`、`MQ 消息`、`SAGA` +- [分布式会话](https://dunwu.github.io/design/distributed/分布式会话.html) - 关键词:`粘性 Session`、`Session 复制共享`、`基于缓存的 session 共享` +- [流量控制](https://dunwu.github.io/design/distributed/流量控制.html) - 关键词:`计数器法`、`时间窗口法`、`令牌桶法`、`漏桶法` + +## 关系型数据库 > [关系型数据库](docs/sql) 整理主流关系型数据库知识点。 -#### [共性知识](docs/sql/common) - - [关系型数据库面试总结](docs/sql/common/sql-interview.md) 💯 - [SQL Cheat Sheet](docs/sql/common/sql-cheat-sheet.md) 是一个 SQL 入门教程。 -- [分布式存储基本原理](https://github.com/dunwu/blog/blob/master/source/_posts/theory/distributed-storage.md) -- [分布式事务基本原理](https://github.com/dunwu/blog/blob/master/source/_posts/theory/distributed-transaction.md) -#### [Mysql](docs/sql/mysql) 📚 +### [Mysql](docs/sql/mysql) ![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200716103611.png) @@ -43,19 +59,13 @@ - [Mysql 配置](docs/sql/mysql/mysql-config.md) - [Mysql 问题](docs/sql/mysql/mysql-faq.md) -#### 其他关系型数据库 +### 其他 - [H2 应用指南](docs/sql/h2.md) - [SqLite 应用指南](docs/sql/sqlite.md) - [PostgreSQL 应用指南](docs/sql/postgresql.md) -### Nosql 数据库 - -> [Nosql 数据库](docs/nosql) 整理主流 Nosql 数据库知识点。 - -- [Nosql 技术选型](docs/nosql/nosql-selection.md) - -#### [Redis](docs/nosql/redis) 📚 +## [Redis](docs/nosql/redis) ![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200713105627.png) @@ -69,7 +79,7 @@ - [Redis 实战](docs/nosql/redis/redis-action.md) - 关键词:`缓存`、`分布式锁`、`布隆过滤器` - [Redis 运维](docs/nosql/redis/redis-ops.md) 🔨 - 关键词:`安装`、`命令`、`集群`、`客户端` -#### [Elasticsearch](docs/nosql/elasticsearch) 📚 +## [Elasticsearch](docs/nosql/elasticsearch) > Elasticsearch 是一个基于 Lucene 的搜索和数据分析工具,它提供了一个分布式服务。Elasticsearch 是遵从 Apache 开源条款的一款开源产品,是当前主流的企业级搜索引擎。 @@ -87,16 +97,7 @@ - [Elasticsearch 运维](docs/nosql/elasticsearch/Elasticsearch运维.md) - [Elasticsearch 性能优化](docs/nosql/elasticsearch/Elasticsearch性能优化.md) -#### HBase - -> [HBase](https://dunwu.github.io/bigdata-tutorial/hbase) 📚 因为常用于大数据项目,所以将其文档和源码整理在 [bigdata-tutorial](https://dunwu.github.io/bigdata-tutorial/) 项目中。 - -- [HBase 原理](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase原理.md) ⚡ -- [HBase 命令](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase命令.md) -- [HBase 应用](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase应用.md) -- [HBase 运维](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase运维.md) - -#### [MongoDB](docs/nosql/mongodb) 📚 +## [MongoDB](docs/nosql/mongodb) > MongoDB 是一个基于文档的分布式数据库,由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 > @@ -113,12 +114,34 @@ - [MongoDB 分片](docs/nosql/mongodb/mongodb-sharding.md) - [MongoDB 运维](docs/nosql/mongodb/mongodb-ops.md) -### 中间件 +## HBase + +> [HBase](https://dunwu.github.io/bigdata-tutorial/hbase) 📚 因为常用于大数据项目,所以将其文档和源码整理在 [bigdata-tutorial](https://dunwu.github.io/bigdata-tutorial/) 项目中。 + +- [HBase 原理](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase原理.md) ⚡ +- [HBase 命令](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase命令.md) +- [HBase 应用](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase应用.md) +- [HBase 运维](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase运维.md) + +## 中间件 - [版本管理中间件 flyway](docs/middleware/flyway.md) - [分库分表中间件 ShardingSphere](docs/middleware/shardingsphere.md) -## 📚 资料 +## 资料 📚 + +### 综合 + +- [DB-Engines](https://db-engines.com/en/ranking) - 数据库流行度排名 +- **书籍** + - [《数据密集型应用系统设计》](https://book.douban.com/subject/30329536/) - 强力推荐【进阶】 +- **课程** + - [CMU 15445 数据库基础课程](https://15445.courses.cs.cmu.edu/fall2019/schedule.html) + - [CMU 15721 数据库高级课程](https://15721.courses.cs.cmu.edu/spring2020/schedule.html) +- **论文** + - [Efficiency in the Columbia Database Query Optimizer](https://15721.courses.cs.cmu.edu/spring2018/papers/15-optimizer1/xu-columbia-thesis1998.pdf) + - [How Good Are Query Optimizers, Really?](http://www.vldb.org/pvldb/vol9/p204-leis.pdf) + - [Architecture of a Database System](https://dsf.berkeley.edu/papers/fntdb07-architecture.pdf) ### Mysql 资料 @@ -127,8 +150,10 @@ - [Mysql 官方文档](https://dev.mysql.com/doc/refman/8.0/en/) - [Mysql 官方文档之命令行客户端](https://dev.mysql.com/doc/refman/8.0/en/mysql.html) - **书籍** - - [《高性能 MySQL》](https://book.douban.com/subject/23008813/) - 经典,适合 DBA 或作为开发者的参考手册 - - [《MySQL 必知必会》](https://book.douban.com/subject/3354490/) - 适合入门者 + - [《高性能 MySQL》](https://book.douban.com/subject/23008813/) - 经典,适合 DBA 或作为开发者的参考手册【进阶】 + - [《MySQL 必知必会》](https://book.douban.com/subject/3354490/) - Mysql的基本概念和语法【入门】 + - [《SQL必知必会》](https://book.douban.com/subject/35167240/) - SQL的基本概念和语法【入门】 + - - **教程** - [runoob.com MySQL 教程](http://www.runoob.com/mysql/mysql-tutorial.html) - 入门级 SQL 教程 - [mysql-tutorial](https://github.com/jaywcjlove/mysql-tutorial) @@ -170,6 +195,6 @@ - **文章** - [Introduction to MongoDB](https://www.slideshare.net/mdirolf/introduction-to-mongodb) -## 🚪 传送 +## 传送 🚪 ◾ 🏠 [DB-TUTORIAL 首页](https://github.com/dunwu/db-tutorial) ◾ 🎯 [我的博客](https://github.com/dunwu/blog) ◾ diff --git a/assets/数据库技术鸟瞰.xmind b/assets/数据库技术.xmind similarity index 81% rename from assets/数据库技术鸟瞰.xmind rename to assets/数据库技术.xmind index a023058..0931a90 100644 Binary files a/assets/数据库技术鸟瞰.xmind and b/assets/数据库技术.xmind differ diff --git a/docs/README.md b/docs/README.md index 1bd66c8..d198c57 100644 --- a/docs/README.md +++ b/docs/README.md @@ -15,20 +15,36 @@ footer: CC-BY-SA-4.0 Licensed | Copyright © 2018-Now Dunwu > - 🔁 项目同步维护:[Github](https://github.com/dunwu/db-tutorial/) | [Gitee](https://gitee.com/turnon/db-tutorial/) > - 📖 电子书阅读:[Github Pages](https://dunwu.github.io/db-tutorial/) | [Gitee Pages](https://turnon.gitee.io/db-tutorial/) -## 📖 内容 +## 数据库原理 -### 关系型数据库 +### 数据结构 + +TODO... + +### 分布式 + +- [分布式简介](https://dunwu.github.io/design/distributed/分布式简介.html) +- [分布式基础理论](https://dunwu.github.io/design/distributed/分布式理论.html) - 关键词:`拜占庭将军`、`CAP`、`BASE` +- [分布式算法 Paxos](https://dunwu.github.io/design/distributed/分布式算法Paxos.html) - 关键词:`共识性算法` +- [分布式算法 Raft](https://dunwu.github.io/design/distributed/分布式算法Raft.html) - 关键词:`共识性算法` +- [负载均衡](https://dunwu.github.io/design/distributed/负载均衡.html) - 关键词:`轮询`、`随机`、`最少连接`、`源地址哈希`、`一致性哈希`、`虚拟 hash 槽` +- [消息队列](https://dunwu.github.io/design/distributed/消息队列.html) - 关键词:`重复消费`、`消息丢失`、`消息顺序性`、`消息积压` +- [分布式存储](https://dunwu.github.io/design/distributed/分布式存储.html) - 关键词:`读写分离`、`分库分表`、`迁移`、`扩容` +- [分布式缓存](https://dunwu.github.io/design/distributed/分布式缓存.html) - 关键词:`进程内缓存`、`分布式缓存`、`缓存雪崩`、`缓存穿透`、`缓存击穿`、`缓存更新`、`缓存预热`、`缓存降级` +- [分布式锁](https://dunwu.github.io/design/distributed/分布式锁.html) - 关键词:`数据库`、`Redis`、`ZooKeeper`、`互斥`、`可重入`、`死锁`、`容错`、`自旋尝试` +- [分布式 ID](https://dunwu.github.io/design/distributed/分布式ID.html) - 关键词:`UUID`、`自增序列`、`雪花算法`、`Leaf` +- [分布式事务](https://dunwu.github.io/design/distributed/分布式事务.html) - 关键词:`2PC`、`3PC`、`TCC`、`本地消息表`、`MQ 消息`、`SAGA` +- [分布式会话](https://dunwu.github.io/design/distributed/分布式会话.html) - 关键词:`粘性 Session`、`Session 复制共享`、`基于缓存的 session 共享` +- [流量控制](https://dunwu.github.io/design/distributed/流量控制.html) - 关键词:`计数器法`、`时间窗口法`、`令牌桶法`、`漏桶法` + +## 关系型数据库 > [关系型数据库](sql) 整理主流关系型数据库知识点。 -#### [共性知识](sql/common) - - [关系型数据库面试总结](sql/common/sql-interview.md) 💯 - [SQL Cheat Sheet](sql/common/sql-cheat-sheet.md) 是一个 SQL 入门教程。 -- [分布式存储基本原理](https://github.com/dunwu/blog/blob/master/source/_posts/theory/distributed-storage.md) -- [分布式事务基本原理](https://github.com/dunwu/blog/blob/master/source/_posts/theory/distributed-transaction.md) -#### [Mysql](sql/mysql) 📚 +### [Mysql](sql/mysql) ![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200716103611.png) @@ -42,19 +58,13 @@ footer: CC-BY-SA-4.0 Licensed | Copyright © 2018-Now Dunwu - [Mysql 配置](sql/mysql/mysql-config.md) - [Mysql 问题](sql/mysql/mysql-faq.md) -#### 其他关系型数据库 +### 其他 - [H2 应用指南](sql/h2.md) - [SqLite 应用指南](sql/sqlite.md) - [PostgreSQL 应用指南](sql/postgresql.md) -### Nosql 数据库 - -> [Nosql 数据库](nosql) 整理主流 Nosql 数据库知识点。 - -- [Nosql 技术选型](nosql/nosql-selection.md) - -#### [Redis](nosql/redis) 📚 +## [Redis](nosql/redis) ![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200713105627.png) @@ -68,7 +78,7 @@ footer: CC-BY-SA-4.0 Licensed | Copyright © 2018-Now Dunwu - [Redis 实战](nosql/redis/redis-action.md) - 关键词:`缓存`、`分布式锁`、`布隆过滤器` - [Redis 运维](nosql/redis/redis-ops.md) 🔨 - 关键词:`安装`、`命令`、`集群`、`客户端` -#### [Elasticsearch](nosql/elasticsearch) 📚 +## [Elasticsearch](nosql/elasticsearch) > Elasticsearch 是一个基于 Lucene 的搜索和数据分析工具,它提供了一个分布式服务。Elasticsearch 是遵从 Apache 开源条款的一款开源产品,是当前主流的企业级搜索引擎。 @@ -86,16 +96,7 @@ footer: CC-BY-SA-4.0 Licensed | Copyright © 2018-Now Dunwu - [Elasticsearch 运维](nosql/elasticsearch/Elasticsearch运维.md) - [Elasticsearch 性能优化](nosql/elasticsearch/Elasticsearch性能优化.md) -#### HBase - -> [HBase](https://dunwu.github.io/bigdata-tutorial/hbase) 📚 因为常用于大数据项目,所以将其文档和源码整理在 [bigdata-tutorial](https://dunwu.github.io/bigdata-tutorial/) 项目中。 - -- [HBase 原理](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase原理.md) ⚡ -- [HBase 命令](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase命令.md) -- [HBase 应用](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase应用.md) -- [HBase 运维](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase运维.md) - -#### [MongoDB](nosql/mongodb) 📚 +## [MongoDB](nosql/mongodb) > MongoDB 是一个基于文档的分布式数据库,由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 > @@ -112,12 +113,34 @@ footer: CC-BY-SA-4.0 Licensed | Copyright © 2018-Now Dunwu - [MongoDB 分片](nosql/mongodb/mongodb-sharding.md) - [MongoDB 运维](nosql/mongodb/mongodb-ops.md) -### 中间件 +## HBase + +> [HBase](https://dunwu.github.io/bigdata-tutorial/hbase) 📚 因为常用于大数据项目,所以将其文档和源码整理在 [bigdata-tutorial](https://dunwu.github.io/bigdata-tutorial/) 项目中。 + +- [HBase 原理](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase原理.md) ⚡ +- [HBase 命令](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase命令.md) +- [HBase 应用](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase应用.md) +- [HBase 运维](https://github.com/dunwu/bigdata-tutorial/blob/master/docs/hbase/HBase运维.md) + +## 中间件 - [版本管理中间件 flyway](middleware/flyway.md) - [分库分表中间件 ShardingSphere](middleware/shardingsphere.md) -## 📚 资料 +## 资料 📚 + +### 综合 + +- [DB-Engines](https://db-engines.com/en/ranking) - 数据库流行度排名 +- **书籍** + - [《数据密集型应用系统设计》](https://book.douban.com/subject/30329536/) - 强力推荐【进阶】 +- **课程** + - [CMU 15445 数据库基础课程](https://15445.courses.cs.cmu.edu/fall2019/schedule.html) + - [CMU 15721 数据库高级课程](https://15721.courses.cs.cmu.edu/spring2020/schedule.html) +- **论文** + - [Efficiency in the Columbia Database Query Optimizer](https://15721.courses.cs.cmu.edu/spring2018/papers/15-optimizer1/xu-columbia-thesis1998.pdf) + - [How Good Are Query Optimizers, Really?](http://www.vldb.org/pvldb/vol9/p204-leis.pdf) + - [Architecture of a Database System](https://dsf.berkeley.edu/papers/fntdb07-architecture.pdf) ### Mysql 资料 @@ -126,8 +149,10 @@ footer: CC-BY-SA-4.0 Licensed | Copyright © 2018-Now Dunwu - [Mysql 官方文档](https://dev.mysql.com/doc/refman/8.0/en/) - [Mysql 官方文档之命令行客户端](https://dev.mysql.com/doc/refman/8.0/en/mysql.html) - **书籍** - - [《高性能 MySQL》](https://book.douban.com/subject/23008813/) - 经典,适合 DBA 或作为开发者的参考手册 - - [《MySQL 必知必会》](https://book.douban.com/subject/3354490/) - 适合入门者 + - [《高性能 MySQL》](https://book.douban.com/subject/23008813/) - 经典,适合 DBA 或作为开发者的参考手册【进阶】 + - [《MySQL 必知必会》](https://book.douban.com/subject/3354490/) - Mysql 的基本概念和语法【入门】 + - [《SQL 必知必会》](https://book.douban.com/subject/35167240/) - SQL 的基本概念和语法【入门】 + - - **教程** - [runoob.com MySQL 教程](http://www.runoob.com/mysql/mysql-tutorial.html) - 入门级 SQL 教程 - [mysql-tutorial](https://github.com/jaywcjlove/mysql-tutorial) @@ -169,6 +194,6 @@ footer: CC-BY-SA-4.0 Licensed | Copyright © 2018-Now Dunwu - **文章** - [Introduction to MongoDB](https://www.slideshare.net/mdirolf/introduction-to-mongodb) -## 🚪 传送 +## 传送 🚪 ◾ 🏠 [DB-TUTORIAL 首页](https://github.com/dunwu/db-tutorial) ◾ 🎯 [我的博客](https://github.com/dunwu/blog) ◾ diff --git a/test.db b/test.db deleted file mode 100644 index 6fe996f..0000000 Binary files a/test.db and /dev/null differ