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

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

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

01

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

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

02

数据不平衡问题

对于一些二分类问题或者多分类问题,部分类别数据相较于其它类别数据而言是要小得多的,这种现象就是数据不平衡问题。数据不平衡问题会导致什么情况呢?假如是基于一些特征判断病人是否患有该疾病,且该疾病是一个小概率获得的疾病,假设概率为0.0001, 那么表明有10000个来看病的人中只有一个人患有该疾病,其余9999个人都是正常病人。如果用这样的一批数据进行训练模型算法,即使该模型什么都不学,都判定为正常人,其准确率高达0.9999, 完全满足上线要求。但我们知道,这个模型是不科学的,是无用的模型。这种数据分布严重不平衡的情况下,模型将具有严重的倾向性,倾向于数据样本的多的类别,因为模型每次猜样本多对应的类别的对的次数多。因此,如果直接将严重数据不平衡的数据拿来直接训练算法模型,将会遇到上述问题。一般在10倍以上可以判定为数据不平衡问题。

02
领券