阿里云开发者 2024年10月01日
小白入门之数据建模-以兴趣社区为例
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文作者分享了其在数据研发过程中对数据建模的理解,并以社区业务为例展开讨论。文章从数据定义、数据建模目的、数据建模流程三个方面进行阐述,并结合社区业务的案例,详细介绍了概念建模设计、逻辑建模设计和物理建模设计三个阶段的具体步骤和注意事项。文章还展示了社区数据服务框架图,并分析了社区数据建设流程和指标体系构建过程。

📈 **数据定义**:数据是对客观事物的数量、属性、位置及其相互关系的抽象表示,是对信息的记录。数据从原始数据生产、数据采集、数据加工、数据分析挖掘,进而形成知识,再循环到指导原始数据生产,其中数据源和数据生产是两个关键要素。

📊 **数据建模目的**:数据建模本质是为了有序有结构地分类存储和组织数据,可以从规范、效率、成本三个角度考虑。规范方面,数据建模可以指导生产用户进行规范化研发,保障数据的规范化和一致性;效率方面,数据建模可以使数据消费者易查找、易理解、易使用、产出稳定、使用性能优;成本方面,数据建模可以使存储成本/计算成本消耗合理,计算性能优。

📌 **数据建模总体流程**:数据建模总体流程分为概念建模设计、逻辑建模设计和物理建模设计三个阶段。概念建模设计将业务领域知识转化为图形化表达,用于指导后续的逻辑建模,并方便数据消费者查找和使用数据;逻辑建模设计明确并规范定义指标与维度,构建一致性维表和明细事实表;物理建模设计则将逻辑模型转化为代码开发和运维阶段,包括代码开发、部署运维、数据模型验证与保障等步骤。

📉 **社区数据服务**:文章以社区业务为例,展示了社区数据服务框架图,并分析了社区数据建设流程和指标体系构建过程。社区数据服务的目标是帮助业务看清现状,定位业务问题,以及数据驱动发现产品优化方向与运营策略并定量效果。

📋 **数据建模的具体步骤**:文章详细介绍了数据建模的具体步骤,包括需求调研、数据域划分、构建总线矩阵、指标与维度定义、维表设计、明细事实表设计、汇总事实表设计、物理建模设计等,并给出了每个步骤的具体操作方法和注意事项。

原创 向鹿 2024-09-03 08:30 浙江

本文作者分享了一些对数据建模的理解,并以社区业务为例展开讨论。

阿里妹导读


本文作者分享了一些对数据建模的理解,并以社区业务为例展开讨论。

作为一名练习时间1年的数据研发练习生,这一年里我在业务需求中摸爬滚打,系统地学习了数据建模。在这里我想分享一些我对数据建模的理解,并以我支持的社区业务为例展开讨论,如果有任何不足之处,欢迎大家交流指正。

什么是数据

数据是什么:让我们来看一下官方定义,数据是对客观事物的数量、属性、位置及其相互关系的抽象表示,是对信息的记录。这个解释比较抽象,其实我理解,凡是可以被记录的,都是数据。

数据从哪里来,到哪里去:数据不是天然存在的,而是被生产出来的,从原始数据生产-> 数据采集-> 数据加工-> 数据分析挖掘,进而形成知识,再循环到指导原始数据生产,这里有两个关键要素:

DIKW框架:数据(data) -> 信息(information) -> 知识(knowledge) -> 智慧(wisdom)

数据是未加工的原材料,简单的事实记录。经过加工处理后,就形成了信息,能够回答一些简单问题。对信息再进行总结归纳,将其体系化,信息之间产生了联系,就形成了知识。而智慧则是在理论知识的基础上,加上自身实践,得出的人生经验或对世界的看法,具有较强的主观色彩。



什么是数据建模

数据建模即构建数据模型,数据模型=数据组件+关系+规约。



为什么要数据建模呢?本质是为了有序有结构地分类存储和组织数据,我们可以从规范,效率,成本三个角度考虑:

