docs: add stable query description

This commit is contained in:
dapan1121 2022-08-12 18:10:34 +08:00
parent 20baf373a0
commit cc9e90976b
2 changed files with 8 additions and 6 deletions

View File

@ -280,12 +280,14 @@ TDengine 对每个数据采集点单独建表,但在实际应用中经常需
<center> 图 5 多表聚合查询原理图 </center>
1. 应用将一个查询条件发往系统;
2. taosc 将超级表的名字发往 meta node管理节点
3. 管理节点将超级表所拥有的 vnode 列表发回 taosc
4. taosc 将计算的请求连同标签过滤条件发往这些 vnode 对应的多个数据节点;
5. 每个 vnode 先在内存里查找出自己节点里符合标签过滤条件的表的集合,然后扫描存储的时序数据,完成相应的聚合计算,将结果返回给 taosc
6. taosc 将多个数据节点返回的结果做最后的聚合,将其返回给应用。
1. 客户端从 mnode 获取库和表的元数据信息;
2. mnode 返回请求的元数据信息;
3. 客户端向超级表所属的每个 vnode 发送查询请求;
4. vnode 启动本地查询,在获得查询结果后返回查询响应;
5. 客户端向聚合节点 (在本例中为 qnode发送查询请求
6. qnode 向每个 vnode 节点发送数据请求消息来拉取数据;
7. vnode 返回本节点的查询计算结果;
8. qnode 完成多节点数据聚合后将最终查询结果返回给客户端;
由于 TDengine 在 vnode 内将标签数据与时序数据分离存储,通过在内存里过滤标签数据,先找到需要参与聚合操作的表的集合,将需要扫描的数据集大幅减少,大幅提升聚合计算速度。同时,由于数据分布在多个 vnode/dnode聚合计算操作在多个 vnode 里并发进行,又进一步提升了聚合的速度。 对普通表的聚合函数以及绝大部分操作都适用于超级表,语法完全一样,细节请看 TAOS SQL。

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 192 KiB