热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

成为我的饭是什么歌,成为我的软肋是什么意思

总之,离开Oracle行业后,我加入了丁香园,开始接触Kylin。真庆幸这种操作没有被Oracle申请专利,不然Kylin可能会直接夭折。不要说什么这都是基于预计算,快一点

Apache Kylin 最初由 eBay 开发,于 2015 年毕业成为 Apache 顶级项目,目前已被腾讯、美团点评、滴滴等全球上千家企业采用。Kylin 社区的成长离不开社区成员在代码、案例、文档等诸多方面不断的贡献,尤其是社区中的三十多位 Committer,他们不仅是社区里的技术中坚力量,也是热心的贡献者,来自丁香园的ggdhc正是其中一员。2018 年初,刚接触 Kylin 时,dfdys疯狂吐槽为什么入了 Kylin 的坑,短短两年后,被社区提名,成为 Kylin Committer。这两年间发生了什么呢?

注:文末有大大大大彩蛋!

 

结缘 Kylin

差不多两年前,我还是个浸淫在 Oracle Database 中的关系型数据库从业者。至于为什么离开 Oracle 圈?为了避免产生“世界上最好的语言是什么?”这种史诗级难题,这里就不讨论了吧。总之,离开 Oracle 行业后,我加入了丁香园,开始接触 Kylin。前不久,我竟然收到了成为 Apache Kylin Committer 的邀请,想想也是挺魔幻的。

Kylin 应该是我改行后遇到的感觉最亲切的一款开源软件了。你知道 Oracle 中的物化视图(还能带聚合函数的哦)吗?真庆幸这种操作没有被 Oracle 申请专利,不然 Kylin 可能会直接夭折。因为我从 O 圈过来,所以这种类似构建物化视图的操作一直是我在接触 Hive 后,了解 Kylin 前所幻想的。Kylin 帮我实现了同样的想法。

当我后来得知这个 Apache 顶级项目竟然还是国人主导的,便开始更加关注这个项目了。想着 Hive 里的数据可以不用跑笨重的 MapReduce,直接预计算好存在 HBase 里,然后亚秒级给你出结果,省下来的时间拿去多吃两斤猪肉,它不香么?不要说什么这都是基于预计算,快一点没什么了不起。对不起,用户不管你是怎么算的,对他们而言,又快又稳就是王道。

 

与 Kylin 的爱恨纠葛

丁香园早在 2016 年便开始使用 Kylin 作为交互式报表(使用Tableau 制作)的底层数据源,那个时候 Kylin 毕业成为 Apache 顶级项目还没多久。服役期间,报表的使用方对于报表的性能和功能基本是满意了。但是,这么个组合真的是苦了我们运维呢。

刚到丁香园那会儿,我们的运维负责人就对我表示 Kylin 这个系统很让人头疼,生成了很多垃圾数据不敢乱清,级也不敢乱升。我还记得我给 Kylin 提交的第一个 Patch 就是清理没用的全局字典,当时好几年用下来,我们废弃的全局字典大概就占了好几 T。吐槽 Kylin 成了我的生活日常。

Kylin 难运维归难运维,大数据量下的快速分析却是我们的刚需,我们也找不到好的替代方案。于是,我只好不断地优化 Kylin,也陆陆续续向社区贡献代码,为了能让这款堪称国货之光的开源软件发展得越来越好。

冒了几个泡之后,发现竟然还有这么友好的社区,我作为kkdqj提交的代码比较烂,大佬差点没抱着键盘跑过来一行一行教我该怎么改。

两年后的今天,Kylin 已不是当年的那个 Kylin,在社区同学们的努力下,稳定性不断增强,功能也越来越丰富,今年也开始涉足实时分析领域。我也成为了 Kylin Committer。

 

成为 Kylin committer 之后?

