大数据-184 Elasticsearch Doc Values 机制详解:列式存储如何支撑排序/聚合/脚本 MySQL打卡第十二天## 大表优化
1. 限制查询范围:务必禁止不带任何限制数据范围条件的查询语句。比如:我们当用户在查询订单历史的时候,我们可以控制在一个月的范围内;
2. 读写分离:经典的数据库拆分方案,主库负责写,从库负责读;
3. 垂直分区:根据数据库里表的相关特性进行拆分,简单来说垂直拆分是指数据表列的拆分,把一张列比较多的表拆分为多张表。
4. 水平分区:保持数据表结构不变,通过某种策略存储数据分片。这样每一片数据分散到不同的表或者库中,达到了分布式的目的。 水平拆分可以支撑非常大的数据量。
5. 数据库分片的常见方案:
- 客户端代理;
- 中间件代理;
6. 什么是数据库连接池?
7. 分库分表之后主键id如何处里,我们需要一个全局唯一的 id 来支持:
- UUID;
- 数据库自增 id ;
- 利用 redis 生成 id ;
- Twitter的snowflake算法 ;
- 美团的Leaf分布式ID生成系统 ;
1. 限制查询范围:务必禁止不带任何限制数据范围条件的查询语句。比如:我们当用户在查询订单历史的时候,我们可以控制在一个月的范围内;
2. 读写分离:经典的数据库拆分方案,主库负责写,从库负责读;
3. 垂直分区:根据数据库里表的相关特性进行拆分,简单来说垂直拆分是指数据表列的拆分,把一张列比较多的表拆分为多张表。
4. 水平分区:保持数据表结构不变,通过某种策略存储数据分片。这样每一片数据分散到不同的表或者库中,达到了分布式的目的。 水平拆分可以支撑非常大的数据量。
5. 数据库分片的常见方案:
- 客户端代理;
- 中间件代理;
6. 什么是数据库连接池?
7. 分库分表之后主键id如何处里,我们需要一个全局唯一的 id 来支持:
- UUID;
- 数据库自增 id ;
- 利用 redis 生成 id ;
- Twitter的snowflake算法 ;
- 美团的Leaf分布式ID生成系统 ;
展开
评论
1