「Sqlserver」数据分析师有理由爱Sqlserver之四-七大数据库产品测评Sqlserver完美胜出

2021-08-19 16:00:32 浏览数 (1)

虽说各家数据库产品大同小易,学会一家,其他家都可以很快上手,但和编程语言的选择一样,人的精力有限下,只能深入研究一家的产品。故在学习之前,认真去评估应该选择哪一家数据库学习,这样的时间也很值得,总比学到一半不断地更换不同产品所浪费的时间好得多。没有最好的产品,只有最合适自己的,此篇同样假设读者们是往数据分析师的方向发展,使用Windows系统为主。

相关阅读

「Sqlserver」数据分析师有理由爱Sqlserver之一-好用的插件工具推荐 「Sqlserver」数据分析师有理由爱Sqlserver之二-像使用Excel一般地使用Sqlserver 「Sqlserver」数据分析师有理由爱Sqlserver之三-最值得使有低投入高产出的Sqlsever

真的有必要写入门级功能教程吗?

发表过前面几篇文章后,有读者反馈需要写一些安装软件的教程,好正式入手练习。

笔者认为,既然已经决定要学,这可不是一时兴起的想法,乃是要真正去下定决心的事情。

Sqlserver作为一款成熟的产品,已经有20年的历史,和我们日常接触的OFFICE产品一样,大量的教程已经可以在网络上找寻到。

虽然鱼龙混杂,但笔者最想达到的目标是,通过从过来者经历,给大家带来一些避坑指南(笔者同样是没有技术背景,只会Excel的情形下接触Sqlserver并学习下来的)。

可以无利益关系地推荐一些阅读过的好书,可以将最刚需最核心有用的功能,简单地串联着给大家方向性的学习指引,但手把手的一些基础性教程,建议读者们去书籍或搜索引擎上自行找寻答案,这也是一名真正合格的学习者应该走的路线,否则只会被一些动机不良的人利用,被贩卖焦虑之余,还搭上自己的无数的时间,学习从来没有所谓的7天从入门到精通。

站在数据分析师的角度看各家数据库

前面说过,合适的才是最好的,每家的数据库产品,在特定群体中是最好的,此处非绝对性地评论好坏。

以下主要介绍笔者接触过或听说过的数据库:Excel、Access、Sqlite、Sqlserver、Oracle、MySQL、MongoDB等,也仅仅是笔者知识范围内的分享,不一定完全客观无误。

从入门角度考虑

许多人觉得数据库离我们很远,普通人哪人本领去驾驭,其实我们天天都在用数据库,只是在Excel环境下使用,比较无感,最容易入门的要算Excel了,在Excel上以数据库的思维去管理、规范数据,即已经用上了一个小型的、易用的、学习成本最低,产出最高的数据库工具。

一般来说,从Excel可以平滑过渡到Access,它们同样是OFFICE家庭的,也同样是单机版的,并且一般安装完整版OFFICE,都很容易找到Access。

所以论入门上手性,Access应该仅次于Excel,同样是非常容易入门学习的(但遗憾的是作为分析性需求,Access学习的性价比不高,但市面的教材基础只会从开发简单系统的开发者视角去讲解)。

和Access对标的数据库有Sqlite,非常流行的文件型单机版数据库,在专业开发者领域大受欢迎,但因其只在专业开发者领域有作为,本来专业开发者已经有了深厚的数据库背景。

所以网络上的教程,可能已经假设性地读者已经有了其他数据库使用经验,只是带大家类比在Sqlite上同等功能的实现方式是什么,所以不一定入门教程写得让普通 人容易理解和掌握,并且有一些硬伤致使我们不会去使用它,后面会提及。

在服务器版的数据库中,大家看排名可以看到大概就是Sqlserver,MySQL、Oracle这几家,同时有大数据所使用的MongoDB。

数据库使用排名

这个排名是综合性的应用,并非指数据分析师群体所应该照搬接受的,需要有辩证性思维看待。

在服务器级别的数据库中,学习成本都较高,各家产品也只能从中挑选自己最值得学习的。

