kylin是什么意思 Kylin

麒麟英文为什么是kylin?kirin指的是麒麟 。
Kylin操作系统是一个中国自主知识产权操作系统 , 是国家高技术研究发展计划(863计划)的重大成果之一 , 是以国防科技大学为主导 , 与中软、联想等单位联合设计和开发的基于Linux的系统 。
可支持多种微处理器和多种计算机体系结构 , 具有高性能、高可用性和高安全性 , 并与Linux应用二进制兼容的国产中文服务器操作系统 。
成果:
如今 , Kylin操作系统经过全面而严格的测试 , 已经可以运行在多种型号的联想万全服务器(包括采用EM64T技术的新一代Intel至强处理器)和其它类型的服务器上 , 并全面支持64位应用 。同时 , 在军队机要服务器、可搬移服务器上 , Kylin操作系统已经被小批量使用 。
kylin架构首先来看离线构建部分 。从图中可以看出 , 左侧为数据源 , 目前Kylin默认的数据源是Apache Hive , 保存着待分析的用户数据 。根据元数据的定义 , 构建引擎从数据源抽取数据 , 并构建Cube 。数据以关系表的形式输入 , 并且必须符合星形模型 。构建技术主要为MapReduce(Spark目前在beta版本) 。构建后的Cube保存在右侧存储引擎中 , 目前Kylin默认的存储为Apache HBase 。
完成离线构建后 , 用户可以从上方的查询系统发送SQL进行查询分析 。Kylin提供了RESTful API、JDBC/ODBC接口供用户调用 。无论从哪个接口进入 , SQL最终都会来到REST服务层 , 再转交给查询引擎进行处理 。查询引擎解析SQL , 生成基于关系表的逻辑执行计划 , 然后将其转译为基于Cube的物理执行计划 , 最后查询预计算生成的Cube并产生结果 。整个过程不会访问原始数据源 。如果用户提交的查询语句未在Kylin中预先定义 , Kylin会返回一个错误 。
值得一提的是 , Kylin对数据源、执行引擎和Cube存储三个核心模块提取出了抽象层 , 这意味着这三个模块可以被任意地扩展和替换 。比如可以使用Spark替代MapReduce作为Cube的构建引擎 , 使用Cassandra替代HBase作为Cube计算后数据的存储等 。良好的扩展性使得Kylin可以在这个技术发展日新月异的时代方便地使用更先进的技术替代现有技术 , 做到与时俱进 , 也使用户可以针对自己的业务特点对Kylin进行深度定制 。
Apache Kylin的这种架构使得它拥有许多非常棒的特性:
SQL接口:
Kylin主要的对外接口就是以SQL的形式提供的 。SQL简单易用的特性极大地降低了Kylin的学习成本 , 不论是数据分析师还是Web开发程序员都能从中收益 。
支持海量数据集
不论是Hive、SparkSQL , 还是Impala、Presto , 都改变不了这样一个事实:查询时间随着数据量的增长而线性增长 。而Apache Kylin使用预计算技术打破了这一点 。Kylin在数据集规模上的局限性主要取决于维度的个数和基数 , 而不是数据集的大小 , 所以Kylin能更好地支持海量数据集的查询 。
亚秒级响应
同样受益于预计算技术 , Kylin的查询速度非常快 , 因为复杂的连接、聚合等操作都在Cube的构建过程中已经完成了 。
水平扩展
Apache Kylin同样可以使用集群部署方式进行水平扩展 。但部署多个节点只能提高Kylin处理查询的能力 , 而不能提升它的预计算能力 。
可视化集成
Apache Kylin提供了ODBC/JDBC接口和RESTful API , 可以很方便地与Tableau等数据可视化工具集成 。数据团队也可以在开放的API上进行二次开发 。
kylin是什么意思?kylin是麒麟(中国古代传说中的吉祥物 , 雄的称麒 , 雌的称麟);
Kylin 在腾讯的平台化及 Flink 引擎实践 首先 , 介绍下我们为什么进行平台化改造?
我们部门为公司内其他业务线提供了各种大数据平台 , 如 Kylin、HBase、Spark、Flink 等等 , 提供公共统一的平台系统势必会牵扯到用户管理、资源隔离、部门内各个平台的融合等问题 , 而 Kylin 现有的用户管理、资源隔离机制并不能满足我们需求 , 基于此 , 我们对 Kylin 进行了平台化改造 。平台化改造完成后 , 我希望在以下几个方面 , 能够有一些改进:
1. 用户管理
为了便于系统的管理及安全 , 公司内部有一套自己的认证系统 , 而且需要用个人账号去验证 , 所以 Kylin 作为一个平台对外提供服务的话 , 也需要接入到该系统 。所以 , 我们新增了一个用户管理界面 , 该界面展示了 Kylin 平台内的所有用户 。管理员可以新增任一用户到 Kylin 平台 , 新增用户时会填写企业微信名、用户角色以及是否激活用户 。当用户登录系统时 , 会自动检测用户账号以及该账号是否在平台内注册 , 如果没有注册则无权限 , 反之自动登录系统 。

秒懂生活扩展阅读