NoSQL(Not  Only  SQL)

 NoSQL非关系型数据库,用于超大规模数据存储。

1、代表着不仅仅是SQL

2、 没有声明型查询语言

3、没有预定义模式

4、键-值对存储,列存储,文档存储,图形数据库

5、最终一致性,而非ACID属性

6、非结构化和不可预知的数据

7、CAP定理

8、高性能,高可用性和可伸缩性

优点:高可扩展性;分布式计算;低成本;架构的灵活性,半结构化数据;没有复杂的关系

缺点:没有标准化;有限的查询功能;最终一致是不直观的程序

    NoSQL数据库分类

      列存储:Hbase、Cassandra、Hypertable

文档存储:MongoDB、CouchDB

key-value存储:Tokyo Cabinet/Tyrant 、Berkeley DB 、MemcacheDB、 Redis

图形存储:Neo4J、FlockDB

对象存储:db4o、Versant

xml数据库:Berkeley DB XML 、 BaseX

     

     RDBMS

      RDBMS关系型数据库

1、高度组织化结构化数据

2、结构化查询语句(SQL)

3、数据和关系都存储在单独的表中

4、数据操纵语言,数据定义语言

5、严格的一致性

6、基础事务

     

     ACID (Atomicity+Consistency+Isolation+Durability)

     1、A(Atomicity)原子性

事务里所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,要么一个操作失败,整个事务就失败

2、C(Consistency)一致性

数据要一直处于一致状态,事务的运行不会改变数据库原本的一致性约束

3、i(Isolation)独立性

事务之间不会互相影响

4、D(Durability)持久性

一旦事务提交后,他所做的修改将会永久保存 在数据库上

  

  CAP定理(CAP theorem)     

CAP定理,也称为布鲁尔定理,指出对于一个分布式计算系统来说,不可能同时满足以下三点:

1、一致性(Consistency)(所有节点在同一时间具有相同的数据)

2、可用性(Availability)(保证每个请求不管成功或者失败都有响应)

3、分隔容忍(Partition  tolerance)(系统中任意信息的丢失或失败不会影响系统的继续运行)

核心:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个

     根据CAP原理分类NoSQL数据库

1、CA-单点集群,满足一致性,可用性的系统,通常在可扩展性上不强大

2、CP-满足一致性,分区容忍性的系统,通常性能不是特别高

3、AP-满足可用性,分区容忍性的系统,通常可能对一致性要求低一些

BASE

BASE(Basically Available,Soft-state,Eventually Consistent),是NoSQL数据库通常对可用性及一致性的弱要求原则

Basically  Available - 基本可用

Soft-state - 软状态/柔性事务。“Soft-state”无连接,"Hard-state" 面向连接

Eventually Consistency - 最终一致性

分布式系统

  分布式系统:由多台计算机和通信的软件组件通过计算机网络连接(本地网络和广域网)组成。分布式系统具有高度的内聚性和透明性

分布式计算

优点:

1、可靠性(容错):一台服务器的系统崩溃并不影响到其余的服务器

2、可扩展性:可以根据需求增加更多的机器

3、资源共享

4、灵活性:易于安装,实施,调试

5、更快的速度

6、开放系统

7、更高的性能

缺点:

1、故障排除:故障排除及问题诊断

2、软件:更少的软件支持是分布式计算系统的主要缺点

3、网络:网络基础设施的问题,如:传输问题,高负载,信息丢失等

4、安全性

