📝 Writing docs.

pull/1/head
Zhang Peng 2018-07-06 17:32:21 +08:00
parent 2cf6aed1f6
commit 826399e63a
2 changed files with 22 additions and 2 deletions

View File

@ -490,7 +490,5 @@ MySQL 读写分离能提高性能的原因在于:
- BaronScbwartz, PeterZaitsev, VadimTkacbenko, 等. 高性能 MySQL[M]. 电子工业出版社, 2013. - BaronScbwartz, PeterZaitsev, VadimTkacbenko, 等. 高性能 MySQL[M]. 电子工业出版社, 2013.
- 姜承尧. MySQL 技术内幕: InnoDB 存储引擎 [M]. 机械工业出版社, 2011. - 姜承尧. MySQL 技术内幕: InnoDB 存储引擎 [M]. 机械工业出版社, 2011.
- [20+ 条 MySQL 性能优化的最佳经验](https://www.jfox.info/20-tiao-mysql-xing-nen-you-hua-de-zui-jia-jing-yan.html) - [20+ 条 MySQL 性能优化的最佳经验](https://www.jfox.info/20-tiao-mysql-xing-nen-you-hua-de-zui-jia-jing-yan.html)
- [服务端指南 数据存储篇 | MySQL09 分库与分表带来的分布式困境与应对之策](http://blog.720ui.com/2017/mysql_core_09_multi_db_table2/)
- [How to create unique row ID in sharded databases?](https://stackoverflow.com/questions/788829/how-to-create-unique-row-id-in-sharded-databases) - [How to create unique row ID in sharded databases?](https://stackoverflow.com/questions/788829/how-to-create-unique-row-id-in-sharded-databases)
- [SQL Azure Federation Introduction](http://geekswithblogs.net/shaunxu/archive/2012/01/07/sql-azure-federation-ndash-introduction.aspx) - [SQL Azure Federation Introduction](http://geekswithblogs.net/shaunxu/archive/2012/01/07/sql-azure-federation-ndash-introduction.aspx)
- [分库分表需要考虑的问题及方案](https://www.jianshu.com/p/32b3e91aa22c)

View File

@ -36,6 +36,7 @@ tags:
- [5.2. 垂直拆分](#52-垂直拆分) - [5.2. 垂直拆分](#52-垂直拆分)
- [5.3. Sharding 策略](#53-sharding-策略) - [5.3. Sharding 策略](#53-sharding-策略)
- [5.4. Sharding 存在的问题及解决方案](#54-sharding-存在的问题及解决方案) - [5.4. Sharding 存在的问题及解决方案](#54-sharding-存在的问题及解决方案)
- [5.5. 常用的分库分表中间件](#55-常用的分库分表中间件)
- [6. 关系数据库设计理论](#6-关系数据库设计理论) - [6. 关系数据库设计理论](#6-关系数据库设计理论)
- [6.1. 函数依赖](#61-函数依赖) - [6.1. 函数依赖](#61-函数依赖)
- [6.2. 异常](#62-异常) - [6.2. 异常](#62-异常)
@ -527,6 +528,8 @@ delete;
## 5. 分库分表 ## 5. 分库分表
分库分表的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。
### 5.1. 水平拆分 ### 5.1. 水平拆分
<div align="center"> <div align="center">
@ -594,6 +597,24 @@ delete;
分库数量首先和单库能处理的记录数有关一般来说Mysql 单库超过 5000 万条记录Oracle 单库超过 1 亿条记录DB 压力就很大(当然处理能力和字段数量/访问模式/记录长度有进一步关系)。 分库数量首先和单库能处理的记录数有关一般来说Mysql 单库超过 5000 万条记录Oracle 单库超过 1 亿条记录DB 压力就很大(当然处理能力和字段数量/访问模式/记录长度有进一步关系)。
### 5.5. 常用的分库分表中间件
#### 简单易用的组件:
- [当当sharding-jdbc](https://github.com/dangdangdotcom/sharding-jdbc)
- [蘑菇街TSharding](https://github.com/baihui212/tsharding)
#### 强悍重量级的中间件:
- [sharding ](https://github.com/go-pg/sharding)
- [TDDL Smart Client的方式淘宝](https://github.com/alibaba/tb_tddl)
- [Atlas(Qihoo 360)](https://github.com/Qihoo360/Atlas)
- [alibaba.cobar(是阿里巴巴B2B部门开发)](https://github.com/alibaba/cobar)
- [MyCAT基于阿里开源的Cobar产品而研发](http://www.mycat.org.cn/)
- [Oceanus(58同城数据库中间件)](https://github.com/58code/Oceanus)
- [OneProxy(支付宝首席架构师楼方鑫开发)](http://www.cnblogs.com/youge-OneSQL/articles/4208583.html)
- [vitess谷歌开发的数据库中间件](https://github.com/youtube/vitess)
## 6. 关系数据库设计理论 ## 6. 关系数据库设计理论
### 6.1. 函数依赖 ### 6.1. 函数依赖
@ -741,3 +762,4 @@ Entity-Relationship有三个组成部分实体、属性、联系。
## 8. 资料 ## 8. 资料
- [数据库系统原理](https://github.com/CyC2018/Interview-Notebook/blob/master/notes/数据库系统原理.md) - [数据库系统原理](https://github.com/CyC2018/Interview-Notebook/blob/master/notes/数据库系统原理.md)
- [分库分表需要考虑的问题及方案](https://www.jianshu.com/p/32b3e91aa22c)