作者:找不到实习与工作的小菜菜

链接:https://www.nowcoder.com/discuss/495327?type=all&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_all_nctrack&gio_id=7ECACE7605534464872AA4CD0FF6C741-1663290554718

来源:牛客网

欢迎点击此处关注公众号。

数仓分层,每一层的含义
  • 数据操作层 ODS:把操作系统数据几乎无处理地存放在数据仓库系统中。
  • 公共维度模型层 CDM:存放明细事实数据、维表数据及公共指标汇总数据 , 其中明细事实数据、维表数据一般根据 ODS 层数据加工生成,CDM 层又细分为明细数据层 DWD 和汇总数据层 DWS ,采用维度模型方法作为理论基础,更多地采用一些维度退化手法,将维度退化至事实表中,减少事实表和维表的关联,提高明细数据表的易用性:同时在汇总数据层,加强指标的维度退化,采取更多的宽表化手段构建公共指标数据层,提升公共指标的复用性。
  • 应用数据层 APP:存放数据产品个性化的统计指标数据,根据 CDM 层与 ODS 层加工生成 。(个性化指标:排名型、比值型等)
  • 维度层 DIM:保存维度数据,记录业务的描述信息,例如何人、何时、何地。

优点:

  • 复杂问题简单化,每一层只处理简单的任务。
  • 减少重复开发,增加一次计算结果的复用性。
  • 隔离原始数据,将统计数据与真实数据隔离开。
数仓建模

范式理论:三范式(属性不可拆分,不存在部分函数依赖,不存在传递函数依赖),降低数据冗余。

维度建模:维度模型以数据分析作为出发点,不遵循三范式,故数据存在一定的冗余。维度模型面向业务,将业务用事实表和维度表呈现出来。表结构简单,故查询简单,查询效率较高。

元数据

定义:

  • 元数据是关于数据的数据。
  • 元数据打通了源数据、数据仓库、数据应用,记录了数据从生产到消费的全过程。
  • 元数据主要记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态即 ETL 的任务运行状态。
  • 帮助开发人员方便找到数据仓库中他们所关心的数据,提高效率。

分类:

  • 技术元数据:存储技术细节

    • 分布式计算系统存储元数据
    • 分布式计算系统存储元数据
    • 数据开发平台中数据同步、计算任务,任务调度等信息
    • 数据质量和运维相关元数据
  • 业务元数据:从业务角度描述数仓中的数据,提供介于使用者和实际系统之间的语义层,使不懂技术的业务人员也能读懂数仓中的数据。

SQL

面试官首先问了一个语句,我没见过。然后问了另一道题,问我的想法,其实我没想出来,面试官提醒之后,回答上来了。

MySQL 分库分表

分库:将一个库的数据拆分到多个相同的库中,访问的时候访问一个库。

分表:把一个表的数据放到多个表中,操作对应的某个表就行。

分垂直拆分和水平拆分。

垂直拆分:

  • 分库:根据业务拆分。例如电商数据库拆为订单库,会员库,商品库。
  • 分表:把 user 表拆分成 user_base 表和 user_info 表,use_base 负责存储登录,user_info 负责存储基本用户信息。
  • 特点:每个库(表)的结构都不一样;每个库(表)的数据至少一列一样;每个库(表)的并集是全量数据。
  • 优点:拆分后业务清晰(专库专用按业务拆分);数据维护简单,按业务不同,业务放到不同机器上。
  • 缺点:如果单表的数据量,写读压力大;受某种业务决定,或者被限制,也就是说一个业务往往会影响到数据库的瓶颈(性能问题,如双十一抢购);部分业务无法关联 join,只能通过 java 程序接口去调用,提高了开发复杂度

水平拆分:

  • 分库:例如按会员库拆分,拆分成会员 1 库,会员 2 库,以 userId 拆分,userId 尾号 0-4 为 1 库
    5-9 为 2 库,还有其他方式,进行取模,偶数放到 1 库,奇数放到 2 库。
  • 分表:例如把 users 表拆分成 users1 表和 users2 表,以 userId 拆分,进行取模,偶数放到 users1 表,奇数放到 users2 表。
  • 特点:每个库(表)的结构都一样;每个库(表)的数据都不一样;每个库(表)的并集是全量数据。
  • 优点:单库/单表的数据保持在一定量(减少),有助于性能提高;提高了系统的稳定性和负载能力;拆分表的结构相同,程序改造较少。
  • 缺点:;数据的扩容很有难度维护量大;拆分规则很难抽象出来;分片事务的一致性问题部分业务无法关联 join,只能通过 java 程序接口去调用
表的删除方式以及它们之间的区别

drop:表结构都会被删除。无法回滚。

truncate:清空表,删除内容,但不删除定义(保留表的数据结构)。不会把删除操作记录到日志,无法回滚。

delete:删除表中的行。操作记录在日志中,可以回滚。

职业规划
对数据研发的理解

