网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
1.基于时序优化
2.自动分片(按时间、空间自动分片(chunk))
3.全SQL接口
4.支持垂直横向扩展
5.支持时间维度、空间维度自动分区。空间维度指属性字段(例如传感器ID,用户ID等)
6.支持多个SERVER,多个CHUNK的并行查询。分区在TimescaleDB中被称为chunk。
7.自动调整CHUNK的大小
8.内部写优化(批量提交、内存索引、事务支持、数据倒灌)。内存索引,因为chunk size比较适中,所以索引基本上都不会被交换出去,写性能比较好。数据倒灌,因为有些传感器的数据可能写入延迟,导致需要写以前的chunk,timescaleDB允许这样的事情发生(可配置)。
9.复杂查询优化(根据查询条件自动选择chunk,最近值获取优化(最小化的扫描,类似递归收敛),limit子句pushdown到不同的server,chunks,并行的聚合操作)
10.利用已有的PostgreSQL特性(支持GIS,JOIN等),方便的管理(流复制、PITR)
11.支持自动的按时间保留策略(自动删除过旧数据)
基础架构
Linux系统配置
cat /etc/redhat-release
CentOS Linuxrelease 7.6.1810 (Core)
安装软件包
yum install epel-release
yum -y install sysstat traceroute net-tools telnet tree net-snmp-utils htop vim lrzsz tcpdump wget git
关闭selinux
永久关闭将配置文件中参数selinux改为disabled
临时关闭setenforce 0
关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
修改ulimit(最大进程数和最大文件打开数)
修改 /etc/security/limits.conf 文件
-
soft nofile 65536
* ```
hard nofile 65536
-
soft nproc 65536
* ```
hard nproc 65536
-
代表针对所有用户
nproc 是代表最大进程数
nofile 是代表最大文件打开数
关闭交换内存优化系统参数
vim /etc/sysctl.conf
vm.swappiness =0
vm.max_map_count= 262144
net.core.somaxconn=65535
net.ipv4.ip_forward= 1
激活设置
sysctl -p
修改完需要重启系统
主机清单
Postgresql部署
timescaledb是 postgres的一个 扩展 插件 , 所以要安装 timescaledb就先要安装 postgres
安装postgresql
yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm
安装客户端
yum install postgresql11
安装服务端
yum install postgresql11-server
初始化数据库并设置为开机自动启动
/usr/pgsql-11/bin/postgresql-11-setup initdb
启动并开机启动
systemctl enable postgresql-11 && systemctl start postgresql-11
### Timescaledb部署
添加timescaledb的yum源
vim etc/yum.repos.d/timescale_timescaledb.repo
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
安装timescaledb插件
yum install -y timescaledb-postgresql-11
配置postgresql.conf 使用postgres启动时加载‘timescaledb’
vim/var/lib/pgsql/11/data/postgresql.confshared_preload_libraries = ‘timescaledb’
重启Postgresql服务
systemctl restart postgresql-11
Postgresyum 安装默认会创建一个postgres的用户
切换到postgres用户
su postgres
执行psql ,进入postgres的命令行
psql
\q退出
在psql命令行修改默认用户密码(默认无密码)
ALTERUSER postgres WITH PASSWORD ‘123456’;
修改postgres的监听地址,默认只能为 本地连接
vi/var/lib/pgsql/11/data/postgresql.conf
listen_addresses = ‘*’
允许所有地址 来连接该数据库
vi/var/lib/pgsql/11/data/pg_hba.conf
host all all 0.0.0.0/0 md5
重启服务
systemctl start postgresql-11
测试数据库远端登录
psql -Upostgres -h 192.168.99.221
注意:ZABBIX Server支持TimescaleDB,Zabbix Proxy不支持TimescaleDB。
ZABBIX TimescaleDB数据库配置
创建zabbix用户并授权
sudo-upostgres psql
create user zabbix with password ‘zabbixpwd123’;
create database zabbix owner zabbix;
grantall privileges on database zabbix to zabbix;
数据库创建
echo"CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo-u postgrespsqlzabbix
以下步骤需要在安装完成zabbix-server执行
导入zabbix数据库
zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz| sudo -u zabbix psql zabbix –h 192.168.99.221
zcat/usr/share/doc/zabbix-server-pgsql*/timescaledb.sql.gz| sudo -u zabbix psql zabbix -h 192.168.99.221
至此zabbixTimescaledb数据库部署完成!
ZABBIX Server部署
配置ZABBIX官方yum数据源(zabbix 4.4 集成nginx rpm 包)
yum localinstall zabbix-nginx-conf-4.4.0-1.el7.noarch.rpm
安装LNMP软件包
#yum install nginx php php-fpm php-mysql –y
启动配置并开机启动
systemctl start nginx && systemctl enable nginx
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
.(img-v5xPux1G-1715731207678)]
[外链图片转存中…(img-K90KwVoY-1715731207678)]
[外链图片转存中…(img-ziC9qNKM-1715731207679)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新