爱陪小樱桃

导航

 

分库分表的一些概念

最近小编了解了一下分库分表的知识,分享一下:

若一个表数据很多,这时候我们一般会分页查询

例如:
select * from order limit 0,10;
select * from order limit 2000,10;

一定数据下:如果单独执行这个sql你会发现执行的数据很快,但是如果分页很多的时候,你会发现这个时候也不是很快了,也没有很大的调优空间了,顶多大家也是建立一个索引,所以当表里面的数据很多的时候,大家考虑最多的是分库分表。

但是面对海量数据的时候,传统的调优手段有限的时候怎么办?

本期我们就讨论一下分库分表。

什么时候分库分表(轻量及的手段)

1.最终一致性是否可以满足实际场景;
2.数据未来几年的总量是否可以预估;
3.扩容、DDL等操作是否有系统维护窗口?
4.对响应时间是否比吞吐更敏感?
5.是否需要兼容已经有的关系数据库系统?
6.是否已有传统数据库DBA人才的积累
7.是否可以容忍分库分表对应用的侵入。

什么是分库?

分库的概念就是把:数据分散到多个库中,解放数据库的IO性能。

什么是分表?

将数据分散到多个表中,突破单表数据压力。

分库分表常用的组件

在分库分表的常用的组件:例如阿里的myCat,shardingSphere(唯一一个进入Apache顶级项目来做)

分库分表的方案:

垂直分片与水平分片

posted on 2025-03-15 14:13  cherry小樱桃  阅读(19)  评论(0)    收藏  举报