NoSql 入门实践笔记一

1. 初识NoSql

  • 定义
    • 主体符合非关系式、分布式、开放源码和具有横向扩展能力的下一代数据库
  • 数据库分类
    • TRDB传统关系型数据库
      • 使用强存储模式技术。特指数据库表、行、字段的建立,都需要预先严格定义,并进行相关属性约束
      • 采用SQL计数标准来定义和操作数据库
      • 采用强事务保证可用性和安全性
      • 主要采用单机集中式处理(CP)方式
    • NoSql数据库
      • 使用弱存储模式技术
      • 没有采用SQL技术标准来定义和操作数据库
      • 采用弱事务保证数据可用性及安全性或根本没有事务处理机制
      • 主要采用多机分布式处理方式
    • NewSql数据库
      • 既要实现NoSql技术快速、有效的大数据处理能力,又要实现传统关系型数据库的SQL、事务处理等的优势
      • 主要产品 PostgreSQLSequoiaDB(国产)SAPHANAMariaDBVoltDBClustrix

2. TRDB与NoSql的技术比较

  • 单机指令包含操作码操作数 两部分
  • 帽子定理(CAP)
    • 一致性 – 满足同步数据复制的功能
    • 可用性 – 满足随时更新操作功能
    • 分区容错性 – 满足随时读有效数据功能
  • ACID
    • 原子性 一个事务是一个不可分割的工作单位,事务中包含的许多操作要么都做,要么都不做
    • 一致性 事务必须是使数据库从一个一致性状态到另一个一致性状态。一致性和原子性使密切相关的
    • 隔离性 一个事务的执行不能被其他事务干扰。并发执行的各个事务之间不能相互干扰
    • 持久性 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的,接下来的其他操作或故障不应该对其有任何影响
  • NoSQL特性 BASE
    • 基本可用(BA) 允许出现部分故障,但是其余部分可以继续运作
    • 软状态(S) 允许数据状态暂时不一致,但经过纠错处理会最终一致
    • 最终一致(E) 最终处理结果将是一致的
  • SQL技术标准
    • 数据查询语言(Select)DQL
    • 数据操作语言(Insert、Update、Delete) DML
    • 事务处理语言(Begin Transaction、Commit 和 Rollback)
    • 数据控制语言(通过Grant和Revoke获得许可)DCL
    • 数据定义语言(Create 和 Drop)DDL
    • 指针控制语言(Declare Cursor、Fetch Into和Update Where Current)

猜你喜欢

转载自blog.csdn.net/wkfyynh/article/details/107140647