首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

使用Kafka,如何成功迁移SQL数据库中超过20亿条记录?

使用 Kafka,如何成功迁移 SQL 数据库中超过 20 亿条记录?我们的一个客户遇到了一个 MySQL 问题,他们有一张大表,这张表有 20 多亿条记录,而且还在不断增加。如果不更换基础设施,就有磁盘空间被耗尽的风险,最终可能会破坏整个应用程序。而且,这么大的表还存在其他问题:糟糕的查询性能、糟糕的模式设计,因为记录太多而找不到简单的方法来进行数据分析。我们希望有这么一个解决方案,既能解决这些问题,又不需要引入高成本的维护时间窗口,导致应用程序无法运行以及客户无法使用系统。在这篇文章中,我将介绍我们的解决方案,但我还想提醒一下,这并不是一个建议:不同的情况需要不同的解决方案,不过也许有人可以从我们的解决方案中得到一些有价值的见解。

02

0671-6.2.0-如何将CDH5.12的Hive元数据迁移到CDH6.2

这里我们假定一个场景,你需要迁移CDH5.12到CDH6.2,CDH5.12和CDH6.2分别是两个不同的集群,我们的工作主要是HDFS数据和各种元数据从CDH5.12迁移到CDH6.2,本文不讨论HDFS数据的迁移也不讨论其他元数据的迁移比如CM或Sentry,而只关注Hive元数据的迁移。这里的问题主要是CDH5.12的Hive为1.1,而CDH6.2中Hive已经是2.1.1,Hive的大版本更新导致保存在MySQL的schema结构都完全发生了变化,所以我们在将CDH5.12的MySQL数据导入到CDH6.2的MySQL后,需要更新Hive元数据的schema。首先Fayson会搭建2个集群包括CDH5.12和CDH6.2,为了真实,我们在接下来的模拟过程中,创建的Hive表包含分区,视图和UDF,好方便验证是否迁移到CDH6.2都能正常运行。具体如何迁移Fayson会在接下来的文章进行详细描述。

03

20亿条记录的MySQL大表迁移实战

我们的一个客户遇到了一个 MySQL 问题,他们有一张大表,这张表有 20 多亿条记录,而且还在不断增加。如果不更换基础设施,就有磁盘空间被耗尽的风险,最终可能会破坏整个应用程序。而且,这么大的表还存在其他问题:糟糕的查询性能、糟糕的模式设计,因为记录太多而找不到简单的方法来进行数据分析。我们希望有这么一个解决方案,既能解决这些问题,又不需要引入高成本的维护时间窗口,导致应用程序无法运行以及客户无法使用系统。在这篇文章中,我将介绍我们的解决方案,但我还想提醒一下,这并不是一个建议:不同的情况需要不同的解决方案,不过也许有人可以从我们的解决方案中得到一些有价值的见解。

01

Windows系统迁移

当我们为电脑更换硬盘时(比如更换大一点的硬盘或将 HDD 更换为 SSD),往往需要考虑原硬盘上的系统和数据怎么办。重装系统是一个选择,但重装系统后还要重装系统上的软件,还要迁移数据,费时又费力。另一个方法是迁移系统,这样既不用重装系统也不用重装软件,且系统上的数据还全部保存了下来。然而 Windows 系统自身并没有提供系统迁移的工具,不像 Linux 提供了 dd 命令可以用来直接镜像整个分区从而实现系统迁移。更为遗憾的是,就算手头有 Linux 系统,直接使用 dd 对 Windows 系统进行拷贝,迁移后的 Windows 只会是蓝屏/黑屏,因为迁移系统不仅仅是拷贝分区就够了,对应的分区信息也要修改的。虽然 Linux 也是这样,但 Linux 可以通过手动引导进入系统,然后再更新引导信息,而 Windows 一旦蓝屏/黑屏就令人束手无策了,Windows Live CD 提供的引导修复功能也不尽人意。

03
领券