Es casi una cuestión de semántica. Se discute mucho aire caliente en las discusiones sobre esto, pero no estoy realmente convencido de que haya una profundidad filosófica real para una distinción entre los dos.
En algún nivel, puede ver ETL como datos transformadores en una herramienta del lado del cliente antes de finalmente cargarlo, con ELT lo que implica que los datos se transfieren a algún tipo de área de preparación con relativamente poco cambio en el formato. La 'transformación' tiene lugar después.
Estas son definiciones muy esponjosas y podrían aplicarse a una amplia variedad de arquitecturas técnicas, y hay muchos diseños posibles que cualquiera de los términos podría usarse para describir.
Estoy muy a favor de una arquitectura en la que toda la lógica de transformación y de negocios pueda integrarse en una base de código más o menos homogénea, y he hecho muchos sistemas en los que la lógica de transformación era bastante compleja. Esto solía usar la herramienta ETL para obtener los datos y luego toda la transformación se realizó en procedimientos almacenados. Podría decirse que esto podría describirse como ETL o ELT con la diferencia simplemente de ser una semántica.
Sin embargo, algunas herramientas están muy centradas en la base de datos (Oracle Data Integrator, por ejemplo, a menudo se conoce como una herramienta ELT). Si se suscribe a esta vista, entonces 'Extraer' y 'Cargar' suceden antes de que los datos se transformen a medida que se desembarcan en un área de ensayo y luego se procesan mediante código SQL o PL / SQL (que puede generar la herramienta o escrito a mano). Varias personas con las que he hablado parecen considerar el mérito principal de ODI, ya que no es OWB.
Si utiliza una herramienta del lado del cliente, como Informatica Powercentre o MS SQL Server Integration Services, la herramienta puede realizar una transformación extensa al lado del cliente de datos. Algunas herramientas ETL, como Ascential Datastage y Ab Initio, están diseñadas para hacer mucho trabajo con archivos planos y estructuras de datos en memoria para mayor velocidad. En este tipo de arquitectura, la transformación ya se ha realizado antes de que se cargue. Quizás este tipo de arquitectura podría clasificarse definitivamente como 'ETL', aunque he visto muchos proyectos centrados en herramientas en los que todo el trabajo real se realiza mediante un montón de código de procedimiento almacenado.
Las herramientas y los enfoques arquitectónicos tienen ventajas, pero no se puede hacer una declaración general sobre los méritos de los enfoques 'ETL' versus 'ELT' porque los términos son tan amplios que la diferencia no tiene sentido. Algunas herramientas y arquitecturas pueden tener ventajas específicas, por ejemplo, el uso intensivo de archivos planos por parte de Ab Initio le brinda una ventaja de rendimiento significativa en grandes volúmenes de datos.
En la práctica, hacer la distinción entre 'ETL' y 'ELT' no tiene mucho sentido sin entrar en una discusión mucho más profunda de los requisitos del sistema, la plataforma y la arquitectura técnica.