数据建模总体流程




概念建模设计

数据建模的第一阶段是概念建模设计,将业务领域知识转化为图形化表达。这样可以指导后续的逻辑建模,并方便数据消费者查找和使用数据。概念建模的第一步是需求调研,包括业务调研和需求分析两方面:

下一步是进行数据域划分,这意味着要根据面向业务的分析,将业务过程或维度进行抽象,然后划分出单独的模块。最后构建总线矩阵,明确业务过程所属的数据模块,并确定业务过程与维度之间的关系。


逻辑建模设计



接下来我们进入到逻辑建模设计,第一步要做的是明确并规范定义指标与维度。首先,我们需要明确各个维度及其对应的属性,然后需要明确原子指标和派生指标。原子指标是针对特定业务过程的度量,不可再细分,具有明确的业务含义;派生指标是对原子指标在特定业务统计范围下的限定,下面我们将正式进入明细层模型设计。

构建一致性维表-DIM层

维度是维度建模的基础和灵魂,如何构建一致性维表,维度表设计过程如下:

设计TIPS

构建明细事实表-DWD层

明细事实表分为事务事实表、周期快照事实表和累计快照事实表,具体分类如下:

明细事实表设计过程如下:

设计TIPS

构建汇总事实表-DWS&ADM层



汇总事实表的设计过程如下:

DWS轻度汇总层面向业务需求设计,首先考虑的是复用性。需要特别关注某些维度的聚集是否经常用于数据分析,并在设计时尽量覆盖常用的分析场景。这样做的好处是,一方面可以为上游提供统一、准确、一致的数据,另一方面,上层指标加工时无需多次计算,可以节省资源。

设计TIPS


物理建模设计

逻辑模型设计好后,我们可以开始正式进入代码开发和运维阶段(即正式开始干活):

代码开发:数据业务逻辑处理+SQL SCAN代码规则校验+数据测试(对比、分布)

部署运维:生成ETL任务+运行状态监控+DQC配置

数据模型验证与保障



社区数据服务


写在前面

我7月初接手了社区业务,这里从我的视角讲述如何针对一块业务进行数据建模以及提供对应的数据服务。对于数据同学来说,我们能做的包括帮助业务看清现状,定位业务问题,以及数据驱动发现产品优化方向与运营策略并定量效果。首先第一步,我们要充分了解业务背景,即市场机会如何,市场现状如何,在我司的定位是什么?以兴趣社区为例,相较于传统的社交方式,目前市场上的趋势是人们更倾向于寻找共同兴趣爱好和认知的伙伴,而针对小众兴趣领域,用户对非标准化商品的交易需求也在增加,比如户外活动和livehouse门票。目前主流的平台只有粗门和闪动,剩下大部分是微信私域在承接(私聊、朋友圈、微信群、小程序等),抖音和小红书等也还在起步阶段。我们的兴趣社区产品是以兴趣为基础,社区为形态,具有分发长尾内容和非标准化商品能力的本地化社区产品。行业内社区的商业模式如下图所示:



兴趣社区整体的数据服务框架如下图所示:




数据建模过程

接下来讲述社区数据建设流程,这里只列出了一些关键流程,具体细节在此不展开叙述。

ER关系图



业务架构图



构建总线矩阵

数据分析思路

指标体系



OSM拆解



明确和规范定义指标与维度

原子指标

派生指标

维表设计




使用 ChatGLM 搭建对话模型    


通过ChatGLM和LangChain构建高效的对话模型。基于自然语言处理技术,并使用语言交换协议提升语义理解和交互体验。可广泛应用于聊天机器人、智能客服、社交媒体等场景中,有效解决对话模型中的语义理解和交互问题,提高用户交互的自然性和流畅度。


点击阅读原文查看详情。

阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

数据建模 社区业务 数据服务 数据分析 指标体系
相关文章