Hbase vs RDBMS vs Hive

文章目录


HiveMysqlHbase
存储数据依赖HDFS本地文件系统;采用行存储模式,底层是binlog,用来存储业务数据底层是hdfs;列式数据库,可以存储海量的数据
数据更新不建议对数据的改写 查询增删改查快速插入
索引Hive 在3.0版本之后,删除了索引的功能Mysql 支持索引,适合在线在线查询数据有且仅有一个:rowkey
执行Hive底层依赖的是MR,并行计算,延迟高默认存储引擎Innodb(B+树),延迟低LSM(Log-Structure Merge)树
扩展性Hive 支持分布式并行操作,支持海量数据分布式并行操作,支持海量数据
应用场景hive属于olap系统 是面向分析的,做海量数据的离线数据分析数据库属于oltp系统 是面向事务的 ,做业务数据事务处理应用的在线事务问题和大数据场景的海量存储问题。
  1. LSM树原理把一颗大叔拆分成N颗小树,它首先在内存中,它首先写入内存中,随着小树越来越大,内存中的小树会flush到磁盘中,磁盘中的树定期可以做merge操作,合并成为一个大叔,用来优化读性能。
  2. B+树

1. OLTP与OLAP

OLTP:Hbase、 Mysql
OLAP:Hive

OLTP和OLAP的区别

  1. 联机事务处理OLTP(on-line transaction processing) 主要是执行基本日常的事务处理,比如数据库记录的增删查改。比如在银行的一笔交易记录,就是一个典型的事务。
    特点:.实时性要求高、数据量不是很大、高并发,并且要求满足ACID原则。(比如两人同时操作一个银行卡账户)
  2. 联机分析处理OLAP(On-Line Analytical Processing) 是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。典型的应用就是复杂的动态的报表系统。
    特点:实时性要求不是很高、数据量大
  3. 总结
    OLTP即联机事务处理,就是我们经常说的关系数据库,增删查改就是我们经常应用的东西,
    OLAP即联机分析处理,是数据仓库的核心部心,所谓数据仓库是对于大量已经由OLTP形成的数据的一种分析型的数据库,用于处理商业智能、决策支持等重要的决策信息

2. ACID

RDBMS是关系性数据库支持join、ACID、有schema(创建表的时候必须要指定有哪些列、列是什么类型…)支持二级索引。
Hbase不支持join,也不支持ACID,对事务支持有限,无schema、原生就支持分布式存储的,所以可以用来存储海量数据。

ACID

  1. Atomicity(原子性):一个事务中的所有操作,要么全部完成,要么全部不完成
  2. Consistency(一致性):在事务开始前后,数据库的完整性没有被破坏
  3. Isolation(隔离性):数据库运行多个并发事务同时对其数据进行读写和修改,隔离性可以防止多个事务并发执行时而导致数据的不一致。
  4. Durability(持久性):事务处理结束后,对数据的修改是永久的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值