极客邦连麦百位牛人观后实录

从书上学·在事中练·与高人聊!心力!

极客邦访谈100位牛人,通过直播方式为程序员提供知识服务,从技术、架构、业务、管理、思想等多方面来给正在路上的技术人提供一些参考,解答一些疑惑。现将听取的部分大牛的讲话内容记录下来,以此来总结反思自己。

阅读全文

Java类加载机制

引言

从事Java开发的小伙伴,在工作中一定遇到过如ClassNotFoundExceptionNoClassDefFoundErrorNoSuchMethodError等等之类的异常或错误,大家肯定会想到类缺失了、Jar包有冲突了等原因。知其然更要知其所以然,本文将从Java类加载机制的原理层面来分析出现这些问题的原因,同时以一些基础框架为例来说明它们是如何规避的。以此来加深我们对Java类加载机制的了解,达到快速解决问题和开发基础工具时如何善用Java类加载器。

阅读全文

SparkSQL业务分析集锦

作为ROLAP引擎的SparkSQL具备丰富的SQL算子,比如关联、聚合、分组、窗口函数以及内置的各种函数、hint等等,在功能层面较好地满足了业务分析场景的需要。作为平台工具的开发者,在提供好用、稳定的工具的同时,更要掌握一定的SQL使用方式,来加深各个算子在实际场景的应用效果。故开此文,长期记录使用SQL进行经典OLAP分析的场景或者是一些奇淫技巧。

阅读全文

OLAP引擎-Kylin基本介绍

基本介绍

Apache Kylin是Hadoop大数据平台上的一个开源MOLAP引擎。它采用多维立方体预计算技术,可以将大数据的SQL查询速度提升到亚秒级别。在2015年成为Apache的顶级项目,在2016年核心团队创立了Kyligence公司。

阅读全文

Hive性能调优实践

Hive基本介绍

架构

阅读全文

Spark性能调优实战

概述

Spark(Spark SQL)在离线计算场景应用广泛,为了保证Spark应用更好地满足业务场景需求,同时能够在线上稳定地运行,我们需要关注Spark的调优工作。首先,需要了解Spark对外的接口并如何高效地使用;其次要搞清楚内部的运行机制以及参数配置体系;最后是要能够深入分析spark的日志信息。进一步来讲,对于Spark的深度使用者,需要关注社区各个版本的迭代、bug修复以及性能优化的情况,才能更好地打开思路,提高解决问题的效率。主要途径有:spark的release-note、databricks官方博客、源码。

为了方便Spark相关性能问题的排查,本文记录了日常Spark使用过程中遇到的问题和解决思路,用于积累过程中进行复盘总结,强化Spark的深入理解和实战经验。

阅读全文

PMP实践之路

人的精力总是有限的,只有通过团队的力量,才能获得更高的成就。作为一个项目的负责人,需要带领项目团队成员,一起完成目标,顺利交付。所以,其中涉及到的个人能力提升,调动组员积极性发挥其最大能力,与同部门、跨部门的不同人员进行沟通和协作,都是每一个项目经理需要不断学习的。

项目经理的六种能力模型

一个优秀的项目经理,应该具备哪些基本能力呢?我们可以参考这个项目经理的六种能力模型——知识、技能、逻辑思维、执行力、心智成熟和领导力。

阅读全文

Calcite处理和扩展流程解析

相关概述与特性,可以查看之前的文章《Calcite原理和经验总结》。

SQL处理流程

处理过程

  • Parser(SQL->SqlNode): 把 SQL 转换成为 AST (抽象语法树),Calcite 使用 JavaCC 做 SQL 解析.
  • Validate(SqlNode->RelNode):
    • 语法检查,根据数据库的元数据信息进行语法验证,验证之后还是用 SqlNode 表示 AST 语法树;
    • 语义分析,根据 SqlNode 及元信息构建 RelNode 树,也就是最初版本的逻辑计划(Logical Plan)。
  • Optimize(RelNode->RelNode): 逻辑计划优化,优化器的核心,根据前面生成的逻辑计划(relational expression,即关系代数)按照相应的规则(Rule)进行优化;
  • Execute: 物理执行,生成物理计划,物理执行计划执行。

阅读全文

分布式事务与一致性

引言

如果近几年从业于软件工程,特别是服务器端和后端系统开发,那么您很有可能已经被大量关于数据存储和处理的时髦词汇轰炸过了: NoSQL!大数据!Web-Scale!分片!最终一致性!ACID! CAP定理!云服务!MapReduce!实时! 在最近十年中,我们看到了很多有趣的进展,关于数据库,分布式系统,以及在此基础上构建应用程序的方式。

本文首先介绍什么是分布式系统,跟集群有什么区别。其次,引入事务ACID的概念以及在单机过渡到分布式后产生哪些问题和解决方式,包括CAP/BASE理论、2PC、3PC等。最后,介绍分布式事务中协调者的共识问题,从而引入Paxos、Raft分布式一致性协议算法。

阅读全文

2020-DTCC-参会分享

本届大会的主题围绕“架构革新、高效可控”为主题,历时三天,涵盖内容包括数据库底层内核代码开发,数据库的架构设计,数据库技术云平台实践以及上层AI和大数据应用。

数据库新趋势

大会主会场分两天展开,内容起到了提纲挈领的作用。

阅读全文