第1章 引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。 水平切分数据库:可以降 ...
分类:
数据库 时间:
2017-07-24 13:13:03
阅读次数:
214
读写分离 读多写少。写操作访问Master, 只读操作访问 Slave数据同步延迟, 最终一致性写瓶颈在Master 垂直分库 表和表之间的数据很多是没有关系的,也不需要JOIN操作,无法跨库JOIN, 需要在程序中拼接数据,没有全局事务 水平分表 一些表变得巨大无比,单表操作性能瓶颈,同一个表中的 ...
分类:
数据库 时间:
2017-07-23 19:57:19
阅读次数:
227
1、备份单个数据库 mysql数据库自带了一个很好用的备份命令,就是mysqldump,他的基本使用如下: 语法:mysqldump -u 用户名 -p 数据库名 > 备份的文件名 分库备份: 有时一个企业的数据库里会有多个库,但是出问题的时候很可能是某一个库,如果在备份时把所有的库都备份成了一个数 ...
分类:
数据库 时间:
2017-07-23 18:12:03
阅读次数:
202
转自:http://blog.csdn.net/bluishglc/article/details/6161475 本文着重介绍sharding的基本思想和理论上的切分策略。关于更加仔细的实施策略和參考事例请參考我的还有一篇博文:数据库分库分表(sharding)系列(一) 拆分实施策略和演示样例演 ...
分类:
数据库 时间:
2017-07-21 14:08:01
阅读次数:
257
随着项目的不断增多,需要对maven仓库进行分库管理,以及添加权限配置,一下是一些具体操作步骤:首先需要取消任何人登录的权限1.创建releases仓库根据需要是否创建snapshots仓库,这里需要强调一下snapshots仓库只能存放快照文件,release只能存放release文件。然后创建一个公..
分类:
其他好文 时间:
2017-07-20 22:28:22
阅读次数:
318
网上看到的一篇比较高级的面试题,自己几斤几两,看看就知道了。想要往架构这方面的可以去找找答案了 0.简单做一下自我介绍,? 然后谈一下近三年来你的得意之作?1.面试官看过你的简历,会问一些你做的项目的用户量、pv、吞吐量、相关难点和解决方法等2.数据库设计经验,为什么进行分表? 分库?一般多少数据量 ...
分类:
Web程序 时间:
2017-07-12 15:23:54
阅读次数:
367
报表项目中,可能会出现报表源数据来自于不同数据库的情况。这是由于同一张报表可能会从多个业务系统取数据。比如:员工信息从人力资源系统中取出,销售数据从销售系统中取出。另一种可能是,同一应用系统的数据库负载太大,不得已分成多个数据库的情况。比如:销售系统数据分成当前库和历史库。 报表工具须要连接的可能是 ...
分类:
其他好文 时间:
2017-07-10 20:19:54
阅读次数:
191
业务:查询用户的所有帖子、查询帖子详情。 字段:用户ID、帖子ID。 普通水平切分: 根据帖子ID切分则无法一次查询用户的所有帖子; 根据用户ID切分则需要先查帖子所属用户; 什么是分库基因? 通过uid分库,假设分为16个库,采用uid%16的方式来进行数据库路由,这里的uid%16,其本质是ui ...
分类:
其他好文 时间:
2017-07-10 14:26:44
阅读次数:
192
逆向工程可以自动生成mybatis执行所需要的代码,但是只能是单表操作,表与表之间的关系无法映射出来。 单表操作可以容易实现缓存,方便分库分表。 首先直接上个demo链接: http://pan.baidu.com/s/1eR1BUZg 密码: sw4r 1、工程首先需要一个xml配置文件。具体内容 ...
分类:
其他好文 时间:
2017-07-07 17:28:27
阅读次数:
132
因为想研究数据库读写分离和分库分表的设计,所以就自己搭建了一套springboot+druid+mybatis+aop 实现一主多从的设计。 第一步:首先需要自定义数据源的配置项,springboot默认解析的是带前缀spring.datasource.下面的配置项,为了不冲突,就直接定义datas ...
分类:
编程语言 时间:
2017-07-06 20:38:34
阅读次数:
3941