NoSql 入门实践笔记一
其他
2021-03-03 11:54:02
阅读次数: 0
1. 初识NoSql
- 定义
- 主体符合非关系式、分布式、开放源码和具有横向扩展能力的下一代数据库
- 数据库分类
- TRDB传统关系型数据库
- 使用强存储模式技术。特指数据库表、行、字段的建立,都需要预先严格定义,并进行相关属性约束
- 采用SQL计数标准来定义和操作数据库
- 采用强事务保证可用性和安全性
- 主要采用单机集中式处理(CP)方式
- NoSql数据库
- 使用弱存储模式技术
- 没有采用SQL技术标准来定义和操作数据库
- 采用弱事务保证数据可用性及安全性或根本没有事务处理机制
- 主要采用多机分布式处理方式
- NewSql数据库
- 既要实现NoSql技术快速、有效的大数据处理能力,又要实现传统关系型数据库的SQL、事务处理等的优势
- 主要产品 PostgreSQL、SequoiaDB(国产) 、SAPHANA 、MariaDB、VoltDB、Clustrix
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