文章目录
一、SQL和NOSQL
常常使用的关系型数据库有 MySQL、Oracle、SQL Server、SQLite、DB2、Teradata、Infomix、Sybase、PostgreSQL、Access、FoxPro 等;相对应的,常见的 NoSQL 数据库有 MongoDB、Memcached、Redis、HBase、CouchDB、Neo4j、Cassandra、Riak 等。
1.关系型数据库通过外键关联来建立表与表之间的关系,
2.非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。
3.非关系型数据库中,我们查询一条数据,结果出来一个数组,关系型数据库中,查询一条数据结果是一个对
[https://www.cnblogs.com/lina520/p/7919551.html]:
1.Nosql特点
(1)易扩展,数据之间没有关系的。
(2)大数据量,高性能。高性能读写非常灵活的。
(3)灵活的数据模型。不需要事先对存储数据建立字段。
(4)高可用。
2.两者区别
1) 使用成本
NoSQL:NoSQL 使用简单,易搭建,大部分是开源软件,比较廉价,任何人都可以使用。
关系型数据库:相对于NoSQL,关系型数据库通常需要安装部署,开源的比较少,使用成本比较昂贵。尤其是 Oracle 数据库,需要花费大量资金购买,使用成本比较高。
2) 存储形式
NoSQL:NoSQL 具有丰富的存储形式,如 key-value(键值对)形式、图结构形式、文档形式、列簇形式等,因此,它可以存储各种类型的数据。
关系型数据库:关系型数据库是采用关系型数据模型来组织的,它是行列表结构,通过行与列的二元形式表示出来,数据之间有很强的关联性。它采用二维表结构的形式对数据进行持久存储。
3) 查询速度
NoSQL:NoSQL 将数据存储在系统的缓存中,不需要经过 SQL 层的解析,因此查询效率很高。
关系型数据库:关系型数据库将数据存储在系统的硬盘中,在查询的时候需要经过 SQL 层的解析,然后读入内存,实现查询,因此查询效率较低。
4) 扩展性
NoSQL:NoSQL 去掉了传统关系型数据库表与字段之间的关系,实现了真正意义上的扩展。它采用键值对的形式存储数据,消除了数据之间的耦合性,因此易扩展。
关系型数据库:由于关系型数据库采用关系型数据模型来存储数据,数据与数据之间的关联性较强,存在耦合性,因此不易扩展。尤其是存在多表连接(join)查询机制的限制,使得扩展很难实现。
5) 是否支持 ACID 特性
ACID 特性是指数据库事务的执行要素,包括原子性、一致性、隔离性、持久性。</