当前位置: 首页 > news >正文

NoSQL数据库技术与应用复习总结【看到最后】

第1章 初识NoSQL

1.1 大数据时代对数据存储的挑战

1.高并发读写需求  2.高效率存储与访问需求  3.高扩展性

1.2 认识NoSQL

NoSQL--非关系型、分布式、不提供ACID的数据库设计模式

NoSQL特点

1.易扩展  2.高性能  3.灵活的数据模型  4.高可用

NoSQL拥有一个共同的特点,即去掉关系数据库的关系型特性--非关系型数据库

关系型数据库强调ACID规则(原子性、一致性、隔离性以及持久性)

非关系型数据库强调BASE原则(基本可用、软状态、最终一致性)

其采用分布式存储,所以可使用水平扩展方式扩展数据库

NoSQL基础理论

NoSQL理论的基础是由CAP理论、BASE理论以及最终一致性奠定的

1.CAP原则

一致性、可用性、分区容错性

2.BASE理论

核心思想:即使无法保证系统的强一致性,但每个应用都可以根据自身的业务特点,采用适当的方式使系统达到最终一致性

基本可用、软状态、最终一致性

3.最终一致性--弱一致性的一种特殊形态

强一致性--要求集群中的所有结点的状态实时保持一致

弱一致性

NoSQL数据库分类

1.键值对存储数据库--最简单的NoSQL数据库

2.文档存储数据库

不是文档管理系统,用于存储和管理文档,文档是结构化的数据

3.列式存储数据库

以列为单位存储数据,将列值顺序地存入数据库

4.图形存储数据库

不是网络数据库

比较

第2章 文档存储数据库MongoDB

2.1MongoDB概述

MongoDB是一个面向集合、模式自由的文档型数据库

易用性  高性能  高可用性  易扩展性  支持多种存储引擎

2.2MongoDB体系结构

MongoDB的逻辑结构是体系结构的一种形式,它是一种层次结构,主要由文档,集合,数据库三部分组成。

数据库

MongoDB数据库默认提供admin,local,config以及test四个数据库

集合

MongoDB的一组文档,分为一般集合和上限集合

前者可以限制集合的容量大小,在数据存满时,可以从头开始覆盖最开始的文档,从而进行循环写入

文档

文档以键值对形式存储在集合中,键用于唯一标识一个文档--为字符串类型

值则可以是各种复杂的文件类型

MongoDB单个文档大小上限为16MB

2.3MongoDB数据类型

1.数字类型

32位整数(Int32) 64位整数(Int64) 64位浮点数(Double)

2.日期类型

new Data(...)

3.数组类型

[]

4.ObjectId类型

12字节BSON类型

5.内嵌文档

6.Code类型

第3章 MongoDB数据库操作

3.1MongoDB部署

MongoDB是一个开源、跨平台的数据库

mongod.exe用于启动MongoDB服务

3.2数据库操作

新建数据库 use 

查看数据库 show dbs(所有数据库)  db(当前数据库)

删除数据库 db.dropDatabase()

3.3集合操作

创建集合 

db.createCollection("XX_name",[OPTIONS]) #显式创建集合db.XX_name.insert(DOCUMENT) #隐式创建集合

删除集合

db.XX_name.drop()

3.4文档的插入、更新与删除操作

#单文档插入

db.XX_name.insert(document)db.XX_name.save(document)

#多文档插入

db.XX_name,insertMany([d1,d2,...])

insert()方法--插入文档,若集合中已存在该文档,则会报错,反之写入

save()方法--插入文档,已存在的文档直接更新,反之写入

复习总结【重要考点】

MongoDB单个文档大小上限为16M

块的默认大小为64M

当MemStore存储的数据达到一个阀值时,MemStore里面的数据就会被flush到StoreFile.文件,这个阈值默认是128M

默认情况下,GridFS使⽤的块⼤⼩为255 KB 

分片键的长度大小,不可超过512个字节

Neo4j的应用场景:

社区网络、推荐引擎、交通运输、物流管理、主数据管理、访问控制以及欺诈检测

MongoDB数据库基于C++语言编写

Redis数据库基于ANSI C语言编写

HBase数据库基于Java语言编写

Neo4j数据库基于Java语言编写

有序集合可以直接对值进行操作,而散列是通过键来查找值。

副本节点与主节点同步副本是异步同步

Neo4j CQL 语法不⽀持Update
MongoDB分片集群架构:
分片服务器:实际存储数据的组件  Shard
路由服务器:主要提供客户端应用程序与分片集群交互的接口  mongos
配置服务器:存储了分片集群的元数据  Config Server
注意,分⽚键可以是集合⽂档中的 ⼀个或多个 字段 

相关文章:

  • MySQL为什么选择B+树
  • MCP:重塑AI交互的通用协议,成为智能应用的基础设施
  • JUC并发编程(上)
  • Qt—多线程基础
  • 《Redis应用实例》学习笔记,第一章:缓存文本数据
  • Python----神经网络(基于Alex Net的花卉分类项目)
  • 设计模式学习整理
  • vs2022配置opencv
  • Go语言运算符详解
  • 深入理解反序列化攻击:原理、示例与利用工具实战
  • 缓存(5):常见 缓存数据淘汰算法/缓存清空策略
  • 蓝桥杯14届 数三角
  • 网址为 http://xxx:xxxx/的网页可能暂时无法连接,或者它已永久性地移动到了新网址
  • 【言语】刷题1
  • 【RP2350】香瓜树莓派RP2350之LED
  • UGMathBench动态基准测试数据集发布 可评估语言模型数学推理能力
  • Linux架构篇、第三章_2_Linux服务器监控与NGINX优化
  • PureComponent与shouldComponentUpdate
  • X.509证书详解
  • Nginx location静态文件映射配置
  • SIFF动画单元公布首批片单:《燃比娃》《凡尔赛玫瑰》等
  • 一海南救护车在西藏无任务拉警笛开道,墨脱警方:已处罚教育
  • 郑州通报涉“健康证”办理有关问题查处进展情况
  • 新华时评:中美经贸会谈为全球经济纾压增信
  • 退休10年后,70岁成都高新区管委会原巡视员王晋成被查
  • 应急部:正在积极推动各地逐步科学建设改造应急避难场所