0
推荐
1677
阅读

【数据蒋堂】第45期:大数据计算语法的SQL化

回归SQL是当前大数据计算语法的一个发展倾向。在Hadoop体系中,现在已经很少有人会自己从头来写MapReduce代码了,PIG Latin也处于被淘汰的边缘,而HIve却始终坚挺;即使是Spark上,也在更多地使用Spark SQL,而Scala反而少很多。其它一些新的大数据计算体系一般也将SQL作为首选的计算语法,经过几年时间的混战之后,现在...

发表了文章 • 2018-04-27 13:42 • 0 条评论

0
推荐
1490
阅读

【数据蒋堂】第44期:谈谈临时性计算

临时性计算,顾名思义,是指临时发生的一些计算需求。这种计算在日常数据处理中很常见,我们举一些例子:应对业务部门的取数需求:比如销售部门想获得进行了某项促销活动前后的销售情况变化信息;数据挖掘算法前的清理准备:将来自各个业务系统的数据(甚至一些企业外部的数据)整理成规则一致的二维表,这些动作常常比...

发表了文章 • 2018-04-25 10:52 • 0 条评论

0
推荐
1403
阅读

【数据蒋堂】第43期:报表开发的现状

报表开发,看起来只是数据呈现环节的事务,并不起眼,但仔细想想,它涉及的工作范围却非常广。如果把查询和交互分析也认为是报表事务的话(呈现形式本来也是报表),那么可以说,绝大多数ETL都是在为报表准备数据而存在的;而且,在数据库中的表,有相当多(经常超过半数)也不是用来存放原始数据,而是为了报表服务的。...

发表了文章 • 2018-04-23 09:40 • 0 条评论

1
推荐
1664
阅读

【数据蒋堂】第42期:RDB与NoSQL的访问性能

我们继续从软件角度上看外存数据源的性能,来考察数据库的性能特点,在这篇文章中,我们只关心数据的访问性能,而不涉及计算性能。关系数据库关系数据库也是很常见的数据存储方式。本质上讲,数据库其实也是一种特殊的二进制文件,但它的性能会弱于直接写在操作系统下的文件,主要原因在于数据库通常都要提供数据更新的...

发表了文章 • 2018-04-10 15:26 • 0 条评论

0
推荐
1299
阅读

【数据蒋堂】第41期:文件的性能分析

我们以前讲过硬盘的性能特征,主要是针对硬件层面进行分析的,现在我们来考虑软件层面的差异。理论上讲,软件可以穿过操作系统直接进行磁盘扇区的访问,但实在太过于麻烦而几乎不会实践机会,这里就不考虑了,我们只讨论操作系统下的存储形式,而文件就是其中重要的存储形式。文件一般有两种:文本文件和二进制文件,我...

发表了文章 • 2018-04-02 17:44 • 0 条评论

2
推荐
1459
阅读

【数据蒋堂】第40期:倍增分段技术

区块分段方案能够满足我们设定的4个目标。不过,除了处理区块标记的麻烦外,这个办法对于列存也不是非常适合。数据按列分别存储后,分段时必须保证各列同步,即各列的分段点对应的是同一条记录的列,否则就会出错数据错位。而各个列的宽度是不同的,同样大小的区块在存储不同列的值时,能装下的个数是不同的,继续按区块...

发表了文章 • 2018-02-02 11:16 • 0 条评论

0
推荐
1630
阅读

【数据蒋堂】第39期:数据分段讨论

现代计算机一般都有多CPU核,而日益广泛应用的固态硬盘也有较强的并发能力,这些硬件资源都为并行计算提供了有力的保证。不过,要实现并行计算还需要有较好的数据分段技术,也就是能方便地把待计算的数据拆分成若干部分,让每个线程(或进程,这里以多线程为例讨论,多进程情况是类似的)分别处理。 设计数据分段方...

发表了文章 • 2018-02-02 11:15 • 0 条评论

0
推荐
1507
阅读

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

