《数据蒋堂》的作者蒋步星,从事信息系统建设和数据处理长达20多年的时间。他丰富的工程经验与深厚的理论功底相互融合、创新思想与传统观念的相互碰撞,虚拟与现实的相互交织,产生出了一篇篇的沥血之作。此连载的内容涉及从数据呈现、采集到加工计算再到存储以及挖掘等各个方面。大可观数据世界之远景、小可看技术疑难之细节。针对数据领域一些技术难点,站在研发人员的角度从浅入深,进行全方位、360度无死角深度剖析;对于一些业内观点,站在技术人员角度阐述自己的思考和理解。蒋步星还会对大数据的发展,站在业内专家角度给予预测和推断。静下心来认真研读你会发现,《数据蒋堂》的文章,有的会让用户避免重复前人走过的弯路,有的会让攻城狮面对扎心的难题茅塞顿开,有的会为初入行业的读者提供一把开启数据世界的钥匙,有的甚至会让业内专家大跌眼镜,产生思想交锋。
我们在《多维分析预汇总的存储容量》中计算过,如果想做到O(1)的复杂度,至少要考虑界面用到的各种维度组合,这在维度 [查看全文]
在进一步讨论如何在有限空间内实现多维分析的预汇总之前,我们有必要再了解一下预汇总方案还有什么功能上的不足,也就是要 [查看全文]
多维分析一般是交互式操作的,也就要求有极高的响应速度,而多维分析涉及的数据量常常很大,几千万上亿行甚至更大都有,临 [查看全文]
做一次标题党,其实我们做软件的当然没办法改变芯片的性能,也不可能真地让国产芯片超越Intel。
这个话题从去年 [查看全文]
当我们要对数据做一些非常规的复杂运算时,通常要将数据装入内存。现在也有不少程序设计语言提供了内存数据集对象及基本的 [查看全文]
报表的业务稳定性天生很差,业务开展过程中会催生出许多新的查询统计需求,这就造成了没完没了的报表,这是个无法被消灭的 [查看全文]
最近碰到这么一个案例,情况可以简化总结成这样:数据库中有表T,其中有两个重要的字段a和b,a是一个时间戳,精确到秒 [查看全文]
随着时间推移,数据库中数据量会越来越大,如果把查询分析都挂到数据库上,有可能会影响到生产系统的正常运行。所以,一般 [查看全文]
这里的时序数据泛指一切随时间推移而不断增长的数据,比如通话记录、银行交易记录等。
对于数据库来讲,时序数据并没 [查看全文]
再说一个招聘的话题。
大家可能知道,润乾的软件产品主体都是Java写的,几乎没有别的语言。但是,我们在招聘算法 [查看全文]
所有的报表工具都会提供参数功能,主要都是用于根据用户输入的查询条件来选取合适的数据。比如希望查询指定时间段的数据, [查看全文]
这里说的“内”, 是指数据库之内。
当数据量变大时,我们常常会感到数据库的性能下降明显,但是,无论怎样优化SQ [查看全文]
在向用户推荐新的数据处理技术,特别是涉及性能优化的场景时,经常会碰到生成测试数据的需求。毕竟,新方案要经过验证才能 [查看全文]
最近碰到几家用户在使用HBase或者试图使用HBase来做高性能查询,场景也比较类似,就是从几十亿甚至上百亿记录中 [查看全文]
用户在选购BI解决方案的时候,常常会更关注界面环节的功能指标,比如美观性、操作的流畅性、移动端支持等等。毕竟,BI [查看全文]
经常有用户会问这个问题,你家的产品能处理多大数据量?似乎是这个值越大产品就越牛。
这个问题,其实没多大意义。 [查看全文]
大数据的性能是个永恒的话题。不过,在实际工作中我们发现,许多人都不知道如何进行最简单的性能估算,结果经常被大数据厂 [查看全文]
在数据查询时,有时会碰到数据量很大的清单报表。用户输入的查询条件很宽泛,可能会从数据库中查出几百上千万行甚至过亿的 [查看全文]
大数据的4个V说法在业界已经尽人皆知,这是指的大数据本身的特征。现在我们来考察一下用于处理大数据的技术应该具有的特 [查看全文]
现在有个说法,国家对基础软硬件的投入太少,经常会说微软、Oracle、Intel这些巨头每年的研发费有多少多少,我 [查看全文]
一家之言,开个脑洞。
操作系统在市场上的关键点,并不在于进程管理、文件系统这些看起来很核心的东西,这些东 [查看全文]
这标题摆明了就是招人骂,一下子把国内做数据库的同行们都得罪了,甚至连自己都没落下(我也算做数据库的,而且当然也是国 [查看全文]
自从AlphaGo赢了之后,人工智能就变得非常热门了。不过,大家在关注“智能”时,却很少把注意力放在“人工”上,似 [查看全文]
前一阵子公司有个售前来沟通某个用户的情况:数据量比较大,又涉及很多复杂的关联计算,在数据库中用SQL计算性能很差。 [查看全文]
下面是我在学习了解区块链技术过程中产生的疑问,思考问题的过程中也会让自己对这项技术理解得更深刻。我不算初学者(知道 [查看全文]
Hadoop是当前重要的大数据计算平台,它试图摒弃传统数据库的理念,重新构建一套新的大数据体系。但是,这并不是件很 [查看全文]
Hadoop是个庞大的重型解决方案,它的设计目标本来就是大规模甚至超大规模的集群,面对的是上百甚至上千个节点,这样 [查看全文]
这好像是个多余的问题,大部分大数据平台都把集群透明化作为一个基本目标在努力实现。
所谓集群透明化,是指把一个多 [查看全文]
回归SQL是当前大数据计算语法的一个发展倾向。在Hadoop体系中,现在已经很少有人会自己从头来写MapReduc [查看全文]
临时性计算,顾名思义,是指临时发生的一些计算需求。这种计算在日常数据处理中很常见,我们举一些例子:
应对 [查看全文]
报表开发,看起来只是数据呈现环节的事务,并不起眼,但仔细想想,它涉及的工作范围却非常广。如果把查询和交互分析也认为 [查看全文]
我们继续从软件角度上看外存数据源的性能,来考察数据库的性能特点,在这篇文章中,我们只关心数据的访问性能,而不涉及计 [查看全文]
我们以前讲过硬盘的性能特征,主要是针对硬件层面进行分析的,现在我们来考虑软件层面的差异。
理论上讲,软件可以穿 [查看全文]
区块分段方案能够满足我们设定的4个目标。不过,除了处理区块标记的麻烦外,这个办法对于列存也不是非常适合。
数据 [查看全文]
现代计算机一般都有多CPU核,而日益广泛应用的固态硬盘也有较强的并发能力,这些硬件资源都为并行计算提供了有力的保证 [查看全文]
谈到数据分析时常常会用到维度这个词,针对数据立方体的钻取、旋转、切片等操作都是围绕维度进行的,几乎所有的数据分析人 [查看全文]
我们再来看同维表和主子表的JOIN,这两种情况的优化提速手段是一样的。
设两个关联表的规模(记录数)分别是N和 [查看全文]
蒋步星《JOIN运算的简化与提速》系列技术文章。
近期,蒋步星在「天善智能」直播分享了《JOIN运算的简化与提速》,视频地址:https://edu.hellobi.co [查看全文]
10月19日,蒋步星在「天善智能」直播分享了《JOIN运算的简化与提速》,视频地址:https://edu.hellob [查看全文]
我们讨论过的常规聚合运算如SUM/COUNT和非常规聚合运算如maxp/top,都是事先设计好的聚合函 [查看全文]
标准SQL中提供了五种最常用的聚合运算:SUM/COUNT/AVG/MIN/MAX。观察这几个运算,我们发现它们都 [查看全文]
细心的读者可能会发现,我们在讨论有序分组时只研究了待分组集合的成员次序对分组运算可能的影响,但即然要考虑集合的有序 [查看全文]
我们知道,SQL延用了数学上的无序集合概念,所以SQL的分组并不关注过待分组集合中成员的次序。我们在前面讨论过的 [查看全文]
我们在上一期研究了分组运算的实质,即将一个集合按某种规则拆 [查看全文]
分组是SQL中常见的运算,但未必所有人都能深刻地理解它。
分组运算的实质是将一个集合按照某种规则拆分成若干个 [查看全文]
遍历可以说是最基本的集合运算了,比如求和、计数、寻找最大最小值等聚合运算,按条件过滤集合、根据集合成员生成另一个新 [查看全文]
所谓离散性,是指集合的成员可以游离在集合之外存在并参与运算,游离成员还可以再组成新的集合。从离散性的解释上可以知道 [查看全文]
SQL作为最常用的结构化数据计算语言,虽然在做一些细致处理时不太方便,但用于描述基本运算还是比Java等高级语言要 [查看全文]
当前的大数据平台在处理结构化数据时大都仍然以提供SQL语法为主流。兼容SQL的好处是很明显的,SQL的应用非常广泛 [查看全文]
在结构化数据处理领域,SQL无疑是应用最广泛的工作语言,不仅被所有关系数据库采用,许多新进的大数据平台也将实现SQ [查看全文]
我们知道,SQL长得很像英语,简单的SQL语句直接可以作为英语读。除了SQL外,其它主要程序设计语言都没有这样,语 [查看全文]
我们在上一期谈到,数据库的臃肿,也就是过多的中间表以及相关存 [查看全文]
许多大型用户的数据库(仓库)在运行多年之后,都会积累出很多的数据表,严重者数以万计。这些数据表年代久远,有些已经忘 [查看全文]
存储过程移植困难是经常被诟病的,在罗列存储过程的缺点时,这一条几乎从来不会被遗漏。
存储过程的移植确实很困难, [查看全文]
存储过程是数据库领域中应用非常广泛的技术,关于它的利弊讨论由来已久,我们这里针对存储过程的两个公认度较高的优点进行 [查看全文]
从早期的多维分析(OLAP)到近年来的敏捷BI,BI产品厂商一直在强调自助能力,宣称可以由业务人员自己分析数据,而 [查看全文]
我们在上一期已经解释了报表应用结构中数据计算层的必要性,以及可以使用报表工具自定义数据源接口来实现计算层。在计算层 [查看全文]
在传统的报表应用结构中,报表工具一般都是与数据源直接连接,并没有一个中间的数据计算层。确实,大部分情况下的报表开发 [查看全文]
列存是常见的数据存储技术,在许多场景下也确实很有效,因而也被不少数据仓库类产品采用,在业内列存也常常就意味着高性能 [查看全文]
我们都知道内存比硬盘要快得多,大概能快出一两个数量级(价格也要贵这么多)。不过,硬盘的问题并不只是访问速度慢。 [查看全文]
OLAP是商业智能应用中重要的组成部分,这个词从字面上理解是在线分析的意思,也就是由用户, [查看全文]
一英里不是个很长的距离,一立方英里相对于地球也不会让人觉得是个很大的空间。然后我说,这个空间内能装下全世界所有人, [查看全文]
索引是经常用到的技术,但有些程序员对索引的原理了解不深,发现数据查询性能有问题立刻就想起建索引,但效果常常也 [查看全文]
应用系统中的报表,作为面向业务用户的窗口,其性能一直被高度关注。用户输入参数后都希望立即就能看到统计查询结果,等个 [查看全文]
大数据概念兴起的同时也带热了非结构化数据分析。传说一个企业中80%的数据都是非结构化数据,如果按占据空间来算,这个 [查看全文]
多维分析就是针对一个事先准备好的数据立方体实施旋转、切片(切块)、钻取等交互操作的过程,经常也被直接称为OLAP。 [查看全文]