该如何使用SQL数据库、NoSQL数据库还是两者都用?

网友解答: 首先明确一点,NoSQL不是Not SQL,而是Not Only SQL,两者都是处理数据的,但是应用环境还是有比较大的区别的。首先,SQL一般用来处理关系型数据,数据也都是

网友解答:

首先明确一点,NoSQL不是Not SQL,而是Not Only SQL,两者都是处理数据的,但是应用环境还是有比较大的区别的。

首先,SQL一般用来处理关系型数据,数据也都是结构化存储的,比如我们建立一个表,那么这个表里的所有行的字段都是一样的,当然,现在不少SQL数据库也支持一些非结构化数据了,比如XML、Json等,不过,原则上,我们还是把SQL划入结构化存储的范畴。

NoSql一般用来处理非结构化的数据,数据量一般是超级大的,动辄几亿条甚至几十上百亿条。数据的每一行(假如有这个概念的话)都可以有不同的列,存储格式也不一样,有的是键值对、有的json、有的列存储;现在流行的有Redis、Mongodb、Cassandra等十几种,每种数据库都各有千秋,其中最特殊的是Mongodb,这货是最像关系型数据库的非关系型数据库,应用范围很广,深受传统关系型数据库转到非关系型数据库使用者的喜爱。

两者特点总结如下:

RDBMS

高度组织化结构化数据结构化查询语言(SQL)数据和关系都存储在单独的表中。数据操纵语言,数据定义语言严格的一致性- 基础事务

NoSQL

代表着不仅仅是SQL没有声明性查询语言没有预定义的模式键 - 值对存储,列存储,文档存储,图形数据库最终一致性,而非ACID属性非结构化和不可预知的数据CAP定理高性能,高可用性和可伸缩性

总之,各有特点,需要根据具体的业务情况来选择,也是可以并用的。

标签: