irpas技术客

【面经】携程数据仓库面经_和风与影

irpas 1570

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

链接:https://·/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.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #面经携程数据仓库面经 #携程