一、千辛万苦!
- 成功访问数据库
相信很多数据分析师都有日常在数据库取数的需求吧。实际业务场景中一次完整的数据分析或者建模工作,实际上绝大多数的时间都花在取数,数据处理上了。
很多时候数据分析师们会拿着屠龙刀(python),但却无用武之地,只能通过sql取数然后线下导入处理。这样的方法不仅流程冗长,而且也会造成很大失误。加上很大公司内部的数据权限设置非常严格琐碎,光是申请对应数据库权限都让人喝一壶了。
我碰到的问题就是这样的,介绍一下我碰到的问题:
因为公司业务拆分,不同板块的业务数据被拆分到不同的实例中了,我之前写的报表无法继续正常运行了。然后就开始思考怎么做?一开始想了如下几种方法:
- 分别取数,线下处理。
利:可以保证数据完整性,准确性。
弊:流程太过繁琐,人工干预太多,失去了自动化报表的优势。
结论:留中不发 - 把线上数据库的数据定时转存在线下的数据库,再运行报表。
利:可以保证数据完整的同时保证报表的自动化。
弊:数据不可能实时同步,只能说T+1的数据,失去了准确性。而且需要把整个库or表同步到线下,获取了过多的数据有数据泄露的风险。