做网站常用图标,wordpress 文章投票插件,做诚信通网站,优化一下最近有个朋友#xff0c;有几十 PB 的异构数据#xff0c;数据源包括 MySQL、DB2、Oracle、CSV、磁带机#xff0c;等等#xff0c;然后他需要把这些数据中的一些信息做关联整合#xff0c;从这几十 PB 的数据中提取出若干业务字段到数据仓库#xff0c;做统一分析。
数…最近有个朋友有几十 PB 的异构数据数据源包括 MySQL、DB2、Oracle、CSV、磁带机等等然后他需要把这些数据中的一些信息做关联整合从这几十 PB 的数据中提取出若干业务字段到数据仓库做统一分析。
数据载入
他让我推荐数据提取工具我学习了一下发现带 GUI 的开源工具里AirByte 非常不错界面大方支持的 Connector 种类丰富。但是当我深入研究下去发现一个问题它的文档里居然没有任何从表格里提取出若干列做同步的描述倒是支持把数据同步到目标库后再基于 dbt 做自动转换的能力。再一学习才注意到AirByte 是一个 E-L-T 工具而不是一个 ETL 工具ELT、ETL一字之差用途相差万里。
EExtract指的是从源端拉取数据可能是一个 SELECT、可能是 BINLOG、可能是一个文本文件读取动作LLoad指的是把数据装载到数据仓库通常基于 INSERT 语句实现。TTransform指的是对数据做转换。在 ETL 中T 通常是由负责数据同步的软件来完成在 ELT 中这个门道就多了负责数据同步的软件一定会做 E、L 两个操作至于后面的 T在 AirByte 中它提供的解决方案是 dbt在其它系统里可能会依赖目标库/湖的其它解决方案可以非常灵活。
我以前觉得ELT 是真好方便多了。数据先入湖以后随时用随时变换多方便灵活。嗯看上去很美。而实际上对应的麻烦事可真是一大堆
数据传输成本大增。我朋友的这个案例里他的原始数据有几十 PB但是抽取后的目标数据大概就是百 T 的水平。ETL 只需要传百 T 的数据而 ELT 则需要传输几十 PB 的数据百倍的差距。存储成本大增。全量数据存在目标库里会有非常大的存储成本。还不敢随便用过期策略。管理成本大增。因为数据已经入了湖但是里面大部分是永远用不到的垃圾数据如何管理这些数据也是个头疼事。
从这个实际案例我意识到ETL、ELT 没有好坏之分用 ETL 还是 ELT还是要根据业务来选择。浪漫、性感在成本面前不值一提。
数仓
另一个直观的感受就是“数仓”的概念很具体了。数仓很大的价值点就是数据归集作用这个案例里体现得非常明显。
我挺想给他推荐 OceanBase 开源版的可惜他要求数据全场景加密TDETransparent Data Encryption必不可少。而这个我们没有开源。
另外就是我们的存储成本还是高他的场景里如果数据存在 S3 里延迟大点也能接受QPS 非常低一天也就查几次。这个挺适合 4.4 的场景但目标的场景不划算。
最后他这个场景我给他推荐了 SnowflakeS3存储成本很低QPS 非常低说不定机器还可以随用随关。
其它
AirByte 不太行于是看了 Kettle 和 Astera感觉 Kettle 像是上个时代的产物没人维护了一样Astera 感觉可能还可以但是网站也很老旧十年前的风格。TapData 商业版看上去还挺不错的DB2作为数据源都支持但是搜下来发现居然不支持以 Snowflake 作为目标写入
熬AirByte你怎么就不支持 ETL 了呢你完全可以支持一个 ETLT 呀