代码之家  ›  专栏  ›  技术社区  ›  ZK Zhao

Rails&Heroku:自动保存来自Heroku的数据副本

  •  0
  • ZK Zhao  · 技术社区  · 6 年前

    每个人

    我有一个运行在heroku免费层的小站点。它经常从不同的来源获取/更新数据,我希望每月将数据库的副本(大约10000条记录)保存到其他地方,这样我就可以看到数据是如何随着时间而变化的,并进行一些更详细的分析。这个网站是用Ruby on Rails开发的。

    我想知道

    • 从heroku导出数据的最佳实践是什么,特别是对于RubyonRails应用程序?(约10000条记录)
    • 有什么地方可以和其他人分享这些数据吗?(即Kaggle数据集、Github repo)

    谢谢!

    1 回复  |  直到 6 年前
        1
  •  1
  •   Alex.U    6 年前

    TL;DR您最好构建自己的导出脚本,连接到您的实例并 using SQL dump . 这个爱好计划非常有限。


    有多种备份策略。例如,如果需要每月导出一次,则可以每隔30天设置一个cron作业,用于导出所需的数据。

    既然你在使用Heroku,他们就有办法管理备份。要执行此操作,请导航到:

    https://dashboard.heroku.com/apps/{your-app}/resources
    Select your database add-on
    Navigate to Durability
    

    在这里您应该可以看到Heroku的默认备份策略。这是herokus的日常策略来修改这个, heroku toolbelt provides the following :

    heroku pg:backups:schedule DATABASE_URL --at '02:00 America/Los_Angeles' --app sushi
    

    但这将是每日备份。

    注意以下限制:

    每月备份意味着一个月内只保存一次备份。例如,根据当前的限制,Premium-0将有12个月的备份,过去12个月中每个月都有一个备份。

    此外,如果您决定采用Herokus内置方法,请注意以下几点:

    您可以保留的手动备份数量有限。这个数字是基于你的数据库计划。

    Plan        Backups Retained
    Hobby-Dev            2
    

    关于共享它,有一些事情需要考虑;例如,如果信息是合理的(默认情况下),我们需要一种方法来控制谁可以访问资源。有很多方法可以通过使用私有Github repo甚至带有ACL(访问控制列表)的amazon S3 bucket来实现这一点。 Heroku's dataclips 也可以使用,但不确定是否需要。