NoSQL 数据库简介
672字约2分钟
2024-08-10
NoSQL(Not Only SQL),即“不仅仅是 SQL”,泛指非关系型数据库。NoSQL 不依赖业务逻辑方式存储,而以简单的 key-value 模式存储。因此大大的增加了数据的扩展能力。
不遵循 SQL 规范
不支持 ACID(支持事务)
远超 SQL 的性能
NoSQL 适用场景
对数据高并发的读写
海量数据的读写
对数据高可扩展性
NoSQL 不适用场景
需要事务支持
基于 sql 的结构化查询存储,处理复杂的关系,需要即需查询
ps:即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表。即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是由用户自定义查询条件的。
常见 NoSQL 数据库
Memcache
Redis
MongoDB
Hbase
Neo4j
Memcache
很早出现的 NoSQL 数据库
数据都在内存中,一般
支持简单的 key-value 模式,
一般是作为辅助持久化的数据库
Redis
几乎覆盖了 Memcached 的绝大部分功能
数据都在内存中,,主要用作备份恢复
除了简单的 key-value 模式,还支持多种数据结构的存储, 等
一般是作为辅助持久化的数据库
MongoDB
高性能、开源、模式自由(schema free)的
数据都在内存中,如果内存不足,把不常用的数据保存到硬盘
虽然是 key-value 模式,但是对于value(尤其是 )提供了丰富的查询功能
支持二进制数据及大型对象
可以根据数据的特点 ,成为独立的数据库,或者配合 RDBMS,存储特定的数据
Hbase
Hbase 是 Hadoop 项目中的数据库。它用于需要对大量数据进行随机、实时的读写操作场景。
Neo4j
Neo4j是一个用Java编写的完全兼容ACID事务的图形数据库。 数据作为图形网络的优化数据结构存储在磁盘上。 Neo4j内核是一种非常快速的图形引擎,具有生产数据库预期的所有特性,如恢复-两阶段提交事务,XA遵从性等。