Google Base和微软Astoria协议比较

2007 年 7 月 26 日

Dare Obasanjo 对通过HTTP 访问数据库样式数据的两个新的协议进行了对比。这两个协议都基于REST,分别是 Google Base Microsoft 的 Astoria

两个协议之间的基本概念都是一样的。在 SQL 里面使用 URL 指定查询。关系和过滤器必须被编码成 URL 的一部分,所有的查询都是 GET。

Dare 指出的第一个不同之处是,Astoria 使用层级格式表示关系。比如,要指定一个客户键值为 5 的订单列表,你需要使用像“/Customers[5]/Orders”这样的字符串。而 Google Base 则使用了一种普通的模式,在指定关系的时候必须使用类别和属性。

两者都支持过滤和排序,但是 Google Base 有更为丰富的语法和对跨所有类的全文查询支持。但是 Google Base 多少有些自作聪明,它还提供了对内联 If/Else 结构的支持。

Astoria 有一个非常棒的称之为 Expand 的属性。用这个属性用户可以同时指定请求数据的子节点,从而免除了需要执行 1+N 次查询以获得数据行和相关子行的集合。这些数据在合适的节点下以内联 XML 的形式返回。

在 Google Base 里面同样也有一些 Astoria 所不具备的特性。比如用户可以进行拼写检查,和 Google Search 的工作方式类似。使用 Crowd 属性还可以过滤重复的信息。在这个文章中,Dare 做了一个请求,“返回了所有储存在 Google Base 里面的餐馆,但每个菜的类型只显示两条记录”。

Dare Obasanjo 总结说:

在比较两个方法的过程中,有很多喜欢和不喜欢的特性。我喜欢 Astoria 里的 Expand 属性,因为可以从多个层级路径中提取 XML 结果。但是如果要获得更好的过滤结果,它还缺少一些必要的操作和函数。 对于 Google Base 的数据 API,我喜欢 Crowd 属性和在属性集里进行测试的一个完整的函数库。还有一些操作,比如在某位置附近查找结果等,尽管对于大多数 RESTful 协议并不是必须的。也就是说,我真的认为有些属性太“超前”了,比如在 URI 里面增加 if…else 块等。我怀疑谁会去用这些复杂的属性,如果它们只有层次,而不是一个需要复杂过滤才能获取数据的普通命名空间的话。

2007 年 7 月 26 日 08:51316

评论

发布
暂无评论
发现更多内容

看区块链如何打通信息壁垒,盘活万亿级”积分”市场

CECBC区块链专委会

区块链 信息

HTTP协议概述

落日楼台H

https HTTP 协议 HTTP2.0 HTTP3.0

架构词典: 复盘

lidaobing

架构 复盘

一周信创舆情观察(11.23~11.29)

统小信uos

只能用分布式锁,也能搞定每秒上千订单的高并发优化?

Java架构师迁哥

区块链中的保险行业

13828808769

区块链技术应用开发 保险理赔

线程池的优点及其原理,代码实现线程池。简单、明了。

Linux服务器开发

网络编程 线程池 后端开发 Linux服务器 web服务器

LeetCode题解:52. N皇后 II,回溯+哈希表,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

第一周作业

极客大学 极客大学架构师训练营

公安警务大数据可视化平台开发建设

t13823115967

大数据 大数据平台 智慧公安

价值、产业、数据加密,区块链如何助力互联网升级?

CECBC区块链专委会

区块链 互联网

《操作系统概述》-第六版

计算机与AI

操作系统

可参考才是有价值的,架构设计的技改之路从来都不容易

互联网应用架构

架构设计

区块链产业下的“非遗”突围战:商业化和手艺人发掘

CECBC区块链专委会

区块链 非遗

训练营第七周总结

大脸猫

极客大学架构师训练营

我对业务方提出需求的态度

boshi

随笔杂谈 需求落地

拆解增长黑客之知识篇

丁一

产品 运营 增长

每周学点TARS——服务自定义命令

TARS基金会

c++ DevOps 后端 TARS

【得物技术】搜索引擎技术简介

得物技术

搜索引擎 技术 算法 排序 搜索

智能与影像的强耦合:华为Mate 40系列的视觉探索

脑极体

从战略到战略决策

Alan

战略管理 使命 愿景 战略思考 MVO

Kafka 和 RocketMQ 之性能对比

丁威

kafka 源码分析 RocketMQ 中间件 性能分析

第二周作业

Geek_b9053c

依赖倒置原则

ETV全球熵APP系统开发|ETV全球熵软件开发

开發I852946OIIO

系统开发 现成系统

Java程序员做外包,10个月收入40万

Crud的程序员

Java 学习 程序员 外包

京东云的云原生理念及Serverless最佳实践

lidaobing

智慧公安大数据分析平台开发解决方案

t13823115967

大数据技术 大数据平台 智慧公安

mysql的这些坑你踩过吗?快来看看怎么优化mysql?

比伯

Java 编程 架构 面试 计算机

腾讯 WXG 后台开发工程师对 MySQL 索引知识点总结

Java架构师迁哥

两年竞业禁止、没有赔偿的CTO | 法庭上的CTO(1)

赵新龙

CTO 竞业禁止 试用期

Defi系统APP开发|Defi软件开发

开發I852946OIIO

系统开发

Google Base和微软Astoria协议比较-InfoQ