zoukankan      html  css  js  c++  java
  • 数据库ACID,SQL和NoSQL

    数据库中的事务(transaction)有ACID4个基本特性,可以类比交易:

    1,A(Atomicity)原子性

    事务里的事情要么全部做完,要么执行过程中失败,此时回滚。

    2,C(Consistency)一致性

    数据库要处于一致的状态。

    例如:现有完整性约束 A+B=10,若一个事务改变了A,那么B也得必须改变

    3,I(Isolation)独立性

    并发的事务之间不会相互影响。

    如果一个事务要访问的数据正在被另一个事务修改,只要另一个事务未提交,它所访问的数据就不受未提交数据的影响。

    4,D(Durability)持久性

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

    SQL(Structured Query Language,结构化查询语言)和NoSQL(Not Only SQL,泛指非关系型数据库)的一些区别:

    首先,两者最重要的区别是NoSQL不使用SQL作为查询语言,数据存储不需要固定的表格模式

    避免使用SQL的join操作,水平可扩展。

    SQL数据库的典型代表:SQL Server,Oracle,My SQL

    NoSQL数据库的典型代表:MongoDB,Redis

    1. SQL数据存在特定结构的表中,NoSQL灵活,存储方式可以是JSON,哈希表等方式

    2. SQL中必须定义好表和字段结构后才能添加数据;NoSQL无需先定义表,可以在任何时候任何地方添加

    3.需要关联外部数据的时候,SQL往往需要外键,再建一张表;NoSQL可以把外部数据直接放在原数据集中

    4.SQL中可使用join将多个关系数据表中的数据一次查询出来,NoSQL不支持该用法

    5.SQL数据耦合性强,不能删除外部已使用的数据;NoSQL没有数据耦合的概念,可以任意删除

    6.NoSQL中也没有事务的概念,每一个操作都是原子级

  • 相关阅读:
    HDU4529 郑厂长系列故事——N骑士问题 —— 状压DP
    POJ1185 炮兵阵地 —— 状压DP
    BZOJ1415 聪聪和可可 —— 期望 记忆化搜索
    TopCoder SRM420 Div1 RedIsGood —— 期望
    LightOJ
    LightOJ
    后缀数组小结
    URAL
    POJ3581 Sequence —— 后缀数组
    hdu 5269 ZYB loves Xor I
  • 原文地址:https://www.cnblogs.com/geeklove01/p/8228434.html
Copyright © 2011-2022 走看看