CDP 之操作型数据库
一、 什么是操作型数据库(OPDB)
1. 操作型数据库(OPDB)定义
Cloudera 操作型数据库(Operational Database)由 Apache HBase 和 Apache
Phoenix 提供支持。Apache HBase 是一个 NoSQL 数据库,提供对大型数据集的实
时读/写访问。Apache Phoenix 提供了一个 SQL 接口来管理 Apache HBase 中的数
据。由 Apache Accumulo 提供支持的操作数据库是 Apache Accumulo 的 Cloudera
软件包。
Cloudera 操作型数据库提供实时、始终可用、可扩展的操作数据库,在统一的操作
和仓储平台内为传统结构化数据和非结构化数据提供服务。
Cloudera 操作型数据库在企业数据生命周期中扮演着数据存储的关键角色。下图显
示了典型的操作型数据库部署中的一些关键元素。
操作数据库具有以下组件:
• Apache Phoenix 提供了一个在 Apache HBase 之上运行的 SQL 接口。
• Apache HBase 为键值存储提供了巨大的可扩展性,因此您可以在单一平台中
存储无限量的数据,并满足不断增长的数据服务需求。
• Apache ZooKeeper 提供分布式配置服务、同步服务和命名注册表。
• Apache Knox Gateway 提供外围安全性,以便企业可以放心地将访问权限扩展
到新用户。
• Apache HDFS 用于编写 Apache HBase WAL。
• Hue 提供了一个基于 Web 的编辑器来创建和浏览 Apache HBase 表。
• Amazon S3和Microsoft ADLS Gen2等对象存储用于存储Apache HBase HFiles。
• CLoudera Shared Data Experience(SDX)用于安全和治理功能。安全和治理
策略设置一次并应用于所有数据和工作负载。
• IDBroker 提供作为 Apache Knox 身份验证服务的一部分构建的身份验证机制。
它允许经过身份验证和授权的用户交换一组凭据或令牌以获取云供应商访问令
牌。
操作型数据库的两个主要特性:
1) 快速灵活
Not-only-SQL 数据库能够每秒处理数百万个事务,支持:
• Schema 演变
• 多行事务
• 二级索引
• 时间旅行查询
2) 企业就绪
容错、开源、分布式数据库,可扩展到 PB 级,具有:
• 高可用性
• 批量加载、快照和复制
• 安全和角色管理
• 资源分配
• 混合部署
2. OPDB 应用场景
OPDB 支持的场景涉及制造、医疗保健、金融服务和其他行业,用户包括 Cerner、
智能手机制造商、财经媒体之家、保险供应商、图书馆服务供应商等。
3. OPDB 的组成
OPDB 由两部分组成:APACHE HBASE 和 PHOENIX。
1) APACHE HBASE:低成本、高扩展、云智能的大数据 NoSQL。
Apache HBase 数据库提供对数据的随机、持久访问。Apache HBase 非常适合需
要为最终用户应用程序提供实时分析和表格数据的场景。
作为一个原生的非关系数据库,Apache HBase 可以组合使用各种结构和模式的数
据源。HBase 专为弹性数据存储而设计,旨在托管具有稀疏数据的非常大的表。
Apache HBase 可以托管大数据表,因为它可以线性扩展以处理非常大(PB 级)、
面向列的数据集。数据存储基于支持分布式环境中低延迟读取、写入和更新的键值
模型。
特性:
• 可靠、成熟的存储引擎
• 高扩展性:扩展到 PB
• 容错和弹性
• 支持快照和复制
• 带配额的资源管理
• 基于 Kerberos 和 Ranger 的安全性
• 时间旅行查询
缺点:
• 提供低级编程接口,对用户编程能力要求较高。
• 开发人员需要管理数据序列化,操作复杂度高。
CDP 之操作型数据库 210
2) PHOENIX:在 HBase 之上的一个 SQL 关系层
Apache Phoenix 是 Apache HBase 的 SQL 层,它提供了一个程序化的 ANSI SQL 接
口。
Apache Phoenix 实施最佳实践优化,使软件工程师能够开发基于 HBase 的下一代
应用程序来操作大数据。使用 Phoenix,您可以使用 Phoenix 标准 JDBC API 以典型
DDL/DML 语句的形式创建表并与之交互。
可以使用 Apache Phoenix SQL 命令来创建、删除或修改 Apache HBase 表。您还
可以创建 Apache Phoenix 视图,这些视图是共享同一个 Apache HBase 表的虚拟
表。
特性:
• 熟悉的 SQL 接口
• 支持类型的标准编码
• Schema 演变
• 多行事务
• 二级索引