NoSQL的一些非功能性的特性,比如扩展性、性能以及一致性的讨论,目前已经有很多。而对于NoSQL产品内部数据模型相关的知识一直比较欠缺,本文希望能够系统地对NoSQL数据模型进行一些探讨。
我们大致先将NoSQL数据模型划分为下面几类:Key-Value存储、类BigTable数据库、文档数据库,全文索引引擎以及图数据库。
下面通过一个简单有趣的示例图,简单描述各个不同数据模型的构造:
对照上面的图片,我们对几种数据模型进行简单的描述:
Key-Value模型是最简单,也是使用最方便的数据模型,它支持简单的key对value的键值存储和提取;
Key-Value模型的一个大问题是它通常是由HashTable实现的,所以无法进行范围查询,所以有序Key-Value模型就出现了,有序Key-Value支持范围查询;
虽然有序Key-Value模型能够解决范围查询和问题,但是其Value值依然是无结构的二进制码或纯字符串,通常我们只能在应用层去解析相应的结构。而类BigTable的数据模型,能够支持结构化的数据,包括列、列簇、时间戳以及版本控制等元数据的存储;
而文档型存储相对到类BigTable存储又有两个大的提升,一是其Value值支持复杂的结构定义,二是支持数据库索引的定义;
全文索引模型与文档型存储的主要区别在于文档型存储的索引主要是按照字段名来组织的,而全文索引模型是按字段的具体值来组织的;
图数据库模型也可以看作是从Key-Value模型发展出来的一个分支,不同的是它的数据之间有着广泛的关联,并且这种模型支持一些图结构的算法。
对于NoSQL与关系型的差别,简单总结如下:
NoSQL数据库的数据模型通常与实际需求更贴近。通常使用关系型数据库时,需要关心的问题是“数据库能提供哪些功能”,而NoSQL模型关心更多的是“可以解决哪些问题”;
使用NoSQL数据模型,通常需要你对存储的内部结构和实现算法有一定的了解;
使用NoSQL数据库,通常要自己处理数据结构解析和数据的冗余复制问题;
对于关系型数据库来说,对数据分级存储的处理并不强。但是对图数据库,或者说其它的NoSQL数据库来说,对数据的分级处理都是预先考虑的。
目前简单将NoSQL几个分类的代表产品列举如下:
Key-Value 存储:Oracle Coherence、Redis、Kyoto Cabinet
类BigTable存储:Apache HBase、Apache Cassandra
文档数据库:MongoDB、CouchDB
全文索引:Apache Lucene、Apache Solr
图数据库:neo4j、FlockDB
- 大小: 59.3 KB
分享到:
相关推荐
常见NoSQL介绍——MongoDB 常见NoSQL介绍——MongoDB 常见NoSQL介绍——MongoDB 常见NoSQL介绍——MongoDB 常见NoSQL介绍——MongoDB 常见NoSQL介绍——MongoDB 常见NoSQL介绍——MongoDB 正在使用NoSQL的一些知名...
3、常见NoSQL介绍 3.1、文档型举例介绍(MongoDB) 3.1.1、MongoDB是什么 3.1.2、MongoDB的特性 3.1.3、MongoDB的架构 3.1.4、MongoDB的安装 3.1.5、MongoDB的简单使用 3.1.6、MongoDB的图形管理工具 3.1.7、MongoDB...
### NoSQL介绍与比较 #### 一、NoSQL概述 NoSQL(Not Only SQL)泛指非关系型数据库,旨在解决传统关系型数据库在处理Web2.0网站,尤其是超大规模和高并发SNS类型纯动态网站时所面临的挑战。随着互联网技术的发展...
### NoSQL介绍 #### NoSQL概念与原理 NoSQL(Not Only SQL)是指一类非关系型的数据库管理系统,它提供了一种不同于传统关系型数据库的存储方式。NoSQL的出现主要是为了解决大规模数据集合中多种类型的数据存储...
非关系数据库介绍,对于不了解非关系数据库NoSql的新手来说可以值得一看
在大数据时代,数据库管理系统(RDBMS)与非关系型数据库(Nosql)扮演着至关重要的角色。这两种数据库系统在处理大规模数据时各有优势,适应不同的业务需求。 首先,RDBMS,即关系型数据库管理系统,是基于关系...
3、常见NoSQL介绍 3.1、文档型举例介绍(MongoDB) 3.1.1、MongoDB是什么 3.1.2、MongoDB的特性 3.1.3、MongoDB的架构 3.1.4、MongoDB的安装 3.1.5、MongoDB的简单使用 3.1.6、MongoDB的图形管理工具 3.1.7、MongoDB...
NoSQL(Not Only SQL)是一种非关系型数据库技术,它在21世纪初随着大数据和分布式计算的发展而兴起。与传统的SQL(结构化查询语言)数据库不同,NoSQL数据库不依赖于固定的表结构,而是采用灵活的数据模型,如键值...
《NoSQL事例与介绍:MongoDB实践指南》 在当今的信息化社会,数据库系统扮演着至关重要的角色。传统的SQL(结构化查询语言)数据库在处理大量数据和高并发访问时,逐渐显露出其局限性。为了解决这些问题,NoSQL(非...
NoSQL 数据库 介绍,MongoDB简介。
NoSQL 数据库是当前大数据时代的热门话题,NoSQL 数据库学习之路是 NoSQL 数据库的详细介绍,介绍了目前主流的 NoSQL 数据库实现原理,涵盖了 CAP 理论、 BASE 理论、一致性哈希、 Vector Clock、Gossip Protocol 等...
尽管文档的部分内容似乎与Linux公社网站介绍有关,但我们的重点将放在提取与NoSQL数据库相关的知识点上。 ### NoSQL数据库入门 #### 一、NoSQL简介 NoSQL(Not Only SQL)是指非关系型数据库,它的出现主要是为了...
Nosql数据库论文的主要内容是介绍Nosql数据库的发展和应用,特别是分布式数据库的重要性和发展前景。文章首先介绍了传统关系型数据库的局限性,然后引入了Nosql数据库的概念和特点,接着介绍了分布式数据库的定义、...
### Nosql介绍和Hbase实战 #### NoSQL简介 NoSQL(Not Only SQL)是指非关系型数据库系统,它们不受传统关系型数据库的限制,提供了更高的灵活性、可扩展性和性能。常见的NoSQL数据库包括MongoDB、Cassandra、Redis...
本书由浅入深,全面系统地介绍了NoSQL系统。本书既对NoSQL系统的理论进行了深入浅出的分析,又介绍了每一种NoSQL数据库在业界广泛应用的一个具体系统,理论与实战并重。 本书共分5篇,12章。涵盖的内容有:NoSQL与...
NoSQL,全称为Not Only SQL,是一场反对传统关系型数据库的革命性运动,旨在应对Web 2.0时代超大规模、高并发的网站需求。随着互联网的发展,尤其是社交网络的崛起,传统的SQL数据库在处理海量数据和高并发场景时...
NoSQL 介绍:由于互联网的迅速发展,云计算与 Web2.0,给数据库提出了更高的性能要求,传统的关系数据库虽然具备良好的事物管理,但在处理大量数据的应用时很难在性能上满足设计要求。NoSQL 就是主要为了解决当下...
5. **安全性与隐私**:介绍NoSQL数据库的安全控制机制,如认证、授权、加密等,以及如何保护用户数据的隐私。 6. **未来趋势与挑战**:讨论NoSQL数据库的发展趋势,如多模态数据库、云原生数据库,以及面临的挑战,...