首页 > 数据库 >谁都知道SQL“德高望重”,偏偏就有人想取而代之,你同意吗?

谁都知道SQL“德高望重”,偏偏就有人想取而代之,你同意吗?

时间:2022-10-25 22:31:08浏览次数:38  
标签:转换 德高望重 Snowflake 取而代之 SQL 数据 DBT ELT

SQL作为一种关系型数据库广泛都在使用的标准处理语言,由于其优秀的表现已经获得世界范围内厂商和用户的普遍认可。如 MySQL、Oracle、SQL Server、Sybase、Informix 等。甚至在IEEE Spectrum 2022 年顶级编程语言榜单中,SQL 在就业需求中位居第一。

偏偏就是这样一个“德高望重”的SQL,就有人想取而代之。大家都很好奇,到底是谁有这么大的胆子? 为什么它就敢取代SQL?

认识这款要取代SQL的工具 要取代SQL的是一款开源工具DBT(Data Build Tool)。有不少人诧异,DBT究竟有什么的魔力。这里我们来稍作解读。

这是一款用 Python 语言编写的开源软件工具,帮助数据工程师编写选择语句来转换数据平台中的数据,通过SQL实现数据转换,将命令转化为表和视图。

因此,DBT非常适合现代BI堆栈,与Stitch、Fivetran、Redshift、Snowflake、BigQuery、Looker和Mode等产品结合使用。

值得注意的是,DBT主要聚焦于 ELT(提取、加载、转换)中的 T(转换数据)环节,它不提取或加载数据,但设计为在转换仓库内已经存在的数据时表现出色。DBT结合了SQL的优势,将DBT项目变成了 SQL 的编程环境,并提供编程语言。例如在 SQL 中通常无法实现的写函数和控制结构。这意味着数据工程师无需再学新的语言或工具,可以自由地转换数据。

由于现代分析数据库的强大功能,ELT已变得司空见惯。Redshift、Snowflake和BigQuery等数据仓库具有极高的性能和可扩展性,因此此时大多数数据转换用例可以在数据库中而不是在某些外部处理层中更有效地处理。再加上计算和存储的分离,想要在其他地方执行数据转换作业的理由越来越少。

从这些表现来看,DBT确实在SQL的基础上简化了SQL的使用门槛。

根据媒体报道,目前使用 DBT的企业其实不在少数,全球已有超过 759 家公司,包括与 ASICS、Autodesk、DocuSign、Forever 21、WeWork 和 Urban Outfitters 等知名企业。除此之外,DBT 还支持数百个数据库的连接,如 IBM、Oracle、SAP 和 Snowflake 等。

大家为什么吐槽DBT取代SQL? 任何事物都有其生命周期,SQL也不能例外。所以,即便SQL有一天退出历史舞台也没什么可惊讶的。

既然DBT这么优秀的表现,大家听到DBT要取代SQL为什么还会纷纷吐槽,甚至反对呢?

这背后的导火索源自一位知名Twitter 博主(Cogniti首席技术官Matthew Mullins)的一条推文,大意是:DBT背后的商业团队推送一封邮件强迫用户转向DBT,放弃SQL。

一石激起千层浪,这个事情让大多数开发人员表示愤怒。

从使用成本角度来看,SQL支持不需要任何额外的基础设施,但使用DBT,用户只能创建表和视图,还需要支付额外的基础设施来运行DBT,甚至支付培训费用。

从产品功能上来看,DBT还有很多不足之处。诸如,DBT仅涵盖ELT中T这部分,因此用户仍需其他工具来执行提取和加载部分以完成序列;有时候需要重写后端使用的宏,而覆盖DBT这种标准行为需要处理源代码的知识和专业知识;UI确实帮助用户实现可视化数据转换,但对数据工程师更为重要的是需要保持其干净和易于理解。

最为重要担忧是,数据工程师并不希望SQL还要依赖任何第三方平台。原本SQL是一个行业标准语言,这无可厚非,但是DBT只是一个受欢迎的开发工具而已。

简单来说,开发者可以相信一个行业标准,但是如果去依赖某个开发商就显得挺危险的。

对于这样一款意图谋取SQL宝座的开源工具,你是怎么看待的呢?欢迎发表你的评论。

标签:转换,德高望重,Snowflake,取而代之,SQL,数据,DBT,ELT
From: https://blog.51cto.com/u_12208051/5795145

相关文章

  • 快速启动postgresql
    文档说明:只记录关键地方;试验环境:linuxdebian11postgresqlcontainerversion:"3"services:postgresql-server:image:postgres:15-alpinec......
  • 快速启动mysql
    文档说明:只记录关键地方;试验环境:linuxdebian11mysql-serverversion:"3"services:mysql-server:image:mysql:8-debiancommand:--charact......
  • freeSql一对多 oneToMany实例
    一:公司publicpartialclassItemCompanyEntity:EntityFull{  ///<summary>  ///工程ID  ///</summary>  [Column(StringLength=20)]  pub......
  • sql自学记录
    复习SQLjoin :用于根据两个或多个表中的列之间的关系,从这些表中查询数据 eg:SELECTPersons.LastName,Persons.FirstName,Orders.OrderNoFROMPersons,OrdersW......
  • SQL模糊查询语法思考
    模糊查询   sql语句:SELECT字段FROM表WHERE某字段Like条件% :表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分......
  • mysql常用函数
    mysql函数笔记本章内容会用到的建表语句和表数据--创建t_info表CREATETABLE`t_info`(`id`int(11)NOTNULLAUTO_INCREMENT,`user_name`varchar(30)CHA......
  • linux下安装mysql5.7,实测成功
    1、下载MySQL包1)官网下载(可忽略)这里选择linux通用版本,MySQL5.7.28--64位   将压缩包通过ftp或其他方式传送至服务器上2)yum直接下载[root@A11home]#wget http......
  • 全能型选手——华为云数据库GaussDB(for MySQL)
    数据库对企业的重要性是毋庸置疑的,目前我国企业运用较多的是自行组建的数据库系统,但是随着企业业务量的增加和历史数据累积,自建数据库存储空间小、性能差、功能少、数据安全......
  • ElasticSearch SQL学习笔记
    ElasticSearchSQL学习笔记基础信息ElasticSearchSQL是一个X-Pack组件,允许ElasticSearch实时执行类似SQL的查询,由ElasticSearch原生支持,无需安装其他插件。基本语法El......
  • SQL中如何删除重复数据,只保留其中一行
    SQL专栏SQL数据库基础知识汇总SQL数据库高级知识汇总需求分析数据库中存在重复记录,删除保留其中一条(是否重复判断基准为多个字段)解决方案碰到这样的问题我们先分解步......