时间:2021-07-01 10:21:17 帮助过:25人阅读
浅谈MySQL Sharding分片技术
一个生产系统总会经历一个业务量由小变大的过程,可扩展性成为了考量系统高可用性的一个重要衡量指标。试想一下,一个记事本应用程序,在存储的很少字节时,能够快速的打开和访问,但是如果硬要让记事本存储百万、千万字节,那么这个记事本估计就歇菜了!同样,系统刚开始的时候,用户数量不多,所有的数据都放在了同一个数据库中,此时因为用户少压力小,一个数据库完全可以应付的了。但是随着用户数量不断增加,数据库压力也与日俱增,如果没有妥善的扩容机制,那么再强劲的硬件和商业数据库也会歇菜。
“Shard”字面意思为碎片,Sharding可以译为分片。MySQL5以后提供了Sharding的能力,其目的就是为突破单节点数据服务器I/O能力限制,解决数据库Scale Out水平扩展的问题。通过Sharding可以将数据按照物理位置贴合用户分布,得到更加快速的响应;操作庞然大物总是让人头疼,Sharding将数据分块,更小的数据集操作汇总能够得到更加的体验;分片使得数据分摊在各个数据节点,对其操作实现负载均衡,众多