访问远程数据库的最佳方式:通过webservice或直接DB访问?

时间:2011-04-16 20:52:15

标签: database web-services performance security

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

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

该应用程序将最多使用100个人,并针对小型团体/组织/企业。

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

任何建议都将受到赞赏。

由于

2 个答案:

答案 0 :(得分:3)

使用Web服务会在客户端和数据库之间添加一个间接级别。这有几个优点,这都是因为客户端不需要知道数据库,只知道您的Web服务接口。由于客户端应用程序的控制和更新比服务器端代码更复杂,因此在服务器上添加一定级别的业务逻辑可以让您调整系统,而无需将更新推送到客户端。主要优点:

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

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

答案 1 :(得分:1)

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

如果VPN足够快以处理流量,您可以直接从应用程序访问数据库,从而节省大量时间,精力和费用。

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

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