Apache Kylin 跨机房迁移实战
历经20天准备,30天逐个Project迁移,Kylin跨机房迁移终于完成,本次迁移累计迁移Project20+,Cube200+,其中8个Project以对用户零影响的方式完成迁移。本文对整个迁移过程进行回顾,总结。(下文的S指迁移的源机房和集群,D指迁移的目标机房和集群)一背景二目标三方案简介四
IndexR 原理和架构
1WhatIndexR2WhyIndexR3IndexRArchitecture4IndexRStorage5IndexRIndex6IndexR常见问题7IndexR亮点8IndexR不足9IndexR是最快的数据库吗?10参考资料1WhatIndexRIndexR是由舜飞科技研发的实时OLAP系
读书笔记——《尽在双11》
1技术和业务的关系2系统的发展之路3技术架构演进五彩石异地多活混合云OceanBase手机淘宝蚂蚁技术架构演进4大型系统的稳定保障容量规划全链路压测全链路功能自动化备战实时业务审计故障演练系统自我保护5技术拓展商业边界1技术和业务的关系技术和业务的关系类似经济基础和上层建筑的关系。我们都知道经济基础
Improving Spark Cubing in Kylin 2.0
MakeSparkcouldconnectHBaseusingKerberosUseHDFSmanagethemetadataforSparkCubingTheSparkconfigurationforSparkCubingTheperformancetestresultofSparkCubingT
Kylin 2.0 Spark Cubing 优化改进
SparkCubing简介SparkCubing访问Kerberos认证的HBase解1SparkCubing访问Kerberos认证的HBase解2SparkCubing参数配置SparkCubing的构建性能SparkCubing的资源消耗SparkCubing的优缺点SparkCubing的适
TDigest 算法原理
Kylin2.0支持了近似百分位函数,是基于TDigest实现的,兴趣使然,就阅读了TDigest的论文和代码。这是我分享的PPT:http://blog.bcmeng.com/pdf/TDigest.pdf建议PPT和下面的补充说明结合着看,应该就可以理解TDigest算法。TDigest是一个简
Kylin 2.0升级总结
Kylin2.0的升级节奏升级的大原则升级的目标1Kylin2.0升级流程1.1Kylin2.0代码合入1.2配置更新和梳理1.3兼容性测试1.4Cube构建测试1.5Cube查询测试1.6web测试2升级中暴露的问题2.1查询机灰度中暴露的问题2.2上线Staging和Prod后Cube构建暴露的
记Kylin的第一次夜间生产事故
事故复盘和原因分析连续两次Kinit失败的原因Kerberos认证失败为什么会导致Http请求阻塞事故的逻辑链条事故的影响范围为什么在对Kylin代码有高度掌控力的情况下处理时间长达3个小时Kylin运维上的改进Kylin代码上的改进事故的反思从2016年7月毕业正式入职美团点评负责Kylin以来,
2016总结和2017规划
2016总结重要事件成长变化感悟总结2017规划P1英语听,说,读,写提升P1锻炼减肥P1读书P1Kylin系统的掌控力进一步提高P1熟悉各OLAP系统的原理P1掌握SQL的解析和编译过程。P2熟悉分布式列式存储系统的实现原理。P2学习总结常见的大数据算法,协议,系统。2016总结重要事件12016
Apache Kylin 精确去重指标优化历程
问题背景优化1将精确去重指标拆分HBase列族优化2移除不必要的toString避免bitmapdeserialize优化3获取bitmap的字节长度时避免deserialize优化4无需上卷聚合的精确去重查询优化总结反思相关KylinJIRA本文记录了我将ApacheKylin超高基数的精确去重指
Apache Kylin Hadoop队列拆分方案设计与反思
背景需求分析方案设计方案排期需求1实现impersonate方案需求1实现在Yarn中为Hadoop-kylin用户赋予其他队列的提交权限需求2实现增加project粒度配置并实现配置优先级。反思1凡事一定要先搞清概念反思2勿忘初心(时刻不忘记最初目标)反思3跳出思维定式反思4避免沉没成本的影响总结
如何编写易读的代码
1易读的变量命名2易读的代码布局3易读的注释4易读的控制流5易读的表达式6易读的变量使用7抽取不相关的子问题8单一原则:一次只做好一件事9用自然语言将想法变成代码10少写代码11易读的测试12参考资料提升编程水平最有效的方法就是反反复复地修改和推敲代码。写出的代码能让人快速理解、轻松维护、容易扩展的
Java并发编程3:设计线程安全的类
1设计线程安全的类2实例封闭3线程安全性的委托4在现有的线程安全类中添加功能5将同步策略文档化6参考资料1设计线程安全的类设计线程安全类的基本要素:找出构成对象状态的所有变量。找出约束状态变量的不变性条件。建立对象状态的并发访问管理策略。如果对象的所有域都是基本类型的变量,这些变量就构成了对象的全部
读书笔记——《深入浅出面向对象分析和设计》
一写文章的技巧二什么是伟大的软件?三如何设计伟大软件?四需求是什么?五良好的设计六架构设计七设计原则八迭代和测试一写文章的技巧视觉化——图像优于文字使用对话方式和拟人化风格第一人称角度谈话式风格故事代替论述口语代替正式的术语和演说让学习者更深入的思考让读者集中注意力拨动读者的心弦二什么是伟大的软件?
算法之美——数组和数
single-number落单的数single-number-ii落单的数IIsingle-number-iiimajority-numbermajority-number-ii主元素IImajority-number-iii主元素IIIbest-time-to-buy-and-sell-stock
算法之美——动态规划
什么情况考虑动态规划什么情况下不考虑动态规划动态规划的实现方式动态规划的四要素坐标型动态规划单序列动态规划双序列动态规划数字三角形triangle最小路径和minimum-path-sum不同的路径unique-paths不同的路径IIunique-paths-ii爬楼梯climbing-stair
Java并发编程2:对象的共享
1可见性2“重排序”3非原子的64位操作4Volatile变量5对象的发布与逸出6线程封闭7不变性8安全发布9总结10参考资料本文将介绍如何共享和发布对象,从而使它们能够安全地由多个线程同时访问。1可见性为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。加锁的含义不仅有互斥行为,还包括内
算法之美——二叉树
解题思路TraversevsDivideConquer二叉树前序遍历二叉树中序遍历二叉树后序遍历二叉树的最大深度二叉树的最小深度平衡二叉树判断最近公共祖先最近公共祖先2二叉树中的最大路径和二叉树的最大路径和II二叉树的层次遍历二叉树倒序层次遍历二叉树的锯齿形层次遍历验证二叉查找树二叉搜索树查找中序后
地图染色算法详解
本文写于我大一或大二时,今天整理时发现了就贴出来。小梦今天给大家分享一下栈的应用:利用栈的思想和回溯算法来解决地图染色问题。什么是回溯算法其实很简单,说白了就是试探法,像走迷宫一样,我们不断向前走着试探,遇到死路了,标记下,再往回退一步,再选择其他路线前进,如果在碰壁了,就标记下,再返回,再选择其他
读书笔记——《Effective Java》
服务提供者框架1学习一门语言必须掌握3件事情2静态工厂方法代替构造器3遇到多个构造器参数时要考虑用构建器4通过私有构造器强化类不可实例化的能力5避免创造不必要的对象6消除过期的对象引用7应该避免使用终结方法8覆盖equal时请遵循通用约定9覆盖equal时总要覆盖hashcode10始终覆盖toSt