Hadoop系列(7):数据存储之数据存储模型

数据存储模型

1、关系模型

    主要以表的形式存储数据,表中每一行(row)为一个记录,每列都有名称和类型

2、NoSQL模型:

(1)键值对数据模型

    有一个特定的key和一个value指针,指向特定的数据。

    适用:通过key对数据进行查询和修改等操作

    不适用:侧重于批量查询、更新的海量存储系统,以及复杂逻辑操作

    优点:数据模型简单、易于实现

    缺点:由HashTable实现,无法进行范围查询;弱化了数据结构,只能在应用层解析结构;模型不提供事务处理机制,只提供get,set操作。

    应用:Redis数据库(键值模型的内存数据库,较小数据的高性能操作)、Dynamo(Amazon专用)

(2)列式数据模型

    列式存储的形式类似于表,但是围绕"列"存储,一个列的数据尽可能存储在硬盘同一页。

    适用:适用于数据分析和数据仓库等,迅速查找数据量大的应用。

    不适用:查询涉及的数据量较小或者大部分查询都需要整行的数据。

    优点:查找速度快,可扩展性强。

    应用:BigTable、Cassandra、HBase

    列族:将多个经常一起访问的数据列的各个值存放在一起。类似于键值对key-value模型,value对应一个列族。

(3)文档数据模型

    文档存储与键值模型类似,value指向结构化数据。value数据以JSON或类JSON格式存储。与关系模型不同,支持嵌套结构;与键值存储不同,文档存储关心存储的内部结构。

    适用:web应用

    优点:数据结构要求不严格,不需要预先定义结构

    缺点:查询性能一般,缺乏统一的查询语法

    应用:MongoDB、CouchDB

(4)图像数据模型

    图形存储存储图的节点和边的信息,部分模型支持添加注释。图模型由节点、边、边的属性组成。

    适用:图结构

    优点:利用图结构相关算法提高性能

    缺点:功能相对有限,扩展性差

    应用:Neo4J、GraphDB       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值