明确维度定义后,还可以换一种更清晰的方式来审视数据库的结构。这是我们常见的E-R图:E-R图是个网状结构,实体(表)之间的外键关系直接画在图上,当实体较多时这个图就会显得非常零乱,关联线很随意,任何两个实体之间都有可能发生关联,表现出来的数据结构耦合度很高。在增加删除实体时就要考虑与之关联的所有其它实...

发表了文章 • 2018-02-02 11:13 • 0 条评论

0
推荐
1388
阅读

【数据蒋堂】第37期:JOIN延伸 – 维度查询语法

有了维度定义后,我们就可以来梳理前面讲过的简化JOIN语法了。先定义字段维度:维度字段的维度为其本身;外键字段的维度为相应外键表中关联字段的维度;测度字段没有维度;这是个递归定义。 然后再严格定义同维表和主子表:同维表:两个表的主键字段维度集合对应相同,则称两个表同维;主子表:某个表的主键字段维...

发表了文章 • 2018-02-02 11:12 • 0 条评论

0
推荐
1427
阅读

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

谈到数据分析时常常会用到维度这个词,针对数据立方体的钻取、旋转、切片等操作都是围绕维度进行的,几乎所有的数据分析人员都知道并会运用这个术语,但要问及它的定义,却几乎没有人能给出来。通俗来讲,我们把用来分类的属性(字段)称为维度,比如地区、年度、产品类型等;而另外一些用于聚合运算的属性则称为测度,...

发表了文章 • 2018-02-02 11:11 • 0 条评论

0
推荐
1524
阅读

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

我们再来看同维表和主子表的JOIN,这两种情况的优化提速手段是一样的。设两个关联表的规模(记录数)分别是N和M,则HASH分段技术的计算复杂度(关联字段的比较次数)大概是SUM(Ni*Mi),其中Ni和Mi分别是HASH值为i的两表记录数,满足N=SUM(Ni)和M=SUM(Mi),这大概率会比完全遍历时的复杂度N*M要小很多(运气较好的时候会...

发表了文章 • 2018-02-02 11:09 • 0 条评论

0
推荐
1234
阅读

【数据蒋堂】第34期:JOIN提速 – 外键指针的衍生

我们继续讨论外键JOIN,并延用 上一篇 的例子。当数据量大到无法全部放进内存时,前述的指针化方法就不再有效了,因为在外存无法保存事先算好的指针。一般来讲,外键指向的维表容量较小,而不断增长的事实表要大得多。如果内存还能把维表放下的话,我们可以采用临时指向的方法来处理外键。1. P=file(“products...

发表了文章 • 2018-02-02 11:07 • 0 条评论

0
推荐
1434
阅读

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

我们再来看重新定义JOIN后如何能够提高运算性能,先看外键式JOIN的情况。设有两个表:products商品信息表id        商品编号name  商品名称price   单价…sales商品销售记录seq            序号date          日期productid  ...

发表了文章 • 2018-02-02 11:06 • 0 条评论

0
推荐
1311
阅读

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

蒋步星《JOIN运算的简化与提速》系列技术文章。【数据蒋堂】第29期:JOIN运算剖析【数据蒋堂】第30期:JOIN简化 – 消除关联【数据蒋堂】第31期:JOIN简化 – 维度对齐更多敬请期待…..我们重新审视和定义了等值JOIN运算,并简化了语法。一个直接的效果显然是让语句书写和理解更容易。外键属性化、同维表等同化和主子表一体...

发表了文章 • 2018-02-02 11:05 • 0 条评论

0
推荐
1344
阅读

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

蒋步星《JOIN运算的简化与提速》系列技术文章。【数据蒋堂】第29期:JOIN运算剖析【数据蒋堂】第30期:JOIN简化 – 消除关联更多敬请期待…..我们先把上一期中双子表对齐例子的SQL写出来:SELECT Orders.id, Orders.customer, A.x, B.y FROM OrdersLEFT JOIN (SELECT id,SUM(price) x FROM OrderDetail GROUP BY id ) A ON...

发表了文章 • 2018-02-02 11:04 • 0 条评论