更新时间:2024-07-30 GMT+08:00
DDM如何进行分片
在分布式数据库中,可以通过分片存储方式,轻松解决大数据量单表容量达到单机数据库存储上限的瓶颈,因此创建逻辑库和逻辑表时,需要根据实际情况确定逻辑表是否进行分片以及逻辑表的分片规则。
分片存储后,需要尽量避免跨库JOIN操作带来的性能与资源消耗问题。
- 逻辑表是否分片
DDM逻辑表支持全局表、拆分表、单表三种类型。用户可以按照数据表的实际使用需求,选择最合适的逻辑表类型创建,实际操作请参考创建表。
- 单表只在第一个分片创建表以及存储数据。
- 全局表在每一个分片创建表并且存储全量数据。
- 拆分表在每一个分片创建表,数据按照拆分规则分散存储在分片中。
- 逻辑表的分片规则
逻辑表的拆分键选择非常重要。建议按实际业务场景选择拆分键,不同逻辑表,如果具有E-R关系,建议选择相同字段做拆分键,避免跨库JOIN操作。
在实际使用中,请结合以下建议评估是否进行分片:
- 数据量在1000万条以下的表,不建议分片。
- 数据量在1000万条以上的表,建议分片。将数据分片存储后,既能解决单张表容量过大带来的性能瓶颈,同时提高并发支持。注意要选择合适的拆分键,提前做好规划。
- 业务读取尽量少用多表JOIN,同一个事务避免跨分片。
- 查询条件尽量带上拆分键,避免全拆分表扫描。
父主题: DDM使用类