JobPlus知识库 互联网 互联网+ 文章
给产品经理讲技术丨非关系型数据库

【文章摘要】下面就来介绍下非关系型数据库,也常常被成为NOSQL数据库,NOSQL有的人解释为「不需要SQL」,也有人解释为「NotOnlySQL」,最核心的一点就是NOSQL数据库一般都是Key-Value形式的,它的查询不需要SQL语句支持。  

如果你不了解最基本的数据库,可以先看如下两篇:  

《  天天鼓捣数据,你知道数据库长啥样吗?  》  

《  学学写点SQL语句,好吗?  》  

如果你读懂了,应该知道我以前介绍的都是  

关系型数据库  

,把TA想象成一张Excel表格就可以了哦。TA有这么个特点,就像一个人的个人信息一样(姓名、性别、身高、籍贯等),每个人的数据都是格式化的,每个人的信息都可以被填入表中。  

如果有一个人有些特殊信息,比如有一个人有尾巴,你并不能记录到数据库当中,因为并没有「是否有尾巴」这个字段。  

下面就来介绍下  

非关系型数据库  

,也常常被成为  

NOSQL数据库  

,NOSQL有的人解释为「不需要SQL」,也有人解释为「NotOnlySQL」,最核心的一点就是NOSQL数据库一般都是Key-Value形式的,它的查询不需要SQL语句支持。  

我们举个KV数据库的例子:  

QQ截图20160629133729  

在这个数据库当中,像很多系统一样,主键,也就是Key,为手机号码。值,也就是Value为一个字符串,如果你看过我以前写过的文章,你应该可以看到Value是一段Json字符串,而且每条记录里面记录的东西都不同(对于扩展性,相比关系型数据库强到不知哪里去了),对于不需要的字段数据,绝不冗余。  

查询的时候不用SQL,怎么查询呢,因为数据库为Key-Value数据库,所以只能通过Key来查询,也就是输入手机号,数据库返回那段Json数据。  

其实整个非关系型数据库的理解非常简单,重要的是TA的意义。  

首先,是效率的提升,据说KV数据库查询效率要高于SQL好几倍。  

另外,好处就是扩展性,TA不像关系型数据库一样,存入数据必须按照格式按照套路存储。如上所述,只要定义了Key,数据库是不关心Value是什么的,这就使整个数据库不用在束缚于字段的设计。  

最后,这种数据库是未来的趋势,而且大多数都免费,并且Json数据格式应该已经成为互联网最流行的数据格式,对Java以及JavaScript都极其友好。如果你还不了解Json,可以看看这篇《你真的了解JSON么?》。  

至于关系型数据库和NOSQL数据库之间如何选择,还是要根据具体情况决策的,但是未来NOSQL数据库应该会成为主流,因为我已经看到了好多数据库改造与升级都开始用NOSQL数据库了。  

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
277人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

扫码APP

扫描使用APP

扫码使用

扫描使用小程序