猿创征文|国产数据库,我看好分布式数据库 TiDB

时间:2022-10-16 22:54:06

猿创征文|国产数据库,我看好分布式数据库 TiDB

前言

每当提及我们国家必须要自主掌握和创新的一些关键核心技术,相信大多数人都会优先考虑到芯片,但其实还有一种非常核心的 IT 技术也至关重要,那就是 数据库

面对中国这样的人口大国,人们生活中的每一个角落、每一秒都在产生着海量数据。那么面对如此庞大的数据体量,数据库的处理是否安全可靠便成了重中之重,对数据库处理能力的安全性、可靠性的要求极高。

在业务爆发式增长的过程中,很多企业面临的一大难题就是面对庞大的数据体系,基于 MySQL 构建的传统的关系型数据库服务,已不能再满足复杂的数据库存储、管理与运维。所以分布式数据库应运而生,TiDB 便是其典型代表,也可以称得上是国产数据库的佼佼者。

那么什么叫分布式数据库呢?

首先,分布式数据库是由多个数据节点组成的,当数据想要增加算力时,那么只需增加数据节点即可,这也叫数据库的水平拓展。通俗的讲,分布式与集中式的区别在于,集中式数据库的拓展不会增加系统成员数量,但是这个成员所需要承担的任务会更多更重;分布式数据库则不会改变原有成员的工作量,而是会再增加若干系统成员 —— 人多力量大。

除此之外,随着数字经济蓬勃发展,高并发成为了当前最大挑战。当需求量巨大或者响应要求高时,传统集中式的结构很难拓展,这时就需要分布式结构的数据库“大显身手”了。简单来说就是,数据量越大,分布式的优势越明显


认识 TiDB

TiDB 是一个分布式的、具备水平扩展能力、支持 HTAP 及 AICD 事务的关系型数据库,是一款定位于在线事务处理/在线分析处理的数据库产品,实现了一键水平伸缩、强一致性的多副本数据安全、分布式事务等重要功能,同时兼容 Mysql 协议和生态。也可以将它理解为 Mysql 增强版。

面对当下云原生体系的不断发展,传统数据库诸如资源难以动态伸缩、单点问题、吞吐量受限、单表海量数据性能存在瓶颈等不足愈发明显,TiDB 则很好的弥补了这些不足。

TiDB 主要有以下特性:

分布式:系统在物理上是分布的,但在逻辑上是集中的。从架构上来看 TiDB 的计算节点、和存储节点是分离的,两者互不干扰,即使某一节点挂掉,也不会影响到其他部分的工作。

支持水平扩缩容:这个特性可以说是分布式数据库最基本的要求,TiDB 允许用户按需对计算、存储分别进行在线的扩容或缩容,避免 资源不足资源浪费 的问题。

高可用:通常指通过设计减少系统不能提供服务的时间,也就是做到 冗余 以及 自动故障转移

HTAP:混合事务分析处理,即联机事务处理(OLTP)、联机分析处理(OLAP)的混合版,可同时实现两种功能。

猿创征文|国产数据库,我看好分布式数据库 TiDB

ACID 事务:ACID 事务指数据库在写入资料的过程中,为保证事务正确可靠所必须具备的 原子性一致性隔离性持久性

SQL 支持:兼容 Mysql 5.7 协议和 Mysql 生态。由于 TiDB 和 MySQL 语法和特性高度兼容,几乎不需要任何改动,就能完成数据库从 MySQL 到 TiDB 的转换。

猿创征文|国产数据库,我看好分布式数据库 TiDB

正是这些特性,使得 TiDB 成为了云原生数据库的佼佼者,更加契合云原生架构。


实操演示:本地安装和部署 TiDB

那么在我们的服务器中,应如何安装和使用 TiDB 呢?TiDB 支持主流 Linux 操作系统环境,在这里我使用 CentOS 虚拟机演示如何去部署一个本地的 TiDB 实例。

第一步:TiUP 的安装

在各种软件的安装过程中,都少不了包管理工具的应用,例如 CentOS 的 yum。同样的,TiDB 4.0 开始引进了一个新的工具 TiUP,它就承担着 包管理器 的角色。

部署 TiDB 集群第一步要先安装 TiUP,执行一行指令即可;

curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

如下;

猿创征文|国产数据库,我看好分布式数据库 TiDB

安装完成后,执行提示的指令 source /root/.bash_profile to use it,然后就可以使用 tiup;

如下使用 tiup --version 查看 tiup 版本信息。

猿创征文|国产数据库,我看好分布式数据库 TiDB
出现版本信息,说明 TiUP 安装成功。

第二步:使用 tiup playground 启动一个 TiDB 实例

安装 TiUP 后就可以使用 tiup playground 相关指令了,tiup playground 包含以下常用操作;

#启动集群
tiup playground v4.0.0 --kv 3 --pd 3 --db 3 --monitor
#查看集群
tiup playground display
#扩容集群
tiup playground scale-out--pd 1
#缩容集群
tiup playground scale-in --pid <pid>

我们使用 tiup playground 启动一个本地 TiDB;

tiup playground v4.0.0 --kv 1 --pd 1 --db 1 --monitor

首次启动时,需要下载一些新的东西所以速度稍慢。出现绿色代码即启动成功,且处于启动状态;

猿创征文|国产数据库,我看好分布式数据库 TiDB
接下来新开一个窗口,使用提示的连接命令连接 TiDB 数据库;

猿创征文|国产数据库,我看好分布式数据库 TiDB

扩容缩容等其他操作使用相关指令即可。


TiDB 不仅功能强大,且与 Mysql 高度兼容,操作简单,数不清的优点使得 TiDB 在众多国产数据库中脱颖而出。美团点评数据库专家团队曾对 TiDB 做出了高度评价:

“我们看好 TiDB 的发展,未来会加速推进 TiDB 在更多业务系统中的使用。”