【问题标题】:Does anyone have a Ruby on Rails application with 500+ tables?有没有人有一个包含 500 多个表的 Ruby on Rails 应用程序?
【发布时间】:2011-04-09 08:41:21
【问题描述】:

我正在开发一个大型 SAAS 应用程序,我曾计划在 Ruby On Rails 中这样做。但是,我在网上到处阅读的大多数线程似乎都表明 100 个表被认为是一个大型 RoR 应用程序。我很想听听任何人看到的可扩展性/大小问题以及您如何解决它们(如果您确实能够这样做的话),特别是如果您的应用程序超过 500 个表。除了数据库大小之外,我还对您可能看到的任何其他 RoR 可扩展性问题感兴趣。
提前感谢大家。

【问题讨论】:

    标签: ruby-on-rails activerecord scalability


    【解决方案1】:

    如果您想拥有 500 多张桌子,没关系。如果您想拥有 500 多个 Rails 模型,那就另当别论了。我猜你的意思是后者。 500 多个模型可能看起来有点太多了。尽管有一个故事说 37Signals 在他们的 crm 应用程序中有 250 多个模型。启动这种应用程序一定很痛苦。也重启。需要大量内存 - 每个应用程序实例可能需要数百兆字节。但如果已经加载,它应该不会比模型少 10 倍的应用程序慢那么多。虽然这只是基于假设,而不是经验。

    【讨论】:

    • 我怀疑开发模式使用起来会很痛苦。由于开发人员在每次请求时都会重新加载使用过的模型,因此拥有更多模型意味着重新加载更多代码。更快的 Ruby 实现可能会有所帮助,例如 JRuby / 1.9.2 或 Rubinius。
    【解决方案2】:

    我编写了一个简单的数据库浏览器,它使用 IronRuby on Rails 并跨越 14 个数据库和 520 多个表(和模型)我没有注意到开发模式有任何特别的减速。它不会是一个生产类型的应用程序,因为它是为开发团队工作的,所以我们不期望一个面向公众的应用程序会承担什么样的负载。

    webrick 服务器最初为 63MB,在开发模式下可以增长到 200+ MB。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      • 1970-01-01
      • 2010-12-05
      • 1970-01-01
      • 2016-11-26
      相关资源
      最近更新 更多