栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > DBA题库

NoSQL数据库主要分为哪几种?分别是什么?

DBA题库 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

NoSQL数据库主要分为哪几种?分别是什么?

NoSQL 广泛使用的四种模型: 键值,文档,列族,图。前三种的共同特征是 面向聚合 。聚合作为交互单元的数据集合,使数据库在集群上管理数据存储更为方便。

图数据库的基本数据结构是: 由边连接而成的若干节点。它不使用关系模型,但是与面向聚合数据库的明显差异在于,它重视数据间的 关系 。使用图数据库时,大部分操作是浏览各种关系。图数据库通常运行在 单一 的服务器上,而不是分布式的集群中。

  • 数据分布有两种方式:
    • 将不同数据分片存在多个服务器中,每一个数据子集都由专门一台服务器负责
    • 将数据复制到多个服务器上,每份数据都能在多个节点中找到
  • 数据复制有两种方式:
    • 主从复制 : 将其中一个节点当作权威数据源,并负责写入操作;其他从节点都要和主节点保持同步,它们可以负责读取操作
    • 对等复制 : 任何节点均可写入,节点间互相协调以同步其数据

键值数据库

键值数据库是一张简单的哈希表,主要用在所有数据库访问都通过主键来操作的情况下

OracleRiak数据库实例Riak集群表/table存储区/bucket行/row键值对/key-value

适用于:

  • 存放会话信息。网络会话都是唯一的,所以分配的sessionid也是唯一的。全部会话内容都可以用一条PUT请求存放,只需一条GET请求就能获得
  • 用户配置信息。
  • 购物车数据。电子商务网站的用户都与其购物车绑定。由于购物车的内容要在不同时间,不同浏览器,不同会话中保持一致,所以可以把购物信息放在VALUE属性中,并将其绑定到userid这个键名上。

文档数据库

文档数据库可以存取文档,其格式可以是XML,JSON,BSON

OracleMongoDb数据库实例MongoDb 实例模式/schema数据库表/table集合/collection行/row文档/documentrowidid

适用于:

  • 事件记录
  • 内容管理系统和网站发布程序
  • 网站分析和实时分析。由于可以只更新部分文档的内容,所以用它来存储 页面浏览量 , 独立访客数 会非常方便
  • 电子商务应用程序。存储产品和订单等

列族数据库

列族数据库可以存储关键字以及其映射的值,并且把值分成多个列族,让每个列族代表一张数据映射表

OracleCassandra数据库实例集群/cluster数据库键空间/keyspace表/table列族/column family行/row行

适用于:

  • 合适用来保存应用程序状态或运行中遇到的错误等信息事件
  • 可以将博文的tag,category,link 等属性放在不同的列中。博客用户和博文可以存在不同列族中
  • 统计某页面的访问人数并分类
  • 限期使用。向用户提供适用版,可以通过 带过期时限的列 来实现。这种列过了给定时间后,就会由 Cassandra 自动删除。程序检测到此列不存在,收回用户访问权限

图数据库

图数据库存放实体和实体间的关系,实体也叫节点,节点视为应用程序中某对象的实例,关系又叫边。用图将数据一次性组织好后,稍后便可根据 关系 以不同方式解读

适用于:

  • 部署并使用图数据库处理社交网络
  • 安排运输路线,分派货物。还可以将书店,餐馆等销售点做成节点,当用户靠近时通知他们,提供基于位置的服务
  • 推荐引擎

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/277963.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号