浅谈MySQL Sharding分片技术
来源:互联网 发布:论坛源码hybss 编辑:程序博客网 时间:2024/05/22 15:31
一个生产系统总会经历一个业务量由小变大的过程,可扩展性成为了考量系统高可用性的一个重要衡量指标。试想一下,一个记事本应用程序,在存储的很少字节时,能够快速的打开和访问,但是如果硬要让记事本存储百万、千万字节,那么这个记事本估计就罢工了!同样,系统刚开始的时候,用户数量不多,所有的数据都放在了同一个数据库中,此时因为用户少压力小,一个数据库完全可以应付的了。但是随着用户数量不断增加,数据库压力也与日俱增,如果没有妥善的扩容机制,那么再强劲的硬件和商业数据库也会歇菜。
“Shard”字面意思为碎片,Sharding可以译为分片。MySQL5以后提供了Sharding的能力,其目的就是为突破单节点数据服务器I/O能力限制,解决数据库ScaleOut水平扩展的问题。通过Sharding可以将数据按照物理位置贴合用户分布,得到更加快速的响应;操作庞然大物总是让人头疼,Sharding将数据分块,更小的数据集操作汇总能够得到更加的体验;分片使得数据分摊在各个数据节点,对其操作实现负载均衡,众多屌丝的汇聚战胜了一个高富帅!
ü
ü
ü
1)
2)
3)
4)
在经过周密的设计和反复的测试后发现,所做的一切的努力都是值得的,MySQL的Sharding技术让一群低廉的PC服务器构成了一个可以媲美昂贵的小型机+商业数据库的性能,以低成本的方式构建了强大的数据中心。难怪淘宝这个巨人在很早的时候就一直推行“走你IOE”!
因此,学习MySQL Sharding百益而无一害!最早的先驱者估计可以是Google捐赠给开源社区的Hibernateshards了,这是一个Hibernate应用横向分割的分布式数据库解决方案的框架。它可以让一个Hibernate应用比较简单地加入横向分割的数据库分布式功能。另外,还有HiveDB。其底层也是基于Hibernateshards实现,目前版本相对稳定,其亮点是具有类似mysqlproxy之类多服务器容错功能,单独服务器发生故障不影响系统正常运行,通过类似ha-jdbc思想实现。最后,不得不提的就是淘宝贡献的TDDL,使用过淘宝的同学应该都深有体会,其可靠性、可用性、稳定性、可扩展性均领跑业界很多同类产品。TDDL最大的两个亮点是动态数据源管理和分库分表。建议抽出游戏时间,向淘宝好好学习,天天向上!
- 浅谈MySQL Sharding分片技术
- 浅谈MySQL Sharding分片技术
- [原创]MySQL sharding分片技术整理
- MongoDB Sharding 分片技术
- MongoDB Sharding 分片技术
- Oracle 12c 分片(Sharding)技术
- Mysql 分表,分区,分库/分片(sharding)
- mongodb的sharding(分片)
- MongoDB---Sharding分片
- MongoDB之Sharding 分片
- Mongodb Sharding 分片
- MongoDB Sharding分片管理
- 第八章:sharding 分片
- mongodb-sharding 分片
- mongodb—分片(sharding)
- MongoDB 分片(Sharding)
- MySQL数据库分片技术调研
- sharding技术
- nginx
- 将“懒人”哲学运用于大规模的商业SOA应用开发
- 浅谈MySQL高可用复制架构
- 浅谈MySQL高可用集群架构
- sql日期格式化转换
- 浅谈MySQL Sharding分片技术
- WebLogic集群启动常见问题(持续更新)
- 初试开源PaaS平台--GigaSpaces Cloudify
- 企业架构设计思路与实践经验谈
- 基于mini2440的Linux音频驱动完全解读(二)——ASoc层的初始化(1)
- 数据库常用SQL
- 程序员技术练级攻略
- 治疗感冒时鼻塞 试试按摩这些穴位
- Tizen开发 - Data Control