Separate storage and compute
在存储与计算分离的系统中,数据存储在低成本、可靠的远端存储系统中,如 Amazon S3、Google Cloud Storage、Azure Blob Storage 和其他兼容 S3 的存储如 MinIO。热数据会被本地缓存,当缓存命中时,查询性能可与存储计算耦合架构相媲美。计算节点(CN)可以根据需求在几秒内添加或移除。这种架构降低了存储成本,确保了更好的资源隔离,并提供了弹 性和可扩展性。
本教程涵盖:
- 在 Docker 容器中运行 StarRocks
- 使用 MinIO 作为对象存储
- 配置 StarRocks 以实现存算分离
- 导入两个公共数据集
- 使用 SELECT 和 JOIN 分析数据
- 基本数据转换(ETL 中的 T)
使用的数据由纽约市开放数据和 NOAA 的国家环境信息中心提供。
这两个数据集都非常大,因为本教程旨在帮助您接触 StarRocks 的使用,我们不会导入过去 120 年的数据。您可以在分配了 4 GB RAM 的机器上运行 Docker 镜像并导入这些数据。对于更大规模的容错和可扩展部署,我们有其他文档,并将在后续提供。
本文档包含大量信息,内容以步骤为主,技术细节在后面。这是为了按以下顺序实现这些目的:
- 允许读者在存算分离部署中导入数据并分析这些数据。
- 提供存算分离部署的配置细节。
- 解释数据导入过程中的基本数据转换。
前提条件
Docker
- Docker
- 分配给 Docker 的 4 GB RAM
- 分配给 Docker 的 10 GB 可用磁盘空间