网站阅读

https://geminiplanet.cn/Database-System-7/​geminiplanet.cn

数据库第七章--NoSQL数据库

NoSQL数据库概述

  • 关系数据库的局限

    • 关系数据库特点是数据结构化、数据的共享性高、冗余度低、易扩充、数据独立性高,数据由数据库管理系统统一管理和控制等。
    • 优点是:容易理解,使用方便,易于维护,支持复杂查询。
    • 缺点是:不擅长大量数据的写入处理表结构变更、字段不固定时的应用和对简单查询需要快速返回结果的处理的应用。
  • NoSQL理论基础
    • CAP理论

      • 对应一致性Consistency:在分布式计算中,在执行某项数据的修改操作之后,所有节点在同一时间具有相同的数据,系统具有一致性。
      • 可用性Availability:在每一个操作之后,无论成功或失败,系统都要在一定时间内返回结果,保证每个请求不管成功或者失败都有响应。
      • 分区容忍性Partition Tolerance:系统中任意信息的丢失或失败不会影响系统的继续运行。
    • BASE模型
      • Basically Available --基本可用。系统能够基本运行,一直提供服务。
      • Soft-state--软状态/柔性事务。"Soft state" 可以理解为"无连接"的, 而 "Hard state" 是"面向连接"的;系统不要求一直保持强一致状态。
      • Eventual Consistency --最终一致性。系统在某个时刻达到最终一致性,并非时时保持强一致。
    • 最终一致性
      • (1)强一致性:要求无论更新操作是在哪一个副本执行,之后所有的读操作都要能获得最新的数据。
      • (2)弱一致性:用户读到某一操作对系统特定数据的更新需要一段时间,称这段时间为“不一致性窗口”。
      • (3)最终一致性:弱一致性的一种特例,保证用户最终能够读取到某操作对系统特定数据的更新
  • NoSQL基本概念
    • NoSQL含义

      • NoSQL是Not Only SQL的缩写,意即“不仅仅是SQL”,即对关系型SQL数据库系统的补充。
      • NoSQL并不单指一个产品或一种技术,它代表一族产品,以及一系列不同的、有时相互关联的、有关数据存储及处理的概念。
    • NoSQL的共同特征
      • (1)不用预定义模式。
      • (2)无共享架构。
      • (3)弹性可扩展。
      • (4)分区。
      • (5)异步复制。
      • (6)BASE。
    • NoSQL采用的技术
      • (1)简单数据类型:模型中每个记录拥有唯一的键,系统只需支持单记录级别的原子性,不支持外键和跨记录的关联
      • (2)元数据和应用数据的分离
      • (3)弱一致性:系统通过复制应用数据来达到一致性,减少同步开销,用最终一致性和时间一致性来满足用户对数据一致性的要求。
    • NoSQL的数据库分类
      • (1)列存储(Column Family)方式:将同一列的数据存储在一起,可以存储结构化和半结构化数据。
      • (2)键值对(Key-Value)存储方式:存储的数据是有键(key)和值(value)两部分组成,通过key快速查询到其value,value的格式可以根据具体应用来确定。
      • (3)文档(Document)存储方式:存储的内容是文档型的,可以用格式化文件(类似json、XML等)的格式存储。
      • (4)图形(Graph)存储方式:数据以有向加权图方式进行存储。
    • NoSQL的整体框架
      • 接口层
      • 数据逻辑模型层
      • 数据分布层
      • 数据持久层

列存储数据库HBASE

  • 简介

    • 数据库中的数据模型给出了数据的表达方式,二维表是关系模型的数据结构,数据和数据之间的关系都在二维表中表示。
    • 数据库以行、列的二维表的形式表示数据,以一维字符串的方式存储
  • HBASE数据库
    • HBase全称是Hadoop Database, 是一个构建在Apache Hadoop上的列式数据库
    • HBase是一个开源的非关系型分布式数据库(NoSQL),实现的编程语言为 Java

