温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Hadoop数据库的架构是怎样的

发布时间:2025-12-05 19:27:47 来源:亿速云 阅读:140 作者:小樊 栏目:数据库

Hadoop生态中的数据库架构概览

术语澄清

  • Hadoop 是大数据基础框架,核心包含 HDFS(分布式存储)与 YARN(资源与作业调度)。严格意义上它并非数据库,但生态中提供了面向列的数据库 HBase 与类 SQL 的数据仓库 Hive,常被合称为“Hadoop 数据库”。

整体架构分层

  • 存储层:HDFS 提供高吞吐、容错的底层数据存放,数据被切分为块并多副本分布,适合批量与流式访问。
  • 资源与调度层:YARN 负责集群资源管理与作业调度,支撑多计算引擎并行运行。
  • 数据管理与访问层:
    • HBase:构建在 HDFS 之上,提供实时随机读写、强一致的单行操作与自动分片(Region)机制。
    • Hive:构建在 Hadoop 之上的数据仓库,以表/分区/桶组织数据,将 HQL 转换为 MapReduce/Tez/Spark 等任务执行。

核心组件与职责

  • HDFS
    • 架构:NameNode/DataNode 主从;NameNode 管理命名空间与块映射,DataNode 存储与上报块信息。
    • 特性:默认块大小通常为 128MB(可配置),副本因子默认 3,采用机架感知放置;面向高吞吐与“一次写入、多次读取”的流式访问模型。
  • YARN
    • 组件:ResourceManager(全局资源分配)、NodeManager(单节点资源与容器管理)、ApplicationMaster(单个作业的生命周期与调度)。
  • HBase
    • 角色:HMaster(集群管理、元数据与负载均衡)、RegionServer(Region 读写与分裂)、依赖 ZooKeeper 进行协调与故障恢复。
    • 数据模型:按 行键 RowKey 字典序存储,支持多 列族 ColumnFamily,列族内多 列 Qualifier,具备版本控制与时间戳。
  • Hive
    • 组成:将结构化文件映射为表,提供 HQL;元数据通常存放在 RDBMS(如 Derby/MySQL);执行引擎可对接 MapReduce/Tez/Spark。

数据读写与查询流程

  • HBase 写入路径
    • 客户端定位目标 RegionServer → 写 WAL(HLog) 预写日志 → 写入 MemStore(内存)→ 达到阈值刷写为 HFile 落盘(在 HDFS)→ 通过 Compaction 合并与清理。
  • HBase 读取路径
    • 客户端定位 RegionServer → 先查 BlockCache(读缓存),再查 MemStore,最后查 HFile(可能合并多文件)。
  • Hive 查询路径
    • HiveServer2 接收 HQL → Metastore 解析表/分区/类型 → 编译器生成逻辑/物理计划 → 由 MapReduce/Tez/Spark 在 YARN 上执行 → 结果回传客户端(JDBC/ODBC/Beeline)。

典型适用场景与选型建议

  • 需要实时随机读写、高并发点查/短扫描、基于 RowKey 的范围查询:选用 HBase(如用户画像、会话/订单明细、时序/日志的实时写入与查询)。
  • 需要海量数据的离线分析、类 SQL 报表与批处理、与 HDFS 上文件无缝对接:选用 Hive(如 ETL、数据汇总、维度建模与离线指标计算)。
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手