CouchDB是这个应用程序的正确解决方案吗?

时间:2013-01-26 21:18:34

标签: couchdb

我目前正在为以下应用评估正确的解决方案:

  • 主要目标是从多个平板电脑(不超过5个)
  • 跟踪体育比赛
  • 独立于互联网访问我将在锦标赛室设置一个本地服务器,该服务器将为平板电脑提供webapp,并为大型电视屏幕或投影仪显示的一些实时统计数据提供webapp
  • 提供在线自动收录器我想将本地数据库复制到数据中心中的服务器,该数据中心将使用liveticker托管网站并使用复制的数据库
  • 本地服务器将具有动态IP,连接到公共路由器,可能无法配置端口转发,我想为互联网连接问题做好准备。所以我认为将数据从本地服务器推送到公共服务器是一个好主意,而不是像mysql主从服务器复制那样反之亦然

经过一些研究后,我偶然发现了couchdb,因为它提供了复制,现在我已经读过有关通过couchdb提供整个应用程序的可能性。那么couchdb是否适合我的需求,还是有更好的解决方案? 我可以从一个复制的couchdb数据库处理不同的webapps(用于输入的平板电脑应用程序,本地实时统计数据和在线实时自动收报机)吗?

1 个答案:

答案 0 :(得分:1)

过去一年,我一直在使用CouchDB,BigCouch和Couchbase做很多工作,希望我的一些观点有所帮助。

  1. 复制功能非常有效。这很容易启动,我总是惊讶于它的工作有多好。我过去曾经在SQL Server中复制过很多麻烦,所以我对CouchDB的工作效果感到惊喜。

  2. 如果复制是您唯一需要的,那么还有很多其他选项。 CouchDB适用于文档模型,它与关系数据库非常不同。您必须以非规范化的方式考虑您的应用程序,因为CouchDB不会“加入”。

  3. 由于CouchDB通过HTTP进行通信并从磁盘(Why are reads from CouchDB so slow? (1.5MB/s or thereabouts))大量读取。因此,如果速度是一个主要因素,我不确定我会选择CouchDB。有一件事我会注意到...我发现你可以用Erch和CouchDB编写你的过滤器/视图,你可以获得重大的性能提升。 (我看到读数增加了50%)。

  4. 使用BigCouch和Couchbase,使用动态IP可能具有挑战性。当我第一次重新启动每种技术的集群时,它们都下降了。您可以通过使用主机名而不是IP来解决此问题,并使用/ etc / hosts文件编写一些内容。关于CouchDB的一个好处是它将所有配置信息存储在数据库中,所以我总是可以通过Futon查找并进行我需要的更改。

  5. 查看TouchDB。它们具有iOS和Android版本,可以在移动/平板电脑设备上运行并支持复制。现在还没有为Android做好生产准备,但对于iOS来说它很不错。

  6. 总的来说,我想说如果你想用JSON存储东西,需要一个文档数据库,并希望按需复制,Couch是一个不错的选择。