kettle分批处理大表数据_亿级数据系统设计之大表的处理

面对亿级数据的大表,本文探讨了垂直拆分和水平拆分两种策略。垂直拆分通过业务隔离简化方案,但可能无法完全解决问题;水平拆分涉及分表字段选择、分片数设定及历史数据迁移,需权衡查询复杂性和数据分布。此外,全表查询问题可通过索引表或多分表字段解决。对于流量较大场景,分库也是有效手段。最后,冷热分离策略将高频和低频数据分开存储,提供灵活的解决方案。
摘要由CSDN通过智能技术生成

在互联网系统中,随着业务的增长,数据量也随着同步增长。

这会带来新的大表问题。

例如,一张订单表,很有可能到了几亿甚至几十亿的级别,由此带来的写入和读取性能的下降,会成为业务不容忽视的因素。

那么,如何对这种大表进行拆分呢?

首先能想到的策略就是分库分表。

分库分表又分为垂直拆分和水平拆分两种。

垂直拆分,还是水平拆分?

垂直拆分

如果业务之间的数据可以相互隔离,互不影响,那么垂直拆分是一个很简单的方案。

例如,对于一个订阅通知的服务而言,可能有不同的业务在使用,每个业务有不同的页面,各个业务之间的数据毫无关系,那么,对于每个业务而言,数据量就有限了,很多时候垂直拆分就可以解决问题。

垂直拆分的优点:

1、数据天然隔离,没有全表查询问题

2、改造方案简单

垂直拆分的缺点:

1、数据不均匀,可能不能完美解决大表问题

水平拆分

另一种分库分表的方式是水平拆分。

水平拆分的原理,就是从业务字段中选择一个拆分的字段,在写的时候根据这个字段生成分表的编号,读的时候也根据这个查询条件决定去哪个表查询。

水平拆分也是业务常用的处理大表的方式,但水平拆分并不是毫无缺点的,需要使用水平分库分表,业务方必须要考虑以下问题:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值