数据蒋堂 关注
手机版

【数据蒋堂】第38期:JOIN延伸 - 维度其它应用

明确维度定义后,还可以换一种更清晰的方式来审视数据库的结构。 这是我们常见的E-R图: E-R图是个网状结构,实体(表)之间的外键关系直...

云栖社区 排序 数据结构 数据类型

【数据蒋堂】第36期:JOIN延伸:维度概念

谈到数据分析时常常会用到维度这个词,针对数据立方体的钻取、旋转、切片等操作都是围绕维度进行的,几乎所有的数据分析人员都知道并会运用这个术语,...

云栖社区 函数 数据库 数据分析 数据结构 数据类型

【数据蒋堂】第35期:JOIN提速 - 有序归并

我们再来看同维表和主子表的JOIN,这两种情况的优化提速手段是一样的。 设两个关联表的规模(记录数)分别是N和M,则HASH分段技术的计算复杂度(关联字段的比较次数)大概是SUM(NiMi),其中Ni和Mi分别是HASH值为i的两表记录数...

云栖社区 大数据 算法 性能 数据库 排序 多进程 同步 HASH 并行计算

【数据蒋堂】第33期:JOIN提速 - 外键指针化

我们再来看重新定义JOIN后如何能够提高运算性能,先看外键式JOIN的情况。 设有两个表: 其中sales表中的producti...

云栖社区 算法 性能 数据库 HASH 索引 并行计算

【数据蒋堂】第32期:JOIN简化 - 意义总结

我们重新审视和定义了等值JOIN运算,并简化了语法。一个直接的效果显然是让语句书写和理解更容易。外键属性化、同维表等同化和主子表一体化方...

程序员 数据结构

【数据蒋堂】第31期:JOIN简化 - 维度对齐

那么问题来了,这显然是个有业务意义的JOIN,它算是前面所说的哪一类呢? 这个JOIN涉及了表Orders和子查询A与B,仔细观察会发现,...

云栖社区 SQL BY Group

【数据蒋堂】第30期:JOIN简化 - 消除关联

我们将等值JOIN分成三种情况来分别讨论,分情况相当于加强了条件,我们可以充分利用每种情况下的特征。 1. 外键属性化 先看个例子,设有...

SQL Group

【数据蒋堂】第29期:JOIN运算剖析

JOIN是SQL中用于多表关联的运算,无论从程序员编写还是数据库实现角度来看,JOIN都是SQL中最难的运算。 其实,SQL对JO...

SQL

【数据蒋堂】第28期:迭代聚合语法

我们讨论过的常规聚合运算如SUM/COUNT和非常规聚合运算如maxp/top,都是事先设计好的聚合函数。但如果我们想实现一个以前没有定...

云栖社区 大数据 函数 HTTPS

【数据蒋堂】第27期:非常规聚合

标准SQL中提供了五种最常用的聚合运算:SUM/COUNT/AVG/MIN/MAX。观察这几个运算,我们发现它们都可以看成是一个以集合为参数返回单值的函数,我们就先把这个共同点理解为聚合运算的定义,把集合变成单值,多个值变成一个值,也就...

函数 SQL 日志 排序 表达式 Group

【数据蒋堂】第21期:常规遍历语法

遍历可以说是最基本的集合运算了,比如求和、计数、寻找最大最小值等聚合运算,按条件过滤集合、根据集合成员生成另一个新集合,也都是遍历运算。集合化语法要求我们能用很短的语句(经常就只有一句,而不是若干语句构成的一段程序)来描述大部分...

云栖社区 函数 SQL 表达式 数据类型

【数据蒋堂】第19期:从SQL语法看集合化

SQL作为最常用的结构化数据计算语言,虽然在做一些细致处理时不太方便,但用于描述基本运算还是比Java等高级语言要简单许多。这是因为SQL是一种集合化的语言,而Java等语言不是。我们下面从SQL的语法上看集合化语言的一些特征,为了方...

算法 java 函数 SQL 表达式 数据结构

【数据蒋堂】第18期:SQL用作大数据计算语法好吗?

当前的大数据平台在处理结构化数据时大都仍然以提供SQL语法为主流。兼容SQL的好处是很明显的,SQL的应用非常广泛,会SQL的程序员很多,如果继续采用SQL则可以避免许多学习成本。支持SQL的前端软件也很多,使用SQL的大数据平台很容...

云栖社区 大数据 算法 性能 SQL 数据库 集群 多线程 高性能 兼容性 数据类型

【数据蒋堂】第17期:SQL的困难源于关系代数

在结构化数据处理领域,SQL无疑是应用最广泛的工作语言,不仅被所有关系数据库采用,许多新进的大数据平台也将实现SQL作为目标。但现实是,面对当前纷杂的计算查询需求,SQL在很多方面并不够好用。我们在前面说过SQL的过程性问题,这其实...

大数据 算法 性能 SQL 数据库 排序

【数据蒋堂】第16期:SQL像英语是个善意的错误

我们知道,SQL长得很像英语,简单的SQL语句直接可以作为英语读。除了SQL外,其它主要程序设计语言都没有这样,语法中就算有英语单词也仅仅是作为某些概念或操作的助记符而已,写出来的是形式化的程序语句(statement)而不是英语句子...

云栖社区 程序员 性能 SQL 存储过程

【数据蒋堂】第15期:开放的计算能力为数据库瘦身

【数据蒋堂】第14期:计算封闭性导致臃肿的数据库 我们在上一期谈到,数据库的臃肿,也就是过多的中间表以及相关存储过程,是由于其计算封闭性造成的。如果能够实现独立的计算引擎,使计算不再依赖于数据库提供,那么就可以为数据库瘦身了。

云栖社区 hadoop 性能 模块 数据库 存储过程 存储 数据存储

【数据蒋堂】第14期:计算封闭性导致臃肿的数据库

许多大型用户的数据库(仓库)在运行多年之后,都会积累出很多的数据表,严重者数以万计。这些数据表年代久远,有些已经忘记建设原因,甚至可能已不再有用,但因为很难确认而不敢删除。这给运维工作带来巨大的负担。

云栖社区 etl 模块 数据库 用户体验 报表 存储过程 存储

【数据蒋堂】第13期:怎样看待存储过程的移植困难

存储过程移植困难是经常被诟病的,在罗列存储过程的缺点时,这一条几乎从来不会被遗漏。 存储过程的移植确实很困难,一般业务逻辑复杂到需要写存储过程的地步,总会不可避免地用到数据库独有的特性和语法,更换数据库时这部分代码就需要重写。

云栖社区 大数据 函数 c++ 数据库 数据仓库 存储过程

【数据蒋堂】第12期:存储过程的利之弊

存储过程是数据库领域中应用非常广泛的技术,关于它的利弊讨论由来已久,我们这里针对存储过程的两个公认度较高的优点进行剖析,从而更清楚存储过程的潜在风险及应用场景。 存储过程利于界面与逻辑分离! 界面与逻辑分离是现代应用开发的一个基本准...

性能 SQL 数据处理 数据库 报表 存储过程

【数据蒋堂】第11期:不要对自助BI期望过高

从早期的多维分析(OLAP)到近年来的敏捷BI,BI产品厂商一直在强调自助能力,宣称可以由业务人员自己分析数据,而用户方也常常有强烈的此类需求,双方一拍即合,很容易形成购买行为。但是,BI产品的自助功能真地能让业务用户自己随心所欲地分...

云栖社区 数据库 存储过程 多维分析

管理员:
sheeta
21
关注
3
成员
31
文章