• 数据库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中也没有事务的概念,每一个操作都是原子级

  • 相关阅读:
    C#调用C++代码遇到的问题总结
    ASP.NET MVC Controller的激活
    利用fis3自动化处理asp.net项目静态资源时遇到的一个编码问题
    工作中遇到的一个多线程下导致RCW无法释放的问题
    在mongoose中使用$match对id失效的解决方法
    passport源码研究
    android手机旋转屏幕时让GridView的列数与列宽度自适应
    git 版本回退
    梦之解读:如何成为牛人
    DataTable与DTO对象的简易转换类
  • 原文地址:https://www.cnblogs.com/geeklove01/p/8228434.html
Copyright © 2020-2023  润新知