hbase
来源:互联网 发布:股票入门 知乎 编辑:程序博客网 时间:2024/06/05 02:32
hive与hbase的区别:
hive
核心将sql转换为MapReduce
将存储在hdfs上的结构化的数据映射成一张数据库表,并提供类sql语句进行查询
hive的特点:
高延迟
存储的是结构化的数据
hive是面向分析,使用的hql语言
hive不能接入业务使用
hive是面向行存储的数据仓库工具,是一种纯逻辑表
hive本身不存储数据和计算数据,完全依赖于hdfs和MapReduce
hive的本质就是将sql转换为MapReduce
hbase的特点:
低延迟
适合存储非结构化的数据(结构化的数据也是可以存储)
hbase面向数据的存储和检索
hbase可以接入业务使用
hbase是列存储,是物理表,通过索引可以快速的查询、更新、删除等操作
hbase不是关系型数据库,是一个构建在hdfs上的面向列存储的分布式数据库
hbase本身不支持sql,no-sql数据库
hbase的相关特点:
BigTable是Google设计的分布式数据存储系统,用来处理海量的数据的一种非关系型的数据库。
Bigtable的设计目的是快速且可靠地处理PB级别的数据,并且能够部署到上千台机器上。
hbase源自于BigTable,和hdfs结合使用
hbase是构建在hdfs上的一个分布式数据库
为【海量】数据提供的检索和存储平台
海量:
单表数据量在PB级别以上的
上亿条数据
基于【列存储】的分布式非关系型数据库
hive默认的存储格式: 行
hbase默认的存储格式: 列
列存储和行存储的对比:
行存储:
RDBMS(关系型数据库管理系统)都是基于行存储
每行数据是一个连续的存储单元
每行数据保存在一起,插入或更新或删除操作时会更简单
如果select时只涉及到表的某几个列(字段),则行所有的字段都会别加载读取,系统io 工作将加大。
列存储:
每列数据是一个连续的存储单元
如果select时只涉及到表的某几个列(字段),只有涉及到的列会被加载读取,大大减小系统的io 工作。
以列为单元存储,因为每个列的数据类型相同,更容易实现压缩存储,并且数据会更加安全
hbase适合存储【非结构化数据】
结构化的数据每条数据的字段的数量及种类固定
非结构化的数据每条数据的字段的数量及种类可能不一样
基于key-value的形式存储数据
key(rowkey+列簇+列)-》value
高可靠性、高性能、可伸缩的分布式数据库
可靠性、可伸缩:hbase是构建在hdfs上的一个数据库
高性能:对比传统关系型数据库,hbase是大规模的高并发的分布式数据库
- Hbase
- HBase
- hbase
- HBase
- HBASE
- Hbase
- Hbase
- HBase
- hbase
- HBase
- HBase
- hbase
- hbase
- Hbase
- HBase
- hbase
- hbase
- HBase
- 合并分支到master上
- freemarker的基本使用和常用标签
- bzoj 2813: 奇妙的Fibonacci 数学+线性筛
- 第三周-项目2
- [bzoj-1047][HAOI2007]理想的正方形 题解
- hbase
- 线程的使用及相关代码
- HttpClient的用法
- JavaWeb知识体系梳理和学习资料汇总
- XML解析(Dom /DOM4J)
- C++中两个类简单互相包含会形成死循环
- 毕业设计引发的一些想法
- 搭建git代码服务器教程
- hibernate Criteria