首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缩放MySQL数据库

缩放MySQL数据库
EN

Server Fault用户
提问于 2011-02-10 07:27:25
回答 2查看 715关注 0票数 1

用于扩展mysql数据库的方法或工具是什么?我们有mysql数据库,每天的规模都在增加。我们刚刚分配了一个修复硬盘的大小,所以我担心的是,我们将需要重新定位或增加硬盘大小的时候,当硬盘的容量是满的。

使用RAID似乎是一个好主意,但它的大小仍然是固定的。我们需要一个可扩展的MySQL数据库系统。

现在,我只能认为Hadoop是一个解决方案。

对于我们来说,理想的解决方案是,当硬盘达到极限时,我们只需在机器上添加另一个硬盘,然后MySQL就会识别它为一个硬盘,那么我们就不能再在服务器上添加硬盘了,将设置一个新的服务器来增加MySQL数据存储空间的总大小。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2011-02-10 07:50:56

三种最流行的缩放方法是主从复制、分区和切分。只有当您想要缩放读取时,主从复制才有效。它不打算缩放DB大小或写入。分区是一种将大表存储在多个物理位置(在多个HDD上)的方法。切分可视为应用程序执行的全局级别上的分区,而不是由MySQL服务器执行的分区。基本上,切分是一种跨几个非直接耦合的MySQL数据库存储类似数据的方法。MySQL内部支持前两种方法,应用程序开发人员应该在应用程序级别执行分片。看来您应该使用切分,因为分区不能分布在多个服务器上,因此有一定的限制。

票数 3
EN

Server Fault用户

发布于 2011-02-10 10:40:39

集群通常被用作性能的解决方案,但是我对您所写内容的解释是,数据库的大小才是问题所在?

使用NoSQL数据库通常是出于性能原因(MySQL复制很容易设置--因此在可用性方面没有太大的差异),但您需要大量的功能。Hadoop不会解决您的数据卷问题,这可能意味着您需要重写大量代码。

如何管理数据卷在很大程度上取决于应用程序和数据的性质--您能删除旧数据吗?你能离线迁移它吗?你能合并旧数据吗?

对于我们来说,理想的解决方案是,当硬盘达到极限时,我们只需在机器上添加另一个硬盘,MySQL就会将它识别为一个。

虽然您可以简单地将磁盘添加为RAID-0或JBOD数组,但这是一个非常混乱的实践--从一个故障点到多个故障点。

类似地,您可以挂载磁盘并将单个表文件迁移到上面(使用来自原始位置的符号链接),但前提是您没有运行单个文件innodb后端。这和使用RAID-0/JBOD一样糟糕。

对于事务性DBMS来说,镜像(RAID-1)提供了巨大的性能好处,但并没有增加存储量。因此,我建议计划从1到4个驱动器(配置为镜像的一对条形集)的存储跳转。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/233720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档