摘要:
本篇主要是根据AnalyticDB的论文,来讨论AnalyticDB出现的背景,各个模块的设计,一些特性的解析。可能还会在一些点上还会穿插一些与当前业界开源实现的比对,希望能够有一个更加深入的探讨。OK,那我们开始吧。 AnalyticDB介绍与背景 要说AnalyticDB,那起码得知道它是干什么 阅读全文
摘要:
并发问题的根源在哪 首先,我们要知道并发要解决的是什么问题?并发要解决的是单进程情况下硬件资源无法充分利用的问题。而造成这一问题的主要原因是CPU-内存-磁盘三者之间速度差异实在太大。如果将CPU的速度比作火箭的速度,那么内存的速度就像火车,而最惨的磁盘,基本上就相当于人双腿走路。 这样造成的一个问 阅读全文
摘要:
本篇主要讨论的是不同存储结构(主要是LSM-tree和B-tree),它们应对的不同场景,所采用的底层存储结构,以及对应用以提升效率的索引。 所谓数据库,最基础的功能,就是保存数据,并且在需要的时候可以方便地检索到需要的数据。在这个基础上,演化出了不同的数据库系统,以及多种索引机制帮助检索数据。这篇 阅读全文
摘要:
Spark SQL原理解析前言: Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述 Spark SQL源码解析(二)Antlr4解析Sql并生成树 Spark SQL源码解析(三)Analysis阶段分析 Spark SQL源码解析(四)Optimization和Physica 阅读全文
摘要:
Spark SQL原理解析前言: "Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述" "Spark SQL源码解析(二)Antlr4解析Sql并生成树" "Spark SQL源码解析(三)Analysis阶段分析" 前面已经介绍了SQL parse,将一条SQL语句使用ant 阅读全文
摘要:
Spark SQL原理解析前言: "Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述" "Spark SQL源码解析(二)Antlr4解析Sql并生成树" Analysis阶段概述 首先,这里需要引入一个新概念,前面介绍SQL parse阶段,会使用antlr4,将一条SQL语 阅读全文
摘要:
Spark SQL原理解析前言: "Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述" 这一次要开始真正介绍Spark解析SQL的流程,首先是从Sql Parse阶段开始,简单点说,这个阶段就是使用Antlr4,将一条Sql语句解析成语法树。 可能有童鞋没接触过antlr4这个 阅读全文
摘要:
Spark SQL模块,主要就是处理跟SQL解析相关的一些内容,说得更通俗点就是怎么把一个SQL语句解析成Dataframe或者说RDD的任务。以Spark 2.4.3为例,Spark SQL这个大模块分为三个子模块,如下图所示 其中Catalyst可以说是Spark内部专门用来解析SQL的一个框架 阅读全文
摘要:
前情提要 "Scala函数式编程指南(一) 函数式思想介绍" "scala函数式编程(二) scala基础语法介绍" "Scala函数式编程(三) scala集合和函数" "Scala函数式编程(四)函数式的数据结构 上" "Scala函数式编程(四)函数式的数据结构 下" "Scala函数式编程( 阅读全文
摘要:
消费组组(Consumer group)可以说是kafka很有亮点的一个设计。传统的消息引擎处理模型主要有两种, 队列模型 ,和 发布 订阅模型 。 队列模型 :早期消息处理引擎就是按照队列模型设计的,所谓队列模型,跟队列数据结构类似,生产者产生消息,就是入队,消费者接收消息就是出队,并删除队列中数 阅读全文