这是我参与「第四届青训营 」笔记创作活动的的第9天
元数据服务高可用
- 在Hive的具体使用中,首先面临的问题便是如何定义表结构信息,跟结构化的数据映射成功。
- 所谓的映射指的是一种对应关系。在Hive中需要描述清楚表跟文件之间的映 射关系、列和字段之间的关系等等信息。这些描述映射关系的数据的称之为Hive的元 数据。该数据十分重要,因为只有通过查询它才可以确定用户编写sql和终操作文 件之间的关系。
- Metadata即元数据。元数据包含用Hive创建的database、table、表的字段等元信 息。元数据存储在关系型数据库中。 如hive内置的Derby、第三方如MySQL等。
- Metastore即元数据服务,是Hive用来管理库表元数据的一个服务。有了它上层的服务不用再跟裸的文件数据打交道,而是可以基于结构化的库表信息构建计算框架。
- 通过metastore服务将Hive的元数据暴露出去,而不是需要通过对Hive元数据库 mysql的访问才能拿到Hive的元数据信息;
- metastore服务实际上就是一种thrift服 务,通过它用户可以获取到Hive元数据,并且通过thrift获取元数据的方式,屏蔽了 数据库访问需要驱动,url,用户名,密码等细节
数据存储高可用
存储高可用方案的本质都是通过将数据复制到多个存储设备,通过数据冗余的方式来实现高可用,其复杂性主要体现在如何应对复制延迟和中断导致的数据不一致问题。
常见的高可用存储架构有主备、主从、主主、集群、分区。
数据集群
数据单机无法满足存储,需要更多机器分担,即集群是指多台机器组合在一起形成一个统一的系统。
根据集群中机器承担的不同角色来划分,集群可以分为两类:数据集中集群、数据分散集群。
数据集中集群
数据集中集群与主备、主从这类架构相似,我们也可以称数据集中集群为 1 主多备或者 1 主多从。
元数据高扩展性
如 WIC 元数据概述中所述,图像中通常有多个元数据块,每个块以不同的元数据格式公开不同类型的信息。 若要与嵌入在图像中的元数据格式进行交互,应用程序必须使用适当的元数据处理程序。 WIC 提供了多个元数据处理程序 (元数据读取器和编写器) ,使你能够读取和写入特定类型的元数据,例如 Exif 或 XMP。
除了提供的本机处理程序,WIC 还提供 API,使你能够创建新的元数据处理程序,这些处理程序参与 WIC 的运行时组件发现。 这使使用 WIC 的应用程序能够读取和写入自定义元数据格式。
以下步骤使元数据处理程序能够参与 WIC 的运行时元数据发现。
- 实现元数据读取器处理程序类 (IWICMetadataReader) ,该类公开用于读取自定义元数据格式所需的 WIC 接口。 这样,基于 WIC 的应用程序就可以按照读取本机元数据格式的方式读取元数据格式。
- 实现元数据编写器处理程序类 (IWICMetadataWriter) ,该类公开了编码自定义元数据格式所需的 WIC 接口。 这使基于 WIC 的应用程序能够将元数据格式序列化为受支持的图像格式。
- 对元数据处理程序进行数字签名和注册。 这使元数据处理程序可以在运行时发现,方法是将注册表中的标识模式与嵌入在映像文件中的模式相匹配。
数据存储高扩展性
面对迅速增长的数据存储需求,大型企业和服务提供商开始更多的选择SAN作为网络基础设施。在SAN网络的初期阶段,各厂商都是通过增加控制器缓存和硬盘数量来满足存储容量和性能的扩展要求,这种扩展思路在存储界称之为Scale-up纵向扩展,纵向扩展是一般存储系统都具备的功能。它通过将多个单元并入一个单一的逻辑系统来扩展存储系统。这种扩展方法使得单一系统不断膨胀成一个庞然大物,单个个体变强大了,解决了容量扩展和性能扩展的问题。但是毕竟是单一系统,当业务继续增长,对容量和性能需求继续提高,纵向扩展方法将会使得存储系统变得复杂,纵向扩展触到天花板,不能完美解决扩展的问题。
(1)纵向扩展Scale-Up示意图
横向扩展能在纵向扩展基础上解决容量和性能继续增长的问题。横向扩展称之为Scale-out扩展,简单地说就是在原有存储系统上并行再新增一套或多套存储系统,这些系统自动地就融合成在一起,从使用的角度来看,就是一套完整的系统。这套完整的系统将相关资源紧密融合在一起,不影响系统的运行。
横向扩展存储系统克服了物理机架和模块的限制,可作为单一系统,通过增加控制器或是容量节点来实现性能和容量的独立升级,提高IT投入的回报率。同时,线性扩展能力为业务的长期高性价比提供保障。解决了传统单一系统在性能和容量扩展方面的弊端
支持Scale-out的存储系统,一切就变得简单,部署工作大大简化,每增加一个系统结点,性能和容量同时增长,当容量不够了,再采购一台加入现有存储系统即可,按需采购。
(2)纵向扩展Scale-Out示意图
纵向扩展、横向扩展技术把存储系统的容量和性能规格上升到一个顶尖的高度,扩展性也是超强的,高端存储一直扮演着存储技术风向标的角色,从目前各存储厂商发布的高端存储产品来看,各存储厂商高端存储都支持纵向扩展、横向扩展技术;