从微软一直所诉求的让用户更容易、更低门槛使用自家的产品,这个学习成本上,毫无悬念地是Sqlserver是最低的学习成本,并且就微软自家也出了不少的官方教程,有任何问题都可以轻松地在官方文档上找到答案,当然还有大量的书箱和网络博客文章介绍。

从产品成本角度看

数据库产品有分商业产品和免费产品,其实对我们数据分析师的场景来说,并未使用到许多高级的功能和高性能的要求,所以按常理说,免费产品已经够我们使用。

市场上的数据库产品的热门程度,也很大程度上因为一些开源、免费的产品所追捧。

但有时免费的就是最贵的,对于数据分析师的群体,对数据库的所需功能并不多,也并非要像专业开发者那样去选择MySQL这些免费的数据库。在Sqlserver上,同样有免费版可用于商业用途,如Sqlserver Express、或更小的Sqlserver LocalDB等,该有的数据分析类核心功能一个都不少。

通常来说,免费的东西,功能都不及商业产品完善,学习和使用成本更高。是否应该使用免费的产品是公司层面的事情,若个人学习的需要,没必要较劲于此,优秀的企业不会把产品成本当作是负担,相反是带来价值和回报的。

在云时代里,产品的使用是租用的方式,无需单次买断式购买,成本其实也降低许多,例如数据库的服务,在云产品里也完全是正版化,可以合规使用,例如Sqlserver的数据库,在Azure云上,对于数据分析类需求,无需长期性开启服务,在Azure按时间收费的模式,性价比非常高,后续会单独开文讲述。

在历史原因下,MySQL因支持多平台部署,特别是Linux系统可用,才能让众多互联网企业所追捧,可以一次性免数据库和操作系统的成本。但在数据分析师的场景下,这都不是什么事,谁会觉得用个Linux系统来做数据分析是正解。况且如今是云时代,更没优势可言。

从产品功能角度看

虽说数据分析的场景,使用的功能无需太复杂,但同样地站在数据分析的视角,在使用和数据分析相关的功能上,各大数据库的差异还是非常明显。

在单机版的Excel、Access、Sqlite产品上,其SQL查询功能非常弱,面对数据分析的需求,几乎可以跳过,不予采用,特别是没有存储过程,这将会使复杂的查询无从开展。同时这些单机版数据库,面对复杂查询,也将会死机的状况,因其设计只是针对少量数据的存储功能为主。

而在主流的MySQL、Oracle、Sqlserver上,理当选择Sqlserver,在有同等功能上,Sqlserver永远是最容易学习和使用的,况且他们的功能也是不对等的。

先撇开Oracle可能会同样有相同的对等功能,毕竟是商业性数据库,产品同质化会比较严重,没有什么独特功能是对方所独有的。但使用Oracle的企业群体是大型企业,购买费用极其高昂,Oracle法务团队极其庞大、云时代下其产品颓式明显等特点,希望作为数据分析师的尽早远离。

在MySQL和Sqlserver的对比上,在数据分析的功能层面上,也是将MysQL拉开一大距离,在最新版MySQL已经支持窗口分析函数,这也算是差距略有减少。

在Sqlserver中,拥有丰富的原生功能和非常易用的使用体验(毕竟是商业产品,这个不用思考都可知道),还可以得天独厚地和自身的WinDows、OFFICE、.NET语言环境等紧密相关。

在Oracle上有,而Sqlserver上没有的常规功能,只要使用Sqlserver的CLR程序集扩展功能,都不是什么难的事,并且实现的效果更佳,例如在数据库层面使用正则表达式来查询清洗数据,这是数据分析师们很大的刚需功能。在后续的推广中也将给大家详细展开讲解。

同样地,因数据分发过程中,绝大部分的最终数据消费群体都是Windows用户,数据分析师加工整理好的数据源、报表结果,需要分发到终端用户上使用时,如果想保持数据分发的连接性,即可让终端用户自助式与数据库内容交互等操作,例如一个非常广泛的场景是在Excel上交互使用(详细见Excel催化剂与数据库交互篇,在第19、20、21波上有讲述)。

第19波-Excel与Sqlserver零门槛交互-查询篇 第20波-Excel与Sqlserver零门槛交互-数据上传篇 第21波-Excel与Sqlserver零门槛交互-执行SQL语句

