《数据蒋堂》

数据蒋堂》的作者蒋步星,从事信息系统建设和数据处理长达20多年的时间。他丰富的工程经验与深厚的理论功底相互融合、创新思想与传统观念的相互碰撞,虚拟与现实的相互交织,产生出了一篇篇的沥血之作。此连载的内容涉及从数据呈现、采集到加工计算再到存储以及挖掘等各个方面。大可观数据世界之远景、小可看技术疑难之细节。针对数据领域一些技术难点,站在研发人员的角度从浅入深,进行全方位、360度无死角深度剖析;对于一些业内观点,站在技术人员角度阐述自己的思考和理解。蒋步星还会对大数据的发展,站在业内专家角度给予预测和推断。静下心来认真研读你会发现,《数据蒋堂》的文章,有的会让用户避免重复前人走过的弯路,有的会让攻城狮面对扎心的难题茅塞顿开,有的会为初入行业的读者提供一把开启数据世界的钥匙,有的甚至会让业内专家大跌眼镜,产生思想交锋。

联合发布平台

数据讲堂 - 文章列表

【数据蒋堂】第25期:有序分组

【数据蒋堂】第25期:有序分组

发布时间:2017-10-10 Tag:,

我们知道,SQL延用了数学上的无序集合概念,所以SQL的分组并不关注过待分组集合中成员的次序。我们在前面讨论过的等值分组和非等值分组,也都没有关注过这个问题,分组规则都是建立在成员取值本身上。 [查看全文]

【数据蒋堂】第24期:非等值分组

【数据蒋堂】第24期:非等值分组

发布时间:2017-10-10 Tag:,

 前一期 【数据蒋堂】第23期:还原分组运算的本意

我们在上一期研究了分组运算的实质,即将一个集合按某种规则拆分成若干子集。不过,上期的关注重点在于还原分组运算的步骤,而没有讨论拆分规则,例 [查看全文]

【数据蒋堂】第23期:还原分组运算的本意

【数据蒋堂】第23期:还原分组运算的本意

发布时间:2017-09-19 Tag:,,,

分组是SQL中常见的运算,但未必所有人都能深刻地理解它。

分组运算的实质是将一个集合按照某种规则拆分成若干个子集,也就是说,返回值应当是一个由集合构成的集合,但人们一般并不太关心构成这个集 [查看全文]

【数据蒋堂】第22期:有序遍历语法

【数据蒋堂】第22期:有序遍历语法

发布时间:2017-09-19 Tag:,,

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

我们继续讨论遍历运算的语法规则。

5. 序号的引用

