您好亲爱的朋友们。
今天,我想分享一个生活故事,介绍在引入QCD(EDW)之前,Tele2如何安排DWH存储。
我于2012年进入报告系统部门的Tele2 IT部门。 那时,公司已经创建了DWH存储库,在该存储库上,许多报告流程以及更多报告流程都在旋转。
关于当时使用的技术堆栈的一些知识。 为了存储,Oracle数据库使用的容量为60-100 Tb T4-4服务器,可操作1 TB。 各种来源的数据都下载到了那里。 但是主要的是4个Oracle计费基础,这实际上是一个收费平台。 并且有一个部门致力于支持这些数据库并提供服务。 这些基地的划分是按宏观区域划分的。 原因:体积太大。 也就是说,例如,如果用户从莫斯科SIM卡拨打电话,那么将在相应的账单中计算通话费用。
高端硬件始终进入计费数据库,并且根据剩余原理将资源分配给其余系统。 通常对于DWH,服务器总是弱一些。 即 帐单有T5-4硬件,然后DWH有T4-4继承。
但是这些资源始终足以覆盖当前任务并减少报告。 计费数据通过DB-link下载。 当夜间进行小规模转换(例如,添加代理密钥)进行数据下载时,将配置经典ETL流程。 ETL有两种类型:小容量的满负载和大表的增量负载,例如呼叫详细信息,费用,付款等。 还有大量的源文件,例如文本文件,可从交换机和基站下载呼叫信息和Internet流量。 使用oracle sql loader加载程序将数据下载为文本文件。 通常每天增加10-20 GB。
分区表,索引,优化查询计划,DWH中的提示必须不断使用。 没有一天没有暂停或长时间的讨论,有必要爬进请求计划。

引入EDW之前,Tele2中的DWH存储结构。
此外,DWH的主要任务之一是生成每月财务报表(ETF)。 由于数量庞大,它在DWH服务器上被考虑了整整4天。 想像一下它是什么,我会说这是一个Oracle包,其中包含5000行PL / SQL代码,带有复杂的华丽逻辑,并且所有这些在动态方面都被最小化。 然后将报告以CSV文件的形式上传到FTP或网络共享。 而这一切都无需使用盒装解决方案。 即 多年来手写,优化和自动化的功能。
但是DWH数据库不仅用于提供定期报告,而且还用作操作存储。 例如,它围绕着从Tele2网站上的个人帐户向订户提供不同信息的过程。
还值得一提的是有关Oracle Application Express(APEX)系统的信息,该系统具有特殊的报告位置。 APEX是用于快速开发WEB界面的环境,无论是用于报告还是用于建立业务流程。 手工创建了书面功能“报告上载”,用户可以在其中为自己创建报告。 即 一个人进来,为他的报告选择一组字段,如果需要,他可以将源作为excel文件提取,然后以存档的csv文件的形式接收到邮件的报告。 在DWH中,编写了大量PL / SQL过程和函数,它们实质上是用于报告的内置脚本生成器。 此外,该工具在公司中如此受欢迎,以至于在8年的时间里,超过50万份具有不同程度重要性的报告被生成。
APEX还开发了许多其他有趣的东西。 例如,工作流和营销自动化系统的手写功能。 首先,工作人员看到了文件。 其次,市场部为客户举办了各种活动。 例如,他对订户进行了有关新资费和服务的大规模SMS分发。 所有这些都通过DWH进行,并且与SMS通道集成在一起。
此外,还有一些报告系统,例如Crostal Reports和IBM Lotus通过RPT文件连接到DWH。
在上图中,您可以看到2012年的旧DWH存储库结构和数据流。 就目前的结构而言,它无关紧要。
所有这一切都或多或少地成功了,直到企业意识到报告不再足够并决定引入QCD,BI系统和BigData的那一刻。
通常,有很多有趣的事情。 也许我会对此进行详细说明。 待会儿见。