【面经】携程数据仓库面经相关推荐

  1. 干货 | 数据治理落地难?携程度假数据治理需求设计实践

    作者简介 Leon Gu,携程数据仓库专家,负责度假数据中台和数据仓库等工作,专注于大数据.数据仓库.数据治理等领域. 一.前言 携程度假包含跟团游.自由行.玩乐.门票.用车等十多条业务线,业务涵盖线 ...

  2. 干货 | 携程酒店实时数仓架构和案例

    作者简介 秋石,携程数据仓库专家,关注大数据.数据仓库.数据治理等领域: 九号,携程数据技术专家,关注数据仓库架构.数据湖.数据治理: 魁伟,携程资深数据工程师,关注实时&离线大数据产品及技术 ...

  3. tp5.1 获取表里的所有数据_携程机票数据仓库建设之路

    一.前言 随着大数据技术的飞速发展,海量数据存储和计算的解决方案层出不穷,生产环境和大数据环境的交互日益密切.数据仓库作为海量数据落地和扭转的重要载体,承担着数据从生产环境到大数据环境.经由大数据环境 ...

  4. 面对百亿用户数据,日均亿次请求,携程应用架构如何涅槃?

    https://www.infoq.cn/article/ctrip-big-data-high-concurrency-applications-architecture?utm_campaign= ...

  5. [转]携程大数据实践:高并发应用架构及推荐系统案例

    本文来自携程技术中心基础业务研发部的<应用架构涅槃>系列分享.据基础业务研发部负责人李小林介绍,互联网二次革命的移动互联网时代,如何吸引用户.留住用户并深入挖掘用户价值,在激烈的竞争中脱颖 ...

  6. hive 查看 job 日志_日均TB级数据,携程支付统一日志框架

    一.背景 支付中心作为携程集团公共部门,主要负责的业务包括交易.实名绑卡.账户.收单等,由于涉及到交易相关的资金流转以及用户实名认证,部分用户操作环节的中间数据应内控/审计要求需要长时间保存.当前研发 ...

  7. 携程AI和推荐系统的云化实践

    嘉宾简介 于磊,携程公共BI,高级总监.毕于上海交通大学计算机科学与技术系,获博士学位.2012年在苏黎世联邦理工大学访学,师从 ACM fellow, Dr. Donald Kossman,从事高并 ...

  8. Elasticsearch牛逼了! 这份携程、滴滴、今日头条、饿了么、360、小米、Vivo 应用实践合集都在这儿了...

    点击"开发者技术前线",选择"星标????" 在看|星标|留言,  真爱 来源:https://my.oschina.net/u/2485991/blog/53 ...

  9. 【社区图书馆】携程架构与实践图书

    发这篇博文主要是想学习一下携程的架构.携程出了一本<携程架构实践>,无奈现在还没开源.看京东价大概109元人民币.如果看到次博文的网友能发我一本<携程架构实践>pdf.不胜感谢 ...

  10. 百亿节点、毫秒级延迟,携程金融基于 NebulaGraph 的大规模图应用实践

    作者:霖雾,携程数据开发工程师,关注图数据库等领域. 0. 背景 2017 年 9 月携程金融成立,在金融和风控业务中,有多种场景需要对图关系网络进行分析和实时查询,传统关系型数据库难以保证此类场景下 ...

最新文章

  1. 使用c语言读写netcdf文件,[原][c][netcdf]读取函数
  2. 安徽师范大学计算机专业导师,安徽师范大学数学计算机科学学院导师介绍:罗永龙...
  3. hadoop join之semi join
  4. c语言格式化 病毒源码,【病毒】震荡波病毒C语言源码
  5. 22个开源的PHP框架
  6. 运行CATIA2018主程序setup.exe时,报错setup:Problem with VC11 Runtime installation
  7. 微信小程序 图片轮播 视频
  8. vmware VCPU的一点理解记录
  9. 先发新机再搞碰瓷,酷派复活就有胜算?
  10. Java面向对象编程——类与对象
  11. 手机百度云如何打开doc
  12. vscode 直接调试 ts 文件
  13. 陈平,温铁军视频思想笔记
  14. 什么是交叉检验(K-fold cross-validation)
  15. python--敲击木鱼积累功德小项目
  16. BZOJ 1455 罗马游戏
  17. 非CS背景,如何快速上手机器学习?
  18. config配置中心
  19. 【Qt】 QPropertyAnimation,自定义动画,控件背景色字体色变换
  20. Android NFC开发日志TECH读

热门文章

  1. 网页背景颜色怎么设置css,css怎么设置网页背景颜色
  2. java单精度实型变量_C语言中,用关键字( )定义单精度实型变量,用关键字( )定义双精度实型变量。...
  3. word文件做一半未响应_WORD文件一编辑就未响应如何处理
  4. 《浪潮之巅》读书笔记
  5. 1402. 星空之夜
  6. 在微型计算机中1mb等于多少字节,1mb等于多少字节
  7. libVLC 播放控制
  8. Git 学习笔记——管理员篇
  9. 后PC时代中国半导体厂商的机会
  10. python与数据思维基础_7个python案例中的数据思维