一、框架的概念理解
之所以先介绍这块,是由于建库建表配置参数时需要用到,对参数的理解才能更好发挥数据库的性能与数据的高可用,可能理解的不够透彻,欢迎指正,先上官网的介绍:
整体架构 | TDengine 文档 | 涛思数据 (taosdata.com)
二、建库建表
- 创建数据库
时序数据库创建过程中附带了很多属性值,这些属性值直接影响到数据库使用性能及数据维护等,因此在上生产环境前需要根据需要配置属性值以确保数据库使用的高效性;
--一个数据库对应一个数据节点实例dnode,dnode下有多个虚拟节点vnode与逻辑管理节点的mnode,vgroup用于管理vnode,
--1、【数据库创建】
--注意配置对应的参数:vgroups 设置数据库初始的vgroup数目,按照cpu核数*2设置,
-- replica 副本数默认为1,集群中副本数必须小于或等于 DNODE 的数目
-- buffer 表示每个vnode的写入缓存数,单位MB,默认是256
-- keep 表示数据文件保存的天数,缺省值为 3650
-- 数据库创建语句:
create stable IF NOT EXISTS sczkdb replica 1 vgroups 4 buffer 20 keep 90d
- 创建超级表
超级表的创建必须包含一个时间戳列、一个tag列、一个数据列
单晶中控原始采集表对应TDengine超级表创建语句:
create STABLE test_rawdata (nowtime TIMESTAMP,eq_code NCHAR(15),status int,workcode NCHAR(30),param_1 int,param_2 double,param_3 double,
)TAGS (location binary(64),department binary(64),workshop binary(64),largearea binary(64),smallarea binary(64))
- 创建子表
-- 子表创建依赖与超级表,指定对应的tags列信息,相当于子表的注释说明,在超级表查询中可用于数据过滤条件;
子表创建语句:
create table if not exists testdb.table_A01 using testdb.test_rawdata TAGS('deptA','生产一部','一车间','A1','A01')if not exists testdb.table_A02 using testdb.test_rawdata TAGS('deptB','生产一部','一车间','A1','A02')