热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HBASE特点及概述

HbaseHdfs缺点不能并发写入不能随机读写不能随机删除高延迟不适合存储大量小的文件RDBMS缺点分区加上主从复制,方案比较复杂分区不支持动态扩展依赖于IBM,E

HBASE特点及概述

Hbase
Hdfs缺点
 不能并发写入
 不能随机读写
 不能随机删除
 高延迟
 不适合存储大量小的文件
RDBMS缺点
 分区加上主从复制,方案比较复杂
 分区不支持动态扩展
 依赖于IBM,EMC等公司设备,造价高
 容错性低,查询重启
基于上述原因,出现了HBase

Hadoop存在两种数据存储的方式
 Hdfs的文件存储方式
 Hbase分布式数据库存储的方式

HBASE支持实时读写大数据,它是一个高可靠性,高性能,可伸缩的分布式存储系统
 HBase是一个构建在HDFS上的分布式noSQL数据库
 HBase是基于google bigtable模型开发,典型的key/value系统
 具有松散的表结构,原生海量数据分布式存储;支持随机查询,范围查询
 高吞吐,低延迟
 列存储,多版本,增量导入,多维删除

Hbase与关系型数据库不同在于

  1. 允许数据冗余
  2. 允许列动态增加

HDFS vs HBASE
 HBase上数据是以storeFile(HFile)二进制流的形式存储在HDFS上block块中
 HDFS并不知道hbase存的是什么,它只把存储文件视为二进制文件,即hbase存储数据对于HDFS文件系统是透明的
HBASE特点及概述
HBASE特点及概述

HBASE特性
 大:一个表可有数十亿行,上百万列
 无模式:每行都有一个可排序的主键和任意多的列,列可根据需要动态的增加,同一张表中不同的行可有截然不同的列
 面向列:面向列(族)的存储和权限控制,列(族)独立检索
 稀疏,多维,排序的map:空(null)列不占用存储空间,表可以设计的非常稀疏;每个单元中数据可有多个版本,默认下版本号自动分配,是单元格插入时的时间戳
 数据类型单一:HBASE数据都是字符串,没有类型
 强一致性读写:HBASE不是最终一致性数据存储,它适合高速技术聚合类任务
 自动分片:HBASE表通过region分布在集群中,数据增长时,region会自动分割并重新分布
 RegionServer自动故障转移和负载均衡
 MapReduce: HBASE通过mapreduce支持大并发处理

 实时,随机地大数据访问;HBASE内部使用LSM-tree作为数据存储架构,LSM-tree周期性合并小文件到较大文件,来减少硬盘寻址
 Java客户端API:HBASE支持易于使用地java API进行编程访问
 Thrift/RESET API:HBASE也支持Thrift和REST作为非java前端的访问
 Block Cache和bloom filter:对于大容量查询优化,HBASE支持block cache和bloom filter
 快照支持

HBASE特性
 数据自动分区
HBASE特点及概述

 HBASE使用LSM树(log structured merge tree)
 随机写->顺序写 (HBASE写起来特别快
HBASE特点及概述

 HBASE生态
HBASE特点及概述

  • Kylin是一个多维的数据仓库,先对hbase进行建模并存在hbase中,之后从kylin来查询写好的模型

HBASE是面向列的存储
HBASE特点及概述

HBASE应用场景
 数据量较大,而且增长量无法预估的应用
 写密集型应用
 查询场景简单,检索条件较少,不需要复杂查询条件来查询数据应用
 对性能和可靠性要求非常高的应用,由于hbase本身没有单点故障,可用性非常高

HBASE基本解决三大类场景
 平台类:作为平台的底层存储使用,如kylin,阿里内部的日志同步工具TT,图组件Titan
 用户行为类:主要是面向各个业务系统,如淘宝收藏夹,交易数据,旺旺聊天
 报表展示类:实时响应,如报表,大屏等
HBASE特点及概述
HBASE特点及概述
HBASE特点及概述

HBASE逻辑模型
 数据存储在表中,表具有行和列
 Rowkey: 行键,唯一地标识一行记录,且自动进行排序
 按字典排序地升序索引

HBASE特点及概述

 定位单元格:rowKey->columnName->version
HBASE特点及概述
HBASE特点及概述

HBASE表和分区
 表由任意数量地分区组成
 分区由其startKey和endKey组成

  • 空表:(table, null, null)
  • 两个分区地表:(table,null,’M’)和(table,’M’,NULL)
     每个分区有可能驻留在不同节点,由多个HDFS文件和块组成
    HBASE特点及概述

HBASE中,记录以key-value对的形式存储在HFILE中,HFile再以block块的形式存到HDFS中
 HFILE是作为二进制文件存储
 当MemStore中的数据被flush到磁盘中时,就创建了HFile
HBASE特点及概述

HBASE的核心数据结构就是map
 简单说,map就是key-value对集合
 HBASE中map是按照row key以字母顺序排序
 可将hbase中的表视为key-value表
HBASE特点及概述


推荐阅读
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 本文详细介绍了如何在 Django 项目中使用 Admin 管理后台,包括创建超级用户、启动项目、管理数据模型和修改用户密码等步骤。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • Unity与MySQL连接过程中出现的新挑战及解决方案探析 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • Spark与HBase结合处理大规模流量数据结构设计
    本文将详细介绍如何利用Spark和HBase进行大规模流量数据的分析与处理,包括数据结构的设计和优化方法。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 深入解析 Lifecycle 的实现原理
    本文将详细介绍 Android Jetpack 中 Lifecycle 组件的实现原理,帮助开发者更好地理解和使用 Lifecycle,避免常见的内存泄漏问题。 ... [详细]
  • 单片机入门指南:基础理论与实践
    本文介绍了单片机的基础知识及其应用。单片机是一种将微处理器(类似于CPU)、存储器(类似硬盘和内存)以及多种输入输出接口集成在一块硅片上的微型计算机系统。通过详细解析其内部结构和功能,帮助初学者快速掌握单片机的基本原理和实际操作方法。 ... [详细]
  • 本文深入探讨了如何选择适合业务需求的MySQL存储引擎,详细解析了不同存储引擎的特点、适用场景及其在数据存储和管理中的优势。通过对比InnoDB、MyISAM等主流引擎,为读者提供了全面的技术指导和专业建议,帮助开发者在实际应用中做出明智的选择。 ... [详细]
  • 深入解析CAS机制:全面替代传统锁的底层原理与应用
    本文深入探讨了CAS(Compare-and-Swap)机制,分析了其作为传统锁的替代方案在并发控制中的优势与原理。CAS通过原子操作确保数据的一致性,避免了传统锁带来的性能瓶颈和死锁问题。文章详细解析了CAS的工作机制,并结合实际应用场景,展示了其在高并发环境下的高效性和可靠性。 ... [详细]
author-avatar
尛妙苗_549
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有