自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

转载 第 39 期:数据分段讨论

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

2018-12-19 18:01:46 464

转载 第 40 期:倍增分段技术

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

2018-12-19 18:01:15 338

转载 第 41 期:文件的性能分析

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

2018-12-19 18:00:32 262

转载 中国报表漫谈

这两年来雨后春笋般地冒出二三十家做报表工具的公司,统统号称能处理中国式报表,大概是这中国报表复杂得都世界闻名了,但凡能搞得定中国的报表,那也就没什么搞不定的报表了。弄到后来有好些所谓的报表只要能在格子里摆条斜线就敢说能对付中国报表(这也太小瞧祖国文化了),而且老外也开始扬言适合于中国报表了,这时髦,不赶怕是不行了。可话说回来,这中国的报表确实够复杂、巨费劲。用户拿出一撂纸往咱面前一堆:“就照这...

2018-12-19 17:56:29 664 1

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

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

2018-12-11 11:34:48 334

转载 第 43 期:报表开发的现状

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

2018-12-11 11:34:01 583

转载 应对报表没完没了的五个步骤

报表的业务稳定性天生很差,业务开展过程中会催生出许多新的查询统计需求,这就造成了没完没了的报表,这是个无法被消灭的任务,也是许多行业软件开发商非常头疼的事情。投入了很多人力,也引入了专业报表工具以及敏捷 BI 产品,却依然搞得灰头土脸,常常被客户抱怨。这是为什么呢?又该怎么解决呢?因为报表工具只能解决报表呈现环节的那部分工作,而报表开发过程中,占据工作量更大的部分是在数据准备的环节,这就不是报...

2018-12-05 19:41:38 413

转载 内存数据集产生的隐性成本

当我们要对数据做一些非常规的复杂运算时,通常要将数据装入内存。现在也有不少程序设计语言提供了内存数据集对象及基本的运算方法,可以较方便地实现这类运算。不过,如果对内存数据集的工作原理了解不够,就可能写出低效的代码。我们看数据集的产生。比如要生成一个 100 行 2 列的数据集,第一列 x 为序号,第二列 xx 是第一列的平方。第一种方法,先生成一个空数据集,再一行一行地追加数据进去。...

2018-12-05 19:40:27 478

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除