首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
蒋堂专题
数据蒋堂 | 还原分组运算的本意
来源:数据蒋堂 作者:蒋步星 本文长度为2600字,建议阅读4分钟 分组是SQL中常见的运算,但未必所有人都能深刻地理解它。 分组是SQL中常见的运算,但未必所有人都能深刻地理解它。 分组运算的实质是将一个集合按照某种规则拆分成若干个子集,也就是说,返回值应当是一个由集合构成的集合,但人们一般不太关心构成这个集合的成员集合(我们称为
阅读更多...
数据蒋堂 | JOIN简化 - 消除关联
来源:数据蒋堂 作者:蒋步星 本文长度为2200字,建议阅读5分钟 本文为你讲解SQL中用于多表关联的JOIN运算的简化——消除关联。 我们将等值JOIN分成三种情况来分别讨论,分情况相当于加强了条件,我们可以充分利用每种情况下的特征。 1. 外键属性化 先看个例子,设有如下两个表: employee表和delpartment表的主键都是其中的id字段,employee表的d
阅读更多...
数据蒋堂 | JOIN提速 - 外键指针的衍生
来源:数据蒋堂 作者:蒋步星 本文长度为1320字,建议阅读3分钟 本文为你讲解外间指针的衍生。 我们继续讨论外键JOIN,并延用上一篇的例子。 当数据量大到无法全部放进内存时,前述的指针化方法就不再有效了,因为在外存无法保存事先算好的指针。 一般来讲,外键指向的维表容量较小,而不断增长的事实表要大得多。如果内存还能把维表放下的话,我们可
阅读更多...
数据蒋堂 | JOIN提速 - 外键指针化
来源:数据蒋堂 作者:蒋步星 本文长度为1520字,建议阅读4分钟 本文为你讲解重新定义JOIN后如何能够提高运算性能。 我们来看重新定义JOIN后如何能够提高运算性能,先看外键式JOIN的情况。 设有两个表: 其中sales表中的productid是指向products表中id字段的外键,id是products表的主键。 现在我们想计算销售额有多少(为简化讨论,就不再设
阅读更多...
数据蒋堂 | 报表开发的现状
作者:蒋步星 来源:数据蒋堂 本文共1692字,建议阅读5分钟。通过本文为大家解读报表开发难点重点和现状问题。 报表开发,看起来只是数据呈现环节的事务,并不起眼,但仔细想想,它涉及的工作范围却非常广。如果把查询和交互分析也认为是报表事务的话(呈现形式本来也是报表),那么可以说,绝大多数ETL都是在为报表准备数据而存在的;而且,在数
阅读更多...
数据蒋堂 | 人工智能中的“人工”
作者:蒋步星 来源:数据蒋堂 本文共1085字,建议阅读4分钟。本文为你介绍人工智能的背后的“人工”,主要包括数据准备和数据科学家。 自从AlphaGo赢了之后,人工智能就变得非常热门了。不过,大家在关注“智能”时,却很少把注意力放在“人工”上,似乎感觉上了人工智能之后,一切都能自动化了。其实,这份智能的背后有着大量的“人工”,还有相当多不能自动化的事情。 这里的"人工"主要体现在两个
阅读更多...
数据蒋堂 | 存储和计算技术的选择
作者:蒋步星 来源:数据蒋堂 本文共1093字,建议阅读4分钟。本文为你介绍NoSQL、RDB、集算器三种数据库的储存与计算。 前一阵子公司有个售前来沟通某个用户的情况:数据量比较大,又涉及很多复杂的关联计算,在数据库中用SQL计算性能很差。本来这种场景是比较适合集算器的集文件(集算器特有的压缩二进制格式)存储并计算,但据说这个用户的历史数据还会经常变动,而集文件目前没有提供改写能力(为
阅读更多...
数据蒋堂 | 多维分析预汇总的存储容量
作者:蒋步星 来源:数据蒋堂 本文共1700字,建议阅读7分钟。本文带你感性认识多维分析方案中的预汇总额外占用的存储空间。 多维分析一般是交互式操作的,也就要求有极高的响应速度,而多维分析涉及的数据量常常很大,几千万上亿行甚至更大都有,临时统计很可能跟不上界面的操作。为了保证性能,一些多维分析产品采用了预汇总方案,也就是把需要看到的统计结果事先计算好,这样计算复杂度就从O(n)变成O(1
阅读更多...
数据蒋堂 | 时序数据从分表到分库
作者:蒋步星 来源:数据蒋堂 本文共5500字,建议阅读10+分钟。一个物理表的数据量太大时,就会影响查询和计算的性能。 这里的时序数据泛指一切随时间推移而不断增长的数据,比如通话记录、银行交易记录等。 对于数据库来讲,时序数据并没有什么特殊性,可以和普通数据一样放在数据表中。不过,因为不断增长,积累时间较长后,这种数据的量常常都会很大。一个物理表的数据量太大时,就会影响查询和计算的性
阅读更多...
数据蒋堂 | 数据分布背后的逻辑
作者:蒋步星 来源:数据蒋堂 本文共1100字,建议阅读7分钟。在分布式数据库及大数据平台中,数据如何分布到多台机器中是个很关键的问题。 在分布式数据库及大数据平台中,数据如何分布到多台机器中是个很关键的问题。因为很多运算是数据密集型的,如果数据分布做得不好,就会导致网络传输量变大,从而影响性能。 一般来讲,分布式数据库会提供两种分布策略:对于大表按某个字段(的HASH值)去分布,大多数
阅读更多...
数据蒋堂 | 报表工具的SQL植入风险
作者:蒋步星 来源:数据蒋堂 本文共2600字,建议阅读10分钟。报表开发人员如何规避安全漏洞问题? 所有的报表工具都会提供参数功能,主要都是用于根据用户输入的查询条件来选取合适的数据。比如希望查询指定时间段的数据,就可以把时间段作为参数传递给报表,报表在从数据库中取数时将这些参数应用到取数SQL的WHERE条件上,就可以根据不同参数取出不同数据来呈现了。不过,这样做要求事先把查询条件的规
阅读更多...
数据蒋堂 | 大清单报表应当怎么做?
作者:蒋步星 来源:数据蒋堂 本文共1200字,建议阅读9分钟。在数据查询时,有时会碰到数据量很大的清单报表。 在数据查询时,有时会碰到数据量很大的清单报表。用户输入的查询条件很宽泛,可能会从数据库中查出几百上千万行甚至过亿的记录。如果等着把这些记录全部检索出来再生成报表呈现,那需要很长时间,
阅读更多...