您的位置
主页 > 网站技术 > 数据库 > » 正文

mysql sharding(碎片)介绍

来源: 锦尚中国 点击:

1、Sharding 的应用场景一般都那些?

当数据库中的数据量越来越大时,不论是读还是写,压力都会变得越来越大。试想,如果一张表中的数据量达到了千万甚至上亿级别的时候,不管是建索引,优化缓存等,都会面临巨大的性能压力。sharding通过某种条件,把同一个数据库中的数据分散到多个数据库或多台机器上,以减小单台机器压力。

联机游戏、IM、BSP 都是比较适合 Sharding 的应用场景;

2、Sharding与数据库分区(Partition)的区别?

sharding实现了数据的分布式部署,将数据通过一系列的切分规则,把数据分布到不同的DB服务器上,通过路由规则访问特定的数据库,这样一来,每次访问面对的就不是单台服务器,而是N台服务器,这样就降低了单台服务器的压力。

partition只实现了DB内的分区,不能跨服务器部署。

“Shard” 这个词英文的意思是”碎片”,而作为数据库相关的技术用语,似乎最早见于大型多人在线角色扮演游戏(MMORPG)中。”Sharding” 姑且称之为”分片”。

Sharding 不是一门新技术,而是一个相对简朴的软件理念。如您所知,MySQL 5 之后才有了数据表分区功能,那么在此之前,很多 MySQL 的潜在用户都对 MySQL 的扩展性有所顾虑,而是否具备分区功能就成了衡量一个数据库可扩展性与否的一个关键指标(当然不是唯一指标)。数据库扩展性是一个永恒的话题,MySQL 的推广者经常会被问到:如在单一数据库上处理应用数据捉襟见肘而需要进行分区化之类的处理,是如何办到的呢? 答案是:Sharding。




首页  - 关于站长圈  - 广告服务  - 联系我们  - 关于站长圈  - 网站地图  - 版权声明