Updated 构建语义模型 (markdown)

LXW
2023-09-07 14:58:52 +08:00
parent 0edde75932
commit 4842b17b96

@@ -13,10 +13,11 @@
如图1-1所示, 由于超音数的埋点访问数据被存放在H2数据库中, 因此我们创建了一个H2数据库实例作为例子。除了H2数据库以外, 我们还支持MySQL, ClickHouse等多种常见数据库。 如图1-1所示, 由于超音数的埋点访问数据被存放在H2数据库中, 因此我们创建了一个H2数据库实例作为例子。除了H2数据库以外, 我们还支持MySQL, ClickHouse等多种常见数据库。
<div align="center" > <div align="center" >
<img src=https://github.com/lxwcodemonkey/supersonic/blob/master/docs/images/database.png/> <img src=https://github.com/tencentmusic/supersonic/assets/22031277/b77ddbe0-0330-43ac-bffb-76409da4efe2/>
<p>图1-1 数据库连接示例</p> <p>图1-1 数据库连接示例</p>
</div> </div>
需要说明的是, 在这里创建数据库之后, 并不是所有人都可以查询这个数据库链接的数据, 需要在图1-1表单上进行授权。 需要说明的是, 在这里创建数据库之后, 并不是所有人都可以查询这个数据库链接的数据, 需要在图1-1表单上进行授权。
**管理员**: 可以编辑这个数据库链接的人 **管理员**: 可以编辑这个数据库链接的人
@@ -34,7 +35,7 @@
如图1-1所示, 为了统计超音数的埋点访问情况, 我们创建了一个叫"超音数"的主题域作为示例: 如图1-1所示, 为了统计超音数的埋点访问情况, 我们创建了一个叫"超音数"的主题域作为示例:
<div align="center" > <div align="center" >
<img src=https://github.com/lxwcodemonkey/supersonic/blob/master/docs/images/domain.png width="70%"/> <img src=https://github.com/tencentmusic/supersonic/assets/22031277/a2a8dd3e-ff37-443f-a5db-6e026aa553dd width="60%"/>
<p>图2-1 主题域示例</p> <p>图2-1 主题域示例</p>
</div> </div>
@@ -43,34 +44,35 @@
数据源、指标、维度等 数据源、指标、维度等
<div align="center" > <div align="center" >
<img src=https://github.com/lxwcodemonkey/supersonic/blob/master/docs/images/model.png width="70%"/> <img src=https://github.com/tencentmusic/supersonic/assets/22031277/b0a93c7c-c682-4208-a9e4-52de5c64aa92 width="40%"/>
<p>图2-2 模型示例</p> <p>图2-2 模型示例</p>
</div> </div>
### **3. 创建数据源** ### **3. 创建数据源**
创建模型之后, 我们首先需要把物理数据抽象为一个个数据源。在超音数中, 数据源是对数据库中数据的一种逻辑层面上的抽象, 它既可以直接指代一张物理表, 也可以由一段SQL逻辑表示而成。数据源中涉及的字段可被指定为维度或者度量, 而这些维度和度量又可以衍生出更复杂的维度和指标。如图3-1, 超音数提供了两种创建数据源方式。 创建模型之后, 我们首先需要把物理数据抽象为一个个数据源。在超音数中, 数据源是对数据库中数据的一种逻辑层面上的抽象, 它既可以直接指代一张物理表, 也可以由一段SQL逻辑表示而成。数据源中涉及的字段可被指定为维度或者度量, 而这些维度和度量又可以衍生出更复杂的维度和指标。如图3-1, 超音数提供了两种创建数据源方式。
<div align="center" > <div align="center" >
<img src=https://github.com/lxwcodemonkey/supersonic/blob/master/docs/images/datasource_create.png/> <img src=https://github.com/tencentmusic/supersonic/assets/22031277/d537c5e1-3531-4fa3-a59d-192358176d1c/>
<p>图3-1 数据源创建方式</p> <p>图3-1 数据源创建方式</p>
</div> </div>
其中, **快速创建** 可以直接指定一张物理表来把它创建为数据源, 而**SQL脚本** 则提供了更为灵活的数据源创建方式, 我们可以通过写一条逻辑SQL来把它指定为数据源 其中, **快速创建** 可以直接指定一张物理表来把它创建为数据源, 而**SQL脚本** 则提供了更为灵活的数据源创建方式, 我们可以通过写一条逻辑SQL来把它指定为数据源
如图3-2为通过**SQL脚本**的方式创建数据源, 首先我们写一条SQL来表达我们的数据源逻辑, 然后点击运行, 就可以看到这条SQL查询出来的数据, 校验数据无误之后, 我们可以点击生成数据源 如图3-2为通过**SQL脚本**的方式创建数据源, 首先我们写一条SQL来表达我们的数据源逻辑, 然后点击运行, 就可以看到这条SQL查询出来的数据, 校验数据无误之后, 我们可以点击生成数据源, 需要注意的是, 这里创建数据源选择数据库链接的时候, 需要有数据库的使用者权限.
<div align="center" > <div align="center" >
<img src=https://github.com/lxwcodemonkey/supersonic/blob/master/docs/images/datasource_sql.png/> <img src=https://github.com/tencentmusic/supersonic/assets/22031277/51f74df4-1b66-4191-90c1-bb71a797c39d/>
<p>图3-2 SQL脚本</p> <p>图3-2 SQL脚本</p>
</div> </div>
需要注意的是, 这里创建数据源选择数据库链接的时候, 需要有数据库的使用者权限.
如图3-3所示, 点击生成数据源之后, 需要我们填写一些基本信息, 如数据源名称和描述, 填写完成之后, 点击下一步 如图3-3所示, 点击生成数据源之后, 需要我们填写一些基本信息, 如数据源名称和描述, 填写完成之后, 点击下一步
<div align="center" > <div align="center" >
<img src=https://github.com/lxwcodemonkey/supersonic/blob/master/docs/images/datasource_base_info.png/> <img src=https://github.com/tencentmusic/supersonic/assets/22031277/a234bc22-4d58-46b4-88a3-5b60339531cc/>
<p>图3-3 数据源基本信息</p> <p>图3-3 数据源基本信息</p>
</div> </div>
如图3-4所示, 填写完基本信息之后, 需要填写一些字段信息, 把数据源的字段指定为维度或者度量, 其中日期和主键为特殊的维度。 如图3-4所示, 填写完基本信息之后, 需要填写一些字段信息, 把数据源的字段指定为维度或者度量, 其中日期和主键为特殊的维度。
**维度**主要用于筛选和分组 **维度**主要用于筛选和分组
@@ -82,7 +84,7 @@
**主键**则用于不同数据源之间的连接字段, 若多个不同数据源存在相同的主键, 则可以进行多数据源连接 **主键**则用于不同数据源之间的连接字段, 若多个不同数据源存在相同的主键, 则可以进行多数据源连接
<div align="center" > <div align="center" >
<img src=https://github.com/lxwcodemonkey/supersonic/blob/master/docs/images/datasource_extend_info.png/> <img src=https://github.com/tencentmusic/supersonic/assets/22031277/7f7e811c-b5a3-41c8-a779-ad31f6272847/>
<p>图3-4 数据源字段信息</p> <p>图3-4 数据源字段信息</p>
</div> </div>
@@ -91,7 +93,7 @@
如图3-5所示, 为我们创建的3个数据源示例, 分别为超音数用户停留时长统计, 访问次数和访问人数统计, 用户部门统计。 如图3-5所示, 为我们创建的3个数据源示例, 分别为超音数用户停留时长统计, 访问次数和访问人数统计, 用户部门统计。
<div align="center" > <div align="center" >
<img src=https://github.com/lxwcodemonkey/supersonic/blob/master/docs/images/datasource_list.png/> <img src=https://github.com/tencentmusic/supersonic/assets/22031277/6c898fa1-38b6-42df-bfd3-53eb25ea633e/>
<p>图3-5 数据源列表</p> <p>图3-5 数据源列表</p>
</div> </div>
@@ -99,21 +101,23 @@
### **4. 创建维度** ### **4. 创建维度**
如图4-1, 为刚刚创建数据源时, 通过勾选**快速创建**按钮创建出来的维度。分别为用户名, 用户所在的部门, 用户浏览过的超音数页面。 如图4-1, 为刚刚创建数据源时, 通过勾选**快速创建**按钮创建出来的维度。分别为用户名, 用户所在的部门, 用户浏览过的超音数页面。
<div align="center" > <div align="center" >
<img src=https://github.com/lxwcodemonkey/supersonic/blob/master/docs/images/dimension_list.png/> <img src=https://github.com/tencentmusic/supersonic/assets/22031277/058807cc-43cc-4940-ac08-68fdf823dd5c/>
<p>图4-1 维度列表</p> <p>图4-1 维度列表</p>
</div> </div>
若我们需要更复杂的维度, 如我们需要根据页面来划分模块, 那我们可以点击创建按钮来创建一个更复杂的维度。如图4-2所示 若我们需要更复杂的维度, 如我们需要根据页面来划分模块, 那我们可以点击创建按钮来创建一个更复杂的维度。如图4-2所示
<div align="center" > <div align="center" >
<img src=https://github.com/lxwcodemonkey/supersonic/blob/master/docs/images/dimension_create.png/> <img src=https://github.com/tencentmusic/supersonic/assets/22031277/e030d2cc-5967-469a-9877-6dde12c8ef95/>
<p>图4-2 维度创建</p> <p>图4-2 维度创建</p>
</div> </div>
![dimension_create]()
### **5. 创建指标** ### **5. 创建指标**
和维度类似, 如图5-1为通过**快速创建**按钮创建出来的指标, 分别为访问超音数的次数, 人数和停留时长。这几个指标都可以在用户、部门 、页面等分组粒度上进行计算。 和维度类似, 如图5-1为通过**快速创建**按钮创建出来的指标, 分别为访问超音数的次数, 人数和停留时长。这几个指标都可以在用户、部门 、页面等分组粒度上进行计算。
<div align="center" > <div align="center" >
<img src=https://github.com/lxwcodemonkey/supersonic/blob/master/docs/images/metric_list.png/> <img src=https://github.com/tencentmusic/supersonic/assets/22031277/e71cd379-c886-45f7-bb05-103cae03939c/>
<p>图5-1 指标列表</p> <p>图5-1 指标列表</p>
</div> </div>
到此为止, 我们就成功把超音数的访问统计数据建模成了相关的数据源、维度和指标。通过在问答中直接对这些维度和指标进行提问, 就可以回答我们在介绍开头提到的那些问题啦! 到此为止, 我们就成功把超音数的访问统计数据建模成了相关的数据源、维度和指标。通过在问答中直接对这些维度和指标进行提问, 就可以回答我们在介绍开头提到的那些问题啦!