分库备份的实战脚本 #!/bin/bash TIME=`date +%F_%H-%M-%S` DIR=/backup PASS=magedu [ -d "$DIR" ] || mkdir $DIR for db in `mysql -uroot -p "$PASS" -e 'show databas ...
分类:
数据库 时间:
2020-06-22 01:35:31
阅读次数:
81
公共表属于系统中数据量较小,变动少,而且属于高频联合查询的依赖表。参数表、数据字典表等属于此类型。可以将这类表在每个数据库都保存一份,所有更新操作都同时发送到所有分库执行。接下来看一下如何使用Sharding-JDBC实现公共表。 (1)创建数据库 分别在user_db、order_db_1、ord ...
分类:
数据库 时间:
2020-06-21 23:20:12
阅读次数:
103
前面已经介绍过,水平分库是把同一个表的数据按一定规则拆到不同的数据库中,每个库可以放在不同的服务器上。接下来看一下如何使用Sharding-JDBC实现水平分库,咱们继续对快速入门中的例子进行完善。 (1)将原有order_db库拆分为order_db_1、order_db_2 (2)分片规则修改 ...
分类:
数据库 时间:
2020-06-21 16:25:30
阅读次数:
70
前面已经介绍过,垂直分库是指按照业务将表进行分类,分布到不同的数据库上面,每个库可以放在不同的服务器上,它的核心理念是专库专用。接下来看一下如何使用Sharding-JDBC实现垂直分库。 (1)创建数据库 创建数据库user_db CREATE DATABASE `user_db` CHARACT ...
分类:
数据库 时间:
2020-06-21 15:47:58
阅读次数:
64
需求:已有一个项目是针对某省的业务创建的,目前业务成熟,有其他省份的项目进来,功能和业务相同,需要对不同省份的业务数据分库管理,这样一来不同省份使用多个库,项目就需要使用动态数据源。已知解决方案都是在配置文件中配置多个数据源来切换数据源,考虑扩展和维护麻烦,需要更灵活的方案 实现:使用AOP切面,根 ...
分类:
编程语言 时间:
2020-06-21 00:45:17
阅读次数:
134
你为什么会决定进行分库分表,分库分表过程中遇到什么难题,如何解决的? 一、为什么决定进行分库分表? 1、根据业务类型,和业务容量的评估,来选择和判断是否使用分库分表。 2、当前数据库本事具有的能力,压力的评估。 3、数据库的物理隔离,例如减少锁的争用、资源的消耗和隔离等。 4、热点表较多,并且数据量 ...
分类:
其他好文 时间:
2020-06-18 19:20:10
阅读次数:
46
分库分表是什么 小明是一家初创电商平台的开发人员,他负责卖家模块的功能开发,其中涉及了店铺、商品的相关业务,设计如下数据库: 通过以下SQL能够获取到商品相关的店铺信息、地理区域信息: SELECT p.*,r.[地理区域名称],s.[店铺名称],s.[信誉] FROM [商品信息] p LEFT ...
分类:
数据库 时间:
2020-06-18 01:04:52
阅读次数:
66
一、背景 随着时间和业务的发展,数据库中的数据量增长是不可控的,库和表中的数据会越来越大,随之带来的是更高的磁盘、IO、系统开销,甚至性能上的瓶颈,而一台服务的资源终究是有限的,因此需要对数据库和表进行拆分,从而更好的提供数据服务。 当用户表达到千万级别,在做很多操作的时候都会很吃力,所以当数据增长 ...
分类:
数据库 时间:
2020-06-17 23:15:37
阅读次数:
66
一、前言 分布式系统中我们会对一些数据量大的业务进行分拆,如:用户表,订单表。因为数据量巨大一张表无法承接,就会对其进行分库分表。 但一旦涉及到分库分表,就会引申出分布式系统中唯一主键ID的生成问题,永不迁移数据和避免热点的文章中要求需要唯一ID的特性: 整个系统ID唯一 ID是数字类型,而且是趋势 ...
分类:
其他好文 时间:
2020-06-11 19:46:02
阅读次数:
51