-
[图片] 现代计算机一般都有多 CPU 核,而日益广泛应用的固态硬盘也有较强的并发能力,这些硬件资源都为并行计算提供了有力的保证。不过,要实现并行计算还需要有较好的数据分段技术,也就是能方便地 ..
-
[图片] 明确维度定义后,还可以换一种更清晰的方式来审视数据库的结构。 这是我们常见的 E-R 图: [图片] E-R 图是个网状结构,实体(表)之间的外键关系直接画在图上,当实体较多时这个图 ..
-
[图片] 有了维度定义后,我们就可以来梳理前面讲过的简化 JOIN 语法了。 先定义字段维度: 维度字段的维度为其本身; 外键字段的维度为相应外键表中关联字段的维度; 测度字段没有维度; 这是 ..
-
[图片] 谈到数据分析时常常会用到维度这个词,针对数据立方体的钻取、旋转、切片等操作都是围绕维度进行的,几乎所有的数据分析人员都知道并会运用这个术语,但要问及它的定义,却几乎没有人能给出来。 ..
-
[图片] 我们再来看同维表和主子表的 JOIN,这两种情况的优化提速手段是一样的。 设两个关联表的规模(记录数)分别是 N 和 M,则 HASH 分段技术的计算复杂度(关联字段的比较次数)大概 ..
-
[图片] 我们继续讨论外键 JOIN,并延用 上一篇 的例子。 当数据量大到无法全部放进内存时,前述的指针化方法就不再有效了,因为在外存无法保存事先算好的指针。 一般来讲, ..
-
[图片] 我们再来看重新定义 JOIN 后如何能够提高运算性能,先看外键式 JOIN 的情况。 设有两个表: products 商品信息表 id商品编号 name商品名称 price单价 …… ..
-
蒋步星《JOIN 运算的简化与提速》系列技术文章。 【数据蒋堂】第 29 期:JOIN 运算剖析 【数据蒋堂】第 30 期:JOIN 简化 – 消除关联 【数据蒋堂】第 31 期:JOIN 简 ..
-
蒋步星《JOIN 运算的简化与提速》系列技术文章。 【数据蒋堂】第 29 期:JOIN 运算剖析 【数据蒋堂】第 30 期:JOIN 简化 – 消除关联 更多敬请期待… [图片] 我们先把上一 ..
-
近期,蒋步星在「天善智能」直播分享了《JOIN 运算的简化与提速》,视频地址:https://edu.hellobi.com/course/197/lessons (主题二)。 接下来的几期《 ..
-
10 月 19 日,蒋步星在「天善智能」直播分享了《JOIN 运算的简化与提速》,视频地址:https://edu.hellobi.com/course/197/lessons ( ..
-
[图片] 我们讨论过的常规聚合运算如 SUM/COUNT 和非常规聚合运算如 maxp/top,都是事先设计好的聚合函数。但如果我们想实现一个以前没有定义过的运算怎么办?是否可以用已有的语法和 ..
-
[图片] 标准 SQL 中提供了五种最常用的聚合运算:SUM/COUNT/AVG/MIN/MAX。观察这几个运算,我们发现它们都可以看成是一个以集合为参数返回单值的函数,我们就先把这个共同点理 ..
-
[图片] 细心的读者可能会发现,我们在讨论有序分组时只研究了待分组集合的成员次序对分组运算可能的影响,但即然要考虑集合的有序性,那么结果集的成员次序是不是也有业务意义呢? 确实有意义,不过重要 ..
-
[图片] 我们知道,SQL 延用了数学上的无序集合概念,所以 SQL 的分组并不关注过待分组集合中成员的次序。我们在前面讨论过的等值分组和非等值分组,也都没有关注过这个问题,分组规则都是建立在 ..
-
[图片] 前一期 【数据蒋堂】第 23 期:还原分组运算的本意 我们在上一期研究了分组运算的实质,即将一个集合按某种规则拆分成若干子集。不过,上期的关注重点在于还原分组运 ..
-
[图片] 分组是 SQL 中常见的运算,但未必所有人都能深刻地理解它。 分组运算的实质是将一个集合按照某种规则拆分成若干个子集,也就是说,返回值应当是一个由集合构成的集合,但人们一般并不太关心 ..
-
[图片] 前一期 【数据蒋堂】第 21 期:常规遍历语法 我们继续讨论遍历运算的语法规则。 5. 序号的引用 SQL 延用了数学上的无序集合概念,遍历时也不关注次序。但计算机只能一步 ..
-
[图片] 遍历可以说是最基本的集合运算了,比如求和、计数、寻找最大最小值等聚合运算,按条件过滤集合、根据集合成员生成另一个新集合,也都是遍历运算。集合化语法要求我们能用很短的语句(经常就只有一 ..
-
[图片] 所谓离散性,是指集合的成员可以游离在集合之外存在并参与运算,游离成员还可以再组成新的集合。从离散性的解释上可以知道,离散性是针对集合而言的一种能力,离开集合概念单独谈离散性就没有意义 ..
-
[图片] SQL 作为最常用的结构化数据计算语言,在做一些复杂计算时不太方便,但用于描述基本运算还是比 Java 等高级语言要简单许多。这是因为 SQL 是一种集合化的语言,而 Java 等语 ..
-
当前的大数据平台在处理结构化数据时大都仍然以提供 SQL 语法为主流。兼容 SQL 的好处是很明显的,SQL 的应用非常广泛,会 SQL 的程序员很多,如果继续采用 SQL 则可以避免许多学习 ..
-
[图片] 在结构化数据处理领域,SQL 无疑是应用最广泛的工作语言,不仅被所有关系数据库采用,许多新进的大数据平台也将实现 SQL 作为目标。但是,SQL 真地好用吗? 人们写代码通常关心两个 ..
-
[图片] 我们知道,SQL 很像英语,简单的 SQL 语句直接可以作为英语读。除了 SQL 外,其它主要程序设计语言都没有这样,语法中就算有英语单词也仅仅是作为某些概念或操作的助记符而已,写出 ..
-
[图片] 【数据蒋堂】第 14 期:计算封闭性导致臃肿的数据库 我们在上一期谈到,数据库的臃肿,也就是过多的中间表以及相关存储过程,是由于其计算封闭性造成的。如果能够实现独立的计算引擎,使计算 ..