除了货币方面之外,Amazon 的 SimpleDB 与 Apache 的 CouchDB 在以下方面有何不同

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

解决方案

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

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

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

2.性能和可扩展性

我没有任何基准测试,但就我自己的用例而言,CouchDB 优于 SimpleDB。但扩展起来比较困难——SimpleDB 很擅长这一点,你投入更多精力,它就会在你周围自动扩展。

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

明智地扩展,您还应该考虑 大沙发 它为您提供了一个分布式集群,并且更接近您通过 SDB 获得的集群。

3.安装与维护

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

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

4.其他观察

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

我一开始是一名亚马逊的大力传播者,在大多数事情上我现在仍然是,但当谈到 SDB 时,我觉得这对亚马逊来说有点像一个业余爱好项目,就像苹果电视对史蒂夫·乔布斯来说一样。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top