首页 >

mysql 清除查询,我们可以不再使用ETL了吗 – 数据库 – 前端,mysql user 关键字

ubuntu卸载mysql,mysql ib buffer pool,mysql 修改字节长度,简仪科技连接mysql,sqlcontext写入mysql,mysql user 关键字mysql 清除查询,我们可以不再使用ETL了吗 - 数据库 - 前端,mysql user 关键字

先看一看ETL是做什么用的:ETL是将各个业务系统的数据,通过抽取、清洗、转换之后,加载到数据仓库的过程;ETL可以将分散、零乱、标准不统一的数据整合到一起。完整的ETL功能有很多(ETL是三个三次的缩写…),偶只从偶实际使用的场景出发,说明偶对ETL的理解和实际应用。

偶接触过的项目,使用ETL工具的场景有这个几种:

报表、BI系统:

在公司建设的初期,业务比较少,系统也比较少,一台数据库就搞定了;

随着公司业务的增加,业务系统被拆成很多系统;

随着数据量的继续增加,单个系统的数据增加到一定程度的时候,也做了分库分表;

这时候领导、业务人员在用数据做分析的时候,数据来源可能是多个系统的多张表,这时候企图通过一个复杂的SQL跑出来结果就很困难了;通常公司会建立一个数据仓库,通过ETL工具把数据抽取到数据仓库中,再做数据的拟合和展示。

跨系统的数据加工或查询:

大家现在所在公司,业务系统有几百个,由于业务流程比较复杂,前端系统在做业务操作的时候,在正式提交交易之前,有很多业务校验;比如要查询客户在A系统的交易历史,在B系统的交易历史,在C系统的交易历史;那么就需要分别调用A、B、C系统的接口,这个对前端系统很不友好,那么通常的解决方案是什么?

学阿里,建中台,、把A/B/C系统合并成一个大中台,对外提供服务;这种方法很好,但是非常难;很多公司,别说把A/B/C合成一个系统了,就是A系统本身的重构,都非常地困难;

第二种方案,在前段系统和A/B/C系统之间,增加一层,可以叫做服务中台,它的作用是整合A/B/C系统的服务,然后对外提供一个服务给前端系统调用;好处是前端系统只需要调用服务中台的一个接口即可;

大家现在采用的是第三个方案,把A/B/C系统的数据,通过ETL抽取到一起,并通过Java把数据提前加工好,保存到MongoDB中的同一个Collection中(利用了MongoDB数据结构的特点);再对外提供服务的时候,相当于做了一次单表查询,就可以查询到三个系统的数据;好处是可以调一个接口查出三个系统的数据,并且缓解了三个系统的查询压力;

当然这个方案也有着一个很大的缺陷,就是有一定的延迟,需要根据业务场景进行评估,是否接受这个延迟。

ETL的工具也有不少,大家现在使用的是Informatica,这是收费的,开源的只接触过Kettle;

大家现在是根据数据表的时间戳,做增量抽取,在偶看来,比较理想的方案是业务系统可以把数据“吐出来”,比如业务系统埋点发送MQ、MySQL可以监听binlog日志,不过在大家公司都非常难以实现;

所以,至少在大家项目,ETL是很难被替换掉的。

偶将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

ubuntu卸载mysql,mysql ib buffer pool,mysql 修改字节长度,简仪科技连接mysql,sqlcontext写入mysql,mysql user 关键字mysql 清除查询,我们可以不再使用ETL了吗 - 数据库 - 前端,mysql user 关键字


mysql 清除查询,我们可以不再使用ETL了吗 - 数据库 - 前端,mysql user 关键字
  • 摄像机中的三码流概念是什么 - 数据库 - 前端|
  • 摄像机中的三码流概念是什么 - 数据库 - 前端| | 摄像机中的三码流概念是什么 - 数据库 - 前端| ...

    mysql 清除查询,我们可以不再使用ETL了吗 - 数据库 - 前端,mysql user 关键字
  • access链接表和实体表的区别 - 数据库 - 前端|
  • access链接表和实体表的区别 - 数据库 - 前端| | access链接表和实体表的区别 - 数据库 - 前端| ...

    mysql 清除查询,我们可以不再使用ETL了吗 - 数据库 - 前端,mysql user 关键字
  • mysql每行数据大小 |mysql 如何快速增加字段
  • mysql每行数据大小 |mysql 如何快速增加字段 | mysql每行数据大小 |mysql 如何快速增加字段 ...