永发信息网

用ETL组件实现和sql相比哪个效率高

答案:2  悬赏:80  手机版
解决时间 2021-01-31 16:32
  • 提问者网友:雨不眠的下
  • 2021-01-31 08:56
用ETL组件实现和sql相比哪个效率高
最佳答案
  • 五星知识达人网友:污到你湿
  • 2021-01-31 09:31
相比来说,SQL语句执行效率要更高。但是各有各的好处。事实上ETL组件其实也是SQL,只是组件能够帮你实现有些SQL实现起来很麻烦或者不能实现的东西,比如你所要集成的数据是从不同服务器,不同数据库,不同数据源(如从TXT和数据库,SQL和数据库的数据集成)提取数据,那么SQL将会比较难实现,ETL则有连接组件直接可以连接并且提取。但效率上来说,SQL执行更加直接,只针对数据操作,所以效率更高,而ETL执行,则需要加载对应组件,连接数据库,并且考核数据库数据返回类型等原因。作用上说,ETL通常用于建立数据仓库一类的东西,进行数据集成,清洗,转换,加载。而SQL则更加注重的是数据基础,开发,处理等。
全部回答
  • 1楼网友:洎扰庸人
  • 2021-01-31 09:38
楼主好,我现在正在做bi相关的东西。如果etl和sql来说,肯定是sql效率高的多。但是双方各有优势,先说etl,etl主要面向的是建立数据仓库来使用的。etl更偏向数据清洗,多数据源数据整合,获取增量,转换加载到数据仓库所使用的工具。比如我有两个数据源,一个是数据库的表,另外一个是excel数据,而我需要合并这两个数据,通常这种东西在sql语句中比较难实现。但是etl却有很多现成的组件和驱动,几个组件就搞定了。还有比如跨服务器,并且服务器之间不能建立连接的数据源,比如我们公司系统分为一期和二期,存放的数据库是不同的,数据结构也不相同,数据库之间也不能建立连接,这种情况下,etl就显得尤为重要和突出。通过固定的抽取,转换,加载到数据仓库中,即可很容易实现。 那么sql呢?sql事实上只是固定的脚本语言,但是执行效率高,速度快。不过灵活性不高,很难跨服务器整合数据。所以sql更适合在固定数据库中执行大范围的查询和数据更改,由于脚本语言可以随便编写,所以在固定数据库中能够实现的功能就相当强大,不像etl中功能只能受组件限制,组件有什么功能,才能实现什么功能。 所以具体我们在什么时候使用etl和sql就很明显了,当我们需要多数据源整合建立数据仓库,并进行数据分析的时候,我们使用etl。如果是固定单一数据库的数据层次处理,我们就使用sql。当然,etl也是离不开sql的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