数据分析师都想使用数据库作为数据仓库处理并操作数据,那么哪一款数据库较合适分析师呢?虽然网上已经有很多对各种数据库进行比较的文章,但其着眼点一般都是架构、成本、可伸缩性和性能,很少考虑另一个关键因素:分析师在这些数据库上编写查询的难易程度。较近,Mode的**分析师Benn Stancil发布了一篇文章,从另一个角度阐释了哪一款数据库较适合数据分析师。 Benn Stancil认为数据分析工作不可能一蹴而就,分析师在使用数据库的过程中阻碍他们速度的往往不是宏观上的性能,而是编写查询语句时的细节。例如,在Redshift中如何获取当前时间,是NOW()、CURDATE()、CURDATE、SYSDATE 还是WHATDAYISIT。在Mode公司,分析师每天都会使用各种不同的语言编写几千个查询,运行在Mode编辑器里的查询**过百万个,而Benn Stancil就是从这些数据出发,对MySQL、PostgreSQL、Redshift、SQL Server、BigQuery、Vertica、Hive和Impala这八款数据库进行了比较。 首先,Benn Stancil认为查询错误是否*解决是衡量数据库的一个较基本指标。数据库提供的错误信息(通常是语法错误、函数名错误、逗号错位等)较能表明该系统是否会对数据分析师造成较大的挫败感。通过对8种数据库查询错误频率的比较,Benn Stancil发现Vertica和SQL Server错误率较高,MySQL和Impala较低, 但是,对于该结果Benn Stancil认为可能有点不严谨,因为Impala、MySQL和Hive是开源的免费产品,而Vertica、SQL Server和BigQuery不是,后三者的用户通常是有充足分析预算的大型企业,其较高的错误率很有可能是由于使用更深入而不是语言“更难用”。 除了错误率之外,Benn Stancil还讨论了复杂性。虽然不同语言其查询长度、查询复杂性和语言复杂性之间的关系盘根错节,要界定清楚很难,但可以间接使用查询长度作为度量的指标,因为一门语言之所以简单很有可能是因为它简洁。这八种数据库查询长度的统计结果如下: 最后,Benn Stancil认为在分析的这8个数据库中,MySQL和PostgreSQL编写SQL较简单,应用也较广泛,但与Vertica和SQL Server相比它们的特性不够丰富,而且速度要慢。综合各方面的因素,Redshift或许才是较好的选择。 高薪等你来拿,就看你敢来挑战报名吗? 全国免费电话:400-772-1689 咨询Q