Amoro流式湖仓服务
Amoro(原名 Arctic)是一个基于开放数据湖格式构建的 Lakehouse 管理系统。Amoro 与 Flink、Spark 和 Trino 等计算引擎合作,为 Lakehouse 带来可插拔和自我管理的功能,提供开箱即用的数据仓库体验,并帮助数据平台或产品轻松构建基础设施解耦、流式传输和-批量融合和湖泊原生架构。
架构
- AMS:Amoro管理服务提供Lakehouse管理功能,如自优化、数据过期等。它还为所有计算引擎提供统一的目录服务,也可以与现有的元数据服务结合。
- 插件:Amoro 提供了多种外部插件可供选择,以满足不同的场景。
- 优化器:自优化执行引擎插件对所有类型表格式表异步执行合并、排序、去重、布局优化等操作。
- Terminal:SQL命令行工具,提供本地Spark、Kyuubi等多种实现。
- LogStore:基于Kafka、Pulsar等消息队列,提供毫秒级到秒级的SLA,用于实时数据处理。
支持的表格格式
Amoro可以管理不同表格式的表,类似于MySQL/ClickHouse可以选择不同的存储引擎。Amoro通过使用不同的表格格式来满足不同的用户需求。目前,Amaro 支持三种表格格式:
- Iceberg格式:指使用Apache Iceberg原生的表格式,具有Iceberg的所有功能和特性。
- 混合Iceberg格式:建立在Iceberg格式之上,可以利用LogStore加速数据处理,并在CDC场景下提供更高效的查询性能和流式读取能力。
- 混合 Hive 格式:与混合 Iceberg 表具有相同的功能,但与 Hive 表兼容。支持将Hive表升级为Mixed Hive表,并在升级后允许Hive原生的读写方法。
特性
- 自我优化 - 持续优化表,包括压缩小文件、更改文件、定期删除过期文件,以保持较高的查询性能并降低存储成本。
- 多种格式 - 支持Iceberg、Mixed-Iceberg、Mixed-Hive等不同表格式,满足不同场景需求,并提供统一管理能力。
- 目录服务 - 为所有计算引擎提供统一的目录服务,也可以与现有的元数据存储服务(例如 Hive Metastore 和 AWS Glue)一起使用。
- 丰富的插件 - 提供各种插件与其他系统集成,例如使用 Flink 进行持续优化以及使用 Spark 和 Kyuubi 进行数据分析。
- 管理工具 - 提供多种管理工具,包括WEB UI和标准SQL命令行,帮助你更快上手并更轻松地与其他系统集成。
- 基础设施独立 - 可以在私有环境、云环境、混合云环境、多云环境中轻松部署和使用。
评论