不懂就问,支付宝年度账单这种,应该每个人都要推送,全表扫…

不懂就问,支付宝年度账单这种,应该每个人都要推送,全表扫描的话,dba会同意吗,还是提前拷贝了一份,用的离线数据扫呢?求教

程序猿.武当弟子:m

程序猿.阮小七:全表扫描居然需要dba同意?

喜马拉雅员工:m

楼主:生产环境不能让直接搞的吧,我理解上线sql前dba要参与评审的吧,不然联表查询过多影响性能啥的

恒山弟子:应该他们每天都会做在线数据计算吧

搜狐员工:可以用从库去算

北京三快在线科技有限公司员工:提前计算好的数据,批量计算,没发现是新的一年过几天才有么

百度员工:45MA小白真**多

楼主:哦,感谢!我主要好奇,获取所有用户的时候怎么得到的,我能想到就是全表扫描

楼主:还望大佬不吝赐教

百度员工:什么叫全表扫描?用户uid加个索引,一个用户一年账单有多少数据?还不是毫秒级别?

程序猿.游坦之:一般都有分表,可以查询出每个分表用户总量,分页获取uid,再生成账单。或者把uid扔到队列里面,让消费者生成数据。这个不需要实时统计的吧

北京快手科技有限公司员工:这跟全表扫描有毛线关系

产品汪.你才是秀儿:提前做好呗

亚瑟戴恩:大学生都来了

程序猿.若疆赤云:每天都能做一次,每周都能做一次,每月都能做一次

楼主:你这毫秒级是在分库分表前提了吧?我说的全表就是类似直接select userid这种,没有任何where条件,查出所有uid再计算账单

楼主:感谢,说中我想问的了,就是怎么获取所有uid这个,因为直接select一般不让这么搞

程序猿.韩当:一般id是有序的,按范围批量查,比如一次查一千这种,查完放mq异步处理。低峰期跑个一天估计就ok了。想快点就定好范围多线程,多机器跑。

宋清:数仓啊

程序猿.韩当:只查从库,一般没啥问题

楼主:感谢解惑,理解了

楼主:感谢

不戒大师:每天数据,每月数据按需要的围度落地不行吗

前蚂蚁金服员工:Odps

百度员工[2]:每天把数据从 mysql 导入到 hive 表,再离线计算一整年的,和 dba 有半毛钱关系啊

程序猿.金轮法王:hive吧

百度员工[2]:你说的这个类似于 olap 分析,是不可能在生产环境库上做的,一般是离线在线两套,以前做这事情的数仓,现在提了个概念叫中台

产品汪.钮祜禄张顺:联表不就行了吗?还是说你们公司有特殊规定