Updated 构建语义模型 (markdown)

LXW
2024-06-16 17:30:06 +08:00
parent e1e6f15ad4
commit 4d19a399ca

@@ -1,32 +1,20 @@
构建语义模型是使用超音数的第一步。在这个模块中, 它可以连接上你的数据库引擎, 并通过简单方便的方式来帮助你将物理数据建模为维度和指标等逻辑概念。建模完成后, 你就可以在问答中通过自然语言的方式来和你的物理数据交互啦~
构建语义模型是使用SuperSonic的第一步。在这个模块中, 它可以连接上你的数据库引擎, 并通过简单方便的方式来帮助你将物理数据建模为维度和指标等逻辑概念。建模完成后, 你就可以在问答中通过自然语言的方式来和你的物理数据交互啦~
**问题示例**
为了帮助你更好地理解建模的过程, 我们通过一个问题示例来进行介绍: 超音数本身作为一个产品, 那么如何用语义建模来统计它的埋点访问数据呢?比如超音数在一段时间内的访问用户数是多少?这些用户的访问次数和停留时长是怎样的?这些用户来自哪些部门?这些用户看了哪些页面?分别看了多少次?等我们建模完成, 这些问题的答案也就浮出水面了。
在超音数中, 模型归属于主题域, 主题域类似于一个分类的概念, 用户可以按自己的业务场景去创建主题域, 然后在主题域下面创建模型。
### **1. 创建一个主题域**
如图1-1所示, 为了统计超音数的埋点访问情况, 我们创建了一个叫"超音数"的主题域作为示例:
<div align="center" >
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/a2a8dd3e-ff37-443f-a5db-6e026aa553dd width="60%"/>
<p>图1-1 主题域示例</p>
</div>
### **2. 创建一个数据库连接**
为了进行数据查询, 我们首先需要创建一个数据库连接, 创建一个数据库连接主要分为三个步骤,
### **1. 创建一个数据库链接**
在开始探索之前, 你首先需要创建一个数据库链接来连接你的数据库, 以便后续获取数据。在SuperSonic中主要支持JDBC类型的数据库链接创建一个数据库连接主要分为
以下三个步骤:
1. 填写连接信息
2. 点击测试连接, 若连接测试通过, 则可点击保存。否则, 返回步骤1
3. 点击保存。
如图1-1所示, 由于超音数的埋点访问数据被存放在H2数据库中, 因此我们创建了一个H2数据库实例作为例子。除了H2数据库以外, 我们还支持MySQL, ClickHouse等多种常见数据库。
如图1-1所示, 由于超音数的埋点访问数据被存放在H2数据库中, 因此我们创建了一个H2数据库实例作为例子。除了H2数据库以外, 我们还支持MySQL, ClickHouse, PG等多种常见数据库。
<div align="center" >
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/190d11e3-5670-4912-ac76-9d5deb4a2ec9/>
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/f4b1b8d7-33fb-40b4-9767-c4acee534ea5/>
<p>图2-1 数据库连接示例</p>
</div>
@@ -37,11 +25,18 @@
**使用者**: 可以使用这个数据库链接查询数据的人
### **2. 创建一个主题域**
接下来, 用户可以按自己的业务场景去创建主题域, 然后在主题域下面创建具体的模型集。如图2-1所示, 为了统计超音数的埋点访问情况, 我们创建了一个叫"超音数"的主题域以及基础超音数的埋点数据创建了一个"埋点模型集":
<div align="center" >
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/ebdc5a9b-db57-4811-b9fe-4657090a635d width="30%"/>
<p>图2-1 主题域示例</p>
</div>
### **3. 创建数据模型**
有了数据库连接之后, 我们就可以把物理数据抽象为一个个数据模型。在超音数中, 数据模型是对数据库中数据的一种逻辑层面上的抽象, 它既可以直接指代一张物理表, 也可以由一段SQL逻辑表示而成。数据模型中涉及的字段可被指定为维度或者度量, 而这些维度和度量又可以衍生出更复杂的维度和指标。如图3-1, 超音数提供了两种创建数据模型的方式。
创建好了一个模型集后, 我们就可以把物理数据抽象为一个个数据模型并创建到模型集下。在超音数中, 数据模型是对数据库中数据的一种逻辑层面上的抽象, 它既可以直接指代一张物理表, 也可以由一段SQL逻辑表示而成。数据模型中涉及的字段可被指定为维度或者度量, 而这些维度和度量又可以衍生出更复杂的维度和指标。如图3-1, 超音数提供了两种创建数据模型的方式。
<div align="center" >
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/229515ab-8f2d-409c-916b-a850a2106ddb/>
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/1bcd532d-e05c-4066-b4ac-13a80de197ec/>
<p>图3-1 数据模型创建方式</p>
</div>
@@ -49,7 +44,7 @@
如图3-2为通过**SQL脚本**的方式创建数据模型, 首先需要我们填写一些基本信息, 如数据模型名称和描述。
<div align="center" >
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/801f725b-05cb-4857-991c-a24047f75be3/>
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/4fbffcd0-8a6d-4de7-a4ee-6c343fca1f1d/>
<p>图3-2 数据模型基本信息</p>
</div>
@@ -78,30 +73,30 @@
若**不勾选**, 但字段已被选定为维度/度量, 该字段虽然不会直接被创建到维度/指标列表, 但是后续在创建衍生维度/指标的时候也可作为表达式中的字段被用上。
如图3-5所示, 为我们创建的3个数据模型示例, 分别为超音数用户停留时长统计, 访问次数和访问人数统计, 用户部门统计。
<div align="center" >
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/c29d4fae-da13-46ed-91b4-1b5af745ed9b/>
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/eec442d1-59fc-42da-882d-104ea1659201/>
<p>图3-5 模型列表</p>
</div>
### **4. 创建维度**
如图4-1, 为刚刚创建数据模型时, 通过勾选**快速创建**按钮创建出来的维度。分别为用户名, 用户所在的部门, 用户浏览过的超音数页面。
<div align="center" >
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/d962de44-4850-43a2-9c59-2f731b81a8de/>
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/dfa5356d-9651-464f-92a3-196b4c637b13/>
<p>图4-1 维度列表</p>
</div>
若我们需要更复杂的维度, 如我们需要根据页面来划分模块, 那我们可以点击创建按钮来创建一个更复杂的维度。如图4-2所示
<div align="center" >
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/0e3749e5-17de-4f94-9ffd-0d972ffd5518/>
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/b125117a-dadd-40d7-8ffd-c02a11de5b78/>
<p>图4-2 维度创建</p>
</div>
### **5. 创建指标**
和维度类似, 如图5-1为通过**快速创建**按钮创建出来的指标, 分别为访问超音数的次数, 人数和停留时长。这几个指标都可以在用户、部门 、页面等分组粒度上进行计算。
<div align="center" >
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/79c9b267-c3ae-43bb-8820-414481b1d326/>
<img src=https://github.com/tencentmusic/supersonic/assets/22031277/c55756d9-2701-4e2d-8aaa-8d096de106fb/>
<p>图5-1 指标列表</p>
</div>
到此为止, 我们就成功把超音数的访问统计数据建模成了相关的数据模型、维度和指标。通过在问答中直接对这些维度和指标进行提问, 就可以回答我们在介绍开头提到的那些问题啦!