Timescale简介
TimescaleDB 是一个时间序列数据库,建立在 PostgreSQL 之上。然而,不仅如此,它还是时间序列的关系数据库。使用 TimescaleDB 的开发人员将受益于专门构建的时间序列数据库以及经典的关系数据库 (PostgreSQL),所有这些都具有完整的 SQL 支持。
TimescaleDB 具有以下特点
1. 基于时序优化
2. 自动分片(自动按时间、空间分片(chunk))
3. 全 SQL 接口
4. 支持垂直于横向扩展
5. 支持、空间维度自动分区。指属性字段(例如传感器 ID,用户 ID 等)
6. 支持多个 SERVER,多个 CHUNK 的并行查询。分区在 TimescaleDB 中被称为 chunk。
7. 自动调整 CHUNK 的大小
8. 内部写优化(批量提交、内存索引、事务支持、数据倒灌)。
内存索引,因为比较适中,所以索引基本上都不会被交换出去,写性能比较好。
数据倒灌,因为有些传感器的数据可能写入延迟,导致需要写以前的 chunk,timescaleDB 允许这样的事情发生(可配置)。
9. 复杂查询优化(根据查询条件自动选择 chunk,最近值获取优化(最小化的扫描,类似递归收敛),limit 子句 pushdown 到不同的 server,chunks,并行的聚合操作)
10. 利用已有的 PostgreSQL 特性(支持 GIS,JOIN 等),方便的管理(流复制、PITR)
11. 支持自动的按时间保留策略(自动删除过旧数据)
cmake安装
选择合适的版本安装 https://cmake.org/download/
先安装cmake
上传压缩包
cmake-3.22.0.tar.gz
解压
tar xvf cmake-3.22.0.tar.gz
cd cmake-3.22.0/
./bootstrap
gmake
gmake install
查看编译后的cmake版本
/usr/local/bin/cmake --version
移除原来的cmake版本
yum remove cmake -y
新建软连接
ln -s /usr/local/bin/cmake /usr/bin/
终端查看版本
cmake --version
Timescale源码安装
时序数据库:TimescaleDB的安装
安装好cmake 3.4+
TimescaleDB的编译是基于 cmake 3.4以上的版本
安装好依赖:
yum install gcc-c++
上传 源码包 timescaledb-master.zip
unzip timescaledb-master.zip
cd timescaledb-master
export PATH=/opt/pgsql/bin:$PATH
git checkout 2.5.1
./bootstrap
cd ./build && make
make install
配置并创建扩展
vi postgresql.conf
CREATE EXTENSION IF NOT EXISTS timescaledb;