一、为什么要分库分表 软件时代,传统应用都有这样一个特点:访问量、数据量都比较小,单库单表都完全可以支撑整个业务。随着互联网的发展和用户规模的迅速扩大,对系统的要求也越来越高。因此传统的MySQL单库单表架构的性能问题就暴露出来了。而有下面几个因素会影响数据库性能: 数据量 MySQL单库数据量在5 ...
分类:
数据库 时间:
2020-02-15 18:31:03
阅读次数:
96
前言mycat功能强大,配置简单,作为数据库中间件,是一个非常优秀的开源产品,关于MyCat的部署安装,可以参考博文:MyCat部署安装。本博文将展示mycat的如下功能:读写分离;分库分表;全局表;环境如下:系统IP主机名服务Centos7.5192.168.20.2mysql01MySQL5.7.24Centos7.5192.168.20.3mysql02MySQL5.7.24Centos7.
分类:
其他好文 时间:
2020-02-12 09:17:10
阅读次数:
90
数据库的写入请求量大造成的性能和可用性方面的问题,要解决这些问题,你所采取的措施就是对数据进行分片。这样可以很好地分摊数据库的读写压力,也可以突破单机的存储瓶颈,而常见的一种方式是对数据库做“分库分表”。 数据库分库分表的方式有两种:一种是垂直拆分,另一种是水平拆分。这两种方式,在我看来,掌握拆分方 ...
分类:
数据库 时间:
2020-02-09 18:23:26
阅读次数:
83
在分布式环境下生成数据库主键是一件比较麻烦的事情,这里简单总结下,以供以后使用。 数据库自增长序列或字段 每个服务器使用自增主键,不同服务器的步长不一样,比如 A 服务器生成 B 服务器生成 。 缺点:难以扩展。合并数据库时非常麻烦。分库分表时难以处理。 UUID 常见的方式。可以利用数据库也可以利 ...
分类:
其他好文 时间:
2020-02-05 18:10:03
阅读次数:
62
版本:5.7.281.搭建mycat 分片服务器 数据库主机 192.168.4.54 使用db1库存储数据数据库主机 192.168.4.55 使用db2库存储数据主机 192.168.4.56 运行mycat服务,逻辑库名称为test,连接用户名为admin,密码123456主机 192.168 ...
分类:
其他好文 时间:
2020-02-04 13:57:01
阅读次数:
63
分库分表介绍 随着微服务这种架构的兴起,我们应用从一个完整的大的应用,切分为很多可以独立提供服务的小应用。每个应用都有独立的数据库。 数据的切分分为两种: 垂直切分:按照业务模块进行切分,将不同模块的表切分到不同的数据库中。 水平切分:将一张大表按照一定的切分规则,按照行切分到不同的表或者不同的库中 ...
分类:
数据库 时间:
2020-02-04 10:56:57
阅读次数:
92
前言: 一般业界,对订单数据的分库分表,有两类思路:按照订单号来切分、按照用户id来切分。 一.按照订单号来做 hash分散订单数据 把订单号看作是一个字符串,做 hash,分散到多个服务器去。 具体到哪个库、哪个表存储数据呢?订单号里面的数字来记录着。 如果要查询某用户的所有订单呢? 由于是根据订 ...
分类:
其他好文 时间:
2020-01-28 17:22:42
阅读次数:
91
题目描述 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。 注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售 ...
分类:
编程语言 时间:
2020-01-26 17:29:55
阅读次数:
71
SQL版本 5.7 有一张流水表,未分库分表,目前的数据量为950w,分页查询使用到了limit,优化之前的查询耗时167s左右 (execution: 16s831ms, fetching: 107 ms) 按照下文的方式调整SQL后,耗时347ms (execution: 163 ms, fet ...
分类:
数据库 时间:
2020-01-26 14:36:54
阅读次数:
113