你们数据仓库都是怎么设计的,数据怎么抽象?

关于这个问题,我说一说我的想法,不一定是正确的,但希望能给你提供一些思路

1、数据仓库是怎么设计的?

如果真的要完全回答这个问题,真的太大了。

另外我觉得,问这个问题,也不一定就要让你照本宣科,把现在的数仓理论背一遍。更多的是想看你做了哪些有亮点的事,有哪些有亮点的想法。

可以按照自己的习惯,把数仓怎么设计的分成几个模块,比如:

  • 技术架构

  • 数据流转

  • 分层建模

然后,询问一下,面试官重点想要听哪一块?

技术架构方面:

可以从数据采集到数据进入数仓后的etl,再到数据怎么做成数据服务提供给业务方,整个流程的核心技术节点划一遍。

然后,再重点讲一下自己做的模块(做数据治理 or 数据开发 or...),比如说数据开发,就可以讲讲,实际工作中遇到过哪些难点,做过哪些优化,突出自己技术亮点(数开更多的是sql优化,sql优化真的有太多可讲的)。

数据流转:

这块主要讲自己所在公司的数据是从哪里来,进仓库前会做什么处理,重点监控哪些(比如:数据完整性监控)-->进仓库后会做哪些处理,做哪些监控(比如数据准确性,指标一致性)-->出仓库,数据又会提供给哪些业务方,怎么保障数据的准确性和及时性等等。

讲一下这个过程中自己有哪些比较好的想法,对整个过程起了什么样的积极作用。

分层建模:

这块主要讲公司目前仓库的分层,每一层的作用,有哪些基础数据,讲一下自己对目前公司仓库设计的一些看法,好的地方,不好的地方。不好的地方,需要怎么改进。

现在的仓库怎么通过建模来收敛口径,减少代码重复开发,要有实际例子。

讲自己曾经做过的建模上的优化,比如:通过一些数据血缘的技巧筛选出 仓库中 有相似的中间模型表,经过考察,这些表的口径只是有微小不同,最后自己主动和业务方沟通,大家达成一致,重新设计一张模型或者都归一到现存的其中一个模型上。这也属于模型优化的一个案例,为仓库减少了多少存储资源,计算资源。

另外还可以讲一讲,自己的一些设计比较巧妙的模型,比如留存,留存的设计可以依据业务需求,从易到难,有多种设计。

也可以讲讲自己建模时,会考虑哪些点:实现的复杂程度,模型的运行时长,占用资源的大小,模型的生命周期....等等

维度建模,星型模型,这么多年了,都是这些,也没什么创新,如果只讲这些,会让人觉得耳朵都起茧子了,可以把这些融合到实际案例中,多讲自己的思考和感悟,平时工作中也要细心观察,现在没有任何一家公司的数据仓库是完美的,只要你肯用心发现,都能找到优化的点。然后自己尝试去做一做,该推动的事情,自己主动去推一推

当然这里还有很多很多其它的东西,有一些,看上去很没技术含量,但是让你去做,还真不一定能做好。

2、数据怎么抽象?

抽象的前提就是了解业务,知道业务想要什么,把业务方提的零碎的需求,分门归类,总结成业务主题和数据主题。

比如:用户业务主题下,可划分为回流,留存,日活,新增,全量,行为标签...

实现部分,落地模型,也是从需求出发,把业务方的需求细化到指标和维度。

比如:业务方说我想看一下某个渠道的用户表现,那你就会考虑,用户表现体现在指标上有哪些:阅读pv,点击次数,停留时长等等。

有了指标和维度,就能够建模了。这也算是抽象数据的一种思路,工作中,基本都是这样做的。

东西太多了,挑自己最擅长的说。

睡前胡乱说一通,勿怪~~ 晚安!

推荐阅读:

数仓面试——日期交叉问题

数仓面试——连续登录问题进阶版

数仓面试——连续登录问题


Hey!

我是小萝卜算子

欢迎关注:数据仓库践行者

分享是最好的学习,这里记录我对数据仓库的实践的思考和总结

每天学习一点点

知识增加一点点

思考深入一点点

在成为最厉害最厉害最厉害的道路上

很高兴认识你

