EmmmuaCode EmmmuaCode
首页​
导航🚀​
  • 数据结构
  • 计算机网络
  • Java基础

    • JavaSE
    • JVM虚拟机
    • JUC并发编程
  • JavaWeb

    • Servlet
    • MVC
    • filter|listener
  • HTML
  • CSS
  • JavaScript
  • Vue
  • uni-app
  • Spring5
  • SpringMVC
  • SpringBoot2
  • SpringCloud
  • SpringSecurity
  • 搜索引擎

    • ElasticSearch
  • 消息队列

    • RabbitMQ
  • 服务器

    • Nginx🌐
  • 服务框架

    • Dubbo
  • Python基础
  • 数据分析
  • Hadoop
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • NoSQL数据库概论
    • Redis
    • MongoDB
    • HBase
  • 框架

    • MyBatis
    • MyBatis-Plus
    • ShardingSphere
  • 部署

    • Linux
    • Docker
  • 管理

    • Maven
    • Git
  • 友情链接
  • 优秀博客文章
  • 索引

    • 分类
    • 标签
    • 归档
  • 其他

    • 关于
Github (opens new window)

wufan

海内存知己,天涯若比邻。
首页​
导航🚀​
  • 数据结构
  • 计算机网络
  • Java基础

    • JavaSE
    • JVM虚拟机
    • JUC并发编程
  • JavaWeb

    • Servlet
    • MVC
    • filter|listener
  • HTML
  • CSS
  • JavaScript
  • Vue
  • uni-app
  • Spring5
  • SpringMVC
  • SpringBoot2
  • SpringCloud
  • SpringSecurity
  • 搜索引擎

    • ElasticSearch
  • 消息队列

    • RabbitMQ
  • 服务器

    • Nginx🌐
  • 服务框架

    • Dubbo
  • Python基础
  • 数据分析
  • Hadoop
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • NoSQL数据库概论
    • Redis
    • MongoDB
    • HBase
  • 框架

    • MyBatis
    • MyBatis-Plus
    • ShardingSphere
  • 部署

    • Linux
    • Docker
  • 管理

    • Maven
    • Git
  • 友情链接
  • 优秀博客文章
  • 索引

    • 分类
    • 标签
    • 归档
  • 其他

    • 关于
Github (opens new window)
  • MySQL-基础

    • MySQL-简介
    • MySQL-CRUD
    • MySQL-函数
    • MySQL 多表查询
    • MySQL 约束与自增长
    • MySQL 索引与事务
    • MySQL 表类型和存储引擎
    • MySQL 视图与管理
  • MySQL-进阶

    • MySQL 存储引擎
    • MySQL 索引
    • MySQL SQL优化
    • MySQL 视图/存储过程/触发器
    • MySQL 锁
    • MySQL InnoDB引擎
    • MySQL 管理
  • MySQL-运维

    • MySQL 日志
    • MySQL 主从复制
    • MySQL 分库分表
    • MySQL 读写分离
  • NoSQL 数据库概论

    • 非关系型数据库
    • NoSQL数据库理论基础
    • NoSQL数据库分类
      • 键值数据库
      • 列族数据库
      • 文档型数据库
      • 图形数据库
  • Redis

    • Redis 数据库简介
    • Redis 概述安装
    • 常用五大数据类型
    • Redis 配置文件
    • Redis 发布和订阅
    • Redis 新数据类型
    • Redis Java整合
    • Redis 事务与锁
    • Redis 持久化操作
    • Redis 主从复制
    • Redis 集群搭建
    • Redis 缓存问题
    • Redis 分布式锁
    • Redisson 的应用
    • Redis 6.0新功能
  • MongoDB

    • MongoDB 相关概念
    • MongoDB 安装
    • MongoDB 常用命令
    • MongoDB 索引-Index
    • MongoDB 整合Java案例
    • MongoDB 集群和安全
  • HBase

    • HBase简介
    • HBase系统架构
    • HBase数据定义
    • HBase数据操作
    • HBase基本原理
  • MyBatis

    • MyBatis 入门案例
    • XML 配置
    • XML 映射文件
    • 动态SQL
    • 缓存
    • MyBatis的逆向工程
    • 分页插件
  • MyBatis-Plus

    • MyBatis-Plus 简介
    • MyBatis-Plus 入门案例
    • MyBatis-Plus 基本CRUD
    • MyBatis-Plus 常用注解
    • 条件构造器和常用接口
    • MyBatis-Plus 插件
    • MyBatis-Plus 通用枚举
    • MyBatis-Plus 代码生成器
    • MyBatis-Plus 多数据源
    • MyBatisX插件
  • ShardingSphere

    • ShardingSphere_高性能架构模式
    • ShardingSphere 简介
    • ShardingSphere 主从同步
    • ShardingSphere_JDBC 读写分离
    • ShardingSphere-JDBC垂直分片
    • ShardingSphere-JDBC水平分片
    • 启动ShardingSphere-Proxy
    • ShardingSphere-Proxy读写分离
    • ShardingSphere-Proxy垂直分片
  • studynotes
  • database
  • NoSQL
