我目前正在为以下应用评估正确的解决方案:
经过一些研究后,我偶然发现了couchdb,因为它提供了复制,现在我已经读过有关通过couchdb提供整个应用程序的可能性。那么couchdb是否适合我的需求,还是有更好的解决方案? 我可以从一个复制的couchdb数据库处理不同的webapps(用于输入的平板电脑应用程序,本地实时统计数据和在线实时自动收报机)吗?
答案 0 :(得分:1)
过去一年,我一直在使用CouchDB,BigCouch和Couchbase做很多工作,希望我的一些观点有所帮助。
复制功能非常有效。这很容易启动,我总是惊讶于它的工作有多好。我过去曾经在SQL Server中复制过很多麻烦,所以我对CouchDB的工作效果感到惊喜。
如果复制是您唯一需要的,那么还有很多其他选项。 CouchDB适用于文档模型,它与关系数据库非常不同。您必须以非规范化的方式考虑您的应用程序,因为CouchDB不会“加入”。
由于CouchDB通过HTTP进行通信并从磁盘(Why are reads from CouchDB so slow? (1.5MB/s or thereabouts))大量读取。因此,如果速度是一个主要因素,我不确定我会选择CouchDB。有一件事我会注意到...我发现你可以用Erch和CouchDB编写你的过滤器/视图,你可以获得重大的性能提升。 (我看到读数增加了50%)。
使用BigCouch和Couchbase,使用动态IP可能具有挑战性。当我第一次重新启动每种技术的集群时,它们都下降了。您可以通过使用主机名而不是IP来解决此问题,并使用/ etc / hosts文件编写一些内容。关于CouchDB的一个好处是它将所有配置信息存储在数据库中,所以我总是可以通过Futon查找并进行我需要的更改。
查看TouchDB。它们具有iOS和Android版本,可以在移动/平板电脑设备上运行并支持复制。现在还没有为Android做好生产准备,但对于iOS来说它很不错。
总的来说,我想说如果你想用JSON存储东西,需要一个文档数据库,并希望按需复制,Couch是一个不错的选择。