当我告诉一位同事我成为 Committer 之后,他开玩笑地问:你是不是也是帮人美化代码风格,水出来的?大家对国人参与的开源软件似乎都有那么点不信任,改变大家对中国开源开发者的看法,任重而道远,只能靠大家的共同努力了。随着中国的 Apache Committer 越来越多,成为 Committer 早已不是一个终点,这只是一个起点。

相信所有社区开发者应该都会觉得自己贡献的项目像自己的孩子一样,自己喷可以,但不允许别人说他一个不字。所以,我们也计划进一步提升 Kylin 的易用性。

多维数据源虽好,但使用门槛还是要比关系型数据高一些。分析师们需要创建自己的cube,定义维度和度量。可能用于定义 cube & 构建 cube 的时间都够做好几张报表的了,新入职的分析师总需要花很长一段时间熟悉 Kylin。

所以我们希望能够将 Kylin 透明化,分析人员只需要知道有哪些关系表,尽管使用就好,而不是纠结于 cube 要怎么建,让 Kylin 安静地做一个加速层。

而且,当 Kylin 的使用者越来越多后,难免会有一些不(sang)那(xin)么(bing)好(kuang)的SQL发过来。此时,CPU 可能被打满,内存也有可能溢出。因此我们希望根据不同业务线分配不同的 Kylin 实例,不至于A业务线的慢查询把 B 业务线的正常查询也拖垮。这样一来,把 Kylin Docker 化,并用 Kubernetes 调度便成了我们最好的选择。一来可以避免物理机宕机的风险,二来可以让部署和扩缩容更加便捷。

 

对想成为 Kylin Committer 同学的建议

大部分社区开发者应该都是本职做开发的,很少有我这种本职做运维的异类。因为所处角度的不同,所以我会发现,Kylin 在启动过程中加载元数据的方式对数据库不太友好,诸如此类的问题。但开发人员很少会管这种鸡毛蒜皮的小事。

大部分人可能都不辞辛劳地往仓库里推送自己的新功能,殊不知,有些新功能会让部分用户升级后踩大坑。所以,尝试换个角度,你可能会看到不一样的提交 PR 的姿势。

