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

sof*_*ker 5 database security performance web-services

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

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

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

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

任何建议将被认真考虑.

谢谢

Ela*_*lad 5

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

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

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


Rob*_*vey 1

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

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

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

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