从 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找到,截至撰写本文时,已有 1500 多位贡献者。 ClickHouse 社区 Slack拥有 7000 多名成员,他们分享他们的经验/最佳实践,并互相帮助解决遇到的任何问题。
本迁移指南重点介绍从 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 标准中的功能之上添加了额外的功能,使您能够更强大地操作和转换数据。
查询 Lambda
Rockset 支持查询 Lambda,即存储在 Rockset 中的命名参数化查询,可以从专用的 REST 端点执行。ClickHouse Cloud 的查询 API 端点提供了类似的功能。
视图
在 Rockset 中,您可以创建视图,即由 SQL 查询定义的虚拟集合。ClickHouse Cloud 支持多种类型的视图
- 普通视图不存储任何数据。它们仅在查询时从另一个表执行读取操作。
- 参数化视图类似于普通视图,但可以在查询时创建具有参数解析的视图。
- 物化视图存储由相应的
SELECT
查询转换的数据。它们就像一个触发器,在向其引用的源数据添加新数据时运行。
别名
Rockset 别名用于将多个名称与集合关联。ClickHouse Cloud 不支持等效的功能。
工作区
Rockset 工作区是包含资源(即集合、查询 Lambda、视图和别名)和其他工作区的容器。
在 ClickHouse Cloud 中,您可以使用不同的服务来实现完全隔离。您还可以创建数据库来简化对不同表/视图的 RBAC 访问。
设计注意事项
在本节中,我们将回顾 Rockset 的一些关键功能,并了解如何在使用 ClickHouse Cloud 时解决这些问题。
JSON 支持
Rockset 支持 JSON 格式的扩展版本,该版本允许使用 Rockset 特定的类型。
有多种方法可以在 ClickHouse 中处理 JSON
- JSON 推断
- 查询时 JSON 提取
- 插入时 JSON 提取
要了解最适合您用户案例的方法,请参阅我们的 JSON 文档。
此外,ClickHouse 将很快拥有半结构化列数据类型。这种新类型应该能够提供 Rockset 的 JSON 类型提供的灵活性。
全文搜索
Rockset 使用其 SEARCH
函数支持全文搜索。虽然 ClickHouse 不是搜索引擎,但它确实具有各种用于在字符串中搜索的函数。ClickHouse 还支持布隆过滤器,这在许多情况下都可以提供帮助。
向量搜索
Rockset 具有相似性索引,可用于索引向量搜索应用程序中使用的嵌入。
ClickHouse 也可以用于向量搜索,使用线性扫描
ClickHouse 还具有向量搜索相似性索引,但这种方法目前处于实验阶段,尚不兼容新的查询分析器。
从 OLTP 数据库中摄取数据
Rockset 的托管集成支持从 OLTP 数据库(如 MongoDB 和 DynamoDB)中摄取数据。
如果您要从 DynamoDB 中摄取数据,请按照此处的 DynamoDB 集成指南操作。
计算-计算分离
计算-计算分离是实时分析系统中的一个架构设计模式,可以应对突发的大量传入数据或查询。假设单个组件同时处理摄取和查询。在这种情况下,如果出现大量查询,我们将看到摄取延迟增加,如果要摄取大量数据,查询延迟也会增加。
计算-计算分离将数据摄取和查询处理代码路径分开,以避免此问题,这是 Rockset 在 2023 年 3 月实施的功能。
此功能目前正在 ClickHouse Cloud 中实施,即将进入私有预览版。请联系支持以启用。
免费迁移服务
我们理解这对 Rockset 用户来说是一个压力很大的时期 - 没有人希望在这么短的时间内迁移生产数据库!
如果 ClickHouse 能够满足您的需求,我们将提供免费的迁移服务,帮助您顺利过渡。