英语|简体中文 |道明云|了解有关 TSDB 的更多信息
TDengine 是一个开源、高性能、云原生时间序列数据库,针对物联网 (IoT)、联网汽车和工业物联网进行了优化。它支持每天高效、实时地摄取、处理和监控由数十亿个传感器和数据收集器生成的 TB 甚至 PB 级数据。TDengine与其他时间序列数据库的不同之处在于以下优点:
高性能:TDengine 是唯一解决高基数问题的时间序列数据库,支持数十亿个数据收集点,同时优于其他时间序列数据库的数据摄取、查询和数据压缩。
简化解决方案:通过内置缓存、流处理和数据订阅功能,TDengine为时序数据处理提供了简化的解决方案。它大大降低了系统设计的复杂性和运营成本。
云原生:通过原生分布式设计、分片分区、计算与存储分离、RAFT、支持 kubernetes 部署和完全可观测性,TDengine 是云原生时序数据库,可以部署在公有云、私有云或混合云上。
易用性:对于管理员来说,TDengine 大大减少了部署和维护的工作量。对于开发人员来说,它提供了简单的界面、简化的解决方案和第三方工具的无缝集成。对于数据用户,它提供了轻松的数据访问。
轻松的数据分析:通过超级表、存储和计算分离、时间间隔数据分区、预计算等方式,TDengine 可以轻松高效地探索、格式化和访问数据。
开源:TDengine的核心模块,包括集群功能,都可以在开源许可下获得。它在GitHub上聚集了19.9k星。有一个活跃的开发人员社区,全球有超过 139k 个正在运行的实例。
有关TDengine竞争优势的完整列表,请查看此处。体验TDengine的最简单方法是通过TDengine云。
有关用户手册、系统设计和架构,请参阅TDengine文档(TDengine文档)
目前,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。你可以使用 使它们与 TDengine 一起编译。
cmake .. -DBUILD_TOOLS=true
要构建 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 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 xz-devel snappy-devel jansson jansson-devel pkgconfig libatomic 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 xz-devel snappy-devel jansson jansson-devel pkgconfig libatomic libstdc++-static openssl-devel
注意:由于 snappy 缺乏 pkg 配置支持(参考链接),它会导致 cmake 提示符 libsnappy 找不到。但活泼仍然很好用。
如果 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-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 Connector、Go Connector、Python Connector、Node.js Connector、C# Connector、Rust Connector 和 Grafana 插件已移至独立存储库。
你可以运行 bash 脚本来构建 TDengine 和 taosTools,包括 taosBenchmark 和 taosdump,如下所示:
build.sh
./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 平台上的架构。如果检测结果不正确,你也可以指定 CPUTYPE 选项,如 aarch64:
aaarch64:
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本机工具命令提示符VS < 2019 |2017 >“或”VS < 2019 |的 x86 本机工具命令提示符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)
TDengine为用户提供了丰富的开发工具,以便在TDengine上进行开发。点击以下链接查找所需的连接器和相关文档。
请遵循贡献指南为项目做出贡献。
有关TDengine的更多信息,你可以在社交媒体上关注我们并加入我们的Discord服务器: