我还没有弄脏我的手,既没有CouchDB分,也没有MongoDB分,但我想尽快做到这一点……我也读了一些关于这两个系统的资料,在我看来,它们涵盖的是相同的情况……还是我遗漏了一个关键的特点?

我想在下一个项目中使用基于文档的存储,而不是传统的RDBMS.我还需要数据存储

  • 处理大型二进制对象(图像和视频)
  • 自动将自身复制到物理上独立的 node
  • 使额外的RDBMS需求变得多余

两者都同样适合这些要求吗?

谢谢!

推荐答案

实际上,我在非常不同的项目中都广泛地使用了这两种方法.

我想说它们同样适合您列出的需求,但是两者之间有相当大的不同.我想最大的是他们的查询能力.CouchDB没有RDBMS意义上的"查询"(SELECT*FROM.)而是使用更像存储过程的‘views’(本质上,静电查询定义了in数据库(1)).MongoDB有很多more 'usual' querying.

从本质上讲,这取决于您的应用程序要求.如果你提供更多信息,我也许能更清楚地说明在那种情况下什么才是重要的.

(1):您可以在CouchDB中临时使用非静态查询,但不建议在生产中使用

Database相关问答推荐

如何替换对象数组内的数组元素

如何在没有sqlmock的情况下模拟db ping

动态数据模型

生产中的超大型 Mnesia 表

我应该使用哪种数据库模型在运行时动态修改实体/属性?

Select 正确的数据库:MySQL 与Everything 其它数据库

如何识别 DB2 端口号

如何将 MySQL Workbench 连接到 Amazon RDS?

Spring 的 JdbcTemplate 是否在查询超时后关闭连接?

本地数据库,我需要一些例子

如何处理 SQL Server 中列名中的空格?

将 Android Room 数据库与 Firebase 实时数据库相关联

更改列类型而不丢失数据

MySQL 转储所有数据库并在导入时创建(或重新创建)它们?

使用 typeORM 搜索早于日期的数据

我应该将用户 ID 公开吗?

表格字段可以包含连字符吗?

如何在实体框架中使用字符串属性作为主键

可以将 SQLAlchemy 配置为非阻塞吗?

与 IntelliJ IDEA 相比,DataGrip 附加值