• 大寒
    2025-11-14 来自北京
    思考题一:数据仓库,原因在于当时经验都不足所以采取了上手难度最低的这种,同时19年左右时候当时技术最契合我们业务场景的还是hive。当前痛点的话我认为有以下几点:1.维度建模(按主题形式)会遇到业务需求那种你分不清楚是哪种主题的数据,比如有一个三方或者业务系统统计数据就是要加入到报表中,我们会很挠头而且这种场景并不少见;2.实时性场景增多后转型比较困难,因为实时任务开发前期是为了解决某个场景问题而做的,会非常散乱。回过头来看,如果专门做实时数仓会造成大量资源浪费与验证成本,如果保持现状那么就是一份数据反复用,后期维护难度越来越大(不知道任务是做什么的);3.遇到非结构化数据会非常无奈,推荐团队会自己来处理,但是这样的话数据质量又无法保证;4.数据仓库依然要开发人员去及时了解和更新业务认知,这种吃力短期看不到成效的工作会让很多人懈怠。 思考题二:我个人理解应该是数据沼泽。这些问题在不怎么治理的数据仓库也同样会出现,比如说一份日志数据会在不同层级均全量出现,相当于日志需要双倍存储,而且由于不怎么下线任务导致数仓任务越跑越慢。后续通过数据归档,分区保留(即保留经常用的,同时保证底层数据能向上恢复指定日期)以及探测应用层数据使用情况形成每周报告的形式来缩减数据任务与规模。所以我认为这个治理思路也可以在这里借鉴,然后按照老师今日所讲我觉得需要推进湖仓一天来方便数据治理的保证。 思考题三:数据仓库场景,因为这个是传统场景并且结构化数据,而且业务相对集中可以方便主题建模。BI这块我目前用的是tableau来做,比如交易明细数据完全可以加工后加载,然后在这个平台通过数据提取(5000万行数据还是可行的)完成报表搭建(tableau报表是基于视图的,所以计算完全可以在tableau上完成)
    展开

    作者回复: 你好,非常感谢你对三个思考题的详细回答,你提到的这些痛点都非常有代表性。 关于思考题一中的几个痛点,我简单回应一下: - 第一,维度建模中难以归类的数据,建议不要过度追求完美的主题划分,可以建立“公共主题”或“共享维度层”来存放跨主题数据,同时通过元数据清晰标注它的业务含义。 - 第二,关于实时场景增多后的转型困难,建议采用 Lambda 架构的思路。对于必须实时的场景建立轻量级实时链路,对于可以接受延迟的场景继续用批处理,尽量让批处理和实时处理共享数据模型和业务逻辑。同时建立清晰的任务文档和命名规范,确保每个任务的目的都有清晰记录。 - 第三,关于非结构化数据,建议即使由业务团队处理,也要建立统一的采集和存储规范,同时数据团队提供质量检查的工具和机制。长期可以考虑引入湖仓一体架构。另外,我在课程的后面,会专门介绍大模型时代对非结构化数据的处理。 - 第四,关于业务认知的更新,这恰恰是数据开发工程师的核心价值。建议通过文档、Wiki、数据字典等方式固化业务知识,建立跨团队的定期沟通机制,并在绩效考核中体现业务理解的重要性。 关于思考题二,你说的“数据沼泽”判断是对的。你们通过数据归档、分区保留、探测应用层使用情况等方式治理,这些都是很好的实践。我补充几点:建立数据生命周期管理策略,自动归档和清理过期数据;建立数据血缘追踪,清楚知道每个数据集的来源和去向;定期审计机制非常好,要坚持;推进湖仓一体是正确方向,可以逐步演进。 关于思考题三,你选择数据仓库 + Tableau 的方案是合理的。提醒两点:复杂业务逻辑建议在数据仓库层面完成,性能更好也更容易复用;注意数据提取模式的时效性,必要时考虑直连或增量提取。 最后想说,你提到的这些痛点是数据仓库发展的必经阶段。建议分阶段推进:短期解决数据沼泽问题,中期优化实时和离线架构,长期向湖仓一体演进。数据治理是持续过程,你们的“每周报告”机制很好,要坚持下去。 期待你继续分享实践经验。

    
    
  • 亚林
    2025-11-14 来自湖南
    我们是先从mysql中把数据ETL到s3中,交给后面的AWS Athena构建数据库,最后,AWS quicksight展现出效果。我们这应该算是数据湖吧,因为最开始从MySQL搬数据到s3的那ETL,是真不太理解那个数据结构是啥意思
    
    