Database 直接访问数据库与web服务

Database 直接访问数据库与web服务,database,web-services,Database,Web Services,当我们在使用直接数据库访问或使用web服务之间进行选择时,有哪些优点和缺点 对于需要响应的关键应用程序,您会选择什么(Direct database access)将您与模式紧密结合。两端的任何更改都会影响到另一端。但它具有简单和需要较少网络跳数的优点 web服务意味着通过一个额外的间接层次来实现更好的抽象和更松散的耦合。web服务可以充当数据的单一管理者。当数据库只是你的应用程序时,你可以直接与数据库对抗,但如果其他应用程序出现并需要相同的数据,你将增加它们需要sche的可能性ma总有一天会改

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


对于需要响应的关键应用程序,您会选择什么(Direct database access)将您与模式紧密结合。两端的任何更改都会影响到另一端。但它具有简单和需要较少网络跳数的优点

web服务意味着通过一个额外的间接层次来实现更好的抽象和更松散的耦合。web服务可以充当数据的单一管理者。当数据库只是你的应用程序时,你可以直接与数据库对抗,但如果其他应用程序出现并需要相同的数据,你将增加它们需要sche的可能性ma总有一天会改变。这些改变也会影响你的应用程序。代价是更多的延迟


web服务可以是一个集中授权和安全性的好地方。数据库也可以做到这一点,因此这可能是一种清洗。

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

使用Web服务,您可以获得灵活性:

  • 插件使用不同的实现
  • 当多个应用程序需要访问同一数据时,让一个应用程序负责该数据,让另一个应用程序通过Web服务访问该数据:这两个应用程序之间不会有数据延迟;您可以将经常访问的数据保存在该应用程序的内存中,而不是使用数据库在应用程序之间通信

考虑到您的响应环境(可能与其他团队有问题),我会尝试直接访问数据库,除非几个应用程序需要共享数据,。

Duffymo和KLE都提出了有效的观点

另一个考虑因素是与其他团队的耦合程度


在使用服务层时,您的项目通常是许多客户机中的一个;这通常意味着您必须使用可用的服务,或者等待路线图交付您可能需要的更改。这通常会导致对整个企业有利的决策,但对您的项目不太有利。

不要说哪种方式更好。在应用程序的上下文中,数据库访问肯定会起作用。这取决于服务对整个企业的好处。问题是,有时很难或不可能提前知道多个应用程序何时使用数据库。这是与应用程序源中的参数化查询相比,tored过程是一项更好的投资。性能是另一个考虑因素;直接访问数据库通常要快得多