关于数据库扩容与缩容

当我们的应用达到一定的规模的时候,我们的数据会暴涨。   当初的数据库可能就不满足我们的读写要求。  然而数据的增长在商业层面上是令我们欢欣鼓舞的,然而更头疼的是如何实现有效的扩容。 怎样才能不出错。

最简单的就是分库分表。

那么数据库怎么知道去哪个机器上读那些数据呢?

比如我之前有10w记录   。  现在考虑将前10w 放在A   然后增加10台数据库服务器。   理论上容量可以到100w

那么如何屏蔽数据库的改动,对上层应用透明呢?  这是我们应该考虑的。

假如你做到的对上层系统透明。  那么这就结束了吗?

由于各个数据库是不同的数据,那么其中一个机子当掉,那么数据就会丢失。  可能大家会想到冗余,利用slave 实现+ 心跳检测。     那么数据库恢复大概会需要多久呢?   以目前的数据量来看,假设每个存储节点服务的数据量为1TB,内部传输带宽限制为20MB/s,那么增加副本拷贝数据需要的时间为1TB/20MB/s = 50000s ,大约十几个小时,由于拷贝数据的过程中存储节点再次发生故障的概率很高,所以这样的架构很难做到自动化,不适用大规模分布式存储系统。

那么大型系统是如何实现的?

在此之前,我们来看一下MogoDB提供的解决方案-sharding

时间: 2024-10-09 21:10:59

关于数据库扩容与缩容的相关文章

Pod 扩容和缩容

在生产环境下,在面临服务需要扩容的场景时,可以使用Deployment/RC的Scale机制来实现.Kubernetes支持对Pod的手动扩容和自动扩容. 手动扩容缩容 通过执行扩容命令,对某个deployment直接进行扩容: # kubectl scale deployment nginx-deployment --replicas=4 当要缩容,减少副本数量即可: # kubectl scale deployment nginx-deployment --replicas=2 自动扩容缩容

Docker Kubernetes 容器扩容与缩容

Docker Kubernetes 容器扩容与缩容 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 管理节点:192.168.1.79 工作节点:192.168.1.78 工作节点:192.168.1.77 创建环境: 1.Deployment名称:nginx-deployment 2.pods副本数为:3  3.image镜像:nginx1.9 管理节点:扩容或缩容deploymnet的pod副本数. kubectl scale

Hadoop集群动态扩容、缩容

一. Hadoop集群动态扩容.缩容 随着公司业务的增长,数据量越来越大,原有的datanode节点的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点.也就是俗称的动态扩容. 有时候旧的服务器需要进行退役更换,暂停服务,可能就需要在当下的集群中停止某些机器上hadoop的服务,俗称动态缩容. 1. 动态扩容 1.1. 基础准备 在基础准备部分,主要是设置hadoop运行的系统环境 修改新机器系统hostname(通过/etc/sysconfig/network进行修改)

K8s资源对象的基本管理(升级、回滚、扩容、缩容)

博文大纲:一.资源创建二.解决客户端无法访问k8s内部pod所运行的服务三.搭建私有仓库,并自定义镜像四.版本扩容.缩容五.服务的升级与回滚 一.资源创建 本次博文主要介绍如何使用命令行的方式创建资源! [[email protected] ~]# kubectl run test --image=nginx:latest --replicas=5 //基于httpd的镜像创建一个deployment类型的控制组,名称为test,并指定副本数量为5 [[email protected] ~]#

OpenMediaVault 5 进阶配置(七) LVM 扩容或缩容

前言 本文紧接着前文 OpenMediaVault 5 进阶配置(六) 配置 LVM 逻辑卷管理器 ,来讲述如何以 LVM 逻辑卷为基础建立虚拟硬盘,方便的实现扩容或缩容,而不用将原本的数据进行大量迁移. 由于本文所述操作可能会涉及重要数据,在进行所有操作之前,备份好你的所有重要数据. 扩容 LVM 卷组扩容 点击 "存储器 -> Logical Volume Management(逻辑卷管理) -> Volume groups" ,选中要扩容的卷组,点击 "Ex

LVM的创建、扩容与缩容

创建LVM 1.创建PV # pvcreate /dev/sd{b,c,d}1 # pvs 查看逻辑卷简单信息 # pvdisplay  查看逻辑卷的详细信息 2.创建VG # vgcreate -s 16M /dev/sd{b,c,d}1 # vgs  查看卷组的简单信息 # vgdisplay 查看卷组的详细信息 3.创建LV # lvcreate -n lv0 -L 20G vg0    (-L 20G 增加至20G,-L +20G 增加20G) # lvs  查看逻辑卷的简单信息 # l

Linux -lvm -扩容、缩容逻辑卷(针对ext4)

扩容不会丢失文件 lvresize -L 200M /dev/vg1/lv1 重新设置卷大小注意:先卸载,再重新设置大小e2fsck -f /dev/vg1/lv1 检查磁盘错误 (ext4执行)resize2fs /dev/vg1/lv1 更新逻辑卷信息(执行)xfs_growfs /dev/vg1/lv1 xfs文件系统需要执行 缩容逻辑卷1.先umount umount /mnt e2fsck -f /dev/vg1/lv1 检查磁盘错误(ext) resize2fs /dev/vg1/l

Linux LVM扩容和缩容

将原硬盘上的LVM分区/dev/mapper/RHEL-Data由原来的60G扩展到80G Step1:将LVData扩容+20G,如下图: [[email protected] data]# lvextend -L +20G /dev/RHEL/Data Size of logical volume RHEL/Data changed from 60.00 GiB (15360 extents) to 80.00 GiB (20480 extents). Logical volume RHEL

Linux -lvm -扩容、缩容逻辑卷(针对xfs)

xfs不支持缩容,不需要卸载 格式化:mkfs.xfs -f /dev/vg1/lv1,再挂载 mount /dev/vg1/lv1 /mnt lvresize -L 300M /dev/vg1/lv1 重新设置卷大小这时候,df -h 发现大小并未变化.扔需要下述操作: xfs_growfs /dev/vg1/lv1 xfs文件系统需要执行 原文地址:http://blog.51cto.com/13451715/2296076