最后,社区真的比代码重要,对项目的贡献并不只有提 PR 一种方式。那除了提交代码还有什么方式呢?(运营小姐姐拿着40米的大刀如是说

那当然是加上我们社区运营小姐姐的微信,多给她投投稿啦。(运营小姐姐:???算了,趁机留个投稿邮箱:rui.zou@kyligence.io

所以,你该知道我们有多愿意接纳新社区开发者了吧?还在犹豫什么?以你名字首字母为前缀的邮箱,可能只有 apache 邮箱还有了。

 

彩蛋环节

封面照大揭秘~~~ 

dfdys

一个梦想成为厨师怀揣着锅铲的暖男,

很偶然地成为了一名手敲键盘的程序猿

又因为偶然的原因

投入丁香园的怀抱

开始了票圈转发医学科普文的新新暖男人设

是不会在妹子感冒的时候让她多喝水的那种哦~

问题来了

人见人爱的dfdys同学还缺女票吗?

运营小姐姐最近发现了蛛丝马迹!

(下拉至答案)

 

 

 

 

 

 

运营小姐姐:

听说你的简书名叫“帅大狗”,能讲讲这笔名背后的故事咩?不会藏着狗粮吧?

帅大狗本狗  : 

不愧是运营小姐姐。我老婆在游戏里随机到了个名字叫“丑大狗”,所以你懂的…现在已经把笔名改成“丑大狗”了Orz

狗粮真好恰!

 

别忘了看看帅气的「丑大狗」同学的投稿,干货满满:

Kylin Memcached IO 线程死亡诊断 

Tableau Generic JDBC 连接 Kylin

又想 Cube 小,又想 Cube 跑得好?

 

「丑大狗」同学的简书账号:

https://www.jianshu.com/u/76a9b45adedb

 

了解更多大数据资讯,点击进入Kyligence官网


推荐阅读
  • Docker镜像加载优化:开发者的高效实践指南
    Docker镜像加载优化:开发者的高效实践指南 ... [详细]
  • Parallels Desktop for Mac 是一款功能强大的虚拟化软件,能够在不重启的情况下实现在同一台电脑上无缝切换和使用 Windows 和 macOS 系统中的各种应用程序。该软件不仅提供了高效稳定的性能,还支持多种高级功能,如拖放文件、共享剪贴板等,极大地提升了用户的生产力和使用体验。 ... [详细]
  • 在《PHP应用性能优化实战指南:从理论到实践的全面解析》一文中,作者分享了一次实际的PHP应用优化经验。文章回顾了先前进行的一次优化项目,指出即使系统运行时间较长后出现的各种问题和性能瓶颈,通过采用一些通用的优化策略仍然能够有效解决。文中不仅详细阐述了优化的具体步骤和方法,还结合实例分析了优化前后的性能对比,为读者提供了宝贵的参考和借鉴。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 本文深入探讨了数据库性能优化与管理策略,通过实例分析和理论研究,详细阐述了如何有效提升数据库系统的响应速度和处理能力。文章首先介绍了数据库性能优化的基本原则和常用技术,包括索引优化、查询优化和存储管理等。接着,结合实际应用场景,讨论了如何利用容器化技术(如Docker)来部署和管理数据库,以提高系统的可扩展性和稳定性。最后,文章还提供了具体的配置示例和最佳实践,帮助读者在实际工作中更好地应用这些策略。 ... [详细]
  • 本文详细介绍了HDFS的基础知识及其数据读写机制。首先,文章阐述了HDFS的架构,包括其核心组件及其角色和功能。特别地,对NameNode进行了深入解析,指出其主要负责在内存中存储元数据、目录结构以及文件块的映射关系,并通过持久化方案确保数据的可靠性和高可用性。此外,还探讨了DataNode的角色及其在数据存储和读取过程中的关键作用。 ... [详细]
  • 在Linux系统中,原本已安装了多个版本的Python 2,并且还安装了Anaconda,其中包含了Python 3。本文详细介绍了如何通过配置环境变量,使系统默认使用指定版本的Python,以便在不同版本之间轻松切换。此外,文章还提供了具体的实践步骤和注意事项,帮助用户高效地管理和使用不同版本的Python环境。 ... [详细]
  • 2018年在北航听陈博士讲解时,对重入漏洞有了初步了解。最近重温了慢雾科技的相关文章,发现他们对重入漏洞的解释非常清晰明了。 ... [详细]
  • 深入解析C语言中结构体的内存对齐机制及其优化方法
    为了提高CPU访问效率,C语言中的结构体成员在内存中遵循特定的对齐规则。本文详细解析了这些对齐机制,并探讨了如何通过合理的布局和编译器选项来优化结构体的内存使用,从而提升程序性能。 ... [详细]
  • 本文深入解析了JDK 8中HashMap的源代码,重点探讨了put方法的工作机制及其内部参数的设定原理。HashMap允许键和值为null,但键为null的情况只能出现一次,因为null键在内部通过索引0进行存储。文章详细分析了capacity(容量)、size(大小)、loadFactor(加载因子)以及红黑树转换阈值的设定原则,帮助读者更好地理解HashMap的高效实现和性能优化策略。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 在搭建Hadoop集群以处理大规模数据存储和频繁读取需求的过程中,经常会遇到各种配置难题。本文总结了作者在实际部署中遇到的典型问题,并提供了详细的解决方案,帮助读者避免常见的配置陷阱。通过这些经验分享,希望读者能够更加顺利地完成Hadoop集群的搭建和配置。 ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • Apache Drill
    2019独角兽企业重金招聘Python工程师标准WhyDrillTop10ReasonstoUseDrill1.GetstartedinminutesIttakesacoup ... [详细]
author-avatar
杰ZGJ8513
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有