mongodb与mysql传统的关系数据库区别

xiaoxiao2021-02-28  104

mongodb与mysql命令对比 传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,

MongoDB是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。

MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。

MongoDB设计模式的一些考虑

可根据用户要求设计架构。 合并对象为一个文件,如果要将它们放在一起。否则分开它们(但确保不需要连接)。 重复数据(有限),因为磁盘空间便宜(相比计算时间)。 不需要连接写入,而是读。 优化架构是最常见的用例。 在模式上做复杂的聚集。

例子

假设一个客户端需要一个数据库设计,设计一个博客网站,来看看 RDBMS 和 MongoDB 架构设计之间的差异。网站有以下要求。

每一个文章内容都有独特的标题,描述和网址。 每一个文章内容可以有一个或多个标签。 每一个文章内容都有其出版商总数喜欢的名称。 每一个文章内容有评论以及名字,消息,时间和喜欢的用户。 对于每个文章,可以是零个或多个评论。

上述要求在RDBMS模式设计,将有至少三个表。 RDBMS Schema Design

在MongoDB 模式设计就文章一个集合,并具有以下结构:

{ _id: POST_ID title: TITLE_OF_POST, description: POST_DESCRIPTION, by: POST_BY, url: URL_OF_POST, tags: [TAG1, TAG2, TAG3], likes: TOTAL_LIKES, comments: [ { user:’COMMENT_BY’, message: TEXT, dateCreated: DATE_TIME, like: LIKES }, { user:’COMMENT_BY’, message: TEXT, dateCreated: DATE_TIME, like: LIKES } ] }

因此,尽管RDBMS要显示数据,需要加入三个表,而在MongoDB数据只是从一个集合。

转载请注明原文地址: https://www.6miu.com/read-63782.html

最新回复(0)