非关系型数据库-MongoDB技术(一)

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 非关系型数据库-MongoDB技术(一)

一、为什么我要写MongoDB呢?

a、公司用的原因:我就不说公司为什么我公司用MongoDB,而不选择关系型数据库的MySQL了。

b、MongoDB是一款强大,灵活,且易于扩展的通用性数据库,功能很强大

c、既然公司用了,就想要把它给弄透彻。

所以我想把这个技术把它好好学学,哪里写的不好,给指导出来,一起努力。

二、关于MongoDB的简介与介绍

a、易于使用

1⃣️、MongoDB是一个面向文档的数据库,而不是关系型的数据库,这样的设计为了获得更好的扩展性。通过文档中嵌入文档和数组,可以使用一条记录来表现为复杂的层次关系。

2⃣️、文档中的键(key)和值(value)不再是固定的类型和大小,所以需要添加和删除字段变得更加容易了。所以可以快速开发和迭代。

b、易于扩展

背景:

1⃣️、因为现在是互联网的时代,数据量在以不可思议的速度在增长,过去非常罕见的T级数据,现在已经是司空见惯了。

2⃣️、纵向扩展和横向扩展

纵向扩展:使用计算能力更强的机器,优点是更省力的做法,缺点就是大型机一般非常昂贵,而且当数据量达到机器的极限时,是花多少钱都搞定不了的。

横向扩展:通过分区的思想将数据分散到更多的机器上,要增加存储性能或者提高性能的话,只需要买一台普通的服务器并把它添加到集群中就可以了,横向扩展的好处是既便宜又易于扩展。缺点:管理很多的机器更加要困难的多。

而在MongoDB中的设计采用的是横向扩展的方案,面向文档的数据模型使它能很容易地在多台服务器之间进行数据分割。

c、MongoDB的优点

1⃣️、MongoDB能自动处理跨集群的数据和负载,自动去重新分配文档,以及能够将用户的请求路由到正确的机器上。

2⃣️、开发者能够集中精力编写应用程序就可以了。而不需要去考虑如何扩展的问题。

3⃣️、如果需要存储更大的容量的时候,只需要向集群中添加新的服务器就ok了。MongoDB会自动把数据推送到新的服务器上。

d、丰富的功能

MongoDB是一款通用型的数据库,不但可以能够创建,读取,更新和删除数据,而且有以下功能:

1⃣️、索引

MongoDB是支持二级索引的,可以实现多种快速查询,可以提供唯一索引,复合索引,地理空间索引,全文索引。

2⃣️、聚合

可以通过简单的片段创建复杂的索引,通过数据库自动优化。

3⃣️、可以存储过期的数据

类似会话一样,支持固定大小的集合,用于保存近期数据,如记录日志。

4⃣️、文件存储

MongoDB可以存储大文件和文件的元数据。

缺点:MongoDB并不具备关系型数据库中普遍的功能,如,连接(join)和复杂的多行事物,而这样的设计为了提高扩展性,因为在分布式系统中这两个功能也很难以高效的实现。

e、卓越的性能

MongoDB的主要目标是提供卓越的性能。

1⃣️、 能够对文档进行动态填充,预分配数据文件可以利用额外的空间来换取稳定的性能。

2⃣️、尽可能把多的内存用作缓存。

3⃣️、为每次查询尽可能自动选择正确的索引。

4⃣️、它并不追求具备关系型数据库的所有功能,只要有可能,数据库服务器就会将处理和逻辑交给程序代码来实现,这种设计的方式是MongoDB能够实现高性能的原因之一。

相关文章
|
13天前
|
SQL Java 数据库连接
除了JDBC,还有哪些常见的数据库访问技术?
除了JDBC,还有哪些常见的数据库访问技术?
157 1
|
2月前
|
SQL 数据可视化 关系型数据库
MCP与PolarDB集成技术分析:降低SQL门槛与简化数据可视化流程的机制解析
阿里云PolarDB与MCP协议融合,打造“自然语言即分析”的新范式。通过云原生数据库与标准化AI接口协同,实现零代码、分钟级从数据到可视化洞察,打破技术壁垒,提升分析效率99%,推动企业数据能力普惠化。
184 3
|
4月前
|
NoSQL MongoDB 数据库
数据库数据恢复—MongoDB数据库数据恢复案例
MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍然开启的情况下将MongoDB数据库文件拷贝到其他分区,数据复制完成后将MongoDB数据库原先所在的分区进行了格式化操作。 结果发现拷贝过去的数据无法使用。管理员又将数据拷贝回原始分区,MongoDB服务仍然无法使用,报错“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
4月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
356 79
|
2月前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
189 8
|
2月前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
114 1
|
4月前
|
存储 NoSQL MongoDB
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
229 8
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
|
2月前
|
SQL 数据管理 BI
数据库操作三基石:DDL、DML、DQL 技术入门指南
本文围绕数据库操作核心语言 DDL、DML、DQL 展开入门讲解。DDL 作为 “结构建筑师”,通过CREATE(建库 / 表)、ALTER(修改表)、DROP(删除)等命令定义数据库结构;DML 作为 “数据管理员”,以INSERT(插入)、UPDATE(更新)、DELETE(删除)操作数据表记录,需搭配WHERE条件避免误操作;DQL 作为 “数据检索师”,通过SELECT结合WHERE、ORDER BY、LIMIT等子句实现数据查询与统计。三者相辅相成,是数据库操作的基础,使用时需注意 DDL 的不可撤销性、DML 的条件约束及 DQL 的效率优化,为数据库学习与实践奠定基础。
|
3月前
|
运维 NoSQL 容灾
告别运维噩梦:手把手教你将自建 MongoDB 平滑迁移至云数据库
程序员为何逃离自建MongoDB?扩容困难、运维复杂、高可用性差成痛点。阿里云MongoDB提供分钟级扩容、自动诊断与高可用保障,助力企业高效运维、降本增效,实现数据库“无感运维”。
|
3月前
|
缓存 关系型数据库 MySQL
MySQL数据库性能调优:实用技术与策略
通过秉持以上的策略实施具体的优化措施,可以确保MySQL数据库的高效稳定运行。务必结合具体情况,动态调整优化策略,才能充分发挥数据库的性能潜力。
166 0

热门文章

最新文章

推荐镜像

更多