• TiDB学习笔记02-场景案例综述


    1 TiDB 产品核心价值点和主打场景

    HTAP 的定义:Hybrid Transactional/Analytical Processing,混合事务分析处理

    数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。 

    TiDB 典型应用场景
    ● 海量数据高并发OLTP系统
      ○ 不再分库分表,不再使用妥协的数据库中间件,业务不再受制于基础架构
    ● 海量数据高性能实时分析
      ○ 兼容MySQL,大数据量下比MySQL 快1~2 个数量级的融合OLTP 和OLAP 的HTAP 数据库
    ● 多源高吞吐汇总与实时计算
      ○ 多源(数十至数百异构数据源)高吞吐(数十万QPS)汇聚写入AD-Hoc 准实时查询
    ● 实时数仓
      ○ 通过TiSpark 无缝连接Spark,无需ETL,提供实时的大规模复杂OLAP 分析查询能力。
    ● 金融级别多数据中心多活
      ○ 故障自动恢复、无需人工介入的真正意义上的高可用
    ● 云数据库(DBaaS)
      ○ 同Kubernetes、Docker等容器技术完美整合,自动调度有状态的服务

    1.1 常用术语

    (1)高可用

    高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。单点是系统高可用的大敌,单点往往是系统高可用最大的风险和敌人,应该尽量在系统设计的过程中避免单点。方法论上,高可用保证的原则是集群化,或者叫冗余:只有一个单点,挂了服务会受影响;如果有冗余备份,挂了还有其他backup能够顶上。

    (2)高并发

    高并发(High Concurrency)通常是指通过设计保证系统能够同时并行处理很多请求。通俗来讲,高并发是指在同一个时间点,有很多用户同时的访问同一 API 接口或者 Url 地址。它经常会发生在有大活跃用户量,用户高聚集的业务场景中。

    1.2 OLTP 场景

    (1)OLTP 场景

    ● 场景特点
      ○ 高频SQL
      ○ 数据量中等
      ○ 相应延迟低
      ○ 读多写少
    ● 关注点
      ○ 高可用
      ○ 故障自动修复
      ○ 在线变更schema
      ○ 多点写入

    (2)金融OLTP 场景
    ● 场景特点
      ○ 数据一致性
      ○ 事务一致性
      ○ 业务连续性
    ● 关注点
      ○ 传统OLTP 所有点
      ○ 强一致性
      ○ 高并发、高性能
      ○ 故障容错性
      ○ 跨地域多活、容灾故障自动修复

    (3)分库分表集群
    ● 待解决的问题
      ○ 扩展=拆分,拆分必然侵入
    业务
      ○ 业务需要改造SQL
      ○ 多维度的查询困难
      ○ 二次拆分困难
      ○ 很难实现分布式事务
      ○ 同时维护多份schema

    (4)TiDB 对比中间件

    从某种角度上讲,Tidb是一种大号的Mysql。、

    (5)OLTP 场景的TiDB 方案

    TiDB 场景优势
      ○ 数据一致性保证
      ○ 在线DDL
      ○ 支持多点写入
      ○ 自动故障检测、选主、转移
      ○ 计算存储分离,快速扩容读优点
    ● TiDB 场景劣势
      ○ 网络交互多,导致延迟增大
      ○ 读写共用leader
      ○ 有机器硬件要求(万兆网+ SSD)

    (6)OLTP 场景的TiDB 方案

    ● 强一致性多副本技术
      ○ region 拆分一致性
      ○ 数据迁移一致性
      ○ 灵活控制副本位置
      ○ 网络、节点故障容错
    ● 线性横向扩展
      ○ 存储空间
      ○ 计算能力
    ● 分布式事务
    ● 多数据中心多活(表级别多点写入)

    1.3 典型案例平安财神节活动“暖宝保”案例

    活动业务场景- 暖宝保的业务特点:
    ● 参与门槛低:暖宝保这个业务保费价格低至19.9
    ● 推广力度很大:以微服务的方式对接如平安健康、好福利、平安银行、陆金所等所有APP端
    ● 典型的互联网活动形式:如秒杀、红包雨,所以对数据库的要求是高并发、低延迟、高响应、高可用,

    容量规划:
    ● 2-5 年在线数据存储量预计达到20~50 TB

    项目挑战:
    ● 时间紧迫:2018年12月17日~2019年1月7日,20天时间内完成开发测试到生产上线,时间短,风险大
    ● 开发零使用经验:现有开发大都是基于传统Oracle 保险业务,对于TiDB 没有使用经验
    ● 并发量与扩容:互联网业务并发需求前期不可完全需求,前期不能很好的以实际压力进行测试,与资源准备

    2 HTAP 场景

    中台业务场景
    ● 业务需求
      ○ 我们数据孤岛很痛
      ○ 我们分片多维度查询很痛
      ○ 我们需要静态数据Join 动态数据
      ○ 我们需要完整SQL 语义、支持复杂SQL
      ○ 我们需要便于增量更新、索引维护
      ○ 我们需要便于从binlog实时同步
    ● TiDB 非常适合中台场景
      ○ 协议兼容,轻松同步MySQL 生产库
      ○ 透明无障碍的跨分片查询
      ○ 数据实时落地
      ○ 海量存储允许多数据源汇聚
      ○ 备库-中台分析二合一

    2.1 分布式计算框架- TiSpark

    ● 借助TiSpark
    ○ Spark 是成熟的计算平台
    ○ 继承Apache Spark 生态
    ○ 向下衔接大数据生态圈

  • 相关阅读:
    2020年“3D视觉工坊”视频号最受欢迎视频 Top 10!
    缓存一致性解决方案杂谈
    Mybatis的@Param注解在多参数时候不写,可以正确执行。
    Redis设计与实现之简单动态字符串
    YApi mac上部署
    拖拽方式生成Vue用户界面
    终于可以愉快的撸Java异步代码了!
    Windows 取证之ShellBags
    初识Fastjson漏洞(环境搭建及漏洞复现)
    mongo-express 远程代码执行漏洞分析
  • 原文地址:https://www.cnblogs.com/luckyplj/p/15150761.html
Copyright © 2020-2023  润新知