关系型数据库与非关系型数据库

 

关系型数据库

   关系数据库,是建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相联接的二维行列表格组成的数据库。

  当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。

非关系型数据库

非关系型数据库也被称为NoSQL ,就是不支持sql结构化查询语言。   

NoSqL描述的是大量结构化数据存储方法的集合,根据结构化方法以及应用场合的不同,主要可以将NOSQL分为以下几类。

(1)Column-Oriented

面向检素的列式存储,其存储结构为列式结构,同于关系型数据库的行式结构,这种结构会让很多统计聚合操作更简单方便,使系统具有较高的可扩展性。这类数据库还可以适应海量数据的增加以及数据结构的变化,这个特点与云计算所需的相关需求是相符合的,比如GoogleAppengine的BigTable以及相同设计理念的Hadoop子系统HaBase就是这类的典州代表。需要特别指出的是,Big Table特别适用于MapReduce处理,这对于云计算的发展有很高的适应性。

(2)Key-Value。

面向高性能并发读/写的缓存存储,其结构类似于数据结构中的Hash表,每个Key分别对应一个Value,能够提供非常快的查询速度、大数据存放量和高并发操作,非常适合通过主键对数据进行查询和修改等操作。Key-Value数据库的主要特点是具有极高的并发读/写性能,非常适作为缓存系统使用。MemcacheDB、BerkeleyDB、Redis、Flare就是Key-Value数据库的代表。

(3)Document-Oriented。

面向海量数据访问的文档存储,这类存储的结构与Key-Value非常相似,也是每个Key别对应一个Value,但是这个Value主要以JSOn(JavaSriptObjectNotations)或者XML等格式的文档来进行存储。这种存储方式可以很方便地被面向对象的语言所使用。这类数据库可在海量的数据中快速查询数据,典型代表为MongoDB、CouchDB等。
 
NOSQL具有扩展简单、高并发、高稳定性、成本低廉等优势,也存在一些问题。例如,NOSQL暂不提供SQL的支持,会造成开发人员的额外学习成本;NoSQL大多为开源软件其成熟度与商用的关系型数据库系统相比有差距;NoSql的架构特性决定了其很难保证数据的完整性,适合在一些特殊的应用场景使用。
 

关系型与非关系型数据库的区别

选用哪个数据库最重要的还是要看具体问题来分析。

参考   https://blog.csdn.net/longxingzhiwen/article/details/53896702

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

posted @ 2018-09-27 15:03  这个问题解决不了  阅读(348)  评论(0编辑  收藏  举报