从 Rockset 迁移
Rockset 是一个实时分析数据库,于 2024 年 6 月被 OpenAI 收购。用户需要在太平洋夏令时间 2024 年 9 月 30 日下午 5 点之前从该服务下线。
我们认为 ClickHouse Cloud 将为 Rockset 用户提供一个极佳的归宿,在本指南中,我们将介绍从 Rockset 迁移到 ClickHouse 时需要考虑的一些事项。
让我们开始吧!
立即协助
如果您需要立即协助,请填写此表格联系我们,我们将安排专人与您联系!
ClickHouse 与 Rockset - 高级比较
我们将首先简要概述 ClickHouse 的优势,以及您可能会看到的相对于 Rockset 的一些优势。
ClickHouse 通过模式优先方法专注于实时性能和成本效率。虽然支持半结构化数据,但我们的理念是用户应该决定如何构建数据,以最大化性能和资源效率。由于上面描述的模式优先方法,在我们的基准测试中,ClickHouse 在可扩展性、摄取吞吐量、查询性能和成本效率方面超过了 Rockset。
关于与其他数据系统的集成,ClickHouse 具有广泛的功能,超过了 Rockset 的功能。
Rockset 和 ClickHouse 都提供基于云的产品和相关的支持服务。与 Rockset 不同,ClickHouse 还拥有开源产品和社区。ClickHouse 的源代码可以在github.com/clickhouse/clickhouse找到,在撰写本文时,已有超过 1,500 名贡献者。ClickHouse 社区 Slack 拥有超过 7,000 名成员,他们分享经验/最佳实践,并互相帮助解决遇到的任何问题。
本迁移指南侧重于从 Rockset 迁移到 ClickHouse Cloud,但用户可以参考我们的其余文档以了解开源功能。
Rockset 关键概念
让我们首先回顾一下 Rockset 的关键概念,并解释它们在 ClickHouse Cloud 中的等价物(如果存在)。
数据源
Rockset 和 ClickHouse 都支持从各种来源加载数据。
在 Rockset 中,您创建一个数据源,然后基于该数据源创建一个集合。对于事件流平台、OLTP 数据库和云存储桶,有完全托管的集成。
在 ClickHouse Cloud 中,完全托管集成的等价物是 ClickPipes。ClickPipes 支持从事件流平台和云存储桶持续加载数据。ClickPipes 将数据加载到表中。
摄取转换
Rockset 的摄取转换允许您在原始数据存储到集合中之前对其进行转换。ClickHouse Cloud 通过 ClickPipes 执行相同的操作,ClickPipes 使用 ClickHouse 的 物化视图功能来转换数据。
集合
在 Rockset 中,您查询集合。在 ClickHouse Cloud 中,您查询表。在这两种服务中,查询都使用 SQL 完成。ClickHouse 在 SQL 标准的功能之上添加了额外的函数,为您提供更强大的功能来操作和转换数据。
查询 Lambdas
Rockset 支持查询 lambdas,即存储在 Rockset 中的命名参数化查询,可以从专用的 REST 端点执行。ClickHouse Cloud 的 查询 API 端点提供类似的功能。
视图
在 Rockset 中,您可以创建视图,即由 SQL 查询定义的虚拟集合。ClickHouse Cloud 支持多种类型的视图
- 普通视图不存储任何数据。它们只是在查询时从另一个表执行读取操作。
- 参数化视图类似于普通视图,但可以使用在查询时解析的参数创建。
- 物化视图存储由相应的
SELECT
查询转换的数据。它们就像一个触发器,当新数据添加到它们引用的源数据时运行。
别名
Rockset 别名用于将多个名称与一个集合关联。ClickHouse Cloud 不支持等效的功能。
工作区
Rockset 工作区是容纳资源(即集合、查询 lambdas、视图和别名)和其他工作区的容器。
在 ClickHouse Cloud 中,您可以使用不同的服务来实现完全隔离。您还可以创建数据库以简化对不同表/视图的 RBAC 访问。
设计考虑
在本节中,我们将回顾 Rockset 的一些关键功能,并学习在使用 ClickHouse Cloud 时如何解决这些功能。
JSON 支持
Rockset 支持 JSON 格式的扩展版本,允许使用 Rockset 特定的类型。
在 ClickHouse 中,有多种处理 JSON 的方法
- JSON 推断
- 查询时 JSON 提取
- 插入时 JSON 提取
要了解最适合您用例的方法,请参阅我们的 JSON 文档。
此外,ClickHouse 即将推出半结构化列数据类型。这种新类型应该为用户提供 Rockset JSON 类型提供的灵活性。
全文搜索
Rockset 使用其 SEARCH
函数支持全文搜索。虽然 ClickHouse 不是搜索引擎,但它确实有各种用于在字符串中搜索的函数。ClickHouse 还支持 Bloom 过滤器,这在许多情况下都很有帮助。
向量搜索
Rockset 有一个相似性索引,可以用于索引向量搜索应用程序中使用的嵌入。
ClickHouse 也可用于向量搜索,使用线性扫描
ClickHouse 还有一个向量搜索相似性索引,但此方法目前是实验性的,尚不兼容 新的查询分析器。
从 OLTP 数据库摄取数据
Rockset 的托管集成支持从 MongoDB 和 DynamoDB 等 OLTP 数据库摄取数据。
如果您要从 DynamoDB 摄取数据,请按照此处的 DynamoDB 集成指南进行操作。
计算-计算分离
计算-计算分离是实时分析系统中的一种架构设计模式,它可以处理突发的传入数据或查询。假设单个组件同时处理摄取和查询。在这种情况下,如果查询洪流,我们将看到摄取延迟增加;如果需要摄取大量数据,则查询延迟会增加。
计算-计算分离将数据摄取和查询处理代码路径分开,以避免此问题,这是 Rockset 在 2023 年 3 月实施的一项功能。
此功能目前正在 ClickHouse Cloud 中实施,并且即将进行私有预览。请联系支持部门以启用。
免费迁移服务
我们理解这对 Rockset 用户来说是一个压力很大的时期 - 没有人希望在如此短的时间内迁移生产数据库!
如果 ClickHouse 可能适合您,我们将提供免费迁移服务,以帮助您顺利过渡。