【问题标题】:How to use 2 database servers for a rails application如何为 Rails 应用程序使用 2 个数据库服务器
【发布时间】:2020-05-26 10:53:43
【问题描述】:

我必须开发一个数据管理系统,以便我的所有数字信息(如 pdf 或 docs)我将扫描并存储在一个数据库中,并且数字文档的参考唯一密钥将与创建的用户一起保存在不同的数据库中信息。我已经创建了一个 mysql 数据库,用于存储创建的用户信息和文档相关信息。但是要将 pdf 数据扫描并存储为数字记录,我可以用第二个 db 做的最好方法是什么?我可以为此使用不同的mysql db吗?我应该使用什么数据库?在这种情况下,是否可以在 ruby​​ 应用程序中使用 2 个数据库。在这种情况下,这两个数据库概念是否成功?它会使应用程序变慢吗?当我尝试获取记录时,我希望应用程序运行得更快。或者只有一个数据库可以让它更快地工作?我不知道要这样做。任何人都可以为此提出一个想法。

【问题讨论】:

    标签: mysql ruby-on-rails database ruby-on-rails-5


    【解决方案1】:

    大多数处理扫描文档等内容的人使用难以猜测的(随机)文件名将文档放入普通 Web 服务器或 CDN,并将文件路径放入 MySQL 或他们使用的任何 RDBMS。

    为什么?几个原因:

    • RDBMS 不擅长将二进制大对象 (BLOB) 流式传输给用户。普通的旧 Web 服务器是。例如,Apache 和 Linux 一起成长,并以惊人的效率做到这一点。 nginx也不错。
    • 在扩展时,您不希望 RDBMS 成为向用户提供内容的瓶颈,无论它是否与您用于事务性内容的相同。
    • 简单的 CDN 只是一个 Apache 或 nginx Web 文件服务器。但是使用云供应商的网络几乎可以神奇地轻松扩展。在 CloudSomething 上花几百美元,然后繁荣,你就是全球性的。

    一个普通的文件服务网络服务器可以很好地完成这方面的工作,直到您需要对其进行扩展。

    安全性:不要将您的文件命名为 1.pdf2.pdf 等。让他们真的很难猜。以免你最终上 KrebsOnSecurity.com

    【讨论】:

    • 没有 CDN 的最佳方法是什么?
    • 使用普通的文件服务网络服务器。
    • 这样我就可以使用 mysql db 和 nginx webserver 了吧?
    • 是的,使用 MySQL 和 nginx。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    • 2019-12-19
    • 2017-09-13
    相关资源
    最近更新 更多