NoSQL - MongoDB 与 CouchDB [关闭]

2024-01-31

对于 NoSQL 运动,我完全是个菜鸟。我听说过很多关于 MongoDB 和 CouchDB 的事情。我知道两者之间存在差异。作为进入 NoSQL 世界的第一步,您建议学习哪一项?


请参阅以下链接

  • CouchDB 与 MongoDB http://www.slideshare.net/gabriele.lana/couchdb-vs-mongodb-2982288
  • MongoDB 还是 CouchDB - 适合生产? https://stackoverflow.com/questions/895762/mongodb-or-couchdb-fit-for-production
  • DB-Engines - CouchDB 与 MongoDB 的比较 https://db-engines.com/en/system/CouchDB%3BMongoDB

Update: 我发现很棒NoSQL 的比较 http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis数据库。

MongoDB (3.2)

  • 编写语言:C++
  • 要点:JSON文档存储
  • 许可证:AGPL(驱动程序:Apache)
  • 协议:自定义、二进制 (BSON)
  • 主/从复制(副本集自动故障转移)
  • 内置分片
  • 查询是 JavaScript 表达式
  • 在服务器端运行任意 JavaScript 函数
  • 具有地理空间索引和查询
  • 具有不同性能特征的多个存储引擎
  • 性能优于功能
  • 文件验证
  • 写日记
  • 强大的聚合框架
  • 在 32 位系统上,限制为 ~2.5Gb
  • 集成文本搜索
  • GridFS存储大数据+元数据(实际上不是FS)
  • 数据中心感知

最佳使用:如果需要动态查询。如果您更喜欢定义索引,而不是映射/归约函数。如果您需要在大数据库上获得良好的性能。如果您想要 CouchDB,但您的数据变化太多,填满了磁盘。

例如:对于您可以使用 MySQL 或 PostgreSQL 执行的大多数操作,但预定义列确实会阻碍您。

CouchDB (1.2)

  • 编写语言:Erlang
  • 要点:DB一致性、易用性
  • 许可证:阿帕奇
  • 协议:HTTP/REST
  • 双向(!)复制,
  • 连续的或临时的,
  • 通过冲突检测,
  • 因此,主主复制。 (!)
  • MVCC - 写入操作不会阻止读取
  • 以前版本的文档可用
  • 仅防碰撞(可靠)设计
  • 需要不时压实
  • 视图:嵌入地图/减少
  • 设置视图格式:列表和显示
  • 可以进行服务器端文档验证
  • 可进行身份验证
  • 通过“_changes”实时更新(!)
  • 附件处理

最佳使用:用于积累、偶尔更改的数据,将在其上运行预定义的查询。版本控制很重要的地方。

例如:CRM、CMS 系统。主主复制是一个特别有趣的功能,可以轻松实现多站点部署。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NoSQL - MongoDB 与 CouchDB [关闭] 的相关文章

