首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >NoSQL数据库分类

NoSQL数据库分类

作者头像
用户9615083
发布2022-12-25 14:20:19
发布2022-12-25 14:20:19
2.5K0
举报

# 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)

# 列族数据库

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

项目

描述

相关产品

HBase、BigTable、hadoopDB、Cassandra等等

数据模型

列族

典型应用

分布式数据存储于管理

优点

可扩展性强、容易分布式扩展、复杂性低

缺点

功能较少、大部分都不支持强事务一致性

使用者

Facebook(Cassandra)、Yahoo!(HBase)

# 文档型数据库

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

项目

描述

相关产品

MongoDB、CouchDB、ThruDB等等

数据模型

版本化的文档

典型应用

存储、索引并管理面向文档数据或类似半结构化数据。

优点

性能好、灵活性高、复杂性低、数据结构灵活

缺点

缺乏统一的查询语法

使用者

百度云数据库(MongoDB),SAP(MongoDB)

# 图形数据库

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

项目

描述

相关产品

Neo4j、OrientDB、GraphDB等等

数据模型

图结构

典型应用

大量复杂、互连接、低结构化的图结构

优点

灵活性高、支持复杂的图算法、可以用来构建复杂的关系图谱

缺点

达观数据(Neo4j)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # NoSQL数据库分类
    • # 键值数据库
    • # 列族数据库
    • # 文档型数据库
    • # 图形数据库
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档