本文档介绍 Stale Read 的使用场景。Stale Read 是一种读取历史数据版本的机制,读取 TiDB 中存储的历史数据版本。通过 Stale Read 功能,你能从指定时间点或时间范围内读取对应的历史数据,从而避免数据同步带来延迟。当使用 Stale Read 时,TiDB 默认会随机选择一个副本来读取数据,因此能利用所有副本。如果你的应用程序不能容忍读到非实时的数据,请勿使用 Stale Read,否则读到的数据可能不是最新成功写入的数据。

场景描述

  • 场景一:如果一个事务仅涉及只读操作,并且一定程度上可容忍牺牲实时性,你可以使用 Stale Read 功能来读取历史数据。由于牺牲了一定的实时性,使用 Stale Read 后,TiDB 可以让请求分发到任一个副本上,使得查询的执行获得更大的吞吐量。特别是在一些小表的查询场景中,如果使用了强一致性读,Leader 可能集中在某一个存储节点上,导致查询压力集中在该节点,成为整个查询的瓶颈。通过 Stale Read,可以提升了查询整体的吞吐能力,从而显著提升查询性能。

  • 场景二:在部分跨数据中心部署的场景中,如果使用了强一致性的 Follower 读,为了读到的数据与 Leader 上的数据一致,会产生跨数据中心获取 Readindex 来校验的请求,导致整体查询的访问延迟增加。通过使用 Stale Read 功能,可以牺牲一定的实时性,就近访问对应数据所在当前中心的副本,避免跨数据中心的网络延迟,降低整体查询的访问延迟。详情参考在三数据中心下就近读取数据。

使用方法

TiDB 提供语句级别与会话级别的 Stale Read 使用方式,具体使用方法如下:

  • 语句级别:

    • 指定一个精确的时间点(推荐):如需 TiDB 读取一个时间点上保证全局事务记录一致性的数据并且不破坏隔离级别,你可以指定这个时间点对应的时间戳。要使用该方式,请参阅 AS OF TIMESTAMP 语法文档。
    • 指定时间范围:如需 TiDB 读取在一个时间范围内尽可能新的数据并且不破坏隔离级别,你可以指定一个时间范围。在指定时间范围内,TiDB 会选择一个合适的时间戳,该时间戳能保证所访问的副本上不存在开始于这个时间戳之前且还没有提交的相关事务,即能保证在所访问的可用副本上可执行读取操作而且不会被阻塞。要使用该方式,请参阅 AS OF TIMESTAMP 语法文档和该文档中 TIDB_BOUNDED_STALENESS 函数部分的介绍。
  • 会话级别:
    • 指定时间范围:在会话级别中,如需 TiDB 在后续的查询中读取一个时间范围内尽可能新的数据并且不破坏隔离级别,你可以通过设置一个 session 变量 tidb_read_staleness 来指定一个时间范围。要使用该方式,请参阅通过系统变量 tidb_read_staleness 读取历史数据。

Stale Read 功能的使用场景相关推荐

  1. UWB定位的功能及应用场景解读

    室內定位技术已经吸引了一大波国内外创新的高潮,各种基于室內定位应用的技术出现,其规模和影响绝不会亚于GPS.接下来我们来谈谈UWB定位(超宽带定位)这种UWB定位技术的功能和应用场景. 人员定位系统构 ...

  2. 阿里云服务器产品规格、产品优势、产品功能及应用场景介绍

    阿里云服务器产品是目前国内用户购买云服务器的首选云服务器产品,本文通过产品规格.产品优势.产品功能及应用场景等方面为大家介绍下阿里云服务器. 一.产品规格 阿里云服务器分为入门级和企业级,入门级包含突 ...

  3. Elasticsearch的功能、使用场景以及特点

    1.Elasticsearch的功能,干什么的 2.Elasticsearch的适用场景,能在什么地方发挥作用 3.Elasticsearch的特点,跟其他类似的东西不同的地方在哪里 1.Elasti ...

  4. 阿里云移动数据分析服务功能与应用场景

    移动数据分析 (Mobile Analytics) 是阿里云推出的一款移动App数据统计分析产品,为开发者提供一站式数据化运营服务:通用的多维度用户行为分析.数据开放并支持自定义分析.数据无缝对接其他 ...

  5. 环保数采仪 功能与应用场景

    1.环保数采仪是什么 TS910 系列工业级环保数采仪是一款遵循国家环保行业标准设计的专用数据采集网关.设计完全满足工业级标准和环保行业需求,采用高性能的工业级高端处理器,软件多级检测和硬件多重保护机 ...

  6. Redisson锁功能、使用场景、注意事项

    一.redisson配置注意点 redis集群配置,三主三从,以下是redisson的示例配置 Config config = new Config();BaseConfig baseConfig;b ...

  7. 5G工业网关功能及应用场景

    网关是一种不同设备实现数据传输的重要设备,在使用不同的通信协议.数据格式或语言,甚至体系结构完全不同的两种系统之间,网关充当一个翻译的角色.那么什么是智能网关,什么又是 5G 智能网关呢? 什么是智能 ...

  8. 什么是电子面单,电子面单的功能和应用场景

    什么是电子面单? 电子面单是一种识别标签,用来描述包装内的物品.电子面单所需要填写的信息会因使用的物流公司而异,但主要内容都是由地址,名称,重量和追踪条形码组成. 电子面单似乎只是电子商务运营中的一小 ...

  9. spark(56) -- SparkMllib -- SparkMllib的功能和应用场景

    1. SparkMllib简介及功能介绍  MLLIB是Spark的机器学习库.提供了利用Spark构建大规模和易用性的机器学习平台,组件: (1) ML 算法:包括了分类.回归.聚类.降维.协同过滤 ...

最新文章

  1. 浅谈Disruptor
  2. leader选举的源码分析-startLeaderElection
  3. Socket-Client通信
  4. javscript 实现iframe加载内容页出现LOADING效果
  5. Alibaba Cloud Linux 2 开源后又有什么新动作?
  6. Restful 表述性状态传递
  7. 框架笔记:记录XLua的简单接入
  8. /proc 文件系统并使用/proc 进行输入
  9. 论文笔记-LSHTC: A Benchmark for Large-Scale Text Classification-2015
  10. 嵌入式软件开发必备知识体系
  11. RGB转NV21格式
  12. 客户个性分析 聚类 大数据
  13. 用project做项目计划及总结报表
  14. postman中如何自动生成签名
  15. Python笔记-面向对象
  16. 用Excel或WPS做两独立样本的T检验
  17. 手机如何测量长度?为什么现在很少携带尺子了
  18. 汉诺塔详解(包看包会)
  19. U盘,移动硬盘显示显示需要格式化怎么修复
  20. 苹果电脑和手机浏览器的区分

热门文章

  1. Intel Realsense D435i相关资料
  2. word文档美化技巧:加个边框提升版面颜值
  3. mysql near_MySQL server version for the right syntax to use near '' at
  4. 搭建vue环境(IDea)
  5. HTML中的div怎么左中右布局,CSS 之 div 左中右布局
  6. 怎么找信息比较全面的数据接口?
  7. 【调剂】江苏海洋大学导师接收计算机调剂研究生
  8. 全球电子商务交易预计将在2022年假日季增长15%,消费者情绪乐观
  9. QQ和TIM群文件无法正常显示的一种解决办法
  10. Photoshop CS2 视频教程-PS移动选区(转)