NoSQL是什么意思

    今天小编带大家了解下NoSQL,从广义上说,NoSQL指的是非关系型数据库,说的其实不是不用SQL,而是不只是SQL(NOT ONLY SQL)。NoSQL旨在打破关系型数据库的统治格局,解决关系型数据库解决不了的问题。

    各个NoSQL数据库都有一个共同的特点,就是能存储海量的数据。NoSQL没有复杂的关系模式,库中的表是可以拆分的。几乎所有的NoSQL数据库都没有数据表(table)的概念,取而代之的是文档(document)。而文档就是一个key-value(键-值)方式存储数据的结构。比如{"item":"cigarette","brand":"Marlboro"}{"item":"liqor","brand":"Bacardi","qty":10}。把很多文件(document)存储到一起的结构式集合(collection),而同一个集合(collection)里面的文件(document)的结构是不完全一致的。

    NoSQL对数据的存储类型没有要求,什么都能往里面存,这也是NoSQL可以存储图像等复杂文件的原因。其中存储专业图的NoSQL数据库是Neo4J,存储文档比较占优势的是MongoDB,其他还有Cassandra等,HBASE也是一个NoSQL数据库。下面我们就MongoDB做一个简单介绍:

    MongoDB是一个基于分布式文件存储的数据库,由C++编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。他支持的数据结构非常松散,是类似json的bjson格式,因此他可以存储比较复杂的数据类型。MongoDB支持的查询语言非常强大,其语法类似面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

    虽然NoSQL有着广泛的应用,但是我们认为NoSQL是不会取代传统数据库的,并在相当长的时间里,与传统数据库一起在各自领域发挥重要作用。

 

posted @ 2020-03-20 18:11  夏日的向日葵  阅读(1332)  评论(0编辑  收藏  举报