3

我不是在这里寻找一场圣战,我正在考虑分布式架构,并希望输入关于如何在 RDBMS 与 DocDBMS 之间进行选择

我们不能否认使用 RDBMS(即 MySQL、PostgreSQL、MS Sql Server 等)所具有的强大功能,它们已经开发了 30 多年,并且已经考虑并解决了许多问题。

我们还需要考虑 NoSQL/DocDBMS 运动(MongoDB、CouchDB 等)有其自身的优势,尤其是在数据存储、关联和复制的方式方面。

仅考虑DATA及其STRUCTURE时,我什么时候选择使用基于文档的数据库,什么时候使用关系数据库?

我不想讨论与某人最喜欢的语言或平台相关的一种解决方案与另一种解决方案的优点。请保持讨论指向数据类型(即金融交易、博客、CMS 页面、购物车等)及其结构(数据点之间的关系 - 即与其评论相关的博客文章)。

4

2 回答 2

2

RDBMS 只是一个很好的多面手,它已经持续了 30 年并且没有任何衰退的迹象。诸如 NoSQL 之类的东西对于某些用途来说是“特殊情况”。

当我有文档库或类似文件时,我会使用文档数据库。其他一切都是 RDBMS。

抛开数据不谈,如果您想销售这个系统,那么您可能必须以 SQL Server 或 Oracle 等 RDBMS 为目标,以确保它在您客户的基础架构上是可支持的

于 2010-02-18T19:25:21.920 回答
2

如果您的数据是结构化的,那么 RMDBS 似乎是显而易见的选择,如果它是非结构化数据 - 例如文档,那么 DocDBMS 听起来最好。

RMDBS 更像是一个“后端”工具,您可以使用它来提供您正在开发的系统的后端。

当您说 DocDBMS 时,我认为您的意思更多的是文档管理系统(?) - 它更多的是一个完整的解决方案,其中包括针对最终用户的(文档)数据管理功能。

对我来说,NoSQL 只是 RMDBS 的一个变体——但用于更精确/利基的需求。

至于如何选择:列出相关的 NFR 列表,并对选项及其相关性进行一些简单的分析;想到可扩展性和性能,那么数据量和事务率呢?博士?当然还有重要的功能需求。你更担心什么是构建的执行质量还是长期的进化质量?

于 2010-02-19T03:22:47.900 回答