MySQL - 备份超过 90 天的数据的最佳方式 [关闭]

Posted

技术标签:

【中文标题】MySQL - 备份超过 90 天的数据的最佳方式 [关闭]【英文标题】:MySQL - Best way to back up data older than 90 days [closed] 【发布时间】:2020-01-29 22:05:03 【问题描述】:

我们有一个大型 mysql 数据库(约 400 GB)。

目前,我们拥有 2 年多前的历史数据。

目前,我们计划在主数据库中仅保留最近 90 天的数据,并定期将旧数据移出。

目前,我们正在考虑将数据转移到 Google Big Query,因为它是一种更便宜的选择。

如果客户请求一些旧数据(不是很常见的情况),我们计划提供来自 Big Query 的数据。

我想知道是否有更好的方法/技术可以做到这一点?

【问题讨论】:

这是题外话,因为它会得到高度自以为是的答案。 感谢您指出@Pentium10,完成了。 【参考方案1】:

您的数据量并不大。 BigQuery 支持高达 PB 的规模。还支持导入最大 5 TB 的文件。

我们已经实现了您的用例。 我们会定期将 MySql 数据库备份到 BigQuery。

    mysql 控制台,SELECT INTO FILE 语法生成 csv 或 tsv。您可能需要替换无效字符。 上传到谷歌云 从 GCS 向 BigQuery 发出 BQ 导入命令(您可以使用预定义架构或自动架构)

在时间上,第一步和第二步耗时最长,大约 20 分钟。在 BigQuery 中导入需要 30 秒到 1 分钟。

【讨论】:

感谢 @Pentium10 提供见解,只是想知道您是否再次使用 BigQuery 中的数据来处理请求。如果你用过,这个场景的表现如何? 我们不会从 BigQuery 向最终用户提供任何服务,因为它是仓库,因此它的响应时间超过 600 毫秒,但平均查询时间为 1-2 秒。因此,我们在后台运行 BigQuery 的作业查询并将其缓存,然后我们从缓存服务器到最终用户。这样我们就不会给请求增加延迟。 好的,谢谢。

以上是关于MySQL - 备份超过 90 天的数据的最佳方式 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

每天定时备份mysql数据库任务

bash脚本通过每天保留1个备份来删除超过7天的备份[重复]

在 Git 中删除超过 90 天的文件版本

MySQL被我弄坏了,跑路是不是最佳选择?

删除超过多少天的日志文件或者备份文件

docker容器化mysql备份单一表数据