首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >去CouchDB还是不去?

去CouchDB还是不去?
EN

Stack Overflow用户
提问于 2012-04-02 08:10:27
回答 2查看 4.8K关注 0票数 7

注:(我对CouchDB进行了一段时间的调查,需要一些实际经验)。

我有一个用于车队跟踪服务的Oracle数据库,这里的一些状态如下:

  1. 100 GB db
  2. 巨大的插入/秒(我们接收到的消息)
  3. 可靠的复制(通过4台服务器上的Oracle流)
  4. 繁重的复杂查询。

现在的问题是:在这种情况下可以使用CouchDB吗?

注:我为什么想到CouchDB?

  1. 我读过它的水平扩展能力非常好。这对我们的案子很重要。
  2. 因为它是无模式的,所以我们可以更正确地处理更改,因为我们在不同的表和存储过程中有很多更改。

谢谢

编辑I:我也需要交易。但我也能容忍其他解决方案。如果在复制上有一点延迟,如果保证的话,那就没有问题了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-03 07:52:34

您正在享受数据库中的下列功能:

  1. 在生产中使用
  2. 数据自然是相关的(与自身相关)。
  3. 巨大的插入率(不涉及MVCC )
  4. 复杂查询
  5. 交易记录

这些都是而不是切换到CouchDB的原因。

当然,故事并不那么简单。我想你已经发现了许多人从未学过的东西:复杂的问题需要复杂的解决方案。我们不能简单地替换我们的数据库,并在这个月的剩余时间休假。当然,CouchDB (和BigCouch)支持优秀的水平缩放(也支持跨数据中心复制!)但成本将是重写一个生产应用程序。这不对。

那么,CouchDB对您有什么好处呢?

我建议您开始使用CouchDB应用程序增强应用程序。部署CouchDB,将数据导入其中,并构建非任务关键应用程序。看看哪里最合适。

对于您的项目,以下是CouchDB的主要优点:

  1. 它是一个小而简单的工具--在工作站或服务器上很容易设置。
  2. 它是一个web服务器。它很好地集成了您的基础设施和安全策略。
    • 例如,如果您有灵活的策略,只需在您的LAN上设置它
    • 如果您有严格的网络和防火墙策略,则可以在VPN后面或使用SSL证书设置它。

  1. 完成这一步骤后,现在非常容易访问。只需发出http或http请求即可。无论是使用自定义工具从Oracle导入数据,还是使用web浏览器,都是一样的。
  2. 是!CouchDB也是一个应用服务器!它有一个内置的管理应用程序,用于探索数据、更改配置等(就像内置的phpmyadmin)。但是对于您来说,其价值将是将管理应用程序和报表构建为简单、传统的HTML/Javascript/CSS应用程序。你可以得到你喜欢的花哨或简单。
  3. 当您的项目增长并变得有价值时,您可以使用复制进行扩展。
    • 要么用更大的CouchDB集群扩展核心
    • 或者,将您的数据和应用程序复制到不同的数据中心,或者复制到单个工作站或移动电话,等等(当时机成熟时,策略将更加明显)。

CouchDB为您提供了一个简单的web服务器和网站。它为您的数据提供了内置的web服务API。它使得构建网络应用程序变得很容易。因此,CouchDB似乎是扩展核心应用程序的理想选择,而不是取代应用程序。

票数 25
EN

Stack Overflow用户

发布于 2014-05-23 09:41:29

我不同意这个答案..。

我认为CouchDB特别适合车队跟踪用例,因为它们是分布式的。此外,不可靠的gprs连接用于传输位置数据,使离线第一天堂的政变为您的应用程序的完美合作伙伴。

对于从卡车上传数据,插入率可以从couchdb复制和批量插入中获得巨大的优势,特别是如果在基于ssd的couchdb托管上执行。

对于下载数据到卡车,couchdb提供过滤复制,允许每辆卡车只下载它真正需要的数据,而不是整个数据库。

对于复杂的查询,NoSQL数据库更灵活,执行速度比关系数据库快得多。这只是合理地构造和查询数据的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9972889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档