TDengine 是一个开源、高性能、云原生时序数据库,针对物联网 (IoT)、联网汽车和工业物联网进行了优化。它能够高效、实时地摄取、处理和监控每天由数十亿个传感器和数据收集器生成的 TB 甚至 PB 级数据。
TDengine区别于其他时序数据库有以下优势:
高性能:TDengine是唯一解决高基数问题的时序数据库,支持数十亿数据采集点,同时在数据摄取、查询和数据压缩方面优于其他时序数据库。
简化解决方案:TDengine通过内置的缓存、流处理和数据订阅特性,为时序数据处理提供了一个简化的解决方案。它显着降低了系统设计的复杂性和运营成本。
云原生:TDengine通过原生分布式设计、分片分区、计算存储分离、RAFT、支持kubernetes部署和全可观察性,是一个云原生时序数据库,可以部署在公有云、私有云或混合云上。
易用性:对于管理员来说,TDengine 大大减少了部署和维护的工作量。对于开发人员,它提供了一个简单的界面、简化的解决方案和与第三方工具的无缝集成。对于数据用户,它提供了轻松的数据访问。
Easy Data Analytics:TDengine通过超级表、存储计算分离、数据时间间隔分区、预计算等方式,让数据的探索、格式化、访问变得简单高效。
开源:TDengine的核心模块,包括集群功能,都在开源许可下提供。它在 GitHub 上收集了 19.9k 星。有一个活跃的开发者社区,全球有超过 13.9 万个运行实例。
[hidecontent type="logged" desc="隐藏内容:登录后可查看"]
目前TDengine服务器支持运行在Linux/Windows/macOS系统上。任何应用程序也可以选择taosAdapter提供的RESTful接口来连接taosd服务。TDengine支持X64/ARM64 CPU,未来将支持MIPS64、Alpha64、ARM32、RISC-V等CPU架构。
您可以选择通过源码、容器、安装包或Kubernetes安装。本快速指南仅适用于从源安装。
TDengine 提供了一些有用的工具,例如 taosBenchmark(被命名为 taosdemo)和 taosdump。它们是 TDengine 的一部分。TDengine编译默认不包含taosTools。您可以使用cmake .. -DBUILD_TOOLS=true
使它们与 TDengine 一起编译。
要构建 TDengine,请在项目目录中使用CMake 3.0.2 或更高版本。
sudo apt-get install -y gcc cmake build-essential git libssl-dev
要在 Ubuntu/Debian 上构建taosTools,需要安装以下软件包。
sudo apt install build-essential libjansson-dev libsnappy-dev liblzma-dev libz-dev zlib1g pkg-config
sudo yum install epel-release
sudo yum update
sudo yum install -y gcc gcc-c++ make cmake3 git openssl-devel
sudo ln -sf /usr/bin/cmake3 /usr/bin/cmake
sudo dnf install -y gcc gcc-c++ make cmake epel-release git openssl-devel
sudo yum install -y zlib-devel zlib-static xz-devel snappy-devel jansson jansson-devel pkgconfig libatomic libatomic-static libstdc++-static openssl-devel
sudo yum install -y epel-release
sudo yum install -y dnf-plugins-core
sudo yum config-manager --set-enabled powertools
sudo yum install -y zlib-devel zlib-static xz-devel snappy-devel jansson jansson-devel pkgconfig libatomic libatomic-static libstdc++-static openssl-devel
注意:由于snappy缺少pkg-config支持(参考链接),导致cmake提示libsnappy not found。但是 snappy 仍然运行良好。
如果PowerTools安装失败,可以尝试使用:
sudo yum config-manager --set-enabled powertools
brew install argp-standalone pkgconfig
TDengine包含了一些Go语言开发的taosAdapter等组件。golang环境设置请参考golang.org官方文档。
请使用 1.14+ 版本。对于中国用户,我们建议使用代理加速包下载。
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
默认不会构建taosAdapter,但是你可以使用下面的命令构建taosAdapter作为RESTful接口的服务。
cmake .. -DBUILD_HTTP=false
TDengine 包含了一些使用 Rust 语言开发的组件。Rust 环境设置请参考 rust-lang.org 官方文档。
首先,您可以从 github 上克隆源代码:
git clone https://github.com/taosdata/TDengine.git
cd TDengine
您可以修改文件 ~/.gitconfig 以使用 ssh 协议而不是 https 以获得更好的下载速度。您需要先将 ssh 公钥上传到 GitHub。详细请参考GitHub官方文档。
[url "git@github.com:"]
insteadOf = https://github.com/
JDBC 连接器、Go 连接器、Python 连接器、Node.js 连接器、C# 连接器、Rust 连接器和Grafana 插件已移至独立存储库。
您可以运行 bash 脚本build.sh
来构建 TDengine 和 taosTools,包括 taosBenchmark 和 taosdump,如下所示:
./build.sh
相当于执行以下命令:
mkdir debug
cd debug
cmake .. -DBUILD_TOOLS=true
make
您可以使用 Jemalloc 作为内存分配器而不是 glibc:
apt install autoconf
cmake .. -DJEMALLOC_ENABLED=true
TDengine构建脚本可以检测主机在X86-64、X86、arm64平台上的架构。如果检测结果不正确,你也可以像 aarch64 一样指定 CPUTYPE 选项:
aarch64:
cmake .. -DCPUTYPE=aarch64 && cmake --build .
如果您使用 Visual Studio 2013,请通过执行“cmd.exe”打开一个命令窗口。请在执行 vcvarsall.bat 时为 64 位 Windows 指定“amd64”或为 32 位 Windows 指定“x86”。
mkdir debug && cd debug
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" < amd64 | x86 >
cmake .. -G "NMake Makefiles"
nmake
如果您使用 Visual Studio 2019 或 2017:
请通过执行“cmd.exe”打开一个命令窗口。请在执行 vcvarsall.bat 时为 64 位 Windows 指定“x64”或为 32 位 Windows 指定“x86”。
mkdir debug && cd debug
"c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" < x64 | x86 >
cmake .. -G "NMake Makefiles"
nmake
或者,您只需单击 Windows 开始 ->“Visual Studio < 2019 | 2017 >”文件夹 ->“x64 Native Tools Command Prompt for VS <2019 | 2017 >”或“x86 Native Tools Command Prompt for VS”即可打开命令窗口< 2019 | 2017 >”看你的Windows是什么架构,然后执行命令如下:
mkdir debug && cd debug
cmake .. -G "NMake Makefiles"
nmake
请安装 XCode 命令行工具和 cmake。在 Catalina 和 Big Sur 上使用 XCode 11.4+ 验证。
mkdir debug && cd debug
cmake .. && cmake --build .
搭建成功后,可以通过以下方式安装TDengine
sudo make install
用户可以在目录和文件部分找到有关系统上安装的目录的更多信息。
从源代码安装也会为TDengine配置服务管理,用户也可以选择从包安装。
要在安装后启动服务,请在终端中使用:
sudo systemctl start taosd
然后用户可以使用 TDengine CLI 连接 TDengine 服务器。在终端中,使用:
taos
如果TDengine CLI连接服务器成功,会打印欢迎信息和版本信息。否则,将显示一条错误消息。
构建成功后,可以通过以下方式安装TDengine:
nmake install
构建成功后,可以通过以下方式安装TDengine:
sudo make install
用户可以在目录和文件部分找到有关系统上安装的目录的更多信息。
从源代码安装也会为TDengine配置服务管理,用户也可以选择从包安装。
要在安装后启动服务,双击 /applications/TDengine 启动程序,或在终端中使用:
launchctl start com.tdengine.taosd
然后用户可以使用 TDengine CLI 连接 TDengine 服务器。在终端中,使用:
taos
如果TDengine CLI连接服务器成功,会打印欢迎信息和版本信息。否则,将显示一条错误消息。
如果您不想将 TDengine 作为服务运行,您可以在当前 shell 中运行它。例如搭建完成后快速启动一个TDengine服务器,在终端运行如下命令:(我们以Linux为例,Windows下的命令为taosd.exe
)
./build/bin/taosd -c test/cfg
在另一个终端,使用 TDengine CLI 连接服务器:
./build/bin/taos -c test/cfg
选项“-c test/cfg”指定系统配置文件目录。
从 TDengine CLI 运行 SQL 命令很容易,这与其他 SQL 数据库相同。
CREATE DATABASE demo;
USE demo;
CREATE TABLE t (ts TIMESTAMP, speed INT);
INSERT INTO t VALUES('2019-07-15 00:00:00', 10);
INSERT INTO t VALUES('2019-07-15 01:00:00', 20);
SELECT * FROM t;
ts | speed |
===================================
19-07-15 00:00:00.000| 10|
19-07-15 01:00:00.000| 20|
Query OK, 2 row(s) in set (0.001700s)
[/hidecontent]