mysql - MySQL - 备份 90 天以上数据的最佳方式
问题描述
我们有一个大的 MySQL 数据库(~400 GB)。
目前,我们有两年多前的历史数据。
目前,我们计划在我们的主数据库中仅保留最近 90 天的数据,并定期将旧数据移出。
目前,我们正在考虑将数据转移到 Google Big Query,因为它是一种更便宜的选择。
如果客户请求一些旧数据(不是常见情况),我们计划提供来自 Big Query 的数据。
我想知道是否有更好的方法/技术来做到这一点?
解决方案
您的数据量并不大。BigQuery 支持高达 PB 的规模。还支持导入最大 5 TB 的文件。
我们已经实现了您的用例。我们会定期将 MySql 数据库备份到 BigQuery。
- mysql 控制台,SELECT INTO FILE 语法以生成 csv 或 tsv。您可能需要替换无效字符。
- 上传到谷歌云
- 从 GCS 向 BigQuery 发出 BQ 导入命令(您可以使用预定义架构或自动架构)
在时间上,第一步和第二步耗时最长,大约 20 分钟。在 BigQuery 中导入需要 30 秒到 1 分钟。
推荐阅读
- arrays - 我们如何在数组中找到唯一的对?
- php - 我不希望页面在 php 执行后刷新
- windows - 为什么 XCOPY /W 和 REPLACE /W 会为他们的单字符提示使用所有重定向的文本数据?
- ios - iOS 应用程序能否以编程方式将 Apple Watch 置于飞行模式?
- java - 将 Erlang 与 Java 库链接
- ajax - ajax调用后如何刷新模板
- javascript - 搜索和更新嵌套在 Javascript 数组中的对象的属性
- r - 将类型分配给 xyplot
- c++ - 识别来自 Windows 10 应用程序的 Toast 通知区域
- javascript - 在 Materialise 中添加新幻灯片