• TiDB 数据库架构概述


    TiDB 数据库架构概述

    TiDB体系架构

    • 水平扩容或者缩容
    • 金融级高可用
    • 实时HTAP
    • 云原生的分布式数据
    • 兼容MYSQL5.7

    Region:存储单位,96~144MB之间,分布式存储在TiKV中

    TiKV:默认三副本,将分布式数据存储,并进行存储副本。分布式事务,MCC原理。可以通过添加TIKV的节点数量进行扩容。

    PD:集群的大脑,SQL执行 要到PD去查询我的数据region在两个或者三个TiKV当中。 查询sql的开始时间,以标识(TSO)时间戳来标识。开始TSO和结束TSOPD提供。

    TiDB Server

    • 处理客户端的连接
    • SQL语句的解析和编译,生成执行语句,如果是INSERT,将数据转成键值对,存成region到TiKV当中
    • 关系型数据库与KV的转化
    • SQL语句的执行
    • 执行online DDL,(建表,建索引等操作)
    • 垃圾回收,GC机制:默认十分钟回收

    TiKV

    • 数据持久化,内部使用rocksDB数据库进行数据持久化。单机引擎
    • 副本的强一致性和高可用性 Raft协议
    • MVCC(多版本并发控制)
    • 分布式事务支持,Transaction
    • Coprocessor(算子下推),投影、聚合,分布式计算的一个模型

    单机:

    rocksdbraft:存储指令,将所有指令先存储到这里。

    rocksdbkv:存储键值对

    由这两个做到数据持久化。OLTP业务。

    image-20221115113057068

    三个副本有一个leader角色,只有leader副本才能够进行修改。通过Raft协议,子副本和leader同步数据。

    PD

    • 整个集群TiKV的元数据存储
    • 分配全局ID和事务的ID
    • 生成全局的时间戳TSO
    • 手机群信息进行调度,TiKV及时上报
    • 提供TiDB Dashboard服务

    TiFlash

    image-20221115113828640

    和TiKV是实时一致的。

    • 异步复制
    • 一致性
    • 列式存储提高分析查询效率
    • 业务隔离
    • 智能选择

    承载OLAP分析型业务。

    HTAP=OLAP+OLTP

  • 相关阅读:
    如何写测试方案
    监控格式化了还能恢复吗?
    【Python】Python环境安装与简单代码运行
    基于FPGA的FIR滤波器的设计与实现
    docker管理之consul注册中心
    使用Apache Doris自动同步整个 MySQL/Oracle 数据库进行数据分析
    OSEK标准ISO_17356汇总介绍
    安装elasticsearch
    Au 效果器详解:母带处理
    Centos7 + Apache Ranger 2.4.0 部署
  • 原文地址:https://blog.csdn.net/weixin_51009975/article/details/127863104