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

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

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

01

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

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

02

将Hadoop作为基于云的托管服务的优劣势分析

Apache Hadoop是一种开源软件框架,能够对分布式集群上的大数据集进行高吞吐量处理。Apache模块包括Hadoop Common,这是一组常见的实用工具,可以通过模块来运行。这些模块还包括:Hadoop分布式文件系统(HDFS)、用于任务调度和集群资源管理的 Hadoop YARN以及Hadoop MapReduce,后者是一种基于YARN的系统,能够并行处理庞大的数据集。   Apache还提供了另外的开源软件,可以在Hadoop上运行,比如分析引擎Spark(它也能独立运行)和编程语言Pig。   Hadoop 之所以广受欢迎,就是因为它为使用大众化硬件处理大数据提供了一种几乎没有限制的环境。添加节点是个简单的过程,对这个框架没有任何负面影响。 Hadoop具有高扩展性,能够从单单一台服务器灵活扩展到成千上万台服务器,每个集群运行自己的计算和存储资源。Hadoop在应用程序层面提供了高可用性,所以集群硬件可以是现成的。   实际的使用场合包括:在线旅游(Hadoop声称它是80%的网上旅游预订业务的可靠的大数据平台)、批量分析、社交媒体应用程序提供和分析、供应链优化、移动数据管理、医疗保健及更多场合。   它有什么缺点吗? Hadoop很复杂,需要大量的员工时间和扎实的专业知识,这就阻碍了它在缺少专业IT人员的公司企业的采用速度。由于需要专家级管理员,加上广泛分布的集群方面需要庞大的成本支出,从中获得商业价值也可能是个挑战。I   集群管理也可能颇为棘手。虽然Hadoop统一了分布式计算,但是配备和管理另外的数据中心、更不用说与远程员工打交道,增添了复杂性和成本。结果就是,Hadoop集群可能显得过于孤立。

01
领券