{
    "componentChunkName": "component---src-templates-company-news-detail-tsx",
    "path": "/about-us/company-news-detail/ti-star-program",
    "result": {"pageContext":{"companyNewsDetail":{"id":"About-us-news_17","title":"Ti-Star 计划，端到端打造 TiDB 开源合作创新明星","customUrl":"ti-star-program","image":{"alt":"Ti-Star","media":{"url":"https://img1.www.pingcap.com/prod/Ti_star_pc_df72771198.svg"}},"date":"2021-07-27","body":"Ti-Star 是 PingCAP 面向所有 TiDB 用户的合作共创计划，旨在端到端打造 TiDB 用户成功案例及开源合作创新明星。计划的落脚点在于让用户更好的使用 TiDB，无论是企业级用户、还是社区用户，只要满足一定条件，都可以申请加入这个计划。通过双方的共创，在实现客户成功的同时，让 TiDB 变得更加贴近用户的业务需要。\n\n## 一、项目简介\n围绕 TiDB 用户旅程，Ti-Star 计划将涵盖以下四个阶段，在这其中的每一个环节，都会由 PingCAP 免费提供原厂的深度支持和持续的互动：\n\n![ti-star-program.png](https://img1.www.pingcap.com/prod/ti_star_program_865e8cf1e8.png)\n\n### 1. 接触和使用 TiDB\n\n提供 TiDB Insight 支持，包括：\n\n- 技术咨询拜访\n\n- 产研跟访\n\n- 重点项目驻场\n\n- 高优先级故障排除\n\n- 独家知识库\n\n### 2. TiDB 深化应用\n\n提供 TiDB Roadmap 分享，包括：\n\n- Roadmap 共创会\n\n- 业务规划研讨\n\n### 3. TiDB 团队建设\n\n助力用户人才培养，包括：\n\n- 免费培训\n\n- 考试辅导\n\n- Committer 培养\n\n- TOC （社区技术委员会） 共同建设\n\n### 4. TiDB 实践推广\n\n协助拓展 TiDB 在企业更多场景的应用，包括：\n\n- 场景延展\n\n- 联合开发\n\n- 应用推广\n\n## 二、申请条件\n（1）TiDB 用户（社区版、企业版），至少拥有 2 个 PCTA 认证（PingCAP 认证 TiDB 数据库专员）或 1 个 PCTP 认证（PingCAP 认证 TiDB 数据库专家）；\n\n（2）有计划深入使用 TiDB 并应用于关键业务场景；\n\n（3）有一定的运维及研发人员投入计划，愿意参与 TiDB 产品和社区共创。\n\n## 三、申请渠道与步骤\n（1）发送邮件至 TiDB 用户社区官方邮箱：[user-zh@tidb.io](mailto:user-zh@tidb.io)； \n\n（2）与 PingCAP 团队 1-1 交流，探讨 TiDB 相关规划；\n\n（3）名额有限，择优入围。通过选拔后，定制 Ti-Star 项目时间表，启动项目。","author":{"name":"PingCAP","description":""},"type":"detail"},"prev":{"id":"About-us-news_18","title":"TiDB 5.2 发版 ——“交易+分析”双引擎提速，挑战极限业务场景","customUrl":"tidb-5.2-ga-is-now","image":{"alt":"TiDB 5.2 GA release","media":{"url":"https://img1.www.pingcap.com/prod/Ti_DB_5_2_release_pc_09cc0462a9.svg"}},"date":"2021-08-30","body":"作为数字化新时代的企业级数据库， TiDB 基于海量数据规模的在线事务处理和实时分析能力在全球金融、互联网、物流、零售、在线游戏等各个行业得到充分验证，并广受好评。今年 4 月 ，TiDB 发布针对企业级的里程碑 5.0 版本，并在 6 月份发布了 5.1 版本，目前已经应用在数十家大型企业的生产环境。 \n\nTiDB 5.2 聚焦于用户真实场景，挑战更为严苛的超大规模 OLTP 和实时数据分析的性能极限，进一步拓展了“交易+分析”双引擎数据处理能力的边界。测试结果表明，无论是高负载大集群场景还是高吞吐写入的并发实时分析场景，TiDB 5.2 均表现出了更优异的稳定性、更出色的实时性、更佳的易用性，可以更轻松地加速企业实现数字化转型和数据价值变现。\n\n## TiDB 5.2 功能亮点和用户价值\n\n近年来，为满足不同场景的业务需求，企业内部往往存在不同的数据存储方案，造成在线和离线业务数据分离，全量数据实时查询和分析成为难题。\n\n在这种情况下，企业可以将数据实时汇聚到可无限水平扩展并兼容 MySQL 的 TiDB，由 TiDB 直接对接数据应用端。数据汇聚到 TiDB 后，无论是处理面向 C 端或 B 端客户的 OLTP 请求（例如，电商平台的 C 端和 B 端请求分别来自买家和卖家，物流平台的 C 端和 B 端请求分别来自寄件人和快递员），还是处理企业后台实时数据服务（例如，Real-time BI、风控、Ad-Hoc 查询），TiDB 都可以提供一站式的数据解决方案，帮助企业打通数据孤岛，既能保证高负载下大集群的查询稳定性和实时性，又能保证高吞吐写入下的并发实时查询和分析的性能与稳定性，并降低企业运维成本。\n\n![1-update.jpeg](https://img1.www.pingcap.com/prod/1_update_c2966b7825.jpeg)\n\nTiDB 5.2 针对多源实时数据汇聚四大典型场景中的主要挑战和特点做了大量优化，为不同场景量身打造更好用、更省心的数据库。\n\n**在面向 C 端用户的高并发、高频查询场景中，全面提升高负载下大集群的稳定性**\n\n- 提升大表在高负载写入时在线建索引的速度，优化大流量写入时的内存使用，提升高读写负载压力下大集群的稳定性。\n- 实现 Leader 自动转移，降低单节点性能抖动对整个集群的影响。\n- 升级热点调度策略，有效打散小表热点，并且提供列存引擎 TiFlash 的热点调度能力，实现集群资源的充分利用。\n- 在 200K QPS 压力负载下，DM（TiDB Data Migration）仍可以保证 99% 时间的数据同步延迟在 1s 以内，提高汇聚库的数据更新实时性。\n\n**在面向 B 端客户中等并发的实时综合查询场景中，使优化器执行计划更智能**\n\n- 当数据不断更新时，针对统计信息过期或缺失的情况，提升优化器选中正确索引的概率；提升估算模块的准确度，减少人工绑定索引。\n- 当使用 SPM（SQL Plan Management, 执行计划管理）功能自动或人工绑定索引时，用户可以更容易地使用、诊断、调试 SPM 功能。\n\n**在实时 BI 场景中，让企业轻松应对复杂实时 BI 查询，让业务决策更实时**\n\n- 实现更多的算子下推，更充分地利用 MPP 引擎的能力，降低查询的响应时间。\n\n**在高吞吐写入的同时提供并发实时分析的场景中，提升并发实时分析性能和稳定性，助力企业从容应对双十一**\n\n- 平稳支持超平时 200%～300% 的峰值写入流量，提供更强大的数据写入支持。\n- 消除了在特殊条件下内部线程互相等待死锁的状况，带来更智能的 MPP 执行引擎，提高分析处理能力。\n- 提升并发能力，可支持 30 量级的并发查询（全表扫描型）稳定执行。\n\n## 提升高负载下大集群的稳定性，挑战极限业务场景\n\n面向 C 端用户的高并发、高频查询以点查为主，也有部分基于索引的小范围查询，需要底层数据库具有非常好的弹性扩展能力、极低的查询延迟、极高的业务查询的稳定性。例如，在交易所的账户和订单等核心场景，业务对延迟极为敏感（订单写入需要控制在 1ms 以内），同时需要提供对客户端的高并发历史订单查询，在高峰期可能会对主流程造成影响。在此场景下，可以采取主从架构，突破 MySQL 单机瓶颈限制，通过数据迁移工具 DM 将前端多个 MySQL 分片的数据实时汇聚到一个 TiDB 集群，由 TiDB 承载核心链路上的高频查询，避免高峰期对前端订单写入造成压力，从而影响交易业务。\n\n![2-update.png](https://img1.www.pingcap.com/prod/2_update_12c7a6d2ce.png)\n\n针对这些高负载低延迟的场景，TiDB 5.2 进一步提升了大规模 OLTP 性能和稳定性，为用户带来更流畅的业务体验：\n\n**提升高读写负载压力下大集群的稳定性**\n\n- 提升大表在线建索引的速度：在 DDL 过程中合理均衡热点 Region 的 range。\n- 实现 Leader 自动转移：当某个存储节点变慢时，将 Raft 协议中的 leader 角色自动转移到正常的存储节点上以承载业务流量，保证单节点出现性能抖动时集群整体吞吐能力不受影响。\n- 优化 TiKV 的内存使用：严格限制 Raft Log 的 cache 以及 Raft 消息的内存占用，解决了在大流量写入情况下 TiKV 潜在的 OOM 问题。\n\n**热点调度引入 QPS 参考维度，实现集群资源的充分利用**\n\n- 支持按维度调整热点均衡优先级，提高了对热点场景的处理能力，确保在节点数较多的集群中均衡 CPU 的使用率，避免出现单点瓶颈。在热点小表客户仿真场景中，CPU 资源的均衡度大幅提升，QPS 提升了近一倍。另外也支持对 OLAP 引擎 TiFlash 的热点调度能力，解决了 HTAP 场景的热点调度问题。\n\n**提升高负载下 DM 数据同步的性能和稳定性，提高汇聚库的数据更新实时性**\n\n- 减少 DM 资源消耗：DM 2.0.6 以前版本对 CPU 资源消费较多。单 DM 节点的复制流量 1k ~ 3k QPS 下，消耗 35% ～ 50% 的 CPU 资源。为了减少资源的消耗，v2.0.6 版本对多个逻辑点进行了优化，包括 relay log 读写、数据转码优化等。测试结果表明，DM v2.0.6 最多可减少 50% 的 CPU 使用量。\n- 大流量低延迟实时复制：使用 DM 同步 MySQL Shard 上的高负载（聚合后 200K QPS）业务写入数据到 TiDB，DM 可以保持 99% 时间内 1s 实时数据同步延迟。\n\n## 优化器执行计划更智能，助力电商平台大促卖家订单处理\n\n面向 B 端客户中等并发的综合查询通常基于索引查找小范围的数据，查询语句多样化，表关联可能会比较多，会遇到聚合、子查询、Top N 排序以及翻页 Limit。大小商户的数据量差异可能会非常大，通常有数据倾斜。电商平台通常采用读写分离的数据库架构，借助 TiDB 数据迁移工具 DM 将上游分库分表的订单实时汇聚到一个 TiDB 集群，提供实时的数据存取和查询服务。在电商大促销期间，面对比平时高几倍甚至几十倍的查询流量，如何在平台数据不断更新的情况下提高查询性能是对数据库的一大挑战。\n\n**TiDB 5.2 版本提供了一个更智能的查询优化器，使数据库能高效选中包含正确索引的最优的执行计划，更快速稳定地给出查询结果，为企业带来更实时的数据查询体验：**\n\n- 当优化器生成执行计划所需的统计信息过期或缺失时，TiDB 优化器会先使用启发式规则的方法来对索引进行裁剪和优化，提升选中正确索引的概率。\n\n- 对优化器的估算模块进行了优化，使更多的查询可由优化器来自动选择正确索引计划，减少人工绑定索引。\n\n- 当使用 SPM（SQL Plan Management, 执行计划管理）功能自动或人工绑定索引时，用户可以更容易地使用、诊断、调试 SPM 功能：\n\n  - 绑定的查询语句会按照绑定时间戳排序显示，不再是无序显示的结果，方便定位绑定的语句。\n  - 支持通过 `EXPLAIN` 语句执行的附加信息获知该 SQL 语句是否使用了绑定。\n  - 支持通过设置黑名单定义自动捕获绑定的语句，为用户带来更大的使用灵活性。\n\n## 轻松应对复杂实时 BI 查询，让业务决策更实时\n\n实时 BI 提供商业智能系统中的数据实时动态刷新，具有数据量大、查询复杂、高并发性等特点，同时对查询的实时性有较高要求。例如，在金融领域，大量的交易数据需要给业务或风控部门提供自助分析，帮助用户及时调整金融方案。这些数据同时包含历史数据和实时数据，动辄几千万行，较为复杂的查询则会关联多个这样的数据表，且包含复杂度量（例如精确去重）的计算。\n\nTiDB 的 HTAP 功能是这类需求的理想解决方案，**一方面 TiDB 提供了高速的数据写入能力**，实时数据可以高并发地写入至 TiKV 中，并利用 Raft 协议快速准确地将数据同步至 TiFlash 的列存中，实现了数据的实时性；**另一方面，TiFlash 支持 MPP 模式的查询执行**，最大限度地利用了计算资源，实现了数据查询的实时性。TiFlash 支持的函数或算子越多， TiDB 可以下推至 TiFlash 节点进行计算的 SQL 语句就越多，查询性能就越高。值得注意的是，只要某条 SQL 语句中存在一个尚不支持下推到 TiFlash 的算子或函数，该 SQL 语句的整个执行计划都无法下推至 TiFlash 节点，从而无法享受查询性能的提升。因此，多支持一个函数或算子就意味着某些特定查询数量级的性能飞跃。\n\n为了给复杂 BI 场景带来更高的实时性，TiDB 5.2 新增了几十个下推函数和算子（如 MOD, LENGTH, LOG, ROUND, DATE, INET_ATON 等，详情请查看 [TiDB 5.2 TiFlash 新增下推支持](https://docs.pingcap.com/zh/tidb/stable/release-5.2.0#%E6%8F%90%E5%8D%87%E6%94%B9%E8%BF%9B)，进一步完善了 TiFlash 的 SQL 语法支持。实际测试发现，TiFlash 在新支持某个函数后：\n\n- 单并发场景下，简单查询的查询延迟由数十秒降低至不到一秒，复杂查询则是由数分钟降低至一秒左右。\n- 数十并发场景下，简单查询依然可以以不到一秒的延迟响应查询，复杂查询则是从查询超时降低至 10 秒左右。\n\n**我们计划在未来一年内持续支持剩余常用的 MySQL 函数和算子，持续提升 BI 实时分析的查询响应时间。**\n\n## 提升高吞吐写入下的并发实时分析性能和稳定性，助力物流平台备战双十一\n\n随着互联网时代的到来，提供海量数据实时分析服务的场景日益增多。以国内某头部物流公司的双十一场景为例，该公司一个基于宽表的典型 BI 查询应用，数据总量达百亿级别、日均更新达过亿级别、BI 实效性控制在分钟级、且有较高并发要求。TiDB 通过无限水平扩展的存储和实时 HTAP 的特性，较好地满足了该公司的需求。但随着双十一数据更新和分析任务的同时激增，业务对 TiFlash 的稳定性提出了更高的要求：**如何避免节点磁盘内存使用不均衡引发内存 OOM、 如何缓解 IO 等系统资源压力、如何解决在大流量数据写入时产生的热点问题。**\n\n为了更好地满足前端海量数据写入+后端实时报表的需求，TiDB 5.2 提供以下功能助力企业更轻松地应对大数据量与高并发带来的压力。\n\n- 更强大的数据写入支持：同规模的集群可以平稳承受 200%～300% 于以往的峰值写入流量，实现“写平衡”，各节点磁盘空间差异在 10% 以内。\n- 更健壮的 MPP 执行引擎：消除了在特殊条件下内部线程互相等待死锁的状况，进一步改善在高负载情况下查询出错或超时取消的问题。\n- 更高的并发支持：在 20～30 并发量级的全表扫描查询，业务查询不出现内存 OOM。在更高的写入流量和并发查询下，出现 OOM 现象可减少 90%以上。\n- 更简单的运维：即使偶发集群不稳定状态（例如节点重启），系统可以自动恢复，或在人工干预下很快恢复。在扩缩容集群时，对客户端的查询响应不会停止，极大地降低了维护 TiFlash 集群时对业务的影响。\n\n## 结语\n\nTiDB 针对极限 OLTP 和 OLAP 场景的产品能力打造和持续优化提升，具有非常大的挑战。5.2 版本只是一个开端，我们将在后面 1～2 个版本按照用户反馈持续优化、快速迭代，**把复杂交给 TiDB，把简单留给用户**，打造更加适合用户场景的数据库。\n\nTiDB 自 5.1 版本开始采用火车发版模型，加速场景和功能的升级迭代，感谢 TiDB 社区每一位开发者的贡献，特别感谢知乎、理想汽车、小米等公司为 5.2 版本的产品改进提供的宝贵建议。相信在大家的共同努力和开放透明的协作下，TiDB 会越来越好，为用户创造更多价值，助力用户更好地拥抱数字化时代。\n\n查看 [TiDB 5.2 Release Notes](https://docs.pingcap.com/zh/tidb/stable/release-5.2.0)，立即[下载试用](https://pingcap.com/zh/product/)，开启 TiDB 5.2 之旅。","author":{"name":"PingCAP","description":""},"type":"detail"},"next":{"id":"About-us-news_13","title":"TiDB 5.1 发版，打造更流畅的企业级数据库体验","customUrl":"tidb-5.1-release","image":{"alt":"TiDB 5.1 发版","media":{"url":"https://img1.www.pingcap.com/prod/20210705_094757_957_cfbe5fa85f.jpeg"}},"date":"2021-07-02","body":"自 TiDB 5.0 发布以来，陆续在金融、互联网 & 新经济、物流等行业用户的生产环境得到应用，收获不少用户的积极评价：\n\n- TiDB 服务 58 金融、安居客等数仓报表的复杂读取与关联查询，在多表关联查询中，相比 4.0 版本性能最高提升达 90%；\n\n- 经过网易互娱场景实测，与 4.0 相比 TiDB 5.0 整体性能表现更加稳定，没有出现明显的抖动；\n\n- TiDB 5.0 在汽车之家大数据 join 与聚合场景的应用中，MPP 体现出明显的优势，与 MySQL 相比总体效能提升 20 - 50 倍。\n\n“用户的反馈激励我们不断前行，我们的使命是持续提升开发者和 DBA 的体验，让用户用得省心，用得顺手。” PingCAP 联合创始人兼 CTO 黄东旭说，“ TiDB 每一个版本的发布都立足于解决 DBA 的痛点。真实场景就是最好的架构师，从 5.0 版本开始 TiDB 缩短了发版周期，采用了更灵活、更敏捷的火车发版模型，每一个用户真实场景需求的输入，在两个月周期内就有可能成为下一个版本交付的功能。”\n\n得益于大量用户真实应用场景的快速反馈，TiDB 5.1 提速发版，进一步打造更流畅的企业级数据库体验。TiDB 5.1 拥有更加稳定的响应延迟表现，更优的 MPP 性能与稳定性，更便捷的可运维性，开发者和 DBA 可以轻松地基于 TiDB 5.1 构建任意规模的关键业务应用。\n\n## TiDB 5.1 功能亮点和用户价值\n\n- 支持 ANSI SQL 99 标准的 Common Table Expression，用户可以写出更加简洁、更易维护的 SQL 代码，轻松应对复杂的业务逻辑，提高开发效率。\n\n- 进一步提升 MPP 性能和稳定性，帮助用户更快做出实时决策。5.1 通过支持 MPP 模式下的分区表以及新增的多个函数表达式和算子优化，实时分析性能提升一个数量级以上；通过增强的内存管理和负载平衡机制，让分析查询变得更快、更稳。\n\n- 在突发的大流量写入、集群扩缩容以及在线数据导入和备份等场景下，5.1 版本优化了数据库的长尾查询延迟的稳定性，应对不同的工作负载，延迟能够降低 20% - 70% 。尤其对于金融行业延迟敏感类型的关键业务应用，大幅提升了在高压力负载下的查询稳定性。\n\n- 支持列类型变更，与 MySQL 兼容度更高。5.1 新增 Stale Read 模式，在读写分离场景中通过打散读热点大幅提升读吞吐能力；引入新的系统表，实现在高并发事务场景中快速定位锁冲突；改进统计信息分析引擎，提升优化器选择索引的精准度，保障业务查询的效率和稳定性。\n\n- 面向大集群提供更加友好的运维体验，进一步降低 DBA 工作负荷。5.1 版本集群扩缩容和数据迁移速度提升 40%，改善了大规模集群运维的可靠性，降低大规模集群整体备份和恢复的耗时，通过优化 CDC 数据链路临时中断后的自动恢复机制，进一步提升数据同步链路的可靠性。\n\n## Common Table Expression - 让 SQL 化繁为简\n\n在金融交易类场景，由于业务的客观复杂性，有时候会写出长达 2000 行的单条 SQL 语句，其中包含大量的聚合和多层子查询嵌套，维护此类 SQL 堪称开发人员的噩梦。5.1 版本支持 ANSI SQL 99 标准的 [Common Table Expression（CTE）](https://docs.pingcap.com/zh/tidb/v5.1/sql-statement-with)及递归的写法，极大提升开发人员和 DBA 编写复杂业务逻辑 SQL 的效率，增强代码的可维护性。\n![1.jpg](https://img1.www.pingcap.com/prod/1_beb60444a4.jpg)\n\n## HTAP 实时分析能力再升级\n\n### 进一步提升 MPP 的性能和稳定性\n\n5.1 版本进一步增强 TiFlash  MPP 计算引擎的综合能力，帮助用户提升业务决策速度：\n\n- MPP 支持分区表，结合业务逻辑可优化海量数据分析查询所消耗的资源，提升查询速度；\n\n- 新增多个常用 SQL 函数支持，并优化算子使得查询能够更充分利用 MPP 来加速；\n\n- 提供便利的强制 MPP 模式开关，用户可自主决定是否开启 MPP 模式；\n\n- 通过优化集群负荷的分散与平衡机制，消除热点，提升系统“综合”承载能力；\n\n- 修复引擎内存使用问题，提供更加平稳流畅的使用体验。\n\n###  升高压力负载下查询分析的稳定性\n\n在金融类业务场景下，技术人员每天会对数据进行高压力的跑批计算，生成最新的市场和营销分析报告，以辅助商业决策。跑批流程对连续性要求极高，无法容忍中间过程出错。针对该场景，5.1 版本优化了 TiDB 的请求重试机制和 TiKV 的请求处理机制，显著降低了在高负载下由于 TiFlash 同步数据不及时导致的 [Region Unavailable](https://docs.pingcap.com/zh/tidb/stable/troubleshoot-tiflash#%E9%83%A8%E5%88%86%E6%9F%A5%E8%AF%A2%E8%BF%94%E5%9B%9E-region-unavailable-%E7%9A%84%E9%94%99%E8%AF%AF) 出错概率。\n\n### 无缝集成 TiSpark\n\nTiSpark 5.1 版本实现了对含有聚簇索引表的读写支持，不带来任何额外的性能开销，对用户完全透明，用户可以立刻迁移到新版 TiSpark 来体验与 TiDB 5.1 的无缝集成。\n\n## 降低读写延迟抖动\n\n在延迟敏感的应用场景下，当线上产生突发写流量、操作 TiDB 扩缩容、后台执行统计任务，以及在线数据导入和备份时，可能造成数据库的 P99 和 P999 百分位的延迟抖动，对长尾查询产生一定影响.\n\nTiDB 5.1 加强了对磁盘读写链路的管理，限制后台任务对磁盘资源的使用，大幅降低上述场景对线上业务的干扰，改善读写链路的效率和稳定性。在 AWS EC2 r5b.4xlarge 实例挂载 EBS gp3 盘的环境下，通过 TPC-C 基准测试（10k WH）的实测结果：\n\n- 操作集群从 6 台 TiKV 缩到 3 台，P99 响应时间降低 20%，P999 响应时间降低 15%；\n\n- 执行在线导入 200GB 数据，P99 响应时间降低 71%，P999 响应时间降低 70%。\n\n## 增强业务开发灵活性\n\n### 支持列类型变更\n\n在典型的 TiDB 应用场景中，经常借助 binlog 将多个 MySQL 上游数据汇聚到一个 TiDB 集群。原先 TiDB 不支持变更列类型的操作，如果上游 MySQL 修改表的字段类型会导致与 TiDB 数据同步的中断。5.1 版本新增对修改列类型 DDL 语句的支持，彻底解决上述问题并进一步提升 [MySQL 兼容性](https://docs.pingcap.com/zh/tidb/dev/sql-statement-modify-column#mysql-%E5%85%BC%E5%AE%B9%E6%80%A7)。\n\n### Stale Read\n\n[Stale Read](https://docs.pingcap.com/zh/tidb/v5.1/stale-read#stale-read-%E5%8A%9F%E8%83%BD%E7%9A%84%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF) 适用于读多写少并且能够容忍读到旧数据的场景。例如 Twitter 用户发出一条消息后，系统会产生成千上万甚至上亿次读取，并且新发出的消息在一定时间后被读到是可以容忍的。该场景给数据库带来相当大的读并发压力，可能会产生读热点，导致节点的负载分布不均，整体吞吐成为瓶颈。借助 Stale Read，用户可以指定一个过去的时间点从任意一个数据副本读取数据（不必从 leader 读取），从而显著分散节点的压力负载，使得整体读吞吐能力提升近一倍。\n\n```\n/* 例如：可以通过设置当前事务为查询 5 秒之前的数据状态来开启 Stale Read */\n> SET TRANSACTION READ ONLY AS OF TIMESTAMP NOW() - INTERVAL 5 SECOND;\n> SELECT * FROM T;\n```\n\n### 快速定位锁冲突(实验特性)\n\n业务开发需要很谨慎地处理数据库并发事务，一旦发生锁表会给线上业务带来巨大影响，而 DBA 需要快速定位锁表原因以保证业务能够恢复正常。TiDB 5.1 中新增 [Lock View 系统表视图](https://github.com/pingcap/docs-cn/blob/master/troubleshoot-lock-conflicts.md#%E4%BD%BF%E7%94%A8-lock-view-%E6%8E%92%E6%9F%A5%E6%82%B2%E8%A7%82%E9%94%81%E7%9B%B8%E5%85%B3%E7%9A%84%E9%97%AE%E9%A2%98)，可以快速定位到引起锁表的事务和相关 SQL 语句，从而提高锁冲突问题的处理效率。下面一个小例子展示如何使用 Lock View 快速定位发生锁表的事务和 SQL 语句。\n\n```\n/* 1. 获取当前发生锁等待的事务相关信息: */\nmysql> SELECT B.ID,B.STATE,B.WAITING_START_TIME,B.ALL_SQL_DIGESTS FROM DATA_LOCK_WAITS A,TIDB_TRX B WHERE A.CURRENT_HOLDING_TRX_ID = B.ID OR A.TRX_ID=B.ID \\G;\n*************************** 1. row ***************************\n                                   ID: 426015366622478337\n                            STATE: LockWaiting\nWAITING_START_TIME: 2021-07-01 14:19:15.652134\n      ALL_SQL_DIGESTS: [c5f8471b8590d075d2de681fe5fe7e4f4dd2dd57709058c11d359bb9a64185de]\n*************************** 2. row ***************************\n                                   ID: 426015363607822337\n                            STATE: Normal\nWAITING_START_TIME: NULL\n      ALL_SQL_DIGESTS: [3a0938060e1e3e66148f3e00a7d4a8a21a2482cab5d60a27d52ac6044e17f31d]\n2 rows in set (0.00 sec)\n\n/* 2. 根据锁表事务提供的 SQL 指纹，进一步找出事务执行过的历史 SQL */\n\n/* 持有锁事务历史执行 SQL*/\nmysql> SELECT DIGEST_TEXT,DIGEST FROM CLUSTER_STATEMENTS_SUMMARY WHERE DIGEST IN('3a0938060e1e3e66148f3e00a7d4a8a21a2482cab5d60a27d52ac6044e17f31d')\\G;\n*************************** 1. row ***************************\nDIGEST_TEXT: update `a` set `id` = ?\n           DIGEST: 3a0938060e1e3e66148f3e00a7d4a8a21a2482cab5d60a27d52ac6044e17f31d\n1 row in set (0.00 sec)\n\n/* 请求锁事务历史执行 SQL*/\nmysql>  SELECT DIGEST_TEXT,DIGEST FROM CLUSTER_STATEMENTS_SUMMARY WHERE DIGEST IN('c5f8471b8590d075d2de681fe5fe7e4f4dd2dd57709058c11d359bb9a64185de')\\G;\n*************************** 1. row ***************************\nDIGEST_TEXT: delete from `a`\n           DIGEST: c5f8471b8590d075d2de681fe5fe7e4f4dd2dd57709058c11d359bb9a64185de\n1 row in set (0.01 sec)\n```\n\n### 更快更准的统计信息分析\n\n随着业务数据持续不断的变更，表的统计信息也会变得陈旧，进而导致优化器执行计划准确度降低，使得查询变慢。DBA 通过执行 ANALYZE 操作，对表的统计信息进行重建。TiDB 5.1 对 ANALYZE 采样算法的性能进行了优化，生成统计信息的平均时间缩减为三分之一，同时新增一项新的统计数据类型，让优化器选择索引更加准确。\n\n## 提升大集群运维和数据传输的可靠性\n\n### 超多数量表的备份优化\n\n优化超多数量表的备份，在 50k 张表的量级下，TiDB 集群全量备份时间降低到之前的 30~40%。此外， 5.1 版本优化了备份模块的元信息文件组织形式（简称v2），启动 BR 时可以通过指定参数 “--backupmeta-version=2” 来启用 v2，从而减少单次写入量来降低内存消耗，有效避免低规格内存（≤8GB）环境下的异常退出。\n\n### 提升大规模集群运维可靠性\n\nTiDB 集群规模越大对生产集群扩缩容、硬件升级以及节点搬迁等日常运维操作的耗时就越久。TiDB 5.1 显著提升了扩缩容时数据迁移的性能，以下是两组测试结果：\n\n- 100 个节点规模下，完成集群所有数据跨数据中心迁移的耗时降低 20%；\n\n- 增加新节点或对某节点的数据进行迁移，耗时缩短约 40%。\n\n### 优化内存使用\n\n内存溢出（Out Of Memory）一直是困扰数据库行业的典型问题，5.1 版本针对 TiDB 的内存使用进行了一系列优化，从而降低 OOM 风险：\n\n- 无论数据量大小，窗口函数 row_number 将只占用固定大小内存；\n\n- 优化分区表的读取，占用更少内存；\n\n- 为存储层加入可配置的内存限制，当限制触发时，系统将释放部分缓存以降低内存占用；\n\n- TiFlash 写入的内存占用比上一版本降低 80%。\n\n### 提升 CDC 同步链路可靠性\n\nTiCDC 5.1 在无需人工干预的情况下提供同步链路的可靠性：当发生环境扰动或硬件故障时，TiCDC 可以保证同步持续进行；即使发生同步中断，TiCDC 也会根据实际情况自动进行重试。\n\n最后，特别感谢小米、奇虎 360、知乎、爱奇艺、理想汽车、新浪、虎牙、小电、跨越速运、亿玛科技等公司和社区开发者们在 TiDB 5.1 版本的设计、开发和测试过程中做出的贡献，是你们一如既往的支持，帮助 TiDB 在实际场景中持续提升开发者和 DBA 的使用体验，让 TiDB 变得更加简单易用。\n\n查看 TiDB 5.1 [Release Notes](https://docs.pingcap.com/zh/tidb/v5.1/release-5.1.0)，立即[下载试用](https://pingcap.com/zh/product-community/)，开启 TiDB 5.1 之旅。","author":{"name":"PingCAP","description":""},"type":"detail"}}},
    "staticQueryHashes": ["1327623483","1820662718","3081853212","3430003955","3649515864","4265596160","631028557","63159454"]}