我刚刚阅读了大量关于 Amazon 的 S3 和 CouchDB 的资料。也许还不够,所以这是我的问题:
这两个系统听起来都很吸引我。CouchDB 使用 Apache License V2 和 Amazon 的 S3 分发,您按存储的兆字节和您生成的流量付费。所以金钱上还是有一点区别的。
但是从技术的角度来看,据我了解,这两个系统都可以帮助您存储任意大小的非结构化数据(取决于我从 CouchDB 了解的底层操作系统)。
我不知道为它们提供一个统一的接口有多容易,这样您就可以在需要时更改您的“数据存储提供者”?无需更改任何代码。
我也不知道这在技术上是否容易可行,还没有详细查看他们的协议。但是,最好将提供者的决定推迟到尽可能晚。
对于集成测试目的,这也可能很有趣:例如,您可以针对本地 CouchDB 实例进行测试,然后针对 S3 运行您的代码以供生产使用。
从另一个角度提出我的问题:亚马逊的 S3 和 CouchDB 本质上是解决完全相同的问题,还是这很疯狂,我错过了重点?
更新的问题
在吉姆的精彩回答之后,让我将问题改写为:
“CouchDB 和 Amazon SimpleDB 的通用接口”
按照同样的思路,您是否发现 CouchDB 和 SimpleDB 之间的通用接口存在问题?