随机推荐

  • C++ 迭代器和循环优化

    我看到很多 C 代码看起来像这样 for const iterator it list begin const iterator ite list end it ite it 与更简洁的版本相反 for const iterator it
  • 将 bsTooltip 框的颜色更改为闪亮

    是否可以通过以下方式来设计工具提示框的美观性 bsTooltip闪亮的 我已经寻找答案 但就工具提示而言 所有关于美观的调整似乎仅针对宽度 即这个问题 https stackoverflow com questions 58320525 s
  • CSS“下划线”文本部分

    如何为文本添加下划线以获得与 测试 下看到的相同效果 我尝试将 TEST 封装在span并添加绝对 after withposition absolute 但我认为这不是正确的方法 并没有得到预期的结果 这是 HTML h1 class w
  • 使用 getevent 在已 root 的 Android 手机上拒绝权限

    我有非常简单的代码如下 Override public void onClick View v Log i MyApp Started try Process processStart Runtime getRuntime exec su
  • 如何使用右/左在sqldf中分割变量,如left(x,n)

    R 中是否有不同的函数可以用来获得与 SQL 中左函数或右函数相同的结果 例如 以下 SQL 查询将给出列的前 6 个字符 select left x 6 from table 但是 当我在 sqldf 中尝试这样做时 如下所示 sqldf
  • 如何计算图像的直方图?

    我该如何解决以下错误 import cv2 img cv2 imread home monojit Desktop crop jpg hsv cv2 cvtColor img cv2 COLOR BGR2HSV hist cv2 calcH
  • R 是否有依赖于系统的功能?

    我的同事希望确保我们在 R 中的工作独立于平台 特别是代码可以在 Linux Mac 和 Windows 上运行 并且在一个系统上创建的文件可以在其他系统上运行 由于这个问题之前在我的团队中出现过 我希望得到一个笼统的答案 这将使我更容易自
  • 一段时间后,条形码扫描仪抛出 java.lang.UnsatisfiedLinkError

    我有一个使用新的 Android 视觉库的条形码扫描仪 它在我的设备和其他几个设备上完美运行 但突然它停止工作 我在日志中看到以下异常 No implementation found for com google android gms v
  • Unity中如何设置文本的字体大小?

    如何使标签中的字体变大 我用这个函数来显示文本 function OnGUI GUI color Color green GUI Label Rect 500 350 200 50 Lose 结果是 我怎样才能把这个文字变大 只需创建一个合
  • 如何从我的程序中列出 Internet Explorer 使用的插件 (BHO)?

    我需要在我的 Win32 独立程序中检索 当前安装的 Internet Explorer 加载项列表 浏览器帮助程序对象 以及 如果可能 它们的启用 禁用状态 由于反间谍软件程序 或例如Autoruns https technet micr
  • go lang中按不同维度对点(结构)进行排序

    我有一个 Points 类型的多维点列表 我已经实施了sort Sort界面 现在可以排序y value e g type Points Point func points Points Len int return len points
  • 当视图不与模型交互时,这就是 MVC 吗?

    我设计了一个 MVC 在 NET 中 其中视图没有到模型的链接 它只知道控制器 传统的 MVC 模式的所有部分都相互通信 就我而言 控制器基本上是一个调解者 这会将任何异常或逻辑排除在视图之外 它对模型的依赖性为零 这不再是 MVC 了吗
  • 使用 Three.js 单击网格获取像素的颜色值

    我正在使用 Three js 的最新版本 我得到了一个带有 2D 网格和渐变颜色的场景 颜色取决于分配给每个顶点的值 我想通过用鼠标单击渐变的每个点来获取它的值 通过获取颜色 并对我的值进行一些数学计算 我尝试使用这样的系统 因为它在这里工
  • 使用toggleClass更改类后的jQuery事件

    我对 jQuery 和toggleClass 有疑问 我想创建一个 div 单击按钮即可关闭 按钮发生变化 当我再次单击此按钮时 div 将再次打开 问题是 当我单击按钮时 div 关闭并且按钮的类发生变化 这很好 但现在 当我单击新类的按
  • fread EOF 而不是分隔符

    我正在尝试用 fread 读取一个大文件 但我猜文件的布局有些混乱 如果我尝试读取文件 data fread input data txt sep t 在此文件上 我只是选择了有错误的行以及前后的一些内容 ID imdbID Title Y
  • 用 Python 封装旧版 Fortran。使用 setuptools 和 numpy.distutils 可以吗?

    我正在尝试为我的领域中一些流行的 Fortran 代码制作一个 python 包发行版 我希望它使用最标准的方法setup py文件 相关问题对学习有帮助如何包装 Fortran 扩展 https stackoverflow com que
  • 如何在新版Android Studio中添加classpath

    我将 android studio 版本更新为 bumblebee 版本 现在我想将导航组件添加到我的项目中 我想将类路径添加到 gradle 但是这个文件 gradle 已更改 我不知道如何添加它 我想添加这个 classpath and
  • 如何使用 Node.js 中的本机 Promise 全局处理异常?

    我知道怎么做处理承诺中的特定错误 https stackoverflow com questions 21800010 how do i handle errors with promises但有时我的代码片段看起来像这样 someProm
  • jquery ui - 模式对话框(创建模式内容的更好方法?)

    有没有办法在 JavaScript 中定义模式内容 而不是总是必须在页面上有一个元素并从中创建对话框 它有标题选项 因此我可以 动态 创建模态标题 但实际内容呢 就像说我需要它说 你要删除图像 539 而不是为每个可能的图像创建一个模式 或
  • NoSQL - MongoDB 与 CouchDB [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 对于 NoSQL 运动 我完全是个菜鸟 我听说过很多关于 MongoDB 和 CouchDB 的事情 我知道两者之间存在差异 作为进入 NoSQ