直接访问数据库与Web服务

时间:2009-10-07 09:39:05

标签: database web-services

当我们在使用直接数据库访问或使用Web服务之间进行选择时,有哪些优点和缺点?

对于应该响应的关键应用程序(<0.5秒)以及对此Web服务/数据库的低调用(NB:Web服务将由另一个团队维护),您会选择什么。

3 个答案:

答案 0 :(得分:18)

直接数据库访问将您紧密地联系到架构。任何一方的任何变化都会影响另一方。但它具有简单的优点,并且需要少一个网络跳跃。

Web服务意味着通过一个额外的间接层实现更好的抽象和更松散的耦合。 Web服务可以充当数据的单一管理者。当它只是你的应用程序时,你会直接反对数据库,但如果其他应用程序出现并需要相同的数据,你将增加他们有一天需要架构更改的机会。这些更改也会影响您的应用。成本更具延迟性。

Web服务可以是集中授权和安全性的好地方。数据库也可以做到这一点,所以也许这是一个洗手。

答案 1 :(得分:1)

显然,在简单的情况下,直接数据库访问总是会更快。

使用WebService,您可以获得灵活性:

  • 插件不同的实现,
  • 当多个应用程序需要访问相同的数据时,让一个人负责该数据,让另一个人通过WebService访问它:两者之间没有数据延迟;并且您可以将经常访问的数据保存在该应用程序的内存中,而不是使用数据库在应用程序之间进行通信....

鉴于您的响应环境(可能与其他团队有问题),我会尝试转到直接数据库访问路径,除非有多个应用程序需要共享数据 ...

答案 2 :(得分:0)

Duffymo和KLE都有效。

另一个考虑因素是与其他团队的联系程度。

使用服务层时,您的项目通常是众多客户之一;这通常意味着您必须使用可用的服务,或者等待路线图提供您可能需要的更改。这通常会导致对整个企业有利的决策,但对您的项目而言却不那么好。