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

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
注意,分⽚键可以是集合⽂档中的 ⼀个或多个 字段 
http://www.xdnf.cn/news/5595.html

相关文章:

  • 第四节第一部分:继承,使用继承的好处
  • Web开发—Vue工程化
  • Redis设计与实现——数据结构与对象
  • 【iOS】SDWebImage源码学习
  • 深入理解反序列化攻击:原理、示例与利用工具实战
  • 计算机网络——以太网交换机
  • .Net HttpClient 发送Http请求
  • PyTorch:深度学习的 powerful 库
  • Spyglass:在batch/shell模式下运行目标的顶层是什么?
  • 理想闯入智驾“无人区”
  • 湖北理元理律师事务所债务优化体系拆解:科学规划如何实现“还款不降质”
  • Lua再学习
  • 拓扑学在天体物理学的应用:python 示例
  • HTTP 响应状态码总结
  • k8s的节点是否能直接 curl Service 名称
  • I2C通讯
  • 基于.Net Core开发的GraphQL开源项目
  • Vue.js 全局导航守卫:深度解析与应用
  • 力扣热题100之合并两个有序链表
  • 空战数据链基础术语解析:从概念到实战应用的入门指南
  • 八股文-js篇
  • 深度学习入门:从神经网络基础到前向传播全面解析
  • 前端性能指标及优化策略——从加载、渲染和交互阶段分别解读详解并以Webpack+Vue项目为例进行解读
  • C++自学笔记 makefile
  • DEEPPOLAR:通过深度学习发明非线性大核极坐标码(2)
  • YOLOv2框架深度解析
  • AJAX 使用 和 HTTP
  • MySQL----高级查询
  • 【PDF】使用Adobe Acrobat dc添加水印和加密
  • Linux服务器常用运维工具/命令