HBase系列(二)NoSQL数据库简介与HBase基本简介

NoSQL:

什么是NoSQL?:

not only SQL —非关系型数据库


  • 不遵循传统RDBMS模型的数据库
  • 数据是非关系的,且不使用SQL作为主要查询语言
  • 解决数据库的可伸缩性可用性问题–快速扩容
  • 不针对原子性一致性问题–

NoSQL和关系型数据库对比:


对比 NoSQL 关系型数据库
常用数据库 HBase,MongoDB,Redis Oracle,DB2,mysql
存储格式 文档,键值对,图结构 表格式,行和列
存储规范 鼓励冗余 规范性,避免重复-三大范式
存储扩展 横向扩展,分布式 纵向扩展(横向扩展有限)
查询 非结构性语言 结构化语言
事务 不支持事务一致性 支持事务
性能 读写性能高 读写性能差
成本 简单易部署,开源,成本低 成本高

NoSQL的特点:

  • 最终一致性—异步性-只有在最后才知道
  • 应用程序增加了维护一致性和处理事务等职责
  • 冗余数据存储

NoSQL的相关概念:

  • 三大基石

    • CAP&BASE&最终一致性

      CAP:一个分布式系统不能同时满足最终一致性可用性分区容错性

      • 最终一致性 Consistency:任何一个读操作总是读取到之前完成的写操作结果,不是强一致性,不能同时拿到。
      • 可用性 Availability:一直可以正常的做读写操作。简单而言就是客户端一直可以正常访问并得到系统的正常响应。用户角度来看就是不会出现系统操作失败或者访问超时等问题。----只要收到用户的请求,服务器就必须给出回应。
      • 分区容错性 Partition tolerance :分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务

    在这里插入图片描述

    HBase属于CP范畴,所以我们在工作中更关注保护他的高可用性

NoSQL分类:

分类 举例 典型应用场景
键值存储数据库 (key-value) Redis, MemcacheDB, Voldemort 内容缓存等
列存储数据库
(WIDE COLUMN STORE)
Cassandra, HBase 应对分布式存储的海量数据
文档型数据库 (DOCUMENT STORE) CouchDB, MongoDB Web应用(可看做键值数据库的升级版)
图数据库
(GRAPH DB)
Neo4J, InfoGrid, Infinite Graph 社交网络,推荐系统等,专注于构建关系图谱

NoSQL和BI大数据的关系:

  • BI(Business Intelligence):商务智能
    • 一套完整的解决方案
    • BI应用涉及模型,模型依赖于模式
    • BI主要支持标准SQL,对NoSQL支持弱于关系型数据库
  • NoSQL和大数据相关性较高:
    • 通常大数据场景采用列存储数据库
    • Hbase和Hadoop

HBase:

Hbase特点:

  • 数据访问速度快
  • 支持随机读写
  • 可扩展性

Hbase应用场景:

  • 增量数据-时间序列数据
    • 高容量-高速写入
  • 信息交换-消息传递
    • 高容量-高速读写
  • 内容服务-web后端应用程序
    • 高容量-高速读写

Hbase物理架构具体划分:

Hbase采用Master/Slave架构

物理架构图:
在这里插入图片描述
在这里插入图片描述


一:HMaster的作用:

  • 是HBase集群的主节点,可以配置多个,用来实现HA
  • 管理和分配Region
  • 负责RegionServer的负载均衡
  • 发现失效的RegionServer并重新分配期上的Region

二:RegionServer的作用:

负责管理维护Region

  • 一个RegionServer包含一个WAL,一个BlockCache和多个Region
  • 一个Region包含多个存储区,每个存储区对应一个列族

三:HStore的作用:

  • 一个存储区由多个StoreFileMemFile组成
  • 一个StoreFile对应一个列簇

HBase逻辑架构:

  • Rowkey(行键)是唯一的并己排序
  • schema可以定义何时插入记录
  • 每个row都可以定义自己的列,即使其他的row不使用
  • 使用唯一时间戳维护多个row版本
  • hbase数据全部以字节存储

HBase数据管理:

  • 数据管理目录:

  • HBase数据在HDFS上:

    meta在hmaster上

    root表在zookeeper上

HBase架构特点:

  • 强一致性
  • 自动切割

猜你喜欢

转载自blog.csdn.net/qq_35050438/article/details/106957634