wufan
2022-03-11
目录

NoSQL数据库分类

# NoSQL数据库分类

详细信息 (opens new window)

分类 举例 典型应用场景 数据模型 优点 缺点
键值数据库 Redis,Voldemort,Oracle BDB 存储用户信息,比如会话、配置文件、参数、购物车等等。 Key指向Value的键值对,通常用hash table来实现 查找速度快 数据无结构化,通常只能被当做字符串或者二进制数据
列族数据库 Cassandra,Hbase,Bigtable 分布式的文件系统 以列簇式存储,将同一列族数据存在一起 吞吐量大,可扩展性强,更容易进行分布式扩展 功能相对局限
文档型数据库 CouchDB,MongoDB Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容) BSON 数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构 查询性能不高,而且缺乏统一的查询语法。
图形数据库 Neo4J,lnfoGrid,lnfiniteGraph 社交网络,推荐系统等。专注于构建关系图谱 图结构 利用图结构相关算法。比如最短路径寻址,N度关系查找等 很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。

# 键值数据库

键值数据库( Key-Value Database)会使用一个哈希表,这个表中有一个特定的key和一个指针指向特定的value。key可以用来定位value,即存储和检索具体的Value。

项目 描述
相关产品 Redis、Memcahed、SimpleDB、Riak等等
数据模型 key-value
典型应用 内容缓存。会话、配置文件、参数、购物车
优点 扩展性好、灵活性强、大量写操作时性能高
缺点 无法存储结构化信息、条件查询效率较低
使用者 百度云数据库(Redis)、Youtube(Memcached)

01

# 列族数据库

列族数据库采用的是列族数据模型,由多个行构成,每行数据包含多个列族,不同行可以有不同数量的列族。属于同一列族的数据被存在一起。每行数据是通过键值来定位

项目 描述
相关产品 HBase、BigTable、hadoopDB、Cassandra等等
数据模型 列族
典型应用 分布式数据存储于管理
优点 可扩展性强、容易分布式扩展、复杂性低
缺点 功能较少、大部分都不支持强事务一致性
使用者 Facebook(Cassandra)、Yahoo!(HBase)

01

# 文档型数据库

数据模型是结构化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。

项目 描述
相关产品 MongoDB、CouchDB、ThruDB等等
数据模型 版本化的文档
典型应用 存储、索引并管理面向文档数据或类似半结构化数据。
优点 性能好、灵活性高、复杂性低、数据结构灵活
缺点 缺乏统一的查询语法
使用者 百度云数据库(MongoDB),SAP(MongoDB)

01

# 图形数据库

图型数据库以图论为基础,一个图是一个数学概念,用来表示一个对象集合,包括顶点及连接顶点的边。图数据库使用图作为数据模型来存储数据。

项目 描述
相关产品 Neo4j、OrientDB、GraphDB等等
数据模型 图结构
典型应用 大量复杂、互连接、低结构化的图结构
优点 灵活性高、支持复杂的图算法、可以用来构建复杂的关系图谱
缺点 达观数据(Neo4j)
#NoSQL
上次更新: 2024/04/21, 09:42:22
NoSQL数据库理论基础
Redis 数据库简介

← NoSQL数据库理论基础 Redis 数据库简介→

最近更新
01
微信支付功能的实现与流程
11-21
02
购物车与结算区域的深入优化与功能完善
11-21
03
购物车与结算区域的功能实现与优化
11-21
更多文章>
Theme by Vdoing | Copyright © 2023-2024 EmmmuaCode | 黔ICP备2022009864号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式