初识MongoDB数据库

1. 简介

对于关系型数据库,存储数据的时候需要提前建表建库,随着数据的复杂度越来越高,所建的表的数量也越来越多;但是非关系型却不需要

  • MongoDB是比较流行的基于文件存储的非关系型数据库,使用C++编写;
  • 可以存储任意格式的BSON(很类似JSON)数据;
  • 拥有非关系型数据库的便捷、高效,同时也支持较为复杂的关系查询

2. Mongodb的优势

易扩展: NoSQL数据库种类繁多, 但是⼀个共同的特点都是去掉关系数据库的关系型特性。 数据之间⽆关系, 这样就⾮常容易扩展⼤数据量,

⾼性能: NoSQL数据库都具有⾮常⾼的读写性能, 尤其在⼤数据量下, 同样表现优秀。 这得益于它的⽆关系性, 数据库的结构简单

灵活的数据模型: NoSQL⽆需事先为要存储的数据建⽴字段, 随时可以存储⾃定义的数据格式。 ⽽在关系数据库⾥, 增删字段是⼀件⾮常麻烦的事情。 如果是⾮常⼤数据量的表, 增加字段简直就是⼀个噩梦

3. 数据库、集合、文档(SQL和NoSQL的主要区别

  • 关系型数据库中的数据库,MongoDB中也叫数据库;
  • 关系型数据库中的表,MongoDB中称为集合;
  • 关系型数据库中的行或记录,MongoDB中叫做文档

数据之间无关联性

SQL中需要增加外部关联数据的话,规范化做法是在原表中增加一个外键,关联外部数据表

NoSQL则可以把外部数据直接放到数据集中,以提高查询效率,缺点也比较明显,对关联数据做更新时会比较麻烦

SQL中在一个表中的每条数据的字段是固定的,而NoSQL中的一个集合(表)中的每条文档(数据)的key(字段)可以是互不相同的

Mongodb作为非关系型数据库相较于关系型数据库的优势

易扩展:NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系型数据库的关系型特性,数据之间无关系

大量数据,高性能:NoSQL数据库都具有高的读写性能,数据库的结构简单

灵活的数据模型:NoSQL无需事先为要存储的数据建立字段,可以自定义格式存储

你可能感兴趣的:(数据库,mongodb,nosql)