Los data lakes y data warehouses resuelven problemas diferentes. Los data lakes almacenan datos sin procesar de forma económica en su formato nativo, mientras que los data warehouses analizan datos seleccionados rápidamente. La forma en que los uses (juntos o por separado) afectará al tipo de trabajo que tu equipo de analistas pueda llevar a cabo, y la escala de los datos modernos vuelve más importante a esta elección. En 2024, se crearon, capturaron, copiaron o consumieron 402.89 millones de terabytes de datos al día, lo que supone casi 147 zettabytes al año.
A continuación, compararemos los data lakes con los data warehouses y explicaremos en qué se diferencian en los esquemas, los costos, el rendimiento y la gestión, además de cómo relacionar la arquitectura adecuada con tus cargas de trabajo.
Aspectos destacados
Los data lakes utilizan el schema-on-read para almacenar datos sin procesar de forma flexible, mientras que los data warehouses utilizan el schema-on-write para ofrecer un rendimiento de consultas rápido y consistente de inteligencia empresarial (BI) y elaboración de informes.
Los equipos de datos experimentados suelen utilizar ambos sistemas en una arquitectura de capas, en la que los datos sin procesar llegan a un data lake y los datos seleccionados se envían a un data warehouse para su análisis.
El enfoque de datos de pagos heredados que consistía en crear tu propio proceso solía ser vulnerable, ya que los cambios de esquemas de la API podían dañar el proceso.
¿Qué es un data lake?
Un data lake es un repositorio centralizado que almacena datos en su formato original. Esto incluye datos estructurados (tablas), datos semiestructurados, como los registros de la Notación de objetos de JavaScript (JSON), y datos no estructurados (texto, imágenes, video).
El concepto principal detrás de un data lake es el schema-on-read. Los datos llegan exactamente tal y como se generan, y su estructura se aplica posteriormente durante la consulta, cuando la persona sabe la pregunta que quiere responder. Esa flexibilidad hace que los data lakes sean adecuados para la ingesta a gran escala y el análisis exploratorio. Permiten almacenar prácticamente cualquier elemento, sin necesidad de definir un modelo de antemano.
¿Qué es un data warehouse?
Un data warehouse es un sistema de análisis estructurado, diseñado para consultas rápidas y coherentes.
Antes de que los datos lleguen a un data warehouse, suelen limpiarse, transformarse y modelarse en esquemas bien definidos, optimizados para el análisis. A este enfoque se lo conoce como schema-on-write: la estructura y las definiciones se determinan antes de almacenar los datos. El resultado es un entorno preparado en el que los analistas pueden ejecutar consultas, desarrollar dashboards y calcular métricas sin preocuparse por formatos incoherentes o faltantes de contexto.
Mientras que un data lake prioriza la flexibilidad, un data warehouse prioriza la confiabilidad y el rendimiento en los análisis.
¿Cuáles son las diferencias clave entre un data lake y un data warehouse?
Las diferencias prácticas entre los data lakes y los data warehouses van mucho más allá de dónde se almacena la información. Sus estructuras, quiénes pueden usarlos y cuánto cuestan las consultas también representan distinciones clave.
Estructura
Los data lakes almacenan datos sin procesar y aplican una estructura únicamente cuando se ejecutan las consultas. Esa flexibilidad permite realizar distintas interpretaciones del mismo conjunto de datos. Los data warehouses aplican la estructura cuando se escriben los datos para que todas las personas que consultan los pedidos vean el mismo esquema y las mismas definiciones.
Rendimiento de las consultas
Los data warehouses están diseñados para realizar análisis interactivos. Las consultas en las tablas de gran tamaño de sistemas como Snowflake o BigQuery pueden regresar en unos segundos. Consultar archivos sin procesar en el almacenamiento del data lake puede resultar un proceso más lento y costoso a menos que hayas invertido en optimizaciones como el almacenamiento en columnas, las particiones y la compactación.
Tipos de datos
Los data warehouses se destacan en los datos estructurados y relacionales que se usan en la elaboración de informes y los dashboards. Los data lakes son más complacientes: Pueden almacenar registros sin procesar, JSON anidados, conjuntos de datos de aprendizaje automático, imágenes y otros formatos no relacionales.
Gobernanza y confianza
La información de los data warehouses suele atravesar procesos de validación y de transformación, lo que resulta adecuado para la elaboración de los informes empresariales. Los datos en un data lake suelen estar sin procesar y ser exploratorios, por lo que es necesario llevar a cabo procesamientos adicionales antes de admitir las métricas de producción.
Perfil de costos
Los data lakes son mucho más económicos para almacenar grandes volúmenes de datos sin procesar o a los que se accede con poca frecuencia. Los data warehouses cuestan más por terabyte, pero brindan un rendimiento de consultas más veloz y pueden admitir mejor las cargas de trabajo de los análisis de alta concurrencia.
¿Cómo usan las organizaciones los data lakes y los data warehouses en conjunto?
Las plataformas desarrolladas tienden a usar ambos sistemas, y cada una se encarga de la parte del proceso para la que es más adecuada. En general, un data lake funciona como la zona de aterrizaje de los datos sin procesar, mientras que el data warehouse ofrece conjuntos de datos seleccionados y listos para los análisis, dirigidos a los analistas y las herramientas empresariales.
Un modelo común es la arquitectura en medallón, que incluye lo siguiente:
Bronce: Datos asimilados sin procesar.
Plata: Conjuntos de datos limpios y deduplicados.
Oro: Tablas sumadas y listas para las empresas que se usan para la elaboración de informes.
En muchas implementaciones, los datos en bronce y plata viven en el almacenamiento del data lake, mientras que los conjuntos de datos en oro se ofrecen desde un data warehouse.
La desventaja de esta arquitectura en capas es su dificultad. Los datos se duplican en todos los sistemas, los procesos los mueven y los transforman, y los equipos deben gestionar los controles de gobernanza y de acceso en distintos lugares. Las organizaciones simplifican esto mediante la experimentación con arquitecturas lakehouse, desarrolladas sobre tecnologías como Delta Lake, Apache Iceberg o Hudi. Estos sistemas agregan características que suelen asociarse con los data warehouses, como las transacciones en base a las propiedades de atomicidad, consistencia, aislamiento y durabilidad (ACID), además del cumplimiento del esquema, que dirigen hacia el almacenamiento del data lake.
Esto les permite a los equipos usar una sola plataforma en lugar de dos. Su nivel de funcionamiento dependerá de la complejidad de la consulta y del grado de desarrollo del equipo que lo opera.
¿Cómo elegir entre un data lake y un data warehouse?
La respuesta correcta depende de quién use los datos y de lo que necesiten de ellos. En general, las organizaciones tienen múltiples equipos con diferentes requisitos.
Se debe tener en cuenta lo siguiente:
Equipos de inteligencia empresarial (BI) e informes
Si tus consumidores principales son analistas que crean dashboards en herramientas como Looker, Tableau o Metabase, un data warehouse suele ser la mejor base. Estas herramientas dependen de esquemas consistentes, métricas confiables y respuestas de consultas rápidas.
Equipos de machine learning y ciencia de datos
El entrenamiento de modelos suele requerir conjuntos de datos grandes y sin procesar, como flujos de eventos, texto, registros de comportamiento u otros formatos complejos. Los data lakes ofrecen la flexibilidad de almacenar y explorar esos datos antes de que adquieran forma en tablas estructuradas.
Equipos de ingeniería que ingieren datos a gran escala
Cuando los sistemas generan miles de millones de eventos por día, un data lake suele ser el primer destino más práctico. Es más económico, maneja bien los esquemas que evolucionan y no requiere que los sistemas ascendentes se ajusten a un modelo de datos predefinido.
Cargas de trabajo mixtas
Las organizaciones tienden a combinar ambos: un data lake para la ingesta y almacenamiento de datos sin procesar, un data warehouse para el uso de conjuntos de datos seleccionados y una capa de transformación que conecte a ambos. En este tipo de configuración, la pregunta es dónde encaja cada sistema en el proceso general de datos.
¿Cómo encaja un proveedor de pagos en la arquitectura de tu data lake o data warehouse?
El enfoque heredado de los datos de pago consiste en que armes tu propio proceso con una interfaz de programación de aplicaciones (API) para que maneje la paginación y los límites de tasa, escriba los resultados en el almacenamiento y mantenga la integración de forma ininterrumpida.
Eso funciona, pero es vulnerable. Los cambios de esquemas de la API pueden dañar el proceso, el llenado del historial requiere más lógica y los datos de pago incluyen información financiera confidencial. Es decir que su envío a través de proveedores de servicios extract, transform, and load (ETL) adicionales expone la seguridad a algo con lo que muchos equipos de finanzas y cumplimiento de la normativa no se sienten cómodos.
Stripe Data Pipeline aborda directamente estos problemas. Es un conector nativo creado y mantenido por Stripe que está disponible para los usuarios de Stripe y funciona al sincronizar los datos de Stripe (transacciones, clientes, suscripciones, transferencias) directamente a un data warehouse o a un destino de almacenamiento en la nube.
En comparación con los conectores de terceros, el enfoque nativo tiene algunas ventajas:
Datos íntegros: Stripe Data Pipeline incluye datos históricos de tu cuenta, informes financieros prediseñados y conjuntos de datos seleccionados que los conectores de terceros a menudo no exponen o requieren una configuración personalizada para poder revelarlos.
Confiabilidad a gran escala: Debido a que el proceso es operado por la propia Stripe, rastrea automáticamente los cambios de API, maneja la evolución de los esquemas y tiene en cuenta casos extremos en el modelo de datos de Stripe, que los conectores externos a veces pasan por alto.
Menor vulnerabilidad de la seguridad: Los datos de transacciones financieras viajan de Stripe al destino de almacenamiento, sin pasar por la infraestructura del proveedor intermediario, lo que simplifica la configuración de la seguridad de datos.
Cómo te puede ayudar Stripe Data Pipeline
Stripe Data Pipeline te permite realizar el mismo análisis en tu data warehouse si combinas tus datos de Stripe con el resto de los datos de la empresa. Tanto Stripe Data Pipeline como Stripe Sigma reciben la información de los datos de Stripe, pero el Data Pipeline facilita la visualización de esos datos con otros conjuntos de datos.
Stripe Data Pipeline puede ayudarte a hacer lo siguiente:
Sincronizar directamente con tu data warehouse
Los datos se envían a Amazon Redshift, Snowflake o Amazon S3 sin la intervención de conectores de terceros, lo que mantiene alejados a los datos financieros de las infraestructuras de otros proveedores.Establecer una sola fuente de información confiable
Centraliza todos tus datos de Stripe en un solo lugar para acelerar tu cierre financiero, identificar los mejores métodos de pago, mejorar los modelos de inteligencia artificial (IA) y más.Realizar la configuración sin programación
La conexión se establece desde el Dashboard de Stripe, y es una integración que no requiere programación. Configura Stripe Data Pipeline en minutos para recibir tus datos de Stripe e informes en tu destino de almacenamiento de datos de forma automática y constante.
Conoce más sobre cómo Stripe Data Pipeline puede ayudarte a aprovechar los datos de tu negocio.
El contenido de este artículo tiene solo fines informativos y educativos generales y no debe interpretarse como asesoramiento legal o fiscal. Stripe no garantiza la exactitud, la integridad, adecuación o vigencia de la información incluida en el artículo. Si necesitas asistencia para tu situación particular, te recomendamos consultar a un abogado o un contador competente con licencia para ejercer en tu jurisdicción.