Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
0c359913
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
0c359913
编写于
10月 13, 2022
作者:
G
gccgdb1234
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
doc: fix errors in architecture for 3.0
上级
f94d6e1d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
6 addition
and
6 deletion
+6
-6
docs/en/21-tdinternal/write_follower.webp
docs/en/21-tdinternal/write_follower.webp
+0
-0
docs/en/21-tdinternal/write_leader.webp
docs/en/21-tdinternal/write_leader.webp
+0
-0
docs/zh/21-tdinternal/01-arch.md
docs/zh/21-tdinternal/01-arch.md
+6
-6
未找到文件。
docs/en/21-tdinternal/write_follower.webp
0 → 100644
浏览文件 @
0c359913
文件已添加
docs/en/21-tdinternal/write_leader.webp
0 → 100644
浏览文件 @
0c359913
文件已添加
docs/zh/21-tdinternal/01-arch.md
浏览文件 @
0c359913
...
...
@@ -137,7 +137,7 @@ Leader Vnode 遵循下面的写入流程:
<center>
图 3 TDengine Leader 写入流程
</center>
1.
leader vnode 收到应用的数据插入请求,验证 OK,进入下一步;
2.
vnode 将该请求的原始数据包写入数据库日志文件 WAL。如果
walLevel 设置为 2,而且 fsync
设置为 0,TDengine 还将 WAL 数据立即落盘,以保证即使宕机,也能从数据库日志文件中恢复数据,避免数据的丢失;
2.
vnode 将该请求的原始数据包写入数据库日志文件 WAL。如果
`wal_level`
设置为 2,而且
`wal_fsync_period`
设置为 0,TDengine 还将 WAL 数据立即落盘,以保证即使宕机,也能从数据库日志文件中恢复数据,避免数据的丢失;
3.
如果有多个副本,vnode 将把数据包转发给同一虚拟节点组内的 follower vnodes,该转发包带有数据的版本号(version);
4.
写入内存,并将记录加入到 skip list。但如果未达成一致,会触发回滚操作;
5.
leader vnode 返回确认信息给应用,表示写入成功;
...
...
@@ -152,7 +152,7 @@ Leader Vnode 遵循下面的写入流程:
<center>
图 4 TDengine Follower 写入流程
</center>
1.
follower vnode 收到 leader vnode 转发了的数据插入请求。
2.
vnode 将把该请求的原始数据包写入数据库日志文件 WAL。如果
walLevel 设置为 2,而且 fsync
设置为 0,TDengine 还将 WAL 数据立即落盘,以保证即使宕机,也能从数据库日志文件中恢复数据,避免数据的丢失。
2.
vnode 将把该请求的原始数据包写入数据库日志文件 WAL。如果
`wal_level`
设置为 2,而且
`wal_fsync_period`
设置为 0,TDengine 还将 WAL 数据立即落盘,以保证即使宕机,也能从数据库日志文件中恢复数据,避免数据的丢失。
3.
写入内存,更新内存中的 skip list。
与 leader vnode 相比,follower vnode 不存在转发环节,也不存在回复确认环节,少了两步。但写内存与 WAL 是完全一样的。
...
...
@@ -165,7 +165,7 @@ Vnode 会保持一个数据版本号(version),对内存数据进行持久
### 同步复制
对于数据一致性要求更高的场景,异步数据复制提供的最终一致性无法满足要求。因此 TDengine 提供同步复制的机制供用户选择。在创建数据库时,除指定副本数
replica 之外,用户还需要指定新的参数 strict。如果 strict
等于 1,它表示每次 leader 转发给副本时,需要等待半数以上副本达成一致后,才能通知应用,数据在 follower 已经写入成功。如果在一定的时间内,得不到半数以上副本的确认,leader vnode 将返回错误给应用。
对于数据一致性要求更高的场景,异步数据复制提供的最终一致性无法满足要求。因此 TDengine 提供同步复制的机制供用户选择。在创建数据库时,除指定副本数
`replica`
之外,用户还需要指定新的参数
`strict`
。如果
`strict`
等于 1,它表示每次 leader 转发给副本时,需要等待半数以上副本达成一致后,才能通知应用,数据在 follower 已经写入成功。如果在一定的时间内,得不到半数以上副本的确认,leader vnode 将返回错误给应用。
采用同步复制,系统的性能会有所下降,而且 latency 会增加。因为元数据要强一致,mnode 之间的数据同步缺省就是采用的同步复制。
...
...
@@ -183,11 +183,11 @@ TDengine 通过查询函数向用户提供毫秒级的数据获取能力。直
TDengine 采用数据驱动的方式让缓存中的数据写入硬盘进行持久化存储。当 vnode 中缓存的数据达到一定规模时,为了不阻塞后续数据的写入,TDengine 也会拉起落盘线程将缓存的数据写入持久化存储。TDengine 在数据落盘时会打开新的数据库日志文件,在落盘成功后则会删除老的数据库日志文件,避免日志文件无限制地增长。
为充分利用时序数据特点,TDengine 将一个 vnode 保存在持久化存储的数据切分成多个文件,每个文件只保存固定天数的数据,这个天数由系统配置参数
days
决定。切分成多个文件后,给定查询的起止日期,无需任何索引,就可以立即定位需要打开哪些数据文件,大大加快读取速度。
为充分利用时序数据特点,TDengine 将一个 vnode 保存在持久化存储的数据切分成多个文件,每个文件只保存固定天数的数据,这个天数由系统配置参数
`duration`
决定。切分成多个文件后,给定查询的起止日期,无需任何索引,就可以立即定位需要打开哪些数据文件,大大加快读取速度。
对于采集的数据,一般有保留时长,这个时长由系统配置参数
keep
决定。超过这个设置天数的数据文件,将被系统自动删除,释放存储空间。
对于采集的数据,一般有保留时长,这个时长由系统配置参数
`keep`
决定。超过这个设置天数的数据文件,将被系统自动删除,释放存储空间。
给定
days 与 keep 两个参数,一个典型工作状态的 vnode 中总的数据文件数为:向上取整
`(keep/days)+1`
个。总的数据文件个数不宜过大,也不宜过小。10 到 100 以内合适。基于这个原则,可以设置合理的 days。目前的版本,参数 keep 可以修改,但对于参数 days
,一旦设置后,不可修改。
给定
`duration`
与
`keep`
两个参数,一个典型工作状态的 vnode 中总的数据文件数为:向上取整
`(keep/duration)+1`
个。总的数据文件个数不宜过大,也不宜过小。10 到 100 以内合适。基于这个原则,可以设置合理的
`duration`
。目前的版本,参数
`keep`
可以修改,但对于参数
`duration`
,一旦设置后,不可修改。
在每个数据文件里,一张表的数据是一块一块存储的。一张表可以有一到多个数据文件块。在一个文件块里,数据是列式存储的,占用的是一片连续的存储空间,这样大大提高读取速度。文件块的大小由系统参数 maxRows (每块最大记录条数)决定,缺省值为 4096。这个值不宜过大,也不宜过小。过大,定位具体时间段的数据的搜索时间会变长,影响读取速度;过小,数据块的索引太大,压缩效率偏低,也影响读取速度。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录