PingCAP TiDB数据库专员PCTA认证笔记

tidb-pcta-note

PingCAP TiDB数据库专员PCTA认证笔记

相关链接

官网认证中心
TiDB社区

体系架构

数据库设计

存算分离。三层架构:PD(Placement Driver)负责集群元信息管理和调度,TiDB负责sql计算,TiKV负责存储

存储引擎

1、基于LSM-Tree的RocksDB引擎,比B-Tree写入更快,用空间置换写入延迟
2、数据冗余副本:multi raft-group副本机制。基于raft,比Paxos更简单
3、弹性扩展:数据动态分片而不是预先分片,使用基于range范围的分片算法

sql计算引擎

1、分布式事务模型:MVCC,去中心化两阶段提交。事务默认隔离级别是SI(快照隔离),也支持RC(read commit)
2、计算:协作处理器Coprocessor
3、在kv上实现逻辑表:key=tableid+rowid+indexid,value=所有列按等位偏移的方式进行connect进行连接

HATP

1、针对OLAP引入Ti-spark,避免OOM,缓解算力问题
2、列式引擎上引入了delta tree,实现准实时更新的列式引擎Ti-flash用于OLAP数据副本
3、副本同步到列式引擎:Ti-Flash以Raft Learner的方式接入Multi-Raft组,使用异步方式传输数据,将行格式拆解为列格式
4、MPP解决计算节点的扩展与并行计算:OLAP的场景引入MPP并行计算框架

集群管理

集群部署

1、TiUP工具集群运维工具
2、安装顺序TiUP->TiUP cluster->配置集群拓扑文件->check检查配置参数->deploy部署->start启动->display查看运行状态
3、集群启动顺序PD->TiKV->TiDB->TiFlash,停止顺序反向

对mysql支持

1、支持类mysql 5.7协议连接客户端
2、不支持mysql存储过程、触发器、外键、函数等

TiDB参数

参数配置
1、系统参数配置:通过客户端连接修改,只针对tidb-server参数,配置参数持久化到TiKV
2、集群参数配置:通过tiup cluster edit-config命令修改,针对PD、TiKV、tidb-server等配置参数,保存在各自节点的配置文件中。配置后重启节点才生效。
系统参数作用域
1、global全局级别:不影响当前回话,影响新回话
2、session回话级别:立即生效,只影响当前回话,回话断开后失效

扩缩容

1、扩容scale-out,缩容scale-in
2、TiDB、TiKV、PD方式一样
3、TiFlash需要先根据剩余节点数调整数据库表的副本数

集群升级

1、只针对cluster,不是kv、db等
2、补丁升级:patch
3、大版本升级:不支持跨版本。升级TiUP->修改集群拓扑文件配置参数使得适应新版本->集群健康状态检查->升级->验证
4、升级方式:不支持回退。upgrade默认不停机,也可停机离线升级--offline
5、升级报错中断:audit查看失败日志,replay继续上次升级

用户管理

1、用户和角色都存在mysql.users表
2、角色没有账号密码,能包含其他角色,能像用户一样授权
3、角色是被锁住的,用户登录后要用命令开启被赋予的角色

文件与日志管理

1、每个组件都有日志文件、配置文件
2、tidb-server没有数据文件
3、tiup cluster edit-config命令查看配置

监控

1、额外安装:Grafana展示+Prometheus采集+Alertmanager告警,关注集群状态信息
2、4.0后Dashboard监控体系,没有告警功能,安装PD节点后自带无需独立部署,主要关注sql性能检测和诊断等。

数据备份

备份策略

1、热备:可读写,不停机。备份时影响性能。
2、温备:可读不可写,不停机。备份时影响性能。
3、冷备:不可读写,停机拷贝文件。也是物理备份。要容忍宕机,成本低。
1、逻辑备份:导出sql或csv文件,可在异构数据库或系统迁移。适合小数据,速度慢。
2、物理备份:复制二进制数据文件,只能迁移到相同存储引擎,可以跨机器架构。适合大数据,速度快。
3、基于复制的备份:binlog日志主从同步的异步复制,需要增加从库成本,但消除对注主库的性能影响。

TiDB BR工具

1、数据备份和恢复,只针对TiDB
2、Backup可全量、增量导出
3、Restore可全量、增量导入
4、数据量较大,热备,物理备份
5、直接拷贝TiKV 键值对SST文件
6、支持数据一致性检查
7、粒度为db实例、某表
8、由TiKV里的各Region Leader负责

