【问题标题】:Best way to access a remote database: via webservice or direct DB-access?访问远程数据库的最佳方式:通过 Web 服务还是直接 DB 访问?
【发布时间】:2011-08-07 01:37:37
【问题描述】:

我希望为 Mac 和 iOS 设备开发一个应用程序。该应用程序将依赖存储在远程数据库中的信息。它需要对数据库进行读(选择)和写(插入、更新、删除)访问。该应用程序将是一个多用户应用程序。

现在我正在研究访问数据库的两种不同方法: - 通过 Web 服务:应用程序访问访问数据库的 Web 服务(REST、JSON)。身份验证将通过 SSL (https) 上的 HTTP 身份验证来完成。 - 直接通过 VPN 访问远程数据库。

该应用最多可供 100 人使用,面向小型团体/组织/企业。

所以我的问题是:访问数据库的最佳方法是什么?安全性和性能如何?小型企业的典型实施是什么样的?

我们将不胜感激。

谢谢

【问题讨论】:

    标签: database web-services performance security


    【解决方案1】:

    使用 Web 服务在客户端和数据库之间增加了一定程度的间接性。这有几个优点,这些都是因为客户端不需要了解数据库,只需要了解您的 Web 服务接口。由于客户端应用程序的控制和更新比服务器端代码更复杂,因此在服务器上添加一层业务逻辑是值得的,这样您就可以调整系统而无需向客户端推送更新。主要优势:

    • 灵活性 - 只要保持相同的 Web 服务界面,您就可以更改数据库配置/完全替换数据层,并且在客户端应用程序上不做任何更改。
    • 安全性 - 为您的 Web 服务实施一些身份验证机制,并避免向客户端提供访问您的数据库引擎的凭据。

    也有一些缺点:您通过增加一定程度的复杂性来为这种灵活性付出代价 - 将数据库访问编码到客户端并完成它可能会更快。将 Web 服务层视为可能在未来获得红利的投资。是否值得真的取决于您的业务需求和前景。

    【讨论】:

      【解决方案2】:

      鉴于您提供的信息,答案几乎肯定是网络服务,除非 VPN 速度很快。

      如果 VPN 的速度足以处理流量,您可以通过直接从应用程序访问数据库来节省大量时间、精力和费用。

      如果您愿意,您还可以提供对虚拟 PC 会话的远程访问。

      所以这一切都取决于您的要求。有很多方法可以做到这一点,每种方法都有其优点和缺点。做出正确的决定需要大量的系统分析,这可能超出了 StackOverflow 上发布的问题的范围。

      【讨论】:

        猜你喜欢
        • 2018-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-18
        • 2010-11-22
        • 1970-01-01
        • 1970-01-01
        • 2022-06-17
        相关资源
        最近更新 更多