键值对数据库Redis

  • 简介

    • KV:Key-Value(键值)存储模型是NoSQL中最基本的数据存储模型,KV类似于哈希表,在键和值之间建立映射关系,键值模型极大的简化了关系数据模型,具有高效灵活的特点。
    • 1.数据结构:键值模型(Key-Value模型),每行记录由主键和值两个部分组成,值可以是各种类型的数据。
    • 2.数据操作:Get( key )、Set( key, value )、Delete( key )等。
    • 3.数据完整性:针对单个键的操作才区别“一致性”。
  • Redis数据库
    • Redis 是Remote Dictionary Server的缩写,开源的KV数据库。
    • Redis支持Value类型:字符串类型(String)哈希表类型(Hash)链表类型(List)集合类型(Set)有序集合类型(order set)

文档型数据库MongoDB

  • 简介

    • 文档是处理信息的基本单位。文档可以很长、很复杂、可以无结构。
    • 一个文档对包含的数据类型和内容进行“自我描述”。XML文档、HTML文档和JSON文档。
    • 每个文档的ID就是它唯一的键,是唯一的, 检索排序的ID性能好。ID在一个数据库“集合”中
  • MongoDB数据库
    • MongoDB 是基于分布式文件存储的开源数据库系统。将数据存储为一个文档,数据结构由键值对组成,字段值可以包含其他文档,数组及文档数组。
    • 基本的概念是文档、集合、数据库
    • 文档是MongoDB中数据的基本单元
    • 集合可以被看作没有模式的
    • 每个实例都可容纳多个独立数据库,每个数据库都有自己的集合和权限。

图形数据库Neo4J

  • 简介

    • 图就是二元关系。利用一系列由线(称为边)或箭头(称为弧)连接的点(称为节点)。有向图:节点集合,弧集合--节点的有序对。
    • 图的实现--两种。一种叫作邻接表,大致上与二元关系的实现方法类似。第二种叫作邻接矩阵,是一种表示二元关系的新方法,图的应用包括最短路径、可达集、各种搜索算法等。这些都给图的应用提供理论基础。
  • Neo4J图数据库
    • Neo4j是开源的用Java实现图数据库,有两种运行方式,一种是服务的方式,对外提供REST接口;另外一种是嵌入式模式,数据以文件的形式存放在本地,直接对本地文件进行操作。
    • 每个实体都有ID(Identity)唯一标识,每个节点由标签(Lable)分组,每个关系都有一个唯一的类型,属性图模型的基本概念有:
    • 实体(Entity)是指节点(Node)和关系(Relationship);
    • 每个实体都有零个、一个或多个属性,一个实体的属性键是唯一的;每个节点都有零个、一个或多个标签,属于一个或多个分组;
    • 每个关系都只有一个类型,用于连接两个节点;
    • 路径(Path)是指由起始节点和终止节点之间的实体(节点和关系)构成的有序组合;
    • 标记(Token)是非空的字符串,用于标识标签(Lable),关系类型(Relationship Type),或属性键(Property Key);
    • 标签:用于标记节点的分组,多个节点可以有相同的标签,一个节点可以有多个Lable,Lable用于对节点进行分组;
    • 关系类型:用于标记关系的类型,多个关系可以有相同的关系类型。

