mongoDB(初识(一)基本概念 ACID、 CAP、 BASE)
mongoDB 初识(一)
目录
mongoDB 初识(一)
1、NoSQL是什么(优点/缺点)
NoSQL的优点/缺点
2、NoSQL和SQL关系型数据库的对比
数据模型:
可扩展性:
一致性:
灵活性:
性能:
3、基础概念(ACID、CAP、BASE)
关系型数据库遵循ACID规则
1、A (Atomicity) 原子性
2、C (Consistency) 一致性
3、I (Isolation) 独立性
4、D (Durability) 持久性
CAP定理(CAP theorem)
BASE(基本可用、软状态、最终一致性)
4、mongoDB是什么
MongoDB的主要特点包括:
5、mongodb的安装、配置、建表教程(推荐详细教程)
1、NoSQL是什么(优点/缺点)
NoSQL数据库使用各种数据模型,如文档导向、键值、列族或图形格式,而不是像SQL数据库那样使用表格模式。这些数据库通常设计用于可扩展性、灵活性和性能,特别是在处理大量非结构化或半结构化数据时。 流行的 NoSQL 数据库包括 MongoDB、Redis、Cassandra、Couchbase 和 Neo4j。
NoSQL的优点/缺点
优点:
-
高可扩展性
-
分布式计算
-
低成本
-
架构的灵活性,半结构化数据
-
没有复杂的关系
缺点:
-
没有标准化
-
有限的查询功能(到目前为止)
-
最终一致是不直观的程序
2、NoSQL和SQL关系型数据库的对比
数据模型:
SQL型数据库:使用表格结构,采用固定的模式(schema),数据以行和列的形式存储。 NoSQL数据库:使用各种数据模型,如文档导向、键值、列族或图形格式,不一定要求固定的模式。
可扩展性:
SQL型数据库:通常垂直扩展(增加硬件资源),在处理大规模数据时可能面临性能瓶颈。 NoSQL数据库:通常水平扩展(增加节点),能够更容易地处理大规模数据,因为它们被设计为可扩展。
一致性:
SQL型数据库:通常保证ACID(原子性、一致性、隔离性、持久性)事务特性,提供强一致性。 NoSQL数据库:根据数据库类型,一致性可以是强一致性、最终一致性或柔性一致性,根据需求进行权衡。
灵活性:
SQL型数据库:固定的表结构要求数据遵循严格的模式,难以适应数据模式的变化。 NoSQL数据库:可以灵活地处理半结构化和非结构化数据,不需要严格的模式定义,因此更适应数据模式的变化。
性能:
SQL型数据库:在复杂查询和联结操作上通常表现良好,但在大规模写入和高并发读取方面可能有限制。 NoSQL数据库:在处理大量数据和高并发操作时通常表现良好,尤其是在分布式环境下。
3、基础概念(ACID、CAP、BASE)
关系型数据库遵循ACID规则
事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性:
1、A (Atomicity) 原子性
原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。
比如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱会莫名其妙少了100元。
2、C (Consistency) 一致性
一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。
例如现有完整性约束a+b=10,如果一个事务改变了a,那么必须得改变b,使得事务结束后依然满足a+b=10,否则事务失败。
3、I (Isolation) 独立性
所谓的独立性是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。
比如现在有个交易是从A账户转100元至B账户,在这个交易还未完成的情况下,如果此时B查询自己的账户,是看不到新增加的100元的。
4、D (Durability) 持久性
持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。
CAP定理(CAP theorem)
在计算机科学中, CAP定理(CAP theorem), 又被称作 布鲁尔定理(Brewer's theorem), 它指出对于一个分布式计算系统来说,不可能同时满足以下三点:
一致性(Consistency) (所有节点在同一时间具有相同的数据) 可用性(Availability) (保证每个请求不管成功或者失败都有响应) 分区容错性(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作) CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。
因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三 大类:
CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。 CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。 AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。
BASE(基本可用、软状态、最终一致性)
BASE:Basically Available, Soft-state, Eventually Consistent。 由 Eric Brewer 定义。
CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。
BASE是NoSQL数据库通常对可用性及一致性的弱要求原则:
Basically Available --基本可用 Soft-state --软状态/柔性事务。 "Soft state" 可以理解为"无连接"的, 而 "Hard state" 是"面向连接"的 Eventually Consistency -- 最终一致性, 也是 ACID 的最终目的。
4、mongoDB是什么
MongoDB是一个基于分布式文件存储的开源数据库系统,它使用C++语言编写。作为NoSQL数据库的一种,MongoDB特别适合处理大规模的、低结构化的数据,特别是那些在传统的关联型数据库中难以高效存储和查询的数据。
MongoDB的主要特点包括:
-
面向文档:数据以JSON(JavaScript Object Notation)类似的格式存储,这种格式称为BSON(Binary JSON),支持内嵌文档和数组,使得表达复杂的数据结构变得直接而自然。
-
分布式:设计用于易于扩展,可以在多台服务器上分配数据,支持水平扩展,以应对大数据量和高并发访问的需求。
-
高性能:优化了磁盘和内存的使用,提供了快速的数据读写操作。
-
灵活的模式:不需要预先定义数据模式,可以随时添加或修改字段,适应快速变化的应用需求。
-
丰富的查询功能:支持复杂的查询操作,包括索引、聚合管道、地理空间查询等,其查询语言设计得与面向对象的编程语言相似,易于学习和使用。
-
复制与高可用:支持数据复制,可以设置自动故障转移,确保数据的高可用性和系统的稳定性。
-
支持事务:虽然作为非关系型数据库,MongoDB在较新版本中已经加入了对多文档事务的支持,使其能够满足一些需要强一致性的应用场景
5、mongodb的安装、配置、建表教程(推荐详细教程)
1、安装
(新版本保姆级教程) 百度安全验证
https://baijiahao.baidu.com/s?id=1781195432758174990&wfr=spider&for=pc(官网安装)
安装 MongoDB - MongoDB 手册 v 6 。 0https://www.mongodb.com/zh-cn/docs/v6.0/installation/
2、建表 【小沐学数据库】MongoDB下载、安装和入门(Python)-CSDN博客文章浏览阅读5k次,点赞5次,收藏19次。MongoDB是一个文档数据库,旨在简化应用程序 开发和扩展。MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。在高负载的情况下,添加更多的节点,可以保证服务器性能。_mongodb下载
https://blog.csdn.net/hhy321/article/details/131293287
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。