数据库基础之NoSQL与RDBMS相关推荐

  1. MYSQL----(2) 数据库基础知识

    数据库 1 定义 数据库,可以简单的解释为:高效的存储和处理数据的介质(主要分为磁盘和内存两种). 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存 ...

  2. Linux Mysql 数据库基础

    目录 Linux Mysql 数据库基础 一.数据库 数据库简介 数据库的分类 数据库的发展史 数据库系统发展阶段 DBMS 数据库管理系统 数据库管理系统的优点 数据库管理系统的基本功能 数据库系统 ...

  3. Web阶段--Oracle数据库基础知识点

    Web阶段–Oracle数据库基础知识点 一.数据库 1.定义 是一个数据存储管理的软件,全称rdbms(关系数据库管理系统),简称数据库(db) 2.为什么需要应用数据库? 1.现有文本文件存放数据 ...

  4. MySQ快速基础篇_MySQL数据库基础

    MySQ快速基础篇_MySQL数据库基础 文章目录 MySQ快速基础篇_MySQL数据库基础 MySQL数据库基础 学习目录 学习目标 一.数据库概述 1.数据库介绍 2.数据库分类 ☆ 关系型数据库 ...

  5. 数据库知识【第1期】-- 数据库基础

    数据库知识[第1期]-- 数据库基础 本篇是数据库系列的第1篇,数据库分为关系型数据库和非关系型数据库,今天我们先开始梳理数据库的基础部分. 1.数据管理发展阶段 数据库简单理解就是数据管理的仓库.而 ...

  6. Mysql数据库基础入门教程

    Mysql数据库基础入门教程 课程链接:https://www.bilibili.com/video/BV1Qb411x7Yc?p=1 2022/1/22start 一.数据库简介 1.什么是数据库? ...

  7. mysql数据库参考文献2018_2018-4-25mysql数据库基础

    2018-4-25mysql数据库基础 新建 模板 小书匠 1. 数据库分类 RDBMS:关系数据库管理系统 非结构化和半结构化的数据:NoSQL(Not only SQL) 2. mysql简介 1 ...

  8. 数据库基础笔记(MySQL)1 —— 基础概念

    (写算法题目把自己心态搞崩了,休息两天顺便把之前学的数据库手写笔记记录在网上方便查阅,因为只是自己学的时候做的笔记,如果有错误欢迎大家指正,过两天再重回算法的怀抱哈哈) 如何下载配置 这个感觉视频讲的 ...

  9. Oracle数据库基础入门《二》Oracle内存结构

    Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...

最新文章

  1. openwrt下让telnetl与ssh(dropbear)共存
  2. case when判断大于某值_Python 代码判断逻辑太复杂?这里有几条最佳实践和技巧...
  3. G2 2.0 更灵活、更强大、更完备的可视化引擎!
  4. VS2010附加进程调试DLL时断点无法断下的解决方法
  5. sql游标以及异常处理
  6. 阿里云 云服务器ECS(CentOS 8.0 64位) 安装 MySQL 数据库
  7. 【生活资讯】5款好用的生活学习类APP
  8. 封装的三级联动及应用
  9. curlopt_ssl_verifypeer后https还是验证不过_为什么 HTTPS 需要 7 次握手和 9 倍时延
  10. mysql查询当天数据(上周、本月、上个月、距离当前现在6个月的数据)
  11. R2: 相关系数、复相关系数及半偏相关系数之间的联系
  12. 服务器游戏协议,游戏服务器tcp协议
  13. 作为一个面试官如何准备一场面试
  14. 近几年Linux TCP相关的漏洞被夸大了
  15. HUAWEI华为MateBook13 2020锐龙版R5集显16G+512GB(HNL-WFQ9)原装出厂系统恢复原厂系统
  16. ANSYS Electronic各类
  17. WhatsApp是啥软件?WhatsApp是什么意思?
  18. Ubuntu18.04 安装Proverif 和Syther_tool
  19. editplus java语法_用Editplus开发Java
  20. TOFEL Speaking 托福口语 —— 模板

热门文章

  1. Flutter webview加载本地HTML方案
  2. 【技巧】ZIP文件的分卷压缩如何设置 ?
  3. Vintage、滚动率、迁移率的应用(转载)
  4. KVM新建虚拟机不能识别iso:You must select an OS
  5. java单点登录跨域_深入浅出让你理解跨域与SSO单点登录原理与技术
  6. 2022-11-28关键词扩充,文章自动生成,采集php源码,自动配图源码,SEO提高收录权重无限长尾词
  7. YOLO系列算法学习
  8. PS(CS6)制作gif动画 生日蛋糕上燃烧的蜡烛效果
  9. C语言详解 - 枚举类型
  10. 自适应滤波-最小均方误差滤波