1

除了金钱方面,Amazon 的 SimpleDB 与 Apache 的 CouchDB 在以下方面有何不同

  1. 与Java、C++等编程语言交互
  2. 性能和可扩展性
  3. 安装维护
4

1 回答 1

1

我是一个相当重的 SimpleDB 用户(我是http://www.backupsdb.com/的开发人员),但目前正在将一些项目从 SimpleDB 迁移到 Couch,所以我想我现在可以从双方看到这一点。

1. 与Java、C++等编程语言交互

使用 Couch 更容易,因为您可以使用 JSON 轻松地与它交谈。SimpleDB 需要做更多的工作,主要是由于签署每个安全请求的复杂性以及您获得的较低级别的访问权限,这需要您在信号繁忙的情况下实现指数回退等。尽管在现在有很多语言,这在许多方面消除了痛苦。

2. 性能和可扩展性

我没有任何基准,但对于我自己的用例,CouchDB 优于 SimpleDB。不过,它更难扩展——SimpleDB 在这方面做得很好,你对它投入更多,它会在你周围自动扩展。

不过,SimpleDB 中偶尔会有很多令人讨厌的限制,例如属性数量、属性大小、域数量等方面的限制。许多应用程序的主要烦恼是属性大小限制,这意味着您无法存储大型论坛帖子. 解决方法是将它们卸载到 S3 等其他东西中,但有时有点烦人。显然,CouchDB 没有这个问题,事实上,您可以将大文件附加到文档中这一事实特别吸引了我。

在扩展方面,您还应该关注bigcouch,它为您提供了一个分布式集群,并且更接近于 SDB。

三、安装与维护

实际上,我发现使用 CouchDB 更容易。我怀疑这取决于您需要为 SimpleDB 使用哪个库,但是当我开始使用它时,亚马逊提供的库还不是很成熟,开源社区的库存在各种问题,这意味着启动和运行并做一些严肃的事情它花费了比我想要的更多的时间。我怀疑这现在好多了。

CouchDB 非常容易安装,我喜欢它的 Web 界面。事实上,这将是我对 SimpleDB 的主要批评——尽管亚马逊几乎所有其他服务都有 Web 控制台,但它仍然没有任何形式的 Web 控制台。这就是为什么我们编写了非常基本的 BackupSDB 以便我们可以提取 XML 中的数据并从 Web 浏览器运行查询,我希望看到亚马逊现在做类似的事情(但更强大和更好)并且非常惊讶他们没有。虽然有很多第三方 Firefox 插件和一些应用程序,但我的印象是 SimpleDB 并没有被广泛使用——这只是一种预感。

4. 其他观察

我认为最大的问题是,使用 SimpleDB,您将所有数据委托给第三方,而没有简单的方法将其取出(您需要编写一些东西来做到这一点),而且您的成本一直在缓慢上升。当您的成本与强大的专用数据库服务器相当时,您会觉得这样会获得更好的价值,但此时迁移头痛并非微不足道,因为您将有很大的承诺云端。

我一开始是一个巨大的亚马逊布道者,在大多数事情上我仍然是,但谈到 SDB,我觉得这对亚马逊来说有点像 Apple TV 对史蒂夫乔布斯的兴趣项目。

于 2011-03-30T13:46:49.533 回答