在面向服务的设计的客户端是否有意义的数据库?

时间:2012-08-01 10:45:56

标签: database api database-design soa

假设每次Web客户端调用特定API时,服务器(或服务器集群)都会启动Web提取程序。 该网络提取器旨在收集一些法律数据,以便由网络客户端显示。

服务器端应该有一个设计良好且安全的数据库,并且强制客户端每次要显示一些有关数据时都要调用API吗?
在这种情况下,假设客户端希望将这些检索到的数据链接到其自己的数据库中存在的数据。 客户端将它们与检索到的数据ID /令牌链接是否有意义?因此,不需要为这些远程数据建模特定数据库表,但需要更多请求才能找到这些ID /令牌所针对的远程数据。

或者应该在客户端有一个特定的数据库,以避免由所有这些API Client引起的大量网络呼叫=>服务器流?

仍然怀疑这个问题,假设情景发生了变化,这些数据变得严格保密,并且不允许客户网站存储它......

或两者兼而有之?即使两个数据库之间存在冗余。

1 个答案:

答案 0 :(得分:1)

您的问题涉及缓存问题。数据库不是存储缓存数据的唯一解决方案。我只选择数据库,如果这个数据有很长的有效期,并且应该在客户端查询不同的表示。如果数据的生存时间很短,则可能需要一些就地缓存解决方案,其中数据以序列化方式有效地表示。在客户端或服务器端拥有此缓存取决于安全要求以及您要记住的体系结构的方式。