这个问题的背景,可能是经常听到的一个说法,做数据分析的喜欢用Python,搞IT的人喜欢用SQL。
由于SQL里面能用的函数有限,SQL能做的计算与分析工作较少。一般在SQL里面做一些join,计算一些简单的sum,average这些指标。而Python基本上是什么计算分析工作都可以完成,但是Python不是数据库。所以一般是IT用SQL从数据库中取数据,然后把数据交给数据分析的组用Python分析。
随着数据量的增加,为了性能的考虑,现在越来越多的场景需要直接在数据库中计算,而不是把数据从数据库中取出来再进行计算。这种库内计算的方法,可以大幅提升分析海量数据时的性能。库内计算,除了需要一个与数据库融合的计算引擎,还需要一个功能全面的SQL语言,既可以进行数据库操作,也可以进行数据分析。
这里推荐一下我司的产品DolphinDB。DolphinDB的编程语言与数据库无缝融合,基本上是SQL与Python的结合,任何函数都可以在SQL中直接引用。除了标准SQL的语法,还有很多创新,对大规模时间序列数据的分析与面板数据(panel data)的分析非常方便。