知识卡片
FQL把专用API方法统一抽象成可组合的表和字段
内容
平台原本只提供几十个专用RPC方法,开发者操作稍复杂就得连续多次调用自己拼结果。FQL把API背后数据统一抽象成表和字段,让开发者用类SQL语句表达带嵌套查询的复合需求,一次往返拿到结果,服务器内部翻译回内部方法调用。这是把专用僵化的方法集合升级成通用可组合查询能力的典型演进,代价是服务器端多一层查询解释执行引擎。
参考来源
- 位置:《架构之美》第6章《数据增长:Facebook平台的架构》6.3.2节《FQL》(源文件:程序之美系列套装(6册)团队之美、项目管理之美、架构之美、数据之美、测试之美、安全之美/_epub-src/OEBPS/Text/part0151.xhtml)
- 结论依据:原文明确"FQL是一种简单的查询语言,它包装了Facebook的内部数据……这种技术添加了选择实例或范围的能力,从数据行中选择字段子集的能力,并通过嵌套查询将更多的工作推到数据服务器端,避免了通过RPC栈进行多次调用",并对比纯API模型需要两次调用、FQL一次调用即可完成同样查询。
- 原始内容:FQL是一种简单的查询语言,它包装了Facebook的内部数据……这种技术添加了选择实例或范围的能力……并通过嵌套查询将更多的工作推到数据服务器端,避免了通过RPC栈进行多次调用。