数据迁移

TiDB Dumpling工具

1、只能全量导出
2、数据量较小,热备,逻辑备份
3、连接tidb-server
4、导出sql或csv文件,可在异构数据库或系统迁移
5、粒度到某行数据,可根据where条件过滤

TiDB Lightning工具

1、全量导入,只针对TiDB
2、数据源是Dumpling的导出,连接tidb-server
3、后端backend:Local-backend不用转储高版本4.0后适用,Importer-backend要转储和额外组件,TiDB-backend所有版本都可以且目标表可以不为空生产环境建议使用
4、主要功能:断点续传,库表过滤,并行导入,web界面管理任务

同步与复制

TiDB Data Migration工具

1、全量和增量同步,异步。从mysql协议数据库同步到TiDB
2、根据binlog同步,可以表过滤、表操作过滤(如只针对insert语句)
3、可针对分库分表合并,可以异构表迁移(列不一样)
4、集群部署,dmctl控制,dm-master调度,dm-worker执行任务

TiDB Binlog工具

1、5.0后被TiCDC替代
2、全量同步,逻辑备份。从tidb-server获取binlog row模式日志实现同步,下游可以是kafka、TiDB、类mysql、本地文件
3、集群部署,binlogctl控制,Pump记录binlog并按时间排序,再由Drainer将日志归并转换为结构化数据传给下游
4、日志只记录提交的事务,按提交时间,只有增删改没有查日志

TiDB CDC工具

1、增量同步,异步复制。从TiKV获取变更日志,下游是类mysql和kafka
2、集群部署,各节点的capture组件部分拉取(默认并发),master节点合并排序
3、限制:表必须有索引

笔记下载链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/890470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

建投数据与腾讯云数据库TDSQL完成产品兼容性互认证

近日,经与腾讯云联合测试,建投数据自主研发的人力资源信息管理系统V3.0、招聘管理系统V3.0、绩效管理系统V2.0、培训管理系统V3.0通过腾讯云数据库TDSQL的技术认证,符合腾讯企业标准的要求,产品兼容性良好,性能卓越。 …

电力通信规约-104实战

电力通信规约-104实战 概述 104规约在广泛应用于电力系统远动过程中,主要用来进行数据传输和转发,本文将结合实际开发实例来讲解104规约的真实使用情况。 实例讲解 因为个人技术栈是Java,所以本篇将采用Java实例来进行讲解。首先我们搭建一…

【3D打印机】启庞KP3S热床加热失败报错err6

最近天冷,打印机预热突然失败,热床无法加热,过了一段时间报错err6,查看另一篇资料说是天气冷原因,导致代码的PID控温部分达不到预期加热效果,从而自检报错,然后资料通过修改3D打印机代码的方式进…

SpiderFlow平台v0.5.0流程的执行过程

流程执行过程: 1. 流程启动 流程的执行通常从一个 开始节点 开始,该节点是整个爬虫任务的起点。开始节点没有实际的功能作用,主要作用是标记流程的起始。 执行顺序:在执行过程中,系统按照流程中的连接线顺序依次执行…

MySQL追梦旅途之慢查询分析建议

一、找到慢查询 查询是否开启慢查询记录 show variables like "%slow%";log_slow_admin_statements: 决定是否将慢管理语句(如 ALTER TABLE 等)记录到慢查询日志中。 log_slow_extra : MySQL 和 MariaDB 中的一个系…

Liveweb视频融合共享平台在果园农场等项目中的视频监控系统搭建方案

一、背景介绍 在我国的大江南北遍布着各种各样的果园,针对这些地处偏僻的果园及农场等环境,较为传统的安全防范方式是建立围墙,但是仅靠围墙仍然无法阻挡不法分子的有意入侵和破坏,因此为了及时发现和处理一些难以察觉的问题&…

Debezium日常分享系列之:Debezium 3.0.5.Final发布

Debezium日常分享系列之:Debezium 3.0.5.Final发布 重大变化Kafka信号源变更事件源信息块 新功能和改进核心允许在未知表上进行临时阻塞快照快照分发失败处理改进连接器启动配置日志改进 Postgres支持PostgreSQL 17的故障转移复制槽 Oracle跟踪部分回滚事件的新指标…

【Jenkins】持久化

