Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
0ec38c7e
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
0ec38c7e
编写于
6月 24, 2022
作者:
G
gccgdb1234
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: add high volume writing
上级
f22c69cd
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
34 addition
and
0 deletion
+34
-0
docs/zh/07-develop/03-insert-data/05-high-volume.md
docs/zh/07-develop/03-insert-data/05-high-volume.md
+34
-0
未找到文件。
docs/zh/07-develop/03-insert-data/05-high-volume.md
0 → 100644
浏览文件 @
0ec38c7e
---
title
:
高效写入
---
## 高效写入原理
本节介绍如何高效地向 TDengine 写入数据。高效写入数据要考虑几个因素:数据在不同表(或子表)之间的分布,即要写入数据的相邻性;单次写入的数据量;并发连接数。一般来说,每批次只向同一张表(或子表)写入数据比向多张表(或子表)写入数据要更高效;每批次写入的数据量越大越高效(但超过一定阈值其优势会消失);同时写入数据的并发连接数越多写入越高效(但超过一定阈值反而会下降,取决于服务端处理能力)。
为了更高效地向 TDengine 写入数据,客户端程序要充分且恰当地利用以上几个因素。在单次写入中尽量只向同一张表(或子表)写入数据,每批次写入的数据量经过测试和调优设定为一个最适合当前系统处理能力的数值,并发写入的连接数同样经过测试和调优后设定为一个最适合当前系统处理能力的数值,以实现在当前系统中的最佳写入速度。同时,TDegnine 还提供了独特的参数绑定写入,这也是一个有助于实现高效写入的方法。
## 场景分析
下面的示例程序展示了这样一个用户场景下如何高效写入数据:
-
TDengine 客户端程序从消息队列或者其它数据源不断读入数据,在示例程序中采用读取数据文件的方式对此进行了模拟
-
单个连接向 TDengine 写入的速度无法与读数据的速度相匹配,因此客户端程序启动多个线程,每个线程都建立了与 TDengine 的连接
-
客户端程序将接收到的数据根据根据所属表(或子表)HASH 到不同的线程,并确保属于某个表(或子表)的数据一定会被一个固定的线程处理
-
各个子线程在接收到设定数量的数据后将该批数据写入 TDengine,并继续处理后面接收到的数据
## Java 示例程序
在 Java 示例程序中采用拼接 SQL 的写入方式。
```
java text=Java 示例程序
##include{}
```
## Python 示例程序
在 Python 示例程序中采用参数绑定的写入方式。
```
python test=Python 示例程序
##include{}
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录