文章

NoSQL入门

NoSQL入门

NoSQL 入门

NoSQL 概述

NoSQL 是一项全新的数据库革命性运动,虽然它的历史可以追溯到 1998 年,但是 NoSQL 真正深入人心并得到广泛的应用是在进入大数据时候以后,业界普遍认为 NoSQL 是更适合大数据存储的技术方案,这才使得 NoSQL 的发展达到了前所未有的高度。2012 年《纽约时报》的一篇专栏中写到,大数据时代已经降临,在商业、经济及其他领域中,决策将不再基于经验和直觉而是基于数据和分析而作出。事实上,在天文学、气象学、基因组学、生物学、社会学、互联网搜索引擎、金融、医疗、社交网络、电子商务等诸多领域,由于数据过于密集和庞大,在数据的分析和处理上也遇到了前所未有的限制和阻碍,这一切都使得对大数据处理技术的研究被提升到了新的高度,也使得各种 NoSQL 的技术方案进入到了公众的视野。

NoSQL 数据库按照其存储类型可以大致分为以下几类:

类型部分代表特点
列族数据库HBase
Cassandra
Hypertable
顾名思义是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的 I/O 优势,适合于批量数据处理和即时查询。
文档数据库MongoDB
CouchDB
ElasticSearch
文档数据库一般用类 JSON 格式存储数据,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能,但不提供对参照完整性和分布事务的支持。
KV 数据库DynamoDB
Redis
LevelDB
可以通过 key 快速查询到其 value,有基于内存和基于磁盘两种实现方案。
图数据库Neo4J
FlockDB
JanusGraph
使用图结构进行语义查询的数据库,它使用节点、边和属性来表示和存储数据。图数据库从设计上,就可以简单快速的检索难以在关系系统中建模的复杂层次结构。
对象数据库db4o
Versant
通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。

说明:想了解更多的 NoSQL 数据库,可以访问http://nosql-database.org/

本文由作者按照 CC BY 4.0 进行授权