visio2016 数据库模型图_数据库第七章--NoSQL数据库相关推荐

  1. 第七章-NoSQL数据库

    第七章-NoSQL数据库 文章目录 第七章-NoSQL数据库 NoSQL简介 NoSQL VS. 关系数据库 NoSQL的四大类型 键值数据库 列族数据库 文档数据库 图形数据库 不同类型数据库比较 ...

  2. 【数据库原理及应用】经典题库附答案(14章全)——第七章:数据库恢复技术

    [数据库原理及应用]经典题库附答案(14章全)--第一章:数据库基础知识 [数据库原理及应用]经典题库附答案(14章全)--第二章:关系数据库知识 [数据库原理及应用]经典题库附答案(14章全)--第 ...

  3. 数据库_数据库篇-第一章:数据库基本概念

    基础知识学习,面试必备,关注吧 骚年 01 第一,什么是数据库? 维基百科上是这样定义的: 所谓"数据库"是以一定方式储存在一起.能予多个用户共享.具有尽可能小的冗余度.与应用程序 ...

  4. sql表内数据默认_数据库篇-第一章:数据库基本概念

    基础知识学习,面试必备,关注吧 骚年 01 第一,什么是数据库? 维基百科上是这样定义的: 所谓"数据库"是以一定方式储存在一起.能予多个用户共享.具有尽可能小的冗余度.与应用程序 ...

  5. 元组可以直接添加进数据库吗_数据库篇-第一章:数据库基本概念

    面试必备基础数据库知识,扫码关注公众号提升 01 第一,什么是数据库? 维基百科上是这样定义的: 所谓"数据库"是以一定方式储存在一起.能予多个用户共享.具有尽可能小的冗余度.与应 ...

  6. MySQL数据库 第1章:数据库入门

    MySQL数据库 第1章:数据库入门 1.1 数据库基础 1.1.1 数据库概述 1.1.2 数据库技术的发展 1.1.3 三级模式和二级映像 1.1.4 数据模型 1.1.5 关系运算 1.1.6 ...

  7. MySQL数据库 第4章:数据库设计

    MySQL数据库 第4章:数据库设计 4.1 数据库设计概述 4.2 数据库设计范式 4.3 数据建模工具 4.4 数据库设计-电子商务网站 4.4.1 需求分析 4.4.2 准备工作 4.4.3 商 ...

  8. mysql都有什么基本函数_【第七章】MySQL的基本函数

    其它相关:数据概要 [第七章]MySQL的基本函数 Essential MySQL Functions (时长33分钟) 内置的用来处理数值.文本.日期等的函数 1. 数值函数 Numeric Fun ...

  9. 数据库系统概论--(第七章)数据库恢复技术

    事务处理技术.事务是一列的数据库操作,是数据库应用程序的基本逻辑单元.事务处理技术主要包括数据库恢复技术和并发控制技术.数据库恢复机制和并发控制机制是数据库管理系统的重要组成部分. 事务的基本概念 1 ...

  10. 关系型数据库第五章笔记---数据库设计

    文章目录 数据库设计概述 数据库设计 数据库设计的特点 1. 数据库建设的基本规律 2. 结构(数据)设计和行为(处理)设计相结合 数据库设计方法 数据库设计的基本步骤 需求分析 需求分析的任务(续) ...

最新文章

  1. 机器学习数据预处理之缺失值:固定值填充
  2. 逃出你的肖申克(一):为什么一定要亲身经历了之后才能明白?
  3. python模块导入视频教程_63-知识点回顾-函数和导入模块
  4. 域名使用cname方式跳转不到新域名_七牛云图床和Markdown使用
  5. BizTalk开发系列(三十四) Xpath
  6. Libra 的 Move 语言初探,10 行代码实现你第一个智能合约
  7. 金蝶k3数据库服务器信息,金蝶k3如何查询连接的服务器配置
  8. 如何把avi转换为mp4?视频转换用嗨格式视频转换器
  9. flutter 的像素尺寸
  10. 2014 计算机学科 排名,2014QS世界大学学科排名:计算机学科排行榜
  11. Django视图层模版层全面解析全网最细的教程
  12. php怎么使用sendcloud,请教大牛们 PHPHub 使用 sendcloud 发送邮件需要怎么配置?
  13. dig的现在分词_现在分词的变化规则(含双写加ing的动词归纳)
  14. Windows Azure 解决方案系列: Real World Windows Azure: 与微软杰出工程师, Sean Nolan的访谈...
  15. [资源分享][Unity][人物模型][动作]一些人物模型以及动作的分享
  16. 大型计算机网络主机通常采用什么型,全国计算机一级选择题真题集(1)
  17. 初入职场不得不掌握的6个好习惯
  18. 马克思主义哲学笔记(三)
  19. 6-11 使用函数输出水仙花数 (20 分)
  20. LintCode 1218. 补数 JavaScript算法

热门文章

  1. 项目中常用字典表 —— 各个国家简称映射
  2. python rbf神经网络_RBF神经网络是什么?
  3. 线性规划问题的模型建立与求解
  4. 计算机基础知识试题及答案填空题,计算机基础知识练习题及答案解析
  5. 国家计算机考试一级难不难,国家计算机一级考试难不难?
  6. 目前国内最热门的四款远程桌面控制软件
  7. 下列关于python语言中缩进说法中正确的是_以下关于 Python 语言中“缩进”说法正确的是:_物联网通信技术答案_学小易找答案...
  8. Windows Server 2016安装IIS服务步骤
  9. EJB到底是什么,真的那么神秘吗?
  10. 高数 | 【一元函数积分学】常用积分公式表