关于【你们数据仓库是怎么设计的】如何回答?相关推荐

  1. 数据仓库模型报表设计

    夫道.德.仁.义.礼,五者一体也. --黄石公<素书·第一章·原始> 文章目录 前言 一.ODS接入 二.DIM设计 三.DWD设计 四.DWS设计 五.ADS设计 总结 前言 记录数据仓 ...

  2. 数据仓库架构分层设计

    数据仓库架构分层设计包括STG(数据缓冲层).ODS(数据操作层).DWD(数据明细层).DWS(主题汇总层)和ADM(数据应用层). 1.STG层 主要完成业务系统结构化数据引入到数据中台,保留业务 ...

  3. 面试笔试中算法设计问题的回答技巧总结

    面试笔试中算法设计问题的回答技巧总结 1.归纳法 2.相似法 3.简化法 4.递归法 5.分治法 6.Hash法 7.轮询法 最常考的数据结构和算法: 数据结构和算法在程序员面试中的重要性不言而喻,也 ...

  4. 数据仓库三层架构设计

    简介 作为一名数据的规划者,我们肯定希望自己的数据能够有秩序地流转,数据的整个生命周期能够清晰明确被设计者和使用者感知到.直观来讲就是如下的左图这般层次清晰.依赖关系直观. 但是,大多数情况下,我们完 ...

  5. 数据仓库:分层设计详解

    文章目录 简介 一. Why?为什么要对数据仓库分层 二. How?数据仓库的ETL 1.分层的误区 三. 中台技术架构 四.数仓分层架构 五.贴源层 (ODS, Operational Data S ...

  6. 怎么写课程设计的设计思想? 这回答很犀利

  7. 数据仓库的架构与设计

    https://blog.csdn.net/trigl/article/details/68944434 公司之前的数据都是直接传到Hdfs上进行操作,没有一个数据仓库,趁着最近空出几台服务器,搭了个 ...

  8. 从数据仓库双集群系统模式探讨,看GaussDB(DWS)的容灾设计

    摘要:本文主要是探讨OLAP关系型数据库框架的数据仓库平台如何设计双集群系统,即增强系统高可用的保障水准,然后讨论一下GaussDB(DWS)的容灾应该如何设计. 当前社会.企业运行当中,大数据分析. ...

  9. 维度表创建规范_数据仓库维度建模-维度表设计

    1 维度表的定义 在维度建模中,通常将指标的度量称之为"事实",将产生度量的环境称之为"维度".将描述同一个业务实体的的多个维度列组合在一起,就是常说的&quo ...

最新文章

  1. 在Windows下创建硬连接和文件夹连接点的工具
  2. Python获取昨天、今天、明天开始、结束时间戳
  3. exe4j生成可执行程序的使用方法
  4. python 语言教程(4)列表方法
  5. 修改linq结果集_UTXO集优化
  6. 1.1.3 计算机的分类与发展方向(电子计算机、计算机按指令和数据流分类、计算机发展趋势正向着“两级”分化)
  7. 10_Eclipse中演示Git冲突的解决
  8. kali Linux 火狐浏览器改中文
  9. android gallery自动播放,可循环显示图像的Android Gallery组件
  10. python 字典练习 记录学生是否交作业的小程序
  11. 平凡函数依赖是什么?
  12. JavaScript常识 js代码位置 调用外部js文件
  13. Python 高级编程笔记之测试驱动开发
  14. 无约束多元函数求极值
  15. python tqdm的用法_【转】Python进度条tqdm的使用
  16. python什么意思m_/usr/bin中的python3.6m 中的m是什么意思?和python3.6有什么区别?
  17. PMP考试有哪些科目
  18. 「数据一致性」理解分布式系统中的一致性
  19. UPC 6617 Finite Encyclopedia of Integer Sequences(找规律)
  20. Haproxy基础知识 -运维小结

热门文章

  1. 直播弹幕系统(五)- 整合Stomp替换原生WebSocket方案探究
  2. 帮我写1000字《阿凡达》观后感
  3. 承包了我今日笑点的AI“文心一言”,被质疑是“套壳”?
  4. XenServer部署系列——网络配置
  5. AD9361收发通道原理和配置(AD射频随笔01)
  6. 百度奖学金获得者徐立恒:执着创造价值
  7. Java面试题 Web+EJB Spring+数据结构 算法计算机基础
  8. 查看服务器所有进程信息,怎么查看服务器上的所有进程
  9. 计算机如何默认一种打字法,怎么把电脑的输入法设置成默认的
  10. ffmpeg源码分析 (二)