文章目录 持续集成CI持续部署CD部署部署到linux服务器 持续集成好处: 持续集成CI 持续集成(Continuous integration,简称CI)指的是频繁地(一天多次)将代码集成到主干。 持续集成的目的就是让产品可以快速…

领域自适应

领域自适应(Domain Adaptation)是一种技术,用于将机器学习模型从一个数据分布(源域)迁移到另一个数据分布(目标域)。这在源数据和目标数据具有不同特征分布但任务相同的情况下特别有用。领域自适…

从零创建一个 Django 项目

1. 准备环境 在开始之前,确保你的开发环境满足以下要求: 安装了 Python (推荐 3.8 或更高版本)。安装 pip 包管理工具。如果要使用 MySQL 或 PostgreSQL,确保对应的数据库已安装。 创建虚拟环境 在项目目录中创建并激活虚拟环境&#xff…

【SH】在Ubuntu Server 24中基于Python Web应用的Flask Web开发(实现POST请求)学习笔记

文章目录 Flask开发环境搭建保持Flask运行Debug调试 路由和视图可变路由 请求和响应获取请求信息Request属性响应状态码常见状态码CookieSession 表单GET请求POST请求 Flask 在用户使用浏览器访问网页的过程中,浏览器首先会发送一个请求到服务器,服务器…

mybatis-plus配置找不到Mapper接口路径的坑

mybatis-plus今天遇到一个问题,就是mybatis 没有读取到mapper.xml 文件。 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.husy.mapper.SystemUserMapper.findUserByName at com.baomidou.mybatisplus.core.override.Myba…

Latex+VsCode+Win10搭建

最近在写论文,overleaf的免费使用次数受限,因此需要使用本地的形式进行编译。 安装TEXLive 下载地址:https://mirror-hk.koddos.net/CTAN/systems/texlive/Images/ 下载完成直接点击iso进行安装操作。 安装LATEX Workshop插件 设置VsCode文…

Linux世界中的指挥家:进程管理

文章一览 前言一、多道程序设计1.1 顺序程序活动的特点1.2 多道程序设计1.3 程序并发执行的特征 二、进程概念2.1 进程定义进程的根本属性: 2.2 进程的基本特征 三、进程状态3.1 进程的基本状态3.2 进程状态的转换3.3 进程族系 四、进程管理命令4.1 查看进程状态4.1…

LLMs之rStar:《Mutual Reasoning Makes Smaller LLMs Stronger Problem-Solvers》翻译与解读

LLMs之rStar:《Mutual Reasoning Makes Smaller LLMs Stronger Problem-Solvers》翻译与解读 导读:这篇论文提出了一种名为rStar的自我博弈互推理方法,用于增强小型语言模型 (SLMs) 的推理能力,无需微调或依赖更强大的模型。rStar…

软件测试面试题和简历模板(面试前准备篇)

一、问题预测 1、让简单介绍下自己(这个不用说了每次面试开场) 面试官,你好,我叫xxx,xx年本科毕业,从事软件测试将近3年的时间。在此期间做过一些项目也积累过一些经验,能够独立地完成软件测试…

BEVFormer论文总结

BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers BEVFormer:利用时空变换从多相机图像中学习鸟瞰表示 研究团队:南京大学、上海AI实验室、香港大学 ​ 代码地址:https://g…

Java爬虫获取1688 item_search_img接口详细解析

概述 1688作为中国领先的B2B电商平台,提供了丰富的API接口供开发者获取商品信息。item_search_img接口允许通过图片搜索商品,这对于需要基于图片进行商品查找的应用场景非常有用。本文将详细介绍如何使用Java爬虫技术获取1688的item_search_img接口数据…

eBPF试一下(TODO)

eBPF程序跟踪linux内核软中断 eBPF (Extended Berkeley Packet Filter) 是一种强大的 Linux 内核技术,最初用于网络数据包过滤,但现在它已经扩展到了多个领域,如性能监控、安全性、跟踪等。eBPF 允许用户在内核中执行代码(以一种安…

《Java 优化秘籍:计算密集型 AI 任务加速指南》

在人工智能蓬勃发展的今天,计算密集型 AI 任务日益增多且要求愈发严苛。Java 作为广泛应用于 AI 领域的编程语言,如何对其代码进行优化以应对这些挑战,成为开发者们关注的焦点。本文将深入探讨针对计算密集型 AI 任务的 Java 代码优化策略&am…