【大数据】BigTable分布式数据存储系统分布式数据库 | 复习笔记

在这里插入图片描述

前世今生
  • 数据库(Database,简称DB)
    定义:有组织、可共享
    特征:
    1. 数据按一定的数据模型组织、描述和储存
    2. 可为各种用户共享
    3. 冗余度小
    4. 独立性高
    5. 易扩展
  • 数据库管理系统DBMS(DataBase Management System)
    位于用户和操作系统之间
    帮助用户有效地组织和存储数据、高效获取有用信息的一层计算机系统软件
  • 文件系统阶段
    1. 数据长期保存
    2. 文件管理数据
    3. 共享性差
    4. 独立性差
  • 数据库系统阶段
    1. 数据结构化
    2. 数据的共享性高,冗余度低,易扩充
    3. 数据独立性高
    4. 数据由DBMS统一管理和控制
  • 偷老师的对比图
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
数据模型
  1. 概念模型
  2. 逻辑模型和物理模型
    逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等
    物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法
  • 关系模型
    在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
  • 关系型数据库
    标准数据查询语言SQL(结构化查询语言)
  • 基本概念:
    1. 结构化数据
    2. 非结构化数据
    3. 半结构化数据
  • NoSQL数据库:Not Only SQL
    1. 不需要预定义模式
    2. 保证BASE特性
  • 关系数据库设计准则:ACID
    1. 原子性(Atomicity)
    2. 一致性(Consistency)
    3. 事务独立(Isolation)
    4. 持久性(Durability)
  • NoSQL数据库设计准则:BASE
    1. 基本可用(Basically Available)
    2. 软状态或者柔性状态(Soft State)
    3. 最终一致性(Eventual Consistency)
  • BASE vs ACID
    1. ACID更强调数据一致性,这是传统数据库设计的思路
    2. BASE更强调可用性,弱化数据强一致性的概念,这是互联网时代对于大规模分布式数据系统的一种需求
BigTable
数据模型

行主键、列主键、时间,三维主键

整体架构
  • 主控服务器(Master Server)
    负责管理工作

    1. Servers目录:子表服务器的地址信息
    2. root目录:读取元数据表MetaData Table
    3. 启动流程:
      在这里插入图片描述
  • 子表服务器(Tablet Server)

    1. 来存储和管理子表数据
    2. 更新子表数据:首先将更新命令记入CommitLog文件中,之后将更新数据写入内存的MemTable结构中。当MemTable里容纳的数据超过设定大小时,将内容输出到GFS文件系统中,形成一个新的SSTable文件
    3. SSTable:数据存储区和索引区
    4. 读取子表数据:在MemTable和SSTable中存储的数据都是按照“ 行主键”的字母顺序排序的。除了块索引外,还加入布隆过滤器
    5. SSTable合并:微合并(Minor Compaction )、部分合并(Merging Compaction)以及主合并(Major Compaction)
    6. 子表恢复:子表服务器重新启动后,会从元数据子表中读取管理信息,包括子表服务器负责管理的子表对应哪些SSTable文件、以及CommitLog对应的恢复点。将恢复点位置之后的所有更新行为到MemTable中,重建MemTable。
  • 客户端程序(Client)

HBase

在这里插入图片描述

  1. Client:Client端使用Hbase的RPC机制与HMaster和HRegionServer进行通信
  2. ZooKeeper:存储了ROOT表的地址、HMaster的地址和HRegionServer地址
  3. HMaster:Hbase主节点,将Region分配给HRegionServer,协调HRegionServer的负载并维护集群状态
  4. HRegionServer:HRegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值