05 系统面临的现实问题:大数据团队需要订单数据,该怎么办?

1.所谓大数据

每天如果有100万用户来访问你的APP,积累下来的一些浏览行为、访问行为、交易行为都是各种数据,这个数据量很大,可以称之为“大数据”。

大数据团队每天要做的就是尽可能的搜集每天100W用户在你的APP上的各种行为数据。比如:用户搜索了什么、点击了什么、评论了什么等。以及最为核心的订单数据。

2.大数据团队的数据来源可能带来的问题

大数据团队的数据包含了我们的订单数据,那么这些数据怎么去提取?

最low的做法:直接从订单库里select数据出来。

这种情况下是将订单数据库对外暴露,让大数据团队可以直接访问我们的订单数据库。这种方式下,每次都有几百行的大SQL从数据库里去查数据,这样造成的危害太大了。

问题:几百行的大SQL直接查库,是非常消耗性能的。按照每个月新增千万级订单数据,在不考虑有分库的前提下,很快就能达到亿级数据。而这时候如果跑几百行的大SQL,会导致数据库CPU负载很高,磁盘IO负载很高。而这些负载很高,将导致我们正常的订单系统执行的CRUD操作性能下降。

而此时,如果处在并发访问的高峰期,那么订单系统能承受的了吗?这时一个查询的TPS可能会被拉长到几秒,那么用户的体验如何?系统能承受那么多堆积的请求吗?TPS慢了,单位时间内打在数据库的QPS是不是也会累加起来,一旦超过负载临界点怎么办?

解决方案:

  1. 订单系统定时用MQ将DB数据推到数仓
  2. DB主从复制,通过binlog将数据复制到从库,个别从库给大数据团队专用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值