专栏首页互联网技术栈Tair数据迁移三步走

Tair数据迁移三步走

image.png

迁移的三个阶段

在多机房数据迁移中,整个过程分为三个阶段:历史数据迁移阶段、redolog迁移阶段、实时复制阶段。

1 历史数据迁移

历史数据的迁移使用一个队列完成,这个队列由多个线程消费。迁移模块保存一个本dataserver的主桶有序序列,存储引擎顺序按桶扫描所有数据(对ldb引擎来讲,是扫描memtable、immutable memtable和所有的SSTable),并将扫描到的数据放到队列里。主线程会同步等待每个桶的数据同步完成,然后在从机房上打上标签,每次同步前都会判断这个标签,避免重启后历史数据重迁。

2 redolog迁移

由于在历史数据同步时,client又会有新的写入,新写入的key可能已经被扫描过,所以如果不记录这些操作,这部分数据可能会被丢失。

对历史数据迁移来讲,桶有三种状态:已迁移、正在迁移、未迁移

redolog只记录“正在迁移”的桶的新写入请求。对于已迁移的桶的新写入请求,把它放到实时迁移队列,对于未迁移的桶的新写入请求,不做特殊处理,因为等到迁移这些桶时,数据已经落到ldb上。

image.png

当一个桶的ldb数据迁移完成时,立即开始迁移新产生的log。迁移log时,也可能会有新的写入,当剩余log很大时,新的写入会追加到log;当剩余log小于一定阈值后,会锁定log,新的写入会被阻塞,直到log迁移完毕后,再将被阻塞的请求放到实时复制队列里。 redolog的迁移使用多个队列,根据请求key的hash值放到不同的队列里,每个队列只有一个消费线程,这样来保证相同key的时序性。

3 实时复制

实时复制也使用多个队列,根据请求key的hash值放到不同的队列里,每个队列只有一个消费线程,来保证相同key的时序性。

如上所述,当一个桶的历史数据、redolog迁移完毕后,新的请求就会放到实时队列里。


个人介绍: 高广超:多年一线互联网研发与架构设计经验,擅长设计与落地高可用、高性能互联网架构。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 软件架构师的12项修炼[1]——关系技能修炼(1)——文雅、沟通、协商

    如果我准备去见一些了解你的人,例如你的邻居、同事、家人等,他们会怎样评价你呢? ❑ 他们会说你工作努力吗? ❑ 他们会说你正直诚实吗? ❑ 他们会说你举止...

    高广超
  • LVS Nginx HAProxy 对比

    目前,在线上环境中应用较多的负载均衡器硬件有F5 BIG-IP,软件有LVS,Nginx及HAProxy,高可用软件有Heartbeat、Keepalived,...

    高广超
  • Redis 队列

    举例: 队列主要用在系统解耦、流量削峰、异步处理、数据顺序处理等场景。新手在使用时可能会犯一些常见的错误。下面讲一个新手容易犯的错误,在这个示例中把队列的入...

    高广超
  • 如何将本地数迁移至腾讯云之一工具篇 - COS Migration

    COS Migration 是一个集成了 COS 数据迁移功能的一体化工具。通过简单的配置操作,用户可以将源地址数据快速迁移至 COS 中,它具有以下特点:

    云存储
  • SIGGRAPH最佳博士论文奖又落华人手中,胡渊鸣的这位师兄不一般

    这已经是「连续3年」,该重要奖项颁给华人学者,此前分别由加州大学伯克利分校闫令琪博士和朱俊彦博士摘得。

    量子位
  • [Leetcode][python]Binary Tree Postorder Traversal/二叉树的后序遍历

    将数组输出为右子树-左子树-根节点。最后,再将数组倒序输出,形成后序遍历。这样代码并不用很繁琐,也能做完迭代。(前序遍历是左子树-右子树-根节点)

    后端技术漫谈
  • css基础1

    Css(实现了页面和样式的彻底分离) 写入样式表的三种方式: 内联样式表,嵌入样式表,外部样式表。 内联样式表的优先级高于嵌入样式表。嵌入式样式表的优先级大于外...

    码农阿宇
  • 微信小程序《易打卡》开发实战

    《易打卡》这款小程序是在微信内测开始时期就一边学习一边开发,开发过程中也是随着微信小程序的功能以及API迭代而不断更新调整产品的形态与功能。此次的开发总结,将会...

    梁源
  • 【Oracle 12c Flex Cluster专题 】— Leaf Node的故障迁移

    原文链接 http://allthingsoracle.com/oracle-flex-cluster-leaf-node-failover/ 译者 周天鹏...

    沃趣科技
  • 从互联网+看中央经济工作会议

    孟昭莉 腾讯研究院首席经济学家,产业与经济研究中心主任   12月21日,中央经济工作会议落下帷幕。会议提出,要在适度扩大总需求的同时,提高供给体系质量和效...

    腾讯研究院

扫码关注云+社区

领取腾讯云代金券