在这个层面上,任何其他微软系以外的数据库都有一大痛点,Windows系统不自带这些数据库的驱动程序,若要连接,必须安装相应的驱动,安装过程有时也是充满坑坑洼洼的。

多一个环节的产品,让数据分发的工作带来十分大的阻碍,特别是需要额外安装一些程序包时,这也是让当今B/S架构的系统得以流行的很大原因,让客户机器需要各种条件来满足,势必不如只需一个人人都有的浏览器即可访问来得方便。

但这些在数据分析师的场景下,使用Windows Sqlserver OFFICE的组合,都不是问题,最终用户肯定是使用Windows系统的,肯定有OFFICE软件(WPS也是可以的,因驱动是操作系统提供的,WPS无新事也是用的OFFICE这套的数据连接接口),用户直接连接Sqlserver数据库,无需额外安装驱动程序,这是选择Sqlserver的非常重要的原因之一

从数据处理分析性能角度看

常常在Excel上使用较大数据量进行分析处理时,一大痛苦是需要经历漫长的等待,毕竟单机版的产品设计初衷就不是为了应付大数据的(在Excel的自助式BI模块如PowerPivot、PowerQuery上会有很大的性能改善)。

同样地在Access上亦有这种情况,经常运行过程中显示无响应,需要强制性任务管理器终止程序。

在服务器级别的产品上,就不存在这种情况,如Sqlserver,就算安装在自己同样的普通桌面电脑上,也很少会出现死机情况(死机也只是SSMS客户端死机,关了它也不影响数据库,也一般很少会丢失数据)。

所以站在长远的角度,从性能上考虑,都应该云接触并使用一下服务器级别的数据库如Sqlserver、Oracle这些,并且服务器级别一个很大好处是数据可安全管控,并且可轻松进行分发(只需其他电脑通过用户名、密码连接进来即可,无需单机版那样发送数据源文件)。

桌面级别的数据处理,Excel在10万级别,Access在100万级别,Sqlsever轻松驾驭1000万级别的数据量。

在商业智能BI场景上看

现今已然是自助式分析的时代,传统IT主导的报表系统开发,已逐渐被自助式BI的浪潮所侵蚀,越来越多的业务分析师主导的报表开发被兴起,使用PowerBI或Tableau等自助式BI工具,可以快速开发出非常强大,易用、强交互的数据可视化报表。

在Sqlserver上,非免费版的标准版、企业版中,自带商业智能分析模块,并且是免费性提供,购买了数据库产品,即可使用,无需额外增加费用。这是微软的一大良心服务,对数据分析师来说,这是非常难得的机遇可以合规性地在购买过Sqlserver授权的企业内部使用商业智能模块(个人学习使用,无需购买即可,大可放心使用)。

前面提到的自助式BI工具如PowerBI,充其量只是一个部门级的产品,若上升到企业级的,对标的是Sqlserver的商业智能模块如SSIS(数据ETL工具)、SSAS(完整的数据建模分析服务)、SSRS(已经被PowerBI Report Server所取代)。关于这些主题的展开,在后续推文中再详细讲解。

数据分析的输出,使用BI模型的输出是一个非常不错的选择,毕竟最终用户使用数据过程中,若没有强交互性的提供,参与感太弱,而数据分析师也不可能深入到业务的方方页面,最终数据呈现在业务管理者手中比在分析师手中更能看出问题点,更能让数据产出价值指导实际运营。

在自助式BI工具PowerBI的学习过渡到企业级BI的Sqlserver BI,相信也是为数不少的数据分析师们的选择,这也是笔者能够输出知识分享的一个领域,后续可给大家带来更多的推广介绍。

结语

从以上多个角度云展开分析,从数据分析的视角来看,没有人会拒绝Sqlserver而选择其他数据库产品(当然客观条件公司不允许这没得选择)。

特别是初次接触数据库,想从Excel的使用过渡到更强大的数据管理、处理、分析的工具数据库上,Sqlserver更是无二的选择。

笔者未来聚焦在数据领域的分享,不限于Excel,会分享更多Sqlserver、dotNET、Azure、PowerBI等话题,升级数据分析的能力,欢迎继续关注。

0 人点赞