存储/托管大型 rails 数据库,最佳实践

Storing / hosting large rails databases, best practices

我正在创建一个 Rails 应用程序,数据库(当前使用的是 sqlite3)已超过 50 MB。当我推送时,这会在 github 上创建警告,我认为现在是开始考虑在某处托管数据库的好时机。以下是我必须加快进程的几个问题:

  1. git集线器问题是否有解决方法?现在,数据库在 github 上被推送和拉取,这很好,因为团队中的每个人都可以接收对数据库的更改。

  2. 如果 git 解决方法没有好的解决方案,那么下一个合乎逻辑的步骤是在某个外部服务器上托管数据库吗?下一步有多大必要?

  3. 我开始研究 AWS 上的 RDS。您在 RDS 或类似的东西上托管数据库有什么经验?

  4. 还有什么推荐的!

非常感谢。

正如@chris 所说,将数据存储在您的存储库中是一种可怕的代码味道。假设您已经在使用 AWS,RDB 肯定会满足您的需求,因为它符合 "an actual database" 并处理大部分管理工作。

常见的选择是 postgres 和 mysql;在它们之间进行选择可能是一种宗教 war,但请注意 mysql 意味着您可以使用(或稍后切换到)Amazon Aurora,这是一个高性能的 mysql-方言数据库。

Configuring a postgres or mysql database in Rails is very simple。请记住,许多示例假设您是 运行 本地数据库。这里有一个更好的配置给你。

development:
  adapter: mysql2
  encoding: utf8
  database: your_database_name
  pool: 5
  username: your_username_not_root
  password: your_password
  host: asdfasdf.asdfasdf.us-east-1.rds.amazonaws.com:3306

If you need to migrate data, this question/answer will help you with most of it.

最后,这里有一些相关的问题和指点。它们并不完全适用,但可能有更多有用的信息。