首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FoundationDB,层:它是托管在客户端应用程序还是服务器节点上?

FoundationDB,层:它是托管在客户端应用程序还是服务器节点上?
EN

Stack Overflow用户
提问于 2013-10-25 15:26:50
回答 2查看 488关注 0票数 1

最近,我正在阅读关于FoundationDB中的层的概念。我喜欢他们的想法,从一边分解存储,从另一边进入。

关于层的实现有一些不明确的地方。尤其是他们和存储引擎的通信方式。有两个可能的答案:它们是服务器节点的一部分,并通过快速本地API调用(例如,托管在服务器进程中的链接模块)与存储进行通信--或托管在客户端应用程序中,并通过网络协议进行通信。例如,许多RDBMS的SQL层托管在服务器上。FoundationDB的情况如何?

PS:这两种情况与性能视图不同,特别是当临床服务器通信是高延迟时。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-28 13:49:00

层位于客户端库功能的顶部。引用自http://community.foundationdb.com/questions/153/what-layers-do-you-want-to-see-first

这是个好问题。在服务器上运行层并不总是有意义的一个原因是,在分布式数据库中,数据是分散的--服务器本身就像客户端一样,是一个远离随机数据的网络跳转。 当然,对于像分析层这样知道每个服务器包含什么数据的层,运行与FDB集群中的每台机器共存的分布式版本是有意义的。

票数 2
EN

Stack Overflow用户

发布于 2014-01-17 15:22:14

扩展Eonil所说的:答案取决于“客户端”和“服务器”两种不同含义之间的区别。

层不在数据库服务器进程中运行。他们使用FDB客户端API对数据库进行请求,并且(除了一个例外*)不能穿透事务性键值抽象。

但是,没有什么可以阻止您在与数据库服务器进程相同的物理(或虚拟)服务器机器上运行这些层。而且,正如该社区站点上的帖子所提到的那样,有些用例您可能非常希望这样做,以尽量减少延迟。

*例外是局部性API,它在您想要将客户端层与它们所操作的数据一起定位的情况下非常有用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19593857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档