网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
前言
每当提及我们国家必须要自主掌握和创新的一些关键核心技术,相信大多数人都会优先考虑到芯片,但其实还有一种非常核心的 IT 技术也至关重要,那就是 数据库
。
面对中国这样的人口大国,人们生活中的每一个角落、每一秒都在产生着海量数据。那么面对如此庞大的数据体量,数据库的处理是否安全可靠便成了重中之重,对数据库处理能力的安全性、可靠性的要求极高。
在业务爆发式增长的过程中,很多企业面临的一大难题就是面对庞大的数据体系,基于 MySQL 构建的传统的关系型数据库服务,已不能再满足复杂的数据库存储、管理与运维。所以分布式数据库应运而生,TiDB
便是其典型代表,也可以称得上是国产数据库的佼佼者。
那么什么叫分布式数据库呢?
首先,分布式数据库是由多个数据节点组成的,当数据想要增加算力时,那么只需增加数据节点即可,这也叫数据库的水平拓展。通俗的讲,分布式与集中式的区别在于,集中式数据库的拓展不会增加系统成员数量,但是这个成员所需要承担的任务会更多更重;分布式数据库则不会改变原有成员的工作量,而是会再增加若干系统成员 —— 人多力量大。
除此之外,随着数字经济蓬勃发展,高并发
成为了当前最大挑战。当需求量巨大或者响应要求高时,传统集中式的结构很难拓展,这时就需要分布式结构的数据库“大显身手”了。简单来说就是,数据量越大,分布式的优势越明显。
认识 TiDB
TiDB 是一个分布式的、具备水平扩展能力、支持 HTAP 及 AICD 事务的关系型数据库,是一款定位于在线事务处理/在线分析处理的数据库产品,实现了一键水平伸缩、强一致性的多副本数据安全、分布式事务等重要功能,同时兼容 Mysql 协议和生态。也可以将它理解为 Mysql 增强版。
面对当下云原生体系的不断发展,传统数据库诸如资源难以动态伸缩、单点问题、吞吐量受限、单表海量数据性能存在瓶颈等不足愈发明显,TiDB 则很好的弥补了这些不足。
TiDB 主要有以下特性:
分布式:系统在物理上是分布的,但在逻辑上是集中的。从架构上来看 TiDB 的计算节点、和存储节点是分离的,两者互不干扰,即使某一节点挂掉,也不会影响到其他部分的工作。
支持水平扩缩容:这个特性可以说是分布式数据库最基本的要求,TiDB 允许用户按需对计算、存储分别进行在线的扩容或缩容,避免 资源不足
和 资源浪费
的问题。
高可用:通常指通过设计减少系统不能提供服务的时间,也就是做到 冗余
以及 自动故障转移
。
HTAP:混合事务分析处理,即联机事务处理(OLTP)、联机分析处理(OLAP)的混合版,可同时实现两种功能。
ACID 事务:ACID 事务指数据库在写入资料的过程中,为保证事务正确可靠所必须具备的 原子性
、一致性
、隔离性
、持久性
。
SQL 支持:兼容 Mysql 5.7 协议和 Mysql 生态。由于 TiDB 和 MySQL 语法和特性高度兼容,几乎不需要任何改动,就能完成数据库从 MySQL 到 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
如下;
安装完成后,执行提示的指令 source /root/.bash_profile to use it
,然后就可以使用 tiup;
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**