使用TiDB为Zabbix构建分布式MySQL数据库支持

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 当我们在生产上部署Zabbix进行企业级监控后,随着监控规模的扩大和时间的变化,MySQL逐渐会成为Zabbix的瓶颈,很多大的企业开始着手进行MySQL表分区、数据清理与优化,甚至来实现Zabbix数据库的分库分表。这些都让运维管理的复杂度大大增加。
TiDB介绍

TiDB 是一个分布式 NewSQL 数据库。支持水平扩展、高可用、ACID 事务、SQL 等特性。同时 TiDB 还支持 MySQL 语法和 MySQL 协议。
TiDB项目地址:https://github.com/pingcap/tidb
由PingCAP公司开发并开源:https://github.com/pingcap/tidb
对于熟悉Codis的小伙伴们来说,就更好解释了,就是当初豌豆荚开发Codis的团队出来创业组建的。

TiDB项目架构:

61bd2b9516507f12006d67613f89e0ba.png

TiDB部署

详细的内容请看github上的中文手册。来了解并部署TiDB。
https://github.com/pingcap/docs-cn

TiDB在Zabbix使用中授权注意事项

这里不会去介绍Zabbix Server的安装步骤,有几个注意事项需要说明下。

1.注意:在Tidb授权的时候,不能直接使用grant授权并设置密码。应该使用下面的方式。
MySQL [(none)]> create user 'zabbix'@'192.168.99.0/255.255.255.0' identified by 'zabbix';
Query OK, 1 row affected (0.00 sec)

MySQL [(none)]> grant all on zabbix.* to 'zabbix'@'192.168.99.0/255.255.255.0';
Query OK, 2 rows affected (0.01 sec)

注意:TiDB 支持对用户授权,这里只是支持授权语法,并且记录在系统表中。但是实际上只对 DropTable 语句进行权限检查,对其他的语句并不会做权限检查。实现用户授权主要是为了兼容已有的 MySQL 业务。 请参考:https://github.com/pingcap/docs-cn/blob/master/faq.md

2.TiDB在创建Zabbix表结构的时候会比较慢

当我们初始化安装创建Zabbix表结构的时候,会发现卡住迟迟不动,这主要是TiDB的设计方式,为了数据的一致性和业务不受影响,DDL操作会比较慢。

zcat create.sql.gz | mysql -h 192.168.99.x -P 4000 -uzabbix -pzabbix zabbix

官方是这么介绍的:TiDB 实现了 Google F1 的在线 Schema 变更算法(具体参见 F1 论文 和我们的一篇 Blog)。 一般情况下,DDL 并不是一个频繁的操作,我们首先要保证的是数据的一致性以及线上业务不受影响。一个完整的 DDL 过程会有 2 到 5 个阶段(取决于语句类型),每个阶段至少会执行 2lease 时间,假设 lease 设为 1分钟,对于 Drop Table 语句(需要两个阶段),会执行 22*1 = 4 分钟。除此之外,DDL 的时间还取决其他的条件,比如做 Add Index 操作时,表中已有的数据量是影响 DDL 时间的主要因素。我们也了解过 Google 内部在 F1 上是如何做 DDL,一般是提交给 DBA,DBA 再通过专用的工具执行,执行的时间会很长。

耐心的等待着哦!如果不放心,可以use zabbix;show tables;看看表是不是在不停的增长!喝杯咖啡吧,这可能是一个漫长的过程。

TiDB运维技术交流QQ群:
  • 群名称:TiDB技术交流群
  • 群 号:463640808

d233d0130d79877eebb0d435fe459d4c.jpg
近期我也在不停的测试TiDB,并持续给官方进行反馈,有兴趣的小伙伴环境,加入一起交流TiDB在生产环境中的使用经验。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
12天前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB 分布式版 V2.0,安全可靠的集中分布式一体化数据库管理软件
阿里云PolarDB数据库管理软件(分布式版)V2.0 ,安全可靠的集中分布式一体化数据库管理软件。
|
1月前
|
存储 运维 负载均衡
构建高可用性GraphRAG系统:分布式部署与容错机制
【10月更文挑战第28天】作为一名数据科学家和系统架构师,我在构建和维护大规模分布式系统方面有着丰富的经验。最近,我负责了一个基于GraphRAG(Graph Retrieval-Augmented Generation)模型的项目,该模型用于构建一个高可用性的问答系统。在这个过程中,我深刻体会到分布式部署和容错机制的重要性。本文将详细介绍如何在生产环境中构建一个高可用性的GraphRAG系统,包括分布式部署方案、负载均衡、故障检测与恢复机制等方面的内容。
106 4
构建高可用性GraphRAG系统:分布式部署与容错机制
|
1月前
|
关系型数据库 分布式数据库 数据库
PostgreSQL+Citus分布式数据库
PostgreSQL+Citus分布式数据库
63 15
|
2月前
|
运维 供应链 安全
SD-WAN分布式组网:构建高效、灵活的企业网络架构
本文介绍了SD-WAN(软件定义广域网)在企业分布式组网中的应用,强调其智能化流量管理、简化的网络部署、弹性扩展能力和增强的安全性等核心优势,以及在跨国企业、多云环境、零售连锁和制造业中的典型应用场景。通过合理设计网络架构、选择合适的网络连接类型、优化应用流量优先级和定期评估网络性能等最佳实践,SD-WAN助力企业实现高效、稳定的业务连接,加速数字化转型。
SD-WAN分布式组网:构建高效、灵活的企业网络架构
|
1月前
|
监控 算法 网络协议
|
1月前
|
存储 监控 大数据
构建高可用性ClickHouse集群:从单节点到分布式
【10月更文挑战第26天】随着业务的不断增长,单一的数据存储解决方案可能无法满足日益增加的数据处理需求。在大数据时代,数据库的性能、可扩展性和稳定性成为企业关注的重点。ClickHouse 是一个用于联机分析处理(OLAP)的列式数据库管理系统(DBMS),以其卓越的查询性能和高吞吐量而闻名。本文将从我的个人角度出发,分享如何将单节点 ClickHouse 扩展为高可用性的分布式集群,以提升系统的稳定性和可靠性。
110 0
|
2月前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
51 0
|
12天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
81 15
|
6天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。

推荐镜像

更多
下一篇
DataWorks