MySQL分库分表
MySQL的分库分表业务实现
学习Java的小姐姐
一线互联网高级软件开发工程师,同时也是一个萌妹子,哈哈哈,必须得萌。擅长Java,Redis,MySQL,ES,RabbitMQ等技术。| 公众号:学习Java的小姐姐,回复有惊喜哦。
展开
-
面试官:“谈谈分库分表吧?”
1.什么是分库分表从字面上简单理解,就是将原本存储在一个库的数据分块存储在多个库上,将原本存储在一个表的数据分块存储在多个表里面。数据的切分根据其切分规则的类型,可以分为如下两种切分模式。垂直(纵向)切分:把单一的表拆分成多个表,并分散到不同的数据库(主机)上。比如一个订单表里面有用户信息,商品信息,收货地址信息,促销信息,这样表的字段太多,显得特别臃肿,所以我们将他们各自分隔出来,形成...原创 2019-10-15 08:59:37 · 455 阅读 · 0 评论 -
全网最全最详细的Sharding-JDBC入门
前言在开始之前,不得不吐槽下,全网的Sharding-JDBC的资料太少了,而且大部分资料都是1.X的版本,那是很早的版本,现在Sharding-JDBC已经发展到4.X啦。还有就是大部分都停留在说概念的层面,来回讲Sharding-JDBC的一些基础概念,实战的demo少之又少,这还有些demo根本跑不起来。我就想问一下,亲们到底自己有没有跑过啊?哎,我真的是太难了。所以我就来写个d...原创 2019-10-15 08:57:49 · 26285 阅读 · 12 评论 -
Sharding JDBC扫盲篇
Sharding JDBC介绍Sharding-JDBC是当当网研发的开源分布式数据库中间件,从3.0开始Sharding-JDBC就被包含在Sharding-Sphere中,之后该项目进入Apache孵化器,4.0版本之后就是Apache版本。ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,他是由Sharding-JDBC,Sharding-Proxy和S...原创 2019-10-15 08:56:38 · 723 阅读 · 0 评论 -
不要为了“分库分表”而“分库分表”
为什么要进行分库分表?当数据库的数据量过大,大到一定的程度,我们就可以进行分库分表。那么基于什么原则,什么方法进行拆分,这就是本篇所要讲的。为什么要进行分库分表?当数据库大到一定程度的时候,我们采用优化硬件,优化表的结构,这种方法还是无法满足的时候,就要进行分库分表。分库分表是什么?随着公司的业务快速发展,数据库中的数据量猛增,访问性能也变慢了,优化迫在眉睫。分析下问题出现哪里...原创 2019-10-15 08:50:53 · 580 阅读 · 0 评论 -
科普分库分表
目录背景介绍分库分表主要有几种类型垂直分库:按照业务功能来划分出不同的数据库垂直分表:大表拆小表水平分表:数据表中不同行分布在不同的数据表中水平分库分表:终极boss,大佬来了背景介绍刚进入项目组的时候,就听老大说我们系统用了分库分表,主要为了解决不同租户的数据都存放在一起,数据量太大的问题。但之前一直没注意,正好这段时间好好看看,也了解一下分库分表的功能是...原创 2018-10-30 11:22:30 · 419 阅读 · 1 评论 -
分库分表要解决的问题之UUID生成策略
目录背景UUID的几个生成策略使用全局表:每次新增的时候从全局表中取使用Redis:将UUID信息存放在Redis中,每次从Redis中取Twitter的snowflake:纯Java代码,ID生成器背景要实现分库分表,要解决的一个问题就是uuid的唯一性。比如我现在讲用户表分成了三个库来存放,每个库里面都有一个用户表。如果在没有分库之前,uuid可以通过mysql...原创 2018-10-30 11:45:19 · 1998 阅读 · 1 评论 -
分库分表要解决的问题之事务控制
代写原创 2018-10-30 11:47:43 · 693 阅读 · 0 评论