为了简化架构,提升系统稳定性,旧版的离线数据分析服务已于 2022 年 2 月 18 日下线,控制台无法访问旧版的离线数据分析服务,相应的创建分析任务和获取分析结果的 REST API,以及基于此 REST API 实现的 JavaScript 离线分析接口也无法再使用。
请大家使用新版的数据仓库服务。
针对大规模数据的分析任务一般都比较耗时,因此开发者通常希望使用独立的机器和服务运行大规模数据分析任务,和响应线上请求的机器和服务分开,这样可以更灵活方便地进行数据分析,也不用担心影响线上服务的性能。
为此,LeanCloud 在 2014 年底基于 Spark 推出了部分兼容 SQL 语法的离线数据分析功能。
离线分析服务在多年来帮助不少开发者便捷地分析应用数据,了解关键数据指标,省去了每日导出下载数据后再行分析的麻烦。
当然,开发者在使用的过程中也反馈给我们很多离线分析服务的不足,例如:
- 仍有部分数据直接运行在 mongo 数据库上,导致性能较差,执行时间过长,还有可能因为慢查询而读取失败。
- SQL 在执行期间无法显示进度,开发者只能漫无目的地等待。
- 少数对内存要求较高的任务因为内存耗尽失败后队列中断,无法消费新的任务。
这些不足部分源于之前离线分析服务的设计上不够完善,部分源于 Spark 的固有限制。
有鉴于此,我们基于 ClickHouse 构建了新一代的数据仓库:
- 基于列的存储,支持高比率的压缩,可以大幅度缩减存储成本;
- 基于列的遍历和向量的运算支持高效的查询效率,可以将原本需要分钟级别的复杂查询,缩短到秒级别;
- 提供直观的数据视图功能,支持存储中间结果,配合 join 查询,可支持高效率且复杂的二阶查询;
- 更多样的函数,支持更复杂的 SQL 查询;
- 无缝对接日志表,可支持多样的数据源实时入库和查询,从而更灵活地集成外部数据源,为业务提供更完备的数据分析能力。
例如,新推出的数据仓库支持提取多层嵌套的 JSON 字符串中的字段:
SELECT visitParamExtractString('{"abc":"\\u263a"}', 'abc') = '☺';
SELECT JSONExtractFloat('{"a": "hello", "b": [-100, 200.0, 300]}', 'b', 2) = 200.0
更多用例和详情可以参考数据仓库使用指南。
新版的数据仓库已于今年年初(2022 年 1 月)在华北节点上线,向商用版应用开放。
目前处于 Beta 阶段,暂不收费。
正式发布后,我们将对「存储空间」和「计算资源」两个维度进行计费。