SQL延用了数学上的无序集合概念,遍历时也不关注次序。但计算机只能一步步地执行( [查看全文]

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

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

发布时间:2017-09-05 Tag:,,

遍历可以说是最基本的集合运算了,比如求和、计数、寻找最大最小值等聚合运算,按条件过滤集合、根据集合成员生成另一个新集合,也都是遍历运算。集合化语法要求我们能用很短的语句(经常就只有一句,而不是若 [查看全文]

【数据蒋堂】第20期:从SQL语法看离散性

【数据蒋堂】第20期:从SQL语法看离散性

发布时间:2017-08-21 Tag:,,,

所谓离散性,是指集合的成员可以游离在集合之外存在并参与运算,游离成员还可以再组成新的集合。从离散性的解释上可以知道,离散性是针对集合而言的一种能力,离开集合概念单独谈离散性就没有意义了。

[查看全文]

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

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

发布时间:2017-08-21 Tag:,,

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

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

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

发布时间:2017-08-08 Tag:,,

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

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

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

发布时间:2017-07-31 Tag:,,

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

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

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

发布时间:2017-07-25 Tag:,,

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

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

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

发布时间:2017-07-18 Tag:,

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

我们在上一期谈到,数据库的臃肿,也就是过多的中间表以及相关存储过程,是由于其计算封闭性造成的。如果能够实现独立的计算引擎,使计算不再依赖于数 [查看全文]

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

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

发布时间:2017-07-10 Tag:,,

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

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

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

发布时间:2017-07-04 Tag:,,

存储过程移植困难是经常被诟病的,在罗列存储过程的缺点时,这一条几乎从来不会被遗漏。

存储过程的移植确实很困难,一般业务逻辑复杂到需要写存储过程的地步,总会不可避免地用到数据库独有的特性和语法 [查看全文]

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

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

发布时间:2017-06-22 Tag:,

存储过程是数据库领域中应用非常广泛的技术,关于它的利弊讨论由来已久,我们这里针对存储过程的两个公认度较高的优点进行剖析,从而更清楚存储过程的潜在风险及应用场景。

存储过程利于界面与逻辑分离! [查看全文]

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

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

发布时间:2017-06-15 Tag:,,,

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

【数据蒋堂】第10期:报表的数据计算层

【数据蒋堂】第10期:报表的数据计算层

发布时间:2017-06-06 Tag:,,,

我们在上一期已经解释了报表应用结构中数据计算层的必要性,以及可以使用报表工具自定义数据源接口来实现计算层。在计算层中要完成一些复杂的计算逻辑,因此要有可编程的能力,而基于自定义接口可以采用报表工 [查看全文]

【数据蒋堂】第9期:报表应用的三层结构

【数据蒋堂】第9期:报表应用的三层结构

发布时间:2017-05-31 Tag:,

在传统的报表应用结构中,报表工具一般都是与数据源直接连接,并没有一个中间的数据计算层。确实,大部分情况下的报表开发并不需要这一层,相关的数据计算在数据源和呈现环节分别处理就够了。不过,在开发过程 [查看全文]

【数据蒋堂】第8期:列式存储的另一面

【数据蒋堂】第8期:列式存储的另一面

发布时间:2017-05-26 Tag:,

列存是常见的数据存储技术,在许多场景下也确实很有效,因而也被不少数据仓库类产品采用,在业内列存也常常就意味着高性能。

可是,列存真有这么好吗?搜索一下,容易找到的列存缺点一般是针对数据修改的 [查看全文]

【数据蒋堂】第7期:硬盘的性能特征

【数据蒋堂】第7期:硬盘的性能特征

发布时间:2017-05-19 Tag:,

我们都知道内存比硬盘要快得多,大概能快出一两个数量级(价格也要贵这么多)。不过,硬盘的问题并不只是访问速度慢。

硬盘不适合做频繁小量访问

所谓频繁小量访问,是指运算过程中每次获取的 [查看全文]

【数据蒋堂】第6期:我们需要怎样的OLAP?

【数据蒋堂】第6期:我们需要怎样的OLAP?

发布时间:2017-05-12 Tag:,,

被狭义化的OLAP

OLAP是商业智能应用中重要的组成部分,这个词从字面上理解是在线分析的意思,也就是由用户,特别是业务人员,面对数据进行各种分析操作。

但是,现在的OLAP概念被严重狭 [查看全文]

【数据蒋堂】第5期:1T数据到底有多大?

【数据蒋堂】第5期:1T数据到底有多大?

发布时间:2017-05-03 Tag:,

一英里不是个很长的距离,一立方英里相对于地球也不会让人觉得是个很大的空间。然后我说,这个空间内能装下全世界所有人,你会不会觉到很惊讶?不过这话不是我说的,是美国作家房龙在一本书里写的。

业内 [查看全文]

【数据蒋堂】第4期:索引的本质是排序

【数据蒋堂】第4期:索引的本质是排序

发布时间:2017-04-28 Tag:,

索引是经常用到的技术,但有些程序员对索引的原理了解不深,发现数据查询性能有问题立刻就想起建索引,但效果常常也不尽人意。那么到底什么时候该用索引以及该怎么用?我们来分析索引清理背后的技术原理 [查看全文]

【数据蒋堂】第3期:功夫都在报表外-漫谈报表性能优化

【数据蒋堂】第3期:功夫都在报表外-漫谈报表性能优化

发布时间:2017-04-20 Tag:,

应用系统中的报表,作为面向业务用户的窗口,其性能一直被高度关注。用户输入参数后都希望立即就能看到统计查询结果,等个十几二十秒还能接受,等到三五分钟的用户体验就非常恶劣了。

那么,报表为什么会 [查看全文]

【数据蒋堂】第2期:非结构化数据分析技术是忽悠

【数据蒋堂】第2期:非结构化数据分析技术是忽悠

发布时间:2017-04-12 Tag:,,

大数据概念兴起的同时也带热了非结构化数据分析。传说一个企业中80%的数据都是非结构化数据,如果按占据空间来算,这个比例大体不假,毕竟音视频这类数据真地很大。有这么大的数据量,需要进行分析是很自然 [查看全文]

【数据蒋堂】第1期:多维分析的后台性能优化手段

【数据蒋堂】第1期:多维分析的后台性能优化手段

发布时间:2017-04-05 Tag:,,

多维分析就是针对一个事先准备好的数据立方体实施旋转、切片(切块)、钻取等交互操作的过程,经常也被直接称为OLAP。它的后台运算在结构上很简单,如果用SQL语法描述,大体形式为:

SELECT [查看全文]