【问题标题】:One user per database vs single user for all databases每个数据库一个用户 vs 所有数据库一个用户
【发布时间】:2011-09-08 16:52:45
【问题描述】:

我正在开发每个客户端模型使用一个数据库的 SaaS 应用程序。它还具有通用的“帐户”数据库,其中保存了有关帐户的一些基本信息,并且还提供了登录功能。

我的问题 - 是否值得为每个仅对该数据库具有权限的客户端数据库或有权访问所有客户端数据库的单个数据库用户创建新的数据库用户更有意义(即“account\_%.*”)?

【问题讨论】:

    标签: mysql web-applications saas


    【解决方案1】:

    很容易想到创建所有这些数据库。

    但也请考虑从长远来看,您将如何维护它们

    • 您是否必须运行您的数据库 越来越多的脚本 数据库?
    • 当您添加新客户的数据库时,您将需要运行一个脚本,并且该脚本必须不断更新。

    我并不是说不要创建多个数据库。我只是建议你考虑后果。

    【讨论】:

      【解决方案2】:

      我会创建新的数据库,但这取决于。基本上无论你的船漂浮什么:)

      每个用户一个数据库:
      + 安全性更容易
      + 异步并行请求(如果您的服务器可以处理)
      - 磁盘有点重

      一个数据库:
      + 一个文件来处理而不是一堆(如果那甚至是一个 +)
      + 更节省空间
      - 数据量大时速度变慢
      - 没有同时连接意味着来自一个用户的繁重 sql 请求将执行所有其他操作

      【讨论】:

      • 感谢您的回答,但我们已经为每个客户使用了一个数据库。我的问题是,如果我们应该创建可以访问所有这些数据库的单个数据库用户,或者为每个客户端数据库创建新的数据库用户,我们不会有很多客户端数据库。
      【解决方案3】:

      如果安全是问题,那么每个数据库的用户是一种方法。

      【讨论】:

        猜你喜欢
        • 2020-08-03
        • 2015-05-09
        • 1970-01-01
        • 2011-02-17
        • 2018-06-21
        • 1970-01-01
        • 2017-05-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多