CouchDB和Amazon S3的通用接口

rao*_*son 4 database cloud couchdb interface amazon-s3

我刚刚阅读了亚马逊S3和CouchDB上的大量资料.也许还不够,所以这是我的问题:

这两个系统对我来说都很有吸引力.使用Apache License V2和Amazon S3分发CouchDB,您需要按照存储的兆字节数和您生成的流量付费.所以货币有点不同.

但从技术角度来看,根据我的理解,两个系统都可以帮助您存储任意大小的非结构化数据(取决于我从CouchDB中理解的底层操作系统).

我不知道为它们提供统一的界面是多么容易,所以你可以根据需要改变你的"数据存储提供商"?无需更改任何代码.

我也不知道这在技术上是否容易实现,还没有详细研究它们的协议.但是,尽可能延迟提供者的决定是很好的.

此外,对于集成测试目的而言,这可能很有趣:例如,您可以针对本地CouchDB实例进行测试,并针对S3运行代码以供生产使用.

从不同角度阐述我的问题:亚马逊的S3和CouchDB基本上解决了完全相同的问题,还是这种疯狂,我错过了重点?

更新的问题

在Jim的精彩回答之后,让我再将问题重新解释为:

"CouchDB和Amazon SimpleDB的通用接口"

按照相同的思路,您是否看到CouchDB和SimpleDB之间的通用接口存在问题?

Jim*_*uls 11

你只是略微忽略了这一点.CouchDB是一个数据库.S3是一个文件系统.它们都是相对非结构化的,但是使用S3,你将文件存储在密钥下,而使用CouchDB,你在密钥下存储(任意结构化的)数据.

类似于CouchDB的Amazon Web Services类似于Amazon SimpleDB.

你正在寻找的东西已经存在于Ruby中,它被称为Moneta.它甚至可以在S3上存储东西,这可能正是你想要的.