Mongodb学习

mongodb应用场景:

mongodb特点:高扩展性(分片水平扩展)、高可用,对事务性要求不高、应用需要大量的地理位置查询、文本查询

mongodb部署架构:副本集、分片集群

MongoDB 是一个开源、高性能、无模式的文档型数据库,数据以类似 JSON 的文档形式存储。mongodb中记录是一个文档,它是一个由字段和值对(filed:value)组成的数据结构,mongodb文档类似于json对象,即一个文档就是一个对象,字段的数据类型是字符型,

MongoDB使用集合(Collections)来组织文档(Documents),每个文档都是由键值对组成的。

数据库(Database):存储数据的容器,类似于关系型数据库中的数据库。

集合(Collection):数据库中的一个集合,类似于关系型数据库中的表。

文档(Document):集合中的一个数据记录,类似于关系型数据库中的行(row),以 BSON 格式存储。

SQL术语/概念

database 对应mongodb --database

table 对应mongodb --collection

row 对应mongodb --document 数据记录行/文档

column 对应mongodb --field 数据字段/域

index 对应mongodb --index 索引

table joins 对应mongodb --表连接mongodb不支持 通过嵌入式文档来代替多表连接

primary key 对应mongodb --主建 mongodb自动将_id字段设置为主键

存储引擎

MongoDB的存储原理与其所使用的存储引擎紧密相关。自MongoDB 3.2版本起,WiredTiger成为了默认的存储引擎。WiredTiger是一个高性能、支持事务的存储引擎,它结合了B树索引和LSM树(Log-Structured Merge Tree)的优点,为MongoDB提供了出色的读写性能。

具体来说,WiredTiger通过其B树索引结构实现了快速的数据检索。同时,它利用LSM树的设计原理,将数据首先写入内存中的数据结构(MemTable),随后在合适的时机将这些数据合并到磁盘上的持久化存储中。这种设计使得WiredTiger能够高效地处理大量的写入操作,特别适用于需要高写入性能的应用场景。

默认数据库

admin

local

config

操做

db.dropdabase()

插入

db.collection(要插入数据的集合).insert(内容)

查询

db.collection(要插入数据的集合).find(内容)

相关推荐
小江的记录本3 分钟前
【ORM框架】MyBatis核心原理、ORM思想、MyBatis vs JPA
java·数据库·后端·spring·spring cloud·oracle·mybatis
zgl_200537799 分钟前
源代码:跨数据库通用“字段级”数据血缘解析与图形化(2/3:标注信息的拆解、检验、保存)
大数据·数据库·数据仓库·sql·数据挖掘·etl·嵌入式实时数据库
BugShare24 分钟前
告别来回切换,Navop:一站式整合数据库、SSH、终端与 AI 的开发运维工作台
运维·数据库·ssh
深念Y38 分钟前
微服务抽取路线图:从胖单体到 ARM 集群
前端·arm开发·数据库·后端·微服务·云原生·架构
雪花凌落的盛夏1 小时前
PostgreSQL 14 主备集群实战部署教程:流复制 + 双机 WAL 归档 + 自动化备份
数据库·postgresql·自动化
树下水月1 小时前
python3 使用canal监听后,kafka数据同步从mysql到clickhouse数据库 完整复盘
数据库·mysql·kafka
深念Y1 小时前
QQ 数据库解密与聊天记录导出 — 技术文档
数据库·sqlite·手机·数据恢复·逆向·二进制·qq
程序员-Benothing1 小时前
什么是批量数据入库?相比单条插入有什么优势?
数据库
我滴老baby1 小时前
部署 Portainer CE,把日志、镜像和数据卷搬进网页
数据库·人工智能·架构
吠品1 小时前
TortoiseSVN 状态图标不显示的排查与解决办法
java·服务器·数据库