NoSQL - 非关系型数据库

发布时间 2023-03-31 16:40:18作者: youlooou

一、定义

  • 主要针对键值、文档、图形类型数据存储;

  • 天生支持分布式,数据冗余和数据分片等特性,旨在提供可扩展的高可用高性能数据存储解决方案;

  • 代表有:HBase, Cassandra, MongoDB, Redis

 

 


 

二、SQL 与 NoSQL 区别

 

 

 

 

 


 

三、 分类

1. 键值数据库

  • 其中每个项目都包含键和值,极为灵活,应用可以完全控制value字段中存储的内容,没有任何限制;

  • 如:Redis, DynanoDB

2. 文档数据库

  • 数据存储在类似于JSON对象的文档中,清晰直观,每个文档包含成对的字段和值;

  • 值可以是各种类型,其结构与开发者代码中使用的对象保持一致;

  • 如:MongoDB

3. 图形数据库

  • 旨在轻松构建和运行与高度连接的数据集一起使用的应用程序,包括:社交网络、推荐引擎、欺诈检测等;

  • 如:Neo4j, Giraph

4. 宽列数据库

  • 适合存储大量的数据

  • 如:Cassandra, HBase

 

 


 

四、 优势

1. 灵活性:提供灵活的架构,以实现更快速更多的迭代开发

2. 可扩展性:通常被设计为通过分布式硬件集群来横向扩展,而非通过添加服务器纵向扩展

3. 高性能:针对特定的数据模型和访问模式进行了优化,提供了更高的性能

4. 功能强大:提供功能强大的API和数据类型