首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何同时正确复制和存档

问如何同时正确复制和存档
EN

Database Administration用户
提问于 2021-01-02 16:38:49
回答 1查看 122关注 0票数 0

我有一个300 5GB的数据库,每天增长大约5GB。它存储基于时间的数据,因此,我目前有大约60天的数据.我的主数据库服务器有一个450 GB的NVMe,所以我想要一个备用服务器,它可以为旧数据提供可扩展的廉价存储。

主服务器只需要最后15天的数据。因此,任何超过15天的数据,我想转移到二级数据库,它有较慢,但廉价的存储。我认为标准备份或归档是不可行的,因为我想在任何时候查询数据(可能每天有100个查询)。

我想在这里一箭双雕,我想如果我设置到辅助服务器的复制,然后以某种方式指示删除15天以上记录的清理存储过程不会将删除内容传播到从服务器。

这是可能的吗?如果不是,什么是最好的方式来完成存档的数据,但到另一个服务器,并允许查询。我怀疑对我的所有表进行分区,但不是所有的表都是基于时间的,所以我需要一些方法来将基于时间的分区数据与它所需的FKs一起移动。

PS:我不会依赖辅助服务器作为备份,而是我的主复制。然后,我将定期对辅助服务器进行非现场备份。

EN

回答 1

Database Administration用户

发布于 2021-01-03 07:56:41

让我来解释几件事。然后你可以找出哪种组合最适合。

  • 从技术上讲,主体和副本应该有相同的数据。然而..。
  • 通过临时设置,您可以说特定的语句不会被复制。这些可能是任何东西-- INSERT、分区命令、DROPs等等。
  • 听起来你想把数据从快媒体移到慢速媒体。这需要某种形式的复制。这可能会在发生时阻止表中的所有操作(甚至是SELECTs)。
  • 可以指示某些PARTITIONs位于不同的文件系统路径中。如果是这样的话,第二个路径可能是另一个驱动器。
  • “可传输表空间”允许将单个PARTITION从表断开并转换为独立的表。可以将它们复制到另一个设备,备份、删除等(不要通过文件系统操作来完成)。
  • 使用每日分区切换到PARTITION BY RANGE(TO_DAYS(...))可能是明智的。这将便利这种迁移,并最终在60天后删除。
  • PARTITIONing适用于一个表,因此不需要对所有表执行它。(也许您指的是“切分”,它涉及到单独的、独立的MySQL实例,每个实例都有部分数据。
  • 如果您尚未设置分区或复制,则需要一次性设置(停机时)。在那之后,持续的维护将是‘便宜’。
  • 更多关于分区使用的信息:http://mysql.rjweb.org/doc.php/partitionmaint
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/282460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档