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

相关阅读

「Sqlserver」数据分析师有理由爱Sqlserver之一-好用的插件工具推荐https://www.jianshu.com/p/637aba4aeee5

「Sqlserver」数据分析师有理由爱Sqlserver之二-像使用Excel一般地使用Sqlserver https://www.jianshu.com/p/b40f8a36055e

「Sqlserver」数据分析师有理由爱Sqlserver之三-最值得使有低投入高产出的Sqlsever https://www.jianshu.com/p/8a5396a7a402

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

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

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

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零门槛交互-查询篇 https://www.jianshu.com/p/4cf5bad567e4

第20波-Excel与Sqlserver零门槛交互-数据上传篇 https://www.jianshu.com/p/d63c5d14ebb7

第21波-Excel与Sqlserver零门槛交互-执行SQL语句https://www.jianshu.com/p/865d25fdc37c

在这个层面上,任何其他微软系以外的数据库都有一大痛点,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等话题,升级数据分析的能力,欢迎继续关注。

关于Excel催化剂

Excel催化剂先是一微信公众号的名称,后来顺其名称,正式推出了Excel插件,插件将持续性地更新,更新的周期视本人的时间而定争取一周能够上线一个大功能模块。Excel催化剂插件承诺个人用户永久性免费使用!

Excel催化剂插件使用最新的布署技术,实现一次安装,日后所有更新自动更新完成,无需重复关注更新动态,手动下载安装包重新安装,只需一次安装即可随时保持最新版本!

access对比数据_七大数据库产品测评Sqlserver完美胜出,五大理由告诉你最好选择...相关推荐

  1. access对比数据_数据仓库系列之数据质量管理

    数据质量一直是数据仓库领域一个比较令人头疼的问题,因为数据仓库上层对接很多业务系统,业务系统的脏数据,业务系统变更,都会直接影响数据仓库的数据质量.因此数据仓库的数据质量建设是一些公司的重点工作. 一 ...

  2. mysql数据对比同步_跨数据库mysql语句同步数据和对比运算

    首先,A数据库[需要同步的数据库]A_product数据表[产品基本信息]product_id产品唯一IDprice产品价格A_product_option_value数据表[产品选项]product ...

  3. insert into 多条数据_「数据库」一千行MySQL命令

    基本操作 /* Windows服务 */-- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath= mysqld_bin_pat ...

  4. oracle 如何边看表中字段信息_【Oracle移行到Sqlserver完美解决案】④sqluldr2+bulk 32H=3H...

    在[Oracle移行到Sqlserver完美解决案]③执行时间改善案bcp+bulk 一文中,移行实现了,但数据600多万件,占内存3G多的操作log表,移行需要32H,这个时间我们是无法接受的. 原 ...

  5. 表哥的access入门 资源_理想的产品管理系统之二-找到Access

    前文说过我个人一直在思考庞大复杂的PIM(产品信息管理系统)是否好用,以及能否为现实的中小企业的产品信息管理需求,找到一个高于Excel和现有的一些电子商务系统之上的解决方案. 前面辛辛苦苦,装了又卸 ...

  6. mysql数据库取奇数行数据_查询数据库中的奇数行和偶数行

    功能奇数次执行和偶数次执行时的结果不同的故障复盘 场景:将数据库查询到的数据,写入一个xls文件.完成后,多点几次,发现一个问题,偶数次生成的文件比较小,打开一看,里面只有一行,只有标题,没有内容.分 ...

  7. 两个list怎么对比数据_基于日志的回放对比系统设计

    ‍‍ ‍‍ ‍‍ 点击关注"有赞coder" 获取更多技术干货哦- 作者:马力部门:新零售测试 一.背景 上半年公司的网关系统进行了重构,需要把零售业务已有的网关接口迁移到新网关上 ...

  8. sql server查询某一字段不重复的数据_初识数据库

    数据模型 层次模型 以上下级的层次关系来组织数据的一种方式,其数据结构类似一棵树: 网状模型 将每个数据节点与其他很多节点连接起来,其数据结构类似城市的交通网: 关系模型 将数据看做一个二维表格,数据 ...

  9. cassandra随机获取数据_从数据库随机获取数据库

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

最新文章

  1. 【微信】微信小程序 微信开发工具 创建js文件报错 pages/module/module.js 出现脚本错误或者未正确调用 Page()...
  2. Ubuntu apt安装/卸载软件和设置软件源
  3. vs2017运行显示系统找不到指定的文件_windows 平台使用 VS2017 编译 libevent 源码
  4. 你的Java代码是否符合规范,来测测便知!
  5. Xamarin.Android 开发中遇到旋转屏幕错误
  6. python函数式编程读取数据时出现错误_Python编程中,函数遇到问题是抛出错误好还是约定返回值好?...
  7. Android系统(23)---Android 应用分屏
  8. 停止犯下这5个JavaScript风格错误
  9. django pdf转html5,python – 在Django站点中将HTML转换为PDF
  10. Java实现网页滑动验证与短信验证码案例精析
  11. Ansys-模态分析基础上的谱分析学习收获
  12. tensorflow----tensorboard之histogram与distributions
  13. 史上最快最新最全倾斜摄影(ContextCapture)空三/建模、单机/集群硬件配置方案2018
  14. 网络原理——TCP协议
  15. 怎么限制使用计算机软件,如何禁止计算机用户使用IE浏览器
  16. HaaS学习笔记 | 终端设备接入和断开阿里云IoT物联网平台的明细教程
  17. 《隐私计算法律适用规则报告》:隐私计算如何助力数据合规
  18. 关于C++中cout的使用
  19. 重庆自考2022报名注意事项
  20. Java GPS 经纬度 相关操作

热门文章

  1. HTML(div块浮动)
  2. Python随笔:改变Windows中 pip 的缓存位置与删除 pip 缓存
  3. 动态路由协议BGP介绍
  4. 厉害了,如何搭建一套自己的私有网盘?
  5. Java包(package)的命名规范 规则
  6. 大连大学两日游——省选总结
  7. IDEA设置类注释和方法注释的详细操作步骤
  8. p4-hlir和p4c-bm 编译工具
  9. 笔记本电脑开机密码忘记解决方法
  10. 2022-1-9数据库期末复习(七)第四章——数据库安全性