可扩展的 MySQL 数据库设计

Post on 28-Jan-2015

6.156 views 4 download

description

在 Sun OpenSolaris 用户组(杭州)做的分享。 by Fenng http://www.dbanotes.net

Transcript of 可扩展的 MySQL 数据库设计

浅谈可扩展的M SQL数据库设计浅谈可扩展的MySQL数据库设计

冯大辉(Fenng)

egosurfg

冯大辉 (西毒)冯大辉 (西毒)david.fengdh@alipay.com

ADBABloggerhttp://www.dbanotes.net

议程议程

可扩展性可扩展性实践经验其他

扩展性扩展性

Scale vs Scalable vs ScalabilityScale vs. Scalable vs. Scalability

Scale Up vs. Scale Out

数据库的高性能与扩展性来自管理和设计

建立基准测试建 准测试

IO 文件系统基准测试IO 、文件系统基准测试结合应用特点网络基准测试网络基准测试PV指标/带宽能力C h 基准测试Cache 基准测试命中率/数据一致性A 基准测试App 基准测试模拟用户登录?

持久性 Connection持久性

mysql pconnectmysql_pconnect 连接风暴问题

选取合适的数据类型选取合适的数据类型

Number / Varchar2Number / Varchar2

联机DDL 问题

Tipeg: ip2long() / long2ip() 存储整数而非字符串eg: ip2long() / long2ip() 存储整数而非字符串

非关系型数据的存储选择非关系型数据的存储选择

图片视频存储处理图片视频存储处理

内容处HTML 内容处理

行存储 vs. 列存储

分区与 Sharding分 与 g

分区能解决的问题分区能解决的问题

的分 能力MySQL 的分区能力

Sharding 策略

反范式反范式

遵守三范式遵守三范式

打破三范式

二者结合

抛弃存储过程封装业务逻辑的思路抛弃存储过程封装 务逻辑的思路

Oracle DB 下习惯用的方式Oracle DB 下习惯用的方式

MYSQL 存储过程

业务逻辑 vs. 扩展性

合理使用Cache合理使用

Cache 能解决大部分 IO 问题Cache 能解决大部分 IO 问题

13 R/S vs 300 R/s vs 1300R/s13 R/S vs. 300 R/s vs. 1300R/s

Cache 不是万能的Cache 不是万能的

选取合适的架构点引入 C h选取合适的架构点引入 Cache

Questions ?

Thank You!Thank You!

http://www dbanotes nethttp://www.dbanotes.net