首页 > 数据库 >mongodb 数据库

mongodb 数据库

时间:2023-03-06 10:35:43浏览次数:40  
标签:mongodb 数据库 支持 MongoDB 文档 SQL 一些

 

 

一、简介

MongoDB 是一款流行的开源文档型数据库,从它的命名来看,确实是有一定野心的。

 

MongoDB 的原名一开始来自于 英文单词"Humongous", 中文含义是指"庞大",即命名者的意图是可以处理大规模的数据。

 

但笔者更喜欢称呼它为 "芒果"数据库,除了译音更加相近之外,原因还来自于这几年使用 MongoDB 的两层感觉:

 

第一层感受是"爽",使用这个文档数据库的特点是几乎不受什么限制,一方面 Json 文档式的结构更容易理解,而无 Schema 约束也让 DDL 管理更加简单,一切都可以很快速的进行。

 

第二层感受是"酸爽",这点相信干运维或是支撑性工作的兄弟感受会比较深刻,MongoDB 由于入门体验"太过于友好",导致一些团队认为用好这个数据库是个很简单的事情,所以开发兄弟在存量系统上埋一些坑也是正常的事情。

 

所谓交付一时爽,维护火葬场… 当然了,这句话可能有些过。 但这里的潜台词是:与传统的 RDBMS 数据库一样,MongoDB 在使用上也需要认真的考量和看护,不然的化,会遇到更多的坑。

 

那么,尽管文档数据库在选型上会让一些团队望而却步,仍然不阻碍该数据库所获得的一些支持,比如 DB-Engine 上的排名:

MongoDB 中字段的类型是固定的、区分大小写、并且文档中的字段也是有序的。 另外,SQL 还有一些其他的概念,对应关系如下: _id 主键,MongoDB 默认使用一个_id 字段来保证文档的唯一性

 

 

图-DBEngine 排名

 

在全部的排名中,MongoDB 长期排在第 5 位(文档数据库排名第 1 位),同时也是最受欢迎的 NoSQL 数据库。

 

另外,MongoDB 的社区一直比较活跃,加上商业上的驱动(MongoDB 于 2017 年在纳斯达克上市),这些因素都推动了该开源数据库的发展。

 

如果对于 MongoDB 的发展史感兴趣,可以参考下没有一个技术天生完美,MongoDB 十年发展全纪录这篇文章。

 

MongoDB 数据库的一些特性:

 

面向文档存储,基于 JSON/BSON 可表示灵活的数据结构

 

动态 DDL 能力,没有强 Schema 约束,支持快速迭代

 

高性能计算,提供基于内存的快速数据查询

 

容易扩展,利用数据分片可以支持海量数据存储

 

丰富的功能集,支持二级索引、强大的聚合管道功能,为开发者量身定做的功能,如数据自动老化、固定集合等等。

 

跨平台版本、支持多语言 SDK…

 

假定你是初次了解 MongoDB,下面的内容将能帮助你对该数据库技术的全貌产生一定的了解。

 

 

二、基本模型

数据结构对于一个软件来说是至关重要的,MongoDB 在概念模型上参考了 SQL 数据库,但并非完全相同。

 

关于这点,也有人说,MongoDB 是 NoSQL 中最像 SQL 的数据库…

 

如下表所示:

 

 

 

 

 

https://db-engines.com/en/ranking
db

参考:

https://www.infoq.cn/article/hr3fclptdbxf9j8epo9o

标签:mongodb,数据库,支持,MongoDB,文档,SQL,一些
From: https://www.cnblogs.com/rebrobot/p/17182847.html

相关文章

  • SQL Server数据库的高性能优化经验总结二
    本文主要向大家介绍的是正确优化SQLServer数据库的经验总结,其中包括在对其进行优化的实际操作中值得大家注意的地方描述,以及对SQL语句进行优化的最基本原则,以下就是文章的......
  • SQL Server数据库优化大总结一
    SQL优化大总结:1.对查询进行优化,要尽量避免全表扫描,首先应考虑在where及orderby涉及的列上建立索引。2.应尽量避免在where子句中对字段进行null值判断,否则将导致引......
  • Maven链接数据库(3.6)
     报错应该是Usermapper中查询语句错误 链接数据库之后的数据库语句放在mapper文件夹下的UserMapper中 右键com.baidu.pojo→new→package→命名com.baidu.util(前缀......
  • Winfrom/CSharp中获取当前时间戳字符串、存储Sqlite数据库、时间戳转换与比较大小
    场景Winform中操作Sqlite数据增删改查、程序启动时执行创建表初始化操作:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/129322345在上面Winform中操作Sql......
  • navicat登录Postgres数据库
    navicat登录Postgres数据库1、登录数据库[[email protected]]#su-postgresLastlogin:FriMar313:47:40CST2023onpts/1su:warning:cannotch......
  • 建立数据库时的一些报错
    1、attempttore-openanalready-closedobject:SQLiteDatabase:问题:打开数据库之前已经关闭数据库,不可对数据库重复打开关闭 解决:不直接写全局数据库操作,在每个......
  • (数据库系统概论|王珊)第十章数据库恢复技术-第一、二节:事务的基本概念和数据库恢复概述
    pdf下载:密码7281专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解目录一:事务的基本概念(1)事务A:定义B:事务的定义(2)事......
  • 数据库学习笔记
    数据库学习笔记1、基本知识与关系模型从思维的角度学习。第一讲初步认识数据库系统Table的构成和常用术语:表名、表标题、(格式)、表内容、(行/元组/记录row/tuple/r......
  • 【数据库】数据模型之数据模型 1
    数据模型数据库结构的基础是数据模型。数据模型三要素:数据结构、数据操作和数据约束。1.分类   概念数据模型:仅仅用于表达设计思路(实体-联系模型(E-R)),就行设计大楼前的......
  • 【数据库】数据模型之概念模型
    概念模型 实体和属性  一本书是一个实体,书的特性(页数、出版日期、定价等)就是属性。一堆书就是一个实体集。 实体集和实体键之间的关系  实体之间联......