本文为您介绍上报事件属性、事件公共属性时,数据落库存储至DataFinder的逻辑说明。
您首先需要了解事件属性的上报和落库存储的过程中,有三个基本流程:元数据注册、数据上报、数据落库存储。
各个流程的详细逻辑说明请参见下文。
这个过程指的是事件属性/事件公共属性在DataFinder的元数据库中进行登记注册。
建议您先结合业务分析需求规划好埋点需求,如果有自定义事件和属性的分析需求,可先将对应事件和属性在DataFinder的元数据中进行登记注册。
通常有以下几种方式会实现元数据的注册:
手动注册(推荐) | 自动注册 |
|---|---|
您可以在使用客户端或服务端SDK等方式上报数据之前,先根据埋点规划,在DataFinder的控制台 元数据管理>事件属性 页面中手动 创建事件属性/事件公共属性。创建完成后,即在DataFinder元数据中完成对应属性的登记注册。 | 如果您没有在DataFinder元数据页面中手动注册过某个属性数据,后续直接将数据往DataFinder上报时,DataFinder会先在元数据库中查看是否有注册过对应元数据,如果此前没有注册过,则接收到这条上报数据的同时,DataFinder会自动先为您将此元数据进行自动登记注册。 |
注意事项:
| |
注意
元数据注册后,后续实际进行数据接入上报时的数据一定要与注册时的结果一致,如果业务分析过程中需要调整,也建议同步修改元数据的注册结果和接入上报的SDK代码配置,始终保持两边的配置一致,否则可能会导致数据上报异常。
这个过程指的是通过客户端、服务端SDK等方式,将待采集的数据进行代码集成,当后续应用被最终用户使用时,一旦触发对应的埋点,即会将对应的数据按照各端的数据上报策略向DataFinder进行上报。
对于事件属性和事件公共属性,通常在上报数据中有固定的位置。
属性数据上报示例 | 上报位置说明 |
|---|---|
具体各端不同类型的属性数据的上报位置可参见对应端的数据接入文档。 |
这个过程指的是数据上报至DataFinder,最终会存储在DataFinder的数据库中。
注意
在数据上报至最终落库存储的过程中,部分类型的数据还有例如数据流对数据的清洗、计算优化等过程,本文暂且不讨论此类过程,重点说明数据处理完成后的存储逻辑。
在SaaS云原生和SaaS-非云原生环境中,落库存储可细化为以下流程:
params中上报的数据会被判定为事件属性。header_custom中上报的数据会被判定为事件公共属性。注意
如果存在同名的属性,会自动注册失败。
params中的属性和事件进行关联,如果关联关系此前在元数据中从未注册过,也会自动为您登记注册属性和事件的关联关系。注意
事件属性和事件公共属性在DataFinder的数据库中的存储位置和存储方式完全一致,不能存在同名属性。
在私有化环境中,落库存储可细化为以下流程:
params中上报的数据会被判定为事件属性。header_custom中上报的数据会被判定为事件公共属性。注意
在私有化环境中,如果属性此前在元数据中已经完成登记注册,则在属性校验时仅会校验属性数据类型的一致性,不会再根据属性数据上报的位置来校验属性类型的一致性。
例如,某属性A在元数据中登记注册时注册为了事件属性,但是实际在数据上报时,在上报数据代码的header_custom中进行上报,最终DataFinder会将此条上报的数据正常落库存储,并在元数据中此属性的属性类型就是事件属性。
params中的属性和事件进行关联,如果关联关系此前在元数据中从未注册过,也会自动为您登记注册属性和事件的关联关系。注意
事件属性和事件公共属性在DataFinder的数据库中的存储位置和存储方式完全一致,不能存在同名属性。
SaaS-云原生/SaaS-非云原生 | 私有化 |
|---|---|
开启埋点强制验收后,如果您在元数据中定义的属性类型,与基于实际上报数据在代码中的位置判断出的属性类型不一致,则界面会提示您“属性类型不一致”,则数据将不会被验收通过,数据不会正常落库存储。 | 由于私有化场景不会强制校验属性类型,因此,开启埋点强制验收后,如果您在元数据中定义的属性类型,与基于实际上报数据在代码中的位置判断出的属性类型不一致,您依旧可以在埋点验收界面进行验收,验收通过后数据可按照元数据中注册的属性类型正常落库存储。 |
如果您在 元数据管理>事件属性 中修改了事件属性的类型,将事件属性修改为事件公共属性,或将事件公共属性修改为事件属性,修改前后数据的上报存储逻辑依旧遵循上述逻辑,以下以几个典型修改的场景为您示例属性类型修改后的影响。
注意
示例场景:
params),修改为公共事件属性后,在公共事件属性中上报(上报数据在header_custom)。变更前后逻辑说明:
对比项 | SaaS-云原生/SaaS-非云原生 | 私有化 |
|---|---|---|
修改后数据上报逻辑 | DataFinder会在元数据的属性中查询此前是否有名称为“A”的属性注册过——由于此前A是作为事件属性登记在元数据中,不能注册同名的属性,因此会自动注册失败,修改SDK代码后的上报数据无法正常落库存储。 |
|
后续数据查询 | 完成数据落库存储后,后续在使用分析工具查询属性数据时:
| 完成数据落库存储后,后续在使用分析工具查询属性数据时:
|
示例场景
header_custom)。变更前后逻辑说明:
对比项 | SaaS-云原生/SaaS-非云原生 | 私有化 |
|---|---|---|
修改后数据上报逻辑 |
|
|