Kylin 技术架构(三)
Kylin 技术架构图
Kylin 系统可以分为在线查询和离线构建两部分
离线构建
- 数据源目前主要是 Hadoop、Hive、Kafka和 RDBMS,其中保持着待分析的用户数据
- Cube Build Engine(构建引擎)从数据源中抽取数据,并构建 Cube
- 数据以关系表的形式输入,且必须符合星形或雪花模型
- 用户可以新选择使用 MapReduce 或 Spark 进行构建
- 构建后的 Cube 保存在存储引擎中(目前 HBase 是默认的存储引擎)
在线查询
- 用户可以通过各种接口方式向 Kylin 发送 SQL 进行查询分析
- 无论哪种接口方式,最终 SQL 都会来到 REST 服务层,再转交给查询引擎进行处理
- SQL 语句是基于数据源的关系模型书写的,而不是 Cube(Kylin 在设计时刻意对查询用户屏蔽 Cube 的概念)
- 分析师只需要理解简单的关系模型就可以使用 Kylin,没有额外的学习门槛(传统的 SQL 应用也很容易迁移)
- 查询引擎解析 SQL,生成基于关系表的逻辑执行计划,然后将其转译为基于 Cube 的物理执行计划,最后查询预计算生成的 Cube 产生结果(整个过程不访问原始数据源)
Kylin 使用流程
- 定义数据集上的一个星形或雪花形模型
- 在定义的数据表上构建cube
- 使用标准 SQL 通过 ODBC、JDBC 或 RESTFUL API 进行查询,仅需亚秒级响应时间即可获得查询结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)