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

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数据只是从一个集合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值