技术分享 | TiDB 上百T数据拆分实践

TiDB 分布式数据库多业务资源隔离应用实践 本文将分享某客户在 TiDB 分布式数据库中实现多业务资源隔离的实践案例。 阅读详情

作者:杨家鑫

多点⾼级 DBA ,擅⻓故障分析与性能优化,喜欢探索新技术,爱好摄影。

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。


背景

提⾼ TiDB 可⽤性,需要把多点已有上百T TiDB集群拆分出2套

挑战

  1. 现有需要拆分的12套TiDB集群的版本多(4.0.9、5.1.1、5.1.2都有),每个版本拆分⽅法存在不⼀样

  2. 其中5套TiDB,数据量均超过10T、最⼤的TiDB集群⽬前数据量62T、单TiDB集群备份集⼤,消耗⼤量磁盘空间和带宽资源

空间最⼤3套集群

  1. tidb使⽤⽅式多样(每种⽅式拆分⽅法不同),有直接读写tidb,也有mysql->tidb汇总分析 查询,也有tidb->cdc->下游hive

  2. 全量备份TiDB在业务⾼峰期是否会产⽣性能影响

  3. ⼤数据量的拆分数据的⼀致性保证

⽅案

⽬前TiDB官⽅提供的同步⼯具有:

  • DM全量+增量(该⽅法⽆法⽤于tidb->tidb,适⽤于MySQL->TiDB)
  • BR全量物理备份+CDC增量同步(CDC同步在tidb、tikv节点OOM后修复成本⾼https://github.co m/pingcap/tiflow/issues/3061)
  • BR全量物理备份+binlog增量(类似于MySQL记录所有变更的binlog⽇志,TiDB binlog由 Pump(记录变更⽇志)+Drainer(回放变更⽇志)组成,我们采⽤该⽅法进⾏全量+增量同步拆分)

备份与恢复⼯具BR:https://docs.pingcap.com/zh/tidb/stable/backup-and-restore-tool

TiDB Binlog:https://docs.pingcap.com/zh/tidb/stable/tidb-binlog-overview

因TiDB拆分BR全量物理备份+binlog增量涉及周期⻓,我们分为4个阶段进⾏

第⼀阶段

1、清理现有TiDB集群⽆⽤数据

按⽉分表tidb库有⽆⽤的表,如3个⽉前的xxxx ⽇志表

2、升级GZ现有15套TiDB集群(12套TiDB集群需要1分为2)版本⾄5.1.2

趁这次拆分统⼀GZ tidb版本,解决挑战1

第⼆阶段

1、新机器部署好相同版本5.1.2TiDB集群

set @@global.tidb_analyze_version = 1;

2、⽬的端,源端所有tikv tiflash挂载好NFS,pd节点上安装好BR

Exteral storge采⽤腾讯云NFS⽹盘,保障tikv备份⽬的端和还原全量来源端都能在同⼀⽬录,NFS ⽹盘空间⾃动动态增加+限速备份以应对挑战2

3、独⽴3台机器部署好12套TiDB集群

pump收集binlog(端⼝区分不同TiDB集群) pump,drainer采⽤独⽴16C, 32G机器保障增量同步最⼤性能

注意:为保障tidb计算节点的可⽤性,需设置ignore-error binlog关键参数(https://docs.pingcap.com/zh/tidb/v5.1/tidb-binlog-deployment-topology)

server_configs: 
  tidb: 
    binlog.enable: true 
    binlog.ignore-error: true

4、修改pump组件 GC时间为7天

binlog保留7天保障全量备份->到增量同步过程能接上

pump_servers: 
  - host: xxxxx 
    config: 
      gc: 7 
#需reload重启tidb节点使记录binlog⽣效

5、备份TiDB集群全量数据⾄NFS Backup & Restore 常⻅问题 (https://docs.pingcap.com/zh/tidb/v5.1/backup-and-restore-faq)

注意:每个TiDB集群在同⼀个NFS建不同备份⽬录

注意:源⽼TiDB集群分别限速(备份前后对读写延迟时间基本⽆影响)进⾏错峰全量备份(存在之前 多个TiDB集群同时备份把NFS 3Gbps⽹络带宽打满情况)以减轻对现有TiDB读写、NFS的压⼒以应 对挑战

mkdir -p /tidbbr/0110_dfp 
chown -R tidb.tidb /tidbbr/0110_dfp 
#限速进⾏全业务应⽤库备份
./br backup full \ 
     --pd "xxxx:2379" \ 
     --storage "local:///tidbbr/0110_dfp" \ 
     --ratelimit 80 \ 
     --log-file /data/dbatemp/0110_backupdfp.log 
#限速进⾏指定库备份 
 ./br backup db \ 
   --pd "xxxx:2379" \ 
   --db db_name \ 
   --storage "local:///tidbbr/0110_dfp" \ 
   --ratelimit 80 \ 
   --log-file /data/dbatemp/0110_backupdfp.log 
   
12.30号45T TiDB集群全量备份耗时19h,占⽤空间12T 
[2021/12/30 09:33:23.768 +08:00] [INFO] [collector.go:66] ["Full backup succes s summary"] [total-ranges=1596156] [ranges-succeed=1596156] [ranges-failed=0] [backup-checksum=3h55m39.743147403s] [backup-fast-checksum=409.352223ms] [bac kup-total-ranges=3137] [total-take=19h12m22.227906678s] [total-kv-size=65.13T B] [average-speed=941.9MB/s] ["backup data size(after compressed)"=12.46TB] [B ackupTS=430115090997182553] [total-kv=337461300978]

6、每个新建TiDB集群单独同步⽼TiDB集群⽤⼾密码信息

注意:BR全量备份不备份tidb mysql系统库,应⽤、管理员⽤⼾密码信息可⽤开源pt-toolkit⼯具 包pt-show-grants导出

7、恢复NFS全量备份⾄新TiDB集群

注意:新TiDB集群磁盘空间需充裕,全量备份还原后新TiDB集群占⽤空间⽐⽼TiDB集群多⼏个 T,和官⽅⼈员沟通是由于还原时⽣成sst的算法是lz4,导致压缩率没有⽼TiDB集群⾼

注意:tidb_enable_clustered_index,sql_mode 新⽼TiDB集群这2参数必须⼀致

8、tiup扩容drainer进⾏增量同步

扩容前确认下游checkpoint信息不存在或已清理

如果下游之前接过drainer,相关位点在⽬标端tidb_binlog.checkpoint表中,重做的时候需要清理

注意:因源最⼤TiDB集群⻓期平均写⼊TPS在6k左右,在增⼤worker-count回放线程数后,尽管 ⽬的端域名解析到3个tidb节点,单个drainer增量还是⽆法追上延迟(回放速度最⾼在3k TPS),后和TiDB官⽅沟通改成按3个drainer(不同drainer同步不同库名)并⾏增量同步延迟追上(3个 drainer增量让“漏⽃”没有堆积,源流⼊端数据能及时到达⽬标流出端)

注意:多个drainer并⾏增量必须指定⽬的端checkpoint.schema为不同库drainer配置说明


#从备份⽂件中获取全量备份开始时的位点TSO
grep "BackupTS=" /data/dbatemp/0110_backupdfp.log 
430388153465177629 
#第⼀次⼀个drainer进⾏增量同步关键配置
drainer_servers: 
- host: xxxxxx 
commit_ts: 430388153465177629 
deploy_dir: "/data/tidb-deploy/drainer-8249" 
config: 
syncer.db-type: "tidb" 
syncer.to.host: "xxxdmall.db.com" 
syncer.worker-count: 550 1516


#第⼆次多个drainer进⾏并⾏增量同步
drainer_servers: 
- host: xxxxxx 
commit_ts: 430505424238936397 #该位点TSO为从第⼀次1个drainer增量停⽌后⽬的端ch eckpoint表中的Commit_Ts
config: 
syncer.replicate-do-db: [db1,db2,....] 
syncer.db-type: "tidb" 
syncer.to.host: "xxxdmall.db.com" 
syncer.worker-count: 550 
syncer.to.checkpoint.schema: "tidb_binlog2"

1个drainer进⾏增量延迟越来越⼤

3个drainer进⾏并⾏增量同步最慢⼀条增量链路:9h追了近1天数据

3个drainer并⾏同步⽬的端写⼊1.2w TPS > 源端6k写⼊TPS

9、配置新建tidb grafana&dashboard域名

建grafana、dashboard的域名指向⽣产nginx代理,由nginx代理grafana 端⼝,dashboard 端⼝

第三阶段

1、check新⽼TiDB集群数据同步⼀致性情况

TiDB在全量和增量时会⾃⾏进⾏数据⼀致性校验,我们主要关注增量同步延迟情况,并随机 count(*)源⽬的端表

#延迟检查⽅法⼀:在源端TiDB drainer状态中获取最新已经回复TSO再通过pd获取延迟情况 
mysql> show drainer status;
+-------------------+-------------------+--------+--------------------+------- --------------+ 
| NodeID | Address | State | Max_Commit_Ts | Update_Time | 
+-------------------+-------------------+--------+--------------------+------- --------------+ 
| xxxxxx:8249 | xxxxxx:8249 | online | 430547587152216733 | 2022-01-21 16:50:58 | 


tiup ctl:v5.1.2 pd -u http://xxxxxx:2379 -i 
» tso 430547587152216733; 
system: 2022-01-17 16:38:23.431 +0800 CST 
logic: 669 


#延迟检查⽅法⼆:在grafana drainer监控中观察 
tidb-Binlog->drainer->Pump Handle TSO中current值和当前实际时间做延迟⽐较 
曲线越陡,增量同步速率越快

2、tiflash表建⽴&CDC同步在新TiDB集群建⽴&新mysql->tidb汇总同步链路闭环(DRC-TIDB)

  • tiflash

源端tidb⽣成⽬的端 新建tiflash语句


SELECT * FROM information_schema.tiflash_replica WHERE TABLE_SCHEMA = '<db_name>' and TABLE_NAME = '<table_name>' 
SELECT concat('alter table ',table_schema,'.',table_name,' set tiflash replica 1;') FROM information_schema.tiflash_replica where table_schema like 'dfp%';
  • CDC链路闭环

在⽼TiDB CDC同步中选取1个TSO位点在新TiDB中建⽴CDC⾄kafka topic同步

  • DRC-TIDB链路闭环(⾃研mysql->tidb合库合表同步⼯具)


上图左右为DRC-TIDB拆分前后状态

1、左⽼drc-tidb同步规则copy到右新drc-tidb,不启动drc-tidb同步(记录当前时间T1)

2、drainer同步现有TiDB数据⾄新建TiDB链路启⽤安全模式replace(syncer.safe-mode: true)插⼊

3、修改左drc-tidb同步源⽬的地址为闭环,并启动drc-tidb(记录当前时间T2)

4、右tidb grafana drainer监控中check当前同步时间checkpoint是否>=T2(类似于tikv follower- read),若没有则等待延迟追上

5、右tidb集群增量同步修改edit-config drainer配置⽂件,去掉mysql-tidb同步的库名(所有库同 步增加指定库名同步)并reload drainer节点

commit_ts: 431809362388058219 
config: 
syncer.db-type: tidb 
syncer.replicate-do-db: 
- dmall_db1 该DB为直接读写 
- dmall_db2 该DB为从mysql同步⽽来,需去掉

6、修改右drc-tidb同步源⽬的地址为闭环,并启动右drc-tidb(drc-tidb采⽤幂等同步,会重复消 费copy同步规则T1时间到现在的mysql binlog)

3、每个新TiDB集群ANALYZE TABLE更新表统计信息

不是必须,更新统计信息为最新可以避免查询sql索引选择⾛错

第四阶段

1、左tidb集群应⽤域名解析⾄新建tidb计算节点

2、批量kill右TiDB集群左应⽤的连接

存在脚本多次批量kill tidb pid;在右tidb节点依然有⼤量左应⽤的连接,因此左应⽤滚动重启后右

tidb节点左应⽤连接释放

3、移除⽼TiDB集群->新TiDB集群增量同步drainer链路

注意:因多个TiDB集群共⽤的1台⾼配drainer机器,node_exporter(采集机器监控agent)也是多 个TiDB集群共⽤,当A TiDB集群停⽌drainer链路,B C TiDB集群会报node_exporter不存活告警

总结

  • 不同TiDB版本的升级统⼀版本很有必要,⼀是拆分⽅法的通⽤,减少拆分的复杂度,⼆是享受新 版本的特性,减低运维管理成本
  • ⽬标TiDB集群磁盘空间需⾜够充裕
  • 在源TiDB写⼊压⼒⼤时增量同步binlog到⽬的端的延迟保障需要drainer按库名进⾏并发增量同步
  • TiDB拆分涉及步骤多,能提前做的步骤就提前做,真正拆分的时间窗⼝很短
  • 感谢TiDB官⽅社区对我们的技术⽀持,路漫漫其修远兮,我们将上下⽽求索
TiDB 6.0:让 TSO 更高效丨TiDB Book Rush TiDB 作为一个分布式数据库,计算节点 tidb server 和存储节点 tikv/tiflash server 有着近乎线性的扩展能力,当资源不足时直接在线扩容即可。但作为整个集群大脑的 PD 节点因为只有 leader 提供服务,不能像其他组件一样通过扩展节点而提高处理能力。TSO 分配由 PD Leader 节点提供,大量请求下会导致 Leader 节点 CPU 利用率增高,影响事务延迟。PD Follower 节点基本处于空闲状态,系统资源利用率较低。 阅读详情

相关推荐

高并发分布式系统设计:分与等的工程实践方法论

分布式系统设计本质是应对网络不可靠、节点易故障、数据需一致等基础挑战的技术体系。其核心原理在于通过垂直与水平拆分(分)降低单点压力,借助最终一致性(等)以时间换空间实现高可用。该策略在千万级PV、跨机房容灾、读写分离等典型场景中展现出显著技术价值,广泛应用于Feed流、弹幕、订单等高并发业务系统。本文基于‘山推’案例,深入解析Group抽象、Master/Slave职责分离、NWR模型计算及半同步落地等关键实践,强调以业务语义驱动建模,而非堆砌技术名词。

diedangxiang4092的博客 439

架构师必备--高可用高性能分布式数据库Tidb安装部署实践

我们经常会说互联网 “三高”,即高并发、高可用、高性能,这些技术是构建现代互联网应用程序所必需的。本文从数据库层面,讲解下高可用高性能分布式数据库TiDB 的搭建部署流程,希望可以让大家少走弯路,更快上手

qq_34279303的博客 1451

Oracle与MySQL核心技术对比:从设计哲学到实战选型指南

数据库作为现代信息系统的核心组件,其选型直接影响着系统的性能、扩展性和长期成本。理解数据库的核心原理,需要从数据存储、事务处理、并发控制等基础概念入手。在众多数据库技术中,Oracle和MySQL代表了两种截然不同的设计哲学:Oracle以其企业级的“全能”与“厚重”著称,内置了高级复制、数据仓库优化等丰富功能,适合对数据一致性和可靠性有极致要求的关键业务;而MySQL则体现了互联网时代的“敏捷”与“灵活”,其可插拔存储引擎架构和更适合横向扩展的特性,使其在成本敏感、快速迭代的Web应用中大放异彩。从技术价

388

TiDB 性能测试的几个优化点

作者: 数据源的TiDB学习之路 原文来源: https://tidb.net/blog/513a4eef ...

TiDB 社区干货传送门 810

TiDB数据库

TiDB分布式数据库

Mr.xing的博客 2427

最新,弱小目标检测数据集,持续更新中。

梳理了最新的下弱小目标检测数据库,方便后续开发使用

weixin_43331421的博客 4092

TiDB 在中通的落地与进化

本文介绍了 TiDB 从 2017 年至今中通落地的情况。从满足超大规模数据量的处理,到实时多维分析能力的增强,再到平台功能的完善……TiDB 通过愈发完备的 HTAP 能力打造一站式的数...

架构师小秘圈 457

ITIL-IT运维管理-概述

ITIL-IT运维管理-概述 概述 IT服务管理(ITSM)是一套帮助企业对IT系统的规划、研发、实施和运营进行有效管理的方法,是一套方法论。ITSM起源于ITIL(IT Infrastructure Library,IT基础架构标准库),ITIL是CCTA(英国国家电脑局)于1980年开发的一套IT服务管理标准库。它把英国在IT管理方面的方法归纳起来,变成规范,为企业的IT部门提供一套从计划、研发、实施到运维的标准方法。 中文名 IT服务管理 外文名 ITService Management 专家

syjhct的博客 4万+

奇安信服务端开发面试指南:系统开发方向技术栈与实战解析

在网络安全领域,服务端开发工程师的职责与互联网高并发业务系统有所不同,更侧重于底层能力构建与中间件选型。系统开发方向要求工程师具备扎实的Java基础、分布式系统设计能力以及Linux环境下的故障排查技巧。理解消息队列如Kafka的可靠性机制、MySQL事务与锁的优化,是应对海量日志与资产数据的关键。从系统设计到私有化部署的资源约束,安全产品研发对工程师的工程素养提出更高要求。本文围绕奇安信相关岗位,拆解能力模型、常见技术坑点与面试应答思路,为准备安全厂商后端职位面试的开发者提供从基础概念到实践落地的完整参考

weixin_29309213的博客 297

工业视觉开发者的福音:用C#玩转VisionMaster算子(非方案版完整教程)

本文为工业视觉开发者提供了一份完整的C#与VisionMaster算子二次开发教程,详细介绍了环境配置、算子调用原理、性能优化技巧及实战案例。通过模板匹配和二维码识别等实例,展示了如何高效集成VisionMaster算子到现有框架中,提升工业自动化视觉检测系统的灵活性和性能。

weixin_29280657的博客 270

STM32串口通信实战:从CubeMX配置到printf重定向全解析

串口通信是嵌入式系统中最基础且广泛使用的数据交换方式,它基于异步串行通信原理,通过TX(发送)和RX(接收)两根信号线实现设备间的全双工通信。其技术价值在于协议简单、硬件成本低、可靠性高,是单片机与上位机调试、传感器数据采集、设备控制等场景的首选方案。在STM32等ARM Cortex-M系列MCU中,USART外设通过硬件自动处理时序,大大减轻了CPU负担。本文聚焦于嵌入式竞赛与开发中的高频需求,以STM32G431RBT6为例,详解通过CubeMX配置USART1、实现按键触发数据发送、并完成print

weixin_30603633的博客 545

TiDB开发规范

高效TiDB开发规范 基础规范 单表数据量大于5000W 总体数据大于1TB 不使用热点数据 尽可能批量写入,但每次写入的数据不大于64M 每个事务包含的SQL语句数量不大于50 使用有真正意义的列作为主键,而不是单调递增ID作为主键 数据库字符集默认使用utf8,如果存储emoji表情等四字节使用utf8mb4字符集 禁止线上核心业务使用存储过程、视图、触发器 禁止从测试、开发环境、本机直连线上生产数据库 禁止在线上生产环境做数据库压力测试 库表设计 库名、表名、字段名必须使小写字

u013756836的专栏 2105

am62x A53与R5F通信

AM62x是Ti的一款异构多核芯片。remoteproc驱动,硬编码(写死)了R5F/M4F固件的名字,这样驱动启动时,就会找硬件编码的固件,下面是其对应关系。值得注意的是,linux内核中的M4F remoteproc驱动启动M4F,而linux内核中的R5F remoreteproc驱动不启动R5F,相反,它attach到已经在boot阶段启动的R5F固件上。在/lib/firmware的真实固件名:,而我们生成的固件名如下所示,没有直接对应的,经确认,.out文件就是我们需要的,重命名后即可。

鹰之翔 1358

TiDB介绍及原理

TiDB 是一款定位于在线事务处理/在线分析处理的融合型数据库产品,实现了一键水平伸缩,强一致性的多副本数据安全,分布式事务,实时 OLAP 等重要特性。同时兼容 MySQL 协议和生态,迁移便捷,运维成本极低。

qq_36037795的博客 2551

Visual Studio调试技巧与实用方法总结(实战经验分享)

本文根据多年的项目实战经验,详细介绍一些Visual Studio常用的高效调试手段与技巧。

dvlinker的技术专栏 3万+

Vue3 - 详细实现接入使用海康威视监控云端显示及控制功能,网站集成安装海康监控及实时监控显示、回放、放大缩小画面、视频画面截图、截屏抓拍、摄像头控制,实时推流及播放器解决延迟卡顿等问题(详细代码)

vue3,nuxt3,海康威视,海康监控,摄像头监控,实时监控画面,海康插件,视频播放,回放,视频流地址,取流协议,视频sdk播放,hik,rtsp,rtmp,hls,ws,网站,网页,h5页面,后台管理系统,vue3对接海康监控设备,无法连接,报错,vue3对接海康处理接口认证规则,监控实时预览和回放功能,海康api接口,安全认证,海康开放平台,官方文档,播放海康摄像头的监控视频,海康实时监控播放详细步骤,web,黑屏,特别卡不流畅怎么办,解决无法推流,录像,连接不上,vue3,海康,vue海康视频监控,

🏆 前端领域优质创作者 1万+

TIDB分布式数据库

目录 1.TiDB 简介 2.核心特点 3.tidb安装与部署 1.TiDB 简介 TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 O.

weixin_62615875的博客 536

Python爬虫逆向案例:某云片滑块验证码分析-滑动验证码

今天我们看个滑块。

2201_76125393的博客 1034

数据库之TiDB基础讲解

TiDB是PingCAP公司研发的一款开源分布式关系型数据库,从 2015年 9 月开源,至今已经有9 年时间,可以说已经非常成熟,它是一款同时支持OLTP(在线事务处理)和OLAP(在线分析处理)的融合型分布式数据库产品,具备水平扩缩容,金融级高可用、实时、云原生的分布式数据库,兼容MySQL 5.7协议和MySQL生态等重要特性,它适合高可用、强一致要求较高、数据规模较大等各种应用场景。金融级高可用在线水平扩容或者缩容,并且存算分离云原生的分布式数据库,支持部署在公有云,私有云,混合云中。

上善若泪 4028

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

分布式数据库TIDB

                                          分布式数据库TIDB 第一章 绪论 研究背景 目前,在电商、金融、O2O、零售、电信等行业普遍存在用户基数大,营销活动频繁,核心交易系统响应日益变慢的问题,随着业务数据增长迅速,超过单机数据库的承受极限,制约业务的发展;在电力、气象、农业、智能制造等行业海量的数据远远超过单机数据库的承受极限。 常用的单机...

Peter的博客 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

1.3 万亿条数据查询,如何做到毫秒级响应?TiDB介绍

知乎,在古典中文中意为“你知道吗?”,它是中国的 Quora,一个问答网站,其中各种问题由用户社区创建,回答,编辑和组织。 作为中国最大的知识共享平台,我们目前拥有 2.2 亿注册用户,3000 万个问题,网站答案超过 1.3 亿。 随着用户群的增长,我们的应用程序的数据大小无法实现。我们的 Moneta 应用程序中存储了大约 1.3 万亿行数据(存储用户已经阅读过的帖子)。 由于每月累计产生大约 1000亿行数据且不断增长,这一数字将在两年内达到 3 万亿。在保持良好用户体验的同时,我.

lisheng19870305的专栏 3315

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

聊聊TiDB里面如何实现读写分离

作者: 数据源的TiDB学习之路 原文来源: https://tidb.net/blog/5d80603f ...

TiDB 社区干货传送门 1112

突破容量极限:TiDB 的海量数据“无感扩容”秘籍

对于任何一家业务快速成长的企业来说,应对峰值流量冲击,一直是摆在技术团队面前的一大难题。面对海量数据,数据库及业务团队都希望做到“无感扩容”,但流行的分库、分表方案在扩容速度和一致性上经...

京东科技开发者 858

数据库读写分离的分析和使用

写在前面 随着业务的发展和数据量的增加,需要对数据库架构进行调整,目前我们所使用的是一台单点的数据库,考虑到项目对外部提供服务之后业务会大量的增长,现在需要将数据库更改为主从的架构. 数据库架构介绍 通过对数据库数据进行拆分,来提高数据的访问频率,以及扩展数据库的存储量. 什么是主从架构 通过Mysql的binlog进行数据拷贝,将主库的增删改操作复制到从库中,已达到主从同步的目的. 什么是读写...

qq_19663899的博客 896

LiveMe x TiDB丨单表数据量 39 亿条,简化架构新体验

近些年,由于互联网的快速发展以及线上需求的爆发,。在娱乐、教育、办公等场景中涌现出许多优秀的视频直播产品。随着国内市场竞争日益白热化,加之企业出海渐成趋势,越来越多的直播公司选择走出去,寻找新的海外直播市场,借鉴国内成熟的产品、运营以及商业模式,让全球的用户都用上中国人创造的产品,LiveMe 便是成功的出海直播产品之一。LiveMe 是一个全球直播和社交平台,于 2016 年 4 月推出。

TiDB_PingCAP 的博客 1253

TIDB 利用follower 角色实现读写分离

作者: watermelon_cn 原文来源: https://tidb.net/blog/b12b575b ...

TiDB 社区干货传送门 467
上一篇: 故障分析 | 血的教训-由慢查询引发的备份等待导致数据库连接打满
下一篇: 故障分析 | 手动 rm 掉 binlog 导致主从报错
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值