zoukankan      html  css  js  c++  java
  • TiDB

    1.TiDB简介

    最近所接触的项目均用到了TiDB,于是乎查阅官方相关文档研究了下,对TiDB重点知识进行了总结。

    TiDB是PingCAP公司设计的开源分布式HTAP (Hybrid Transactional and Analytical Processing)数据库,结合了传统的 RDBMS和NoSQL的最佳特性。TiDB兼容MySQL,支持无限的水平扩展,具备强一致性和高可用性。TiDB的目标 是为OLTP(OnlineTransactionalProcessing)和OLAP(OnlineAnalyticalProcessing)场景提供一站式的解决方案。

    TiDB特性:

    • 高度兼容MySql

          在绝大部分情况下,无需修改代码即可从MySql迁移至TiDB。

    • 水平弹性扩展

          通过简单地增加新节点就可以实现TiDB的水平扩展。

    • 分布式事务

          TiDB100%支持标准的ACID事务。

    • 真正金融级高可用

          相比于传统主从(M-S)复制方案,基于Raft的多数派选举协议可以提供金融级的100%数据强一致性保 证,且在不丢失大多数副本的前提下,可以实现故障的自动恢复(auto-failover),无需人工介入。

    • 一站式HTAP解决方案

          TiDB作为典型的OLTP行存数据库,同时兼具强大的OLAP性能,配合TiSpark,可提供一站式HTAP解决方案,一份存储同时处理OLTP&OLAP,无需传统繁琐的ETL过程。

    • 云原生SQL数据库

        TiDB是为云而设计的数据库,支持公有云、私有云和混合云,配合TiDBOperator项目可实现自动化运维, 使部署、配置和维护变得十分简单。

    2.TiDB架构

         要深入了解TiDB的水平扩展和高可用特点,首先需要了解TiDB的整体架构。TiDB集群主要包括三个核心组件: TiDB Server,PD Server和TiKV Server。

    TiDB架构图:

                   image

    2.1TiDB Server

    TiDBServer负责接收SQL请求,处理SQL相关的逻辑,并通过PD找到存储计算所需数据的TiKV地址,与TiKV交 互获取数据,最终返回结果。TiDB Server是无状态的,其本身并不存储数据,只负责计算,可以无限水平扩 展,可以通过负载均衡组件(如LVS、HAProxy或F5)对外提供统一的接入地址。

    2.2PD Server

    PlacementDriver(简称PD)是整个集群的管理模块,其主要工作有三个:一是存储集群的元信息(某个Key存储 在哪个TiKV节点);二是对TiKV集群进行调度和负载均衡(如数据的迁移、Raftgroupleader的迁移等);三是分 配全局唯一且递增的事务ID。 PD通过Raft协议保证数据的安全性。Raft的leader server负责处理所有操作,其余的PD server仅用于保证高可 用。建议部署奇数个PD节点。

    2.3TiKV Server

    TiKVServer负责存储数据,从外部看TiKV是一个分布式的提供事务的Key-Value存储引擎。存储数据的基本单位 是Region,每个Region负责存储一个KeyRange(从StartKey到EndKey的左闭右开区间)的数据,每个TiKV节点 会负责多个Region。TiKV使用Raft协议做复制,保持数据的一致性和容灾。副本以Region为单位进行管理,不 同节点上的多个Region构成一个Raft Group,互为副本。数据在多个TiKV之间的负载均衡由PD调度,这里也 是以Region为单位进行调度。

    2.4TiSpark

    TiSpark作为TiDB中解决用户复杂OLAP需求的主要组件,将SparkSQL直接运行在TiDB存储层上,同时融合TiKV 分布式集群的优势,并融入大数据社区生态。至此,TiDB可以通过一套系统,同时支持OLTP与OLAP,免除用 户数据同步的烦恼。

    2.5TiDB Operator

    TiDB Operator提供在主流云基础设施(Kubernetes)上部署管理TiDB集群的能力。它结合云原生社区的容器编 排最佳实践与TiDB的专业运维知识,集成一键部署、多集群混部、自动运维、故障自愈等能力,极大地降低 了用户使用和管理TiDB的门槛与成本。

  • 相关阅读:
    (Problem 14)Longest Collatz sequence
    (Problem 13)Large sum
    (Problem 10)Summation of primes
    (Problem 9)Special Pythagorean triplet
    (Problem 7)10001st prime
    (Problem 6)Sum square difference
    数组
    断点及复习
    抽象和封装
    类和对象
  • 原文地址:https://www.cnblogs.com/leebaul/p/11288571.html
Copyright © 2011-2022 走看看