¿Qué es un lago de datos lago de datos? ¿Es lo mismo que el almacenamiento en un almacén de datos? Puede parecer que un lago de datos y un almacén de datos tienen los mismos usos; al fin y al cabo, tanto los lagos como los almacenes almacenan cosas. Aunque ambos son repositorios de datos y pueden trabajar juntos de forma sincronizada, cada uno tiene un propósito diferente a la hora de recopilar datos para su empresa. Conocer sus diferentes funciones, beneficios, usos apropiados y cómo pueden utilizarse juntos le ayudará a decidir qué soluciones añadir a su plataforma de datos y a respaldar su marco de gouvernance datos más amplio. ¡Entremos en materia!
¿Qué es un lago de datos?
Unlago de datos es un repositorio de datos que acumula grandes volúmenes de datos estructurados, no estructurados y semiestructurados en su formato nativo de máxima fidelidad, incluidos archivos planos, archivos de registro y exportaciones de hojas de cálculo. Piense en cómo un lago puede recoger y retener agua de diversas fuentes, todas mezcladas y desorganizadas.
Los productos de lago de datos son buenas opciones para las organizaciones que deben recopilar grandes volúmenes de datos diversos para su procesamiento. Sin embargo, los datos no estructurados almacenados en un lago de datos deben someterse a una conversión de datos estructurados antes de que puedan analizarse o utilizarse de forma productiva.
¿Qué es un almacén de datos?
Aalmacén de datos es un sistema de base de datos relacional que contiene datos de múltiples fuentes estructurados para facilitar el análisis y la toma de decisiones. Piensa en cómo el inventario de un almacén se organiza y cataloga cuidadosamente de forma que sea más fácil encontrarlo y acceder a él.
Un almacén de datos está diseñado para poner a disposición de los usuarios datos preparados para cuadros de mando informatique décisionnelle (BI), visualización, inteligencia artificial (IA) y herramientas de aprendizaje automático (ML). Sin embargo, a diferencia de un lago de datos, una arquitectura de almacén de datos no es tan eficaz para almacenar grandes volúmenes de datos, especialmente en alta fidelidad.
Lago de datos frente a almacén de datos: ¿Qué elegir?
Decidir si conectar su pipeline de données a un lago o a un almacén puede ser una decisión matizada que depende de las necesidades de datos de su empresa. Y en algunos casos, es posible que su organización necesite utilizar ambos, como veremos más adelante. He aquí un desglose de las principales diferencias en torno alalmacén de datoss vs. lago de datoss para ayudarle a decidir.
Almacén de datoss | Lago de datoss | |
Función principal | Análisis | Almacenamiento |
Tipos de datos | Datos estructurados que requieren un análisis inmediato | Datos estructurados, no estructurados y semiestructurados que deben conservarse, analizarse en el futuro o auditarse. |
Estructura de datos | Dimensiones y tablas jerárquicas | Arquitectura plana |
Método de tratamiento | ETL (extracción, transformación y carga) | ELT (Extraer, Cargar, Transformar) |
Formatos de datos ideales | Columnar (Parquet, ORC, Delta) | Apache Parquet, Apache Avro, Apache Iceberg, CSV, JSON |
Idiomas | SQL | SQL, U-SQL, Scala, Python, R, .NET, Apache Spark, TensorFlow, SciKit, MLib, MXNet, etc. |
Esquema | Esquema en escritura | Esquema en lectura |
Escalabilidad | Bajo | Alta |
¿Disponible en la nube? | Sí | Sí |
¿Quién las utiliza? | Ingenieros de datos, científicos de datos, analistas de negocio, arquitectos métadonnées | Directores de datos, científicos de datos, analistas empresariales, gestores, desarrolladores de datos |
Como puede ver, hay muchas diferencias entre un almacén de datos y un lago de datos , no sólo en la forma en que las organizaciones los utilizan, sino también en su funcionamiento. Aunque los lagos de datosy los almacenes de datospueden parecer intercambiables, la elección de uno u otro para las necesidades de su empresa puede depender de sus sistemas de datos, arquitectura y capacidades actuales.
Beneficios
Almacén de datoss y lago de datosCada uno tiene sus propias ventajas para las empresas que valoran sus datos. Revise las ventajas para comprender mejor cuál es la mejor opción para sus necesidades empresariales.
Ventajas del almacén de datos
- Porque almacenes de datoss están diseñados para el análisis de datos, proporcionan conocimientos empresariales más eficaces que pueden mejorar la prise de décision en los niveles de gestión.
- Velocidad es otra avantage del uso de almacén de datoss. Los trabajadores dedican menos tiempo a peinar datos organizados y estructurados que a buscar datos no estructurados, lo que les permite más rápidamente..
- Al democratizar los datos, también se obtieneuna distribution des données más rápida distribution des données a los administradores de datos de toda la organización. Las partes interesadas que confían en tus datos no tienen que esperar a que alguien los recopile en un informe pulido para poder actuar.
- Otra avantage de almacenar todos los datos en una única ubicación es que permite a los profesionales de TI y ciberseguridad apuntalar las defensas de un único repositorio en lugar de tener que proteger varias ubicaciones de almacenamiento.
- Aunque ventajas de un almacén de datosun almacén de datos en la nube permiteampliarlo o reducirlo en función de las necesidades de su empresa, en lugar de cambiar de servidor cuando cambien los volúmenes de datos habituales.
- Una de las principales funciones de un almacén de datos es estandarizar automáticamente los datos, lo que mejora la calidad de los datos.
Ventajas del lago de datos
- Los lagos de datoss permiten recopilación de datos de múltiples fuentes en sus formatos nativosen lugar de crear arquitecturas para diferentes formatos.
- Puede almacenar petabytes de datos en lagos de datoss.
- Como almacén de datoss, los especialistas en TI y ciberseguridad sólo tienen que defender un repositorio de datos contra amenazas y ataques.
- También como almacén de datoss, lago de datoss permiten una mejor democratización de los datos.
- Lagos de datoss como el lago de datos lago de datos permiten utilizar múltiples esquemas para los mismos datos o utilizarlos sin esquema.
- A diferencia del almacenamiento de datos tradicional, los lagos de datosson compatibles con la IA y las herramientas de aprendizaje automático.
Funcionamiento conjunto de los lagos de datos y los almacenes de datos
En resumen, almacenes de datoss están diseñados más para el análisis de datos estructurados y lago de datoss están diseñados más para elalmacenamiento de datos no estructurados. Esto significa que los almacén de datoss son compatibles conlago de datos integraciónpara que las empresas puedan almacenar y analizar datos sin problemas. Con productos como Actian Data Platform puede consultar y escribirdatos Hadoop utilizando la función de tablas externas. La fuente de datos debe ser compatible con Apache Spark, como Parquet, ORC, o formatos de archivo JSON o tablas en sistemas de bases de datos externas.
La sintaxis CREATE EXTERNAL TABLE crea una tabla en la Actian Data Platform que apunta a archivos de datos existentes en ubicaciones fuera de la plataforma. De esta forma, no es necesario importar los datos a una nueva tabla cuando los archivos de datos ya se encuentran en una ubicación conocida en el formato de archivo deseado.
Después de mapear la estructura del archivo de datos al formato de Actian Data Platform usando la sentencia CREATE EXTERNAL TABLE, usted puede:
- Seleccionar, unir u ordenar datos de tablas externas.
- Crear vistas para tablas externas.
- Insertar datos en tablas externas.
- Importe y almacene los datos en una base de datos de Actian Data Platform.
Los datos se consultan desde sus ubicaciones originales, y Actian Data Platform deja los archivos de datos en su lugar cuando se elimina la tabla.
Actian Data Platform recibe del usuario o de la aplicación cliente consultas que operan sobre tablas externas y las reescribe en solicitudes JSON de datos externos. A continuación, estas solicitudes se traducen en trabajos Spark, que se lanzan. Estos trabajos suelen emitir consultas a SparkSQL como "INSERT INTO avalanche_table SELECT * FROM external_resource" para leer datos externos o "INSERT INTO external_resource SELECT * FROM avalanche_table" para escribir en sistemas externos. Por último, estas tareas introducen y extraen datos de Actian Data Platform.
Incluso puede insertar nuevos registros en una tabla externa.La sintaxis para definir una tabla externa es:
CREAR TABLA EXTERNA nombre_tabla (nombre_columna tipo_datos {,nombre_columna tipo_datos}) USANDO SPARK CON REFERENCIA='referencia' [,FORMATO='formato'] [,OPCIONES=('clave'=valor {,'clave'='valor'})]
Para obtener más información, consulte la sección CREAR TABLA EXTERNA de la Guía de Lenguaje SQL.
Una vez definidas las tablas externas con la sintaxis CREATE EXTERNAL TABLE, se comportan como tablas normales. Puede realizar consultas como las siguientes:
SELECT * FROM test_table_csv INSERT INTO my_table_orc SELECT some_column FROM other_table
Predicate Pushdown de la plataforma de datos Actian a Spark
Si se emite una consulta SQL a una TABLA EXTERNA utilizando Spark, los predicados de la cláusula WHERE pueden estar ya evaluados por Spark, reduciendo el número de tuplas enviadas. Sólo se admiten predicados que puedan traducirse a un rango de valores de columna. Para las conexiones lógicas de predicados simples, IN y AND se admiten en una sola columna y entre columnas. OR sólo se admite en una única columna.
Cuando todo el predicado complejo contiene un único OR que abarca diferentes columnas, no se transfiere nada a Spark. En este caso, Spark transfiere todas las tuplas a Actian Data Platform y el filtrado se realiza únicamente en Actian.
He aquí un ejemplo de cómo utilizar CREAR TABLA EXTERNA:
- Defina una tabla externa para una fuente de datos CSV que resida en Amazon S3:
CREATE EXTERNAL TABLE ext_csv (col1 INT4 NOT NULL, col2 VARCHAR(20) NOT NULL) USING SPARK WITH REFERENCE=’s3a://<bucket>/file.csv’ OPTIONS=(‘DELIMITER’ = ‘|’, ‘HEADER’ = ‘TRUE’,’SCHEMA’=’col1 INT4 NOT NULL, col2 VARCHAR(20) NOT NULL’);
2. Defina una tabla externa para una fuente de datos CSV que resida en Amazon S3. Los datos CSV no tienen una fila de encabezado
CREATE EXTERNAL TABLE nation_s3 ( n_nationkey INTEGER NOT NULL, n_name CHAR(25) NOT NULL, n_regionkey INTEGER NOT NULL ) USING SPARK WITH REFERENCE=’s3a://<bucket>/nation.csv’,FORMAT=’csv’, OPTIONS=(‘HEADER’=’FALSE’,’DELIMITER’=’|’,’SCHEMA’=’n_nationkey INT NOT NULL, n_name STRING NOT NULL, n_regionkey INT NOT NULL);
3. Definir una tabla externa para una fuente de datos ORC de Azure:
CREATE EXTERNAL TABLE mi_tabla_orc(a INT8 NOT NULL) USING SPARK WITH REFERENCE='abfs://loadtest@avalanchetest.dfs.core.windows.net/my_table.orc';
4. Definir una tabla externa para una fuente de datos AVRO de Azure:
CREATE EXTERNAL TABLE tweets (username VARCHAR(20), tweet VARCHAR(100), timestamp VARCHAR(50)) USING SPARK WITH REFERENCE='abfs://loadtest@avalanchetest.dfs.core.windows.net/twitter.avro', FORMAT='com.databricks.spark.avro'
5. Defina una tabla externa para una fuente de datos JSON utilizando el siguiente archivo JSON:
[{ “symbol”: “MSFT”, “company”: “Microsoft Corporation”, “stock_tstamp”: “2020-01-31T21:00:00+00:00”, “price”: 170.777, “volume”: 36142690, “sector”: “TECH” }, { “symbol”: “AAPL”, “company”: “Apple Inc.”, “stock_tstamp”: “2020-01-31T21:00:00+00:00”, “price”: 309.51, “volume”: 49897096, “sector”: “TECH” }, { “symbol”: “GOOG”, “company”: “Alphabet Inc.”, “stock_tstamp”: “2020-01-31T21:00:00+00:00”, “price”: 1434.23, “volume”: 2417214, “sector”: “TECH” }, { “symbol”: “AMZN”, “company”: “Amazon.com, Inc.”, “stock_tstamp”: “2020-01-31T21:00:00+00:00”, “price”: 2008.72, “volume”: 15567283, “sector”: “TECH”}]
Ejemplo SQL para crear una tabla externa que haga referencia a ese archivo JSON almacenado en un Azure ADL:
CREAR TABLA EXTERNA techstocks ( symbol VARCHAR(4), company VARCHAR(20), stock_tstamp TIMESTAMP, price FLOAT, volume INTEGER, sector CHAR(5) ) USING SPARK WITH REFERENCE='abfs://stockquotes@eastusstockdata.dfs.core.windows.net/tech1.json', FORMAT='json', OPTIONS=( 'multiline'='true', 'SCHEMA'= 'symbol string, company string, stock_tstamp string, price double, volume integer, sector
Defina una tabla externa para una fuente de datos CSV en Google Cloud Storage. Los datos CSV no tienen fila de encabezado:
CREATE EXTERNAL TABLE stations ( n_stationkey INTEGER NOT NULL, n_stationname CHAR(25) NOT NULL, n_locationkey INTEGER NOT NULL ) USING SPARK WITH REFERENCE=’gs://<path>/stations.csv’,FORMAT=’csv’, OPTIONS=(‘HEADER’=’FALSE’,’DELIMITER’=’|’,’SCHEMA’=’n_stationkey INT NOT NULL, n_stationname STRING NOT NULL
Casos prácticos de Data Lake y Data Warehouse
¿Todavía no está seguro de si lago de datos o almacén de datos software es más apropiado para su empresa? ¿No está convencido de necesitar alguno de los dos? A continuación le presentamos algunos casos de uso específicos del sector para mostrarle cómo organizaciones de todo el mundo emplean estas soluciones para agilizar sus flujos de trabajo profesionales.
Casos prácticos de Data Lake
- Los profesionales del comercio minorista pueden almacenar datos de compra, información sobre productos añadidos al carrito y no comprados, y patrones de navegación. También pueden utilizar traitement du language naturel (NLP) para almacenar las opiniones de la empresa sin necesidad de enviar encuestas.
- Los miembros del sector sanitario, como su médico, pueden recopilar varios tipos de datos IoT de múltiples dispositivos de monitorización de la salud y almacenarlos en sus formatos nativos para su posterior análisis.
- Si trabaja en el sector bancario o financiero, puede recopilar datos como registros monetarios e historiales de transacciones de clientes de todo el mundo en una ubicación centralizada de gran capacidad.
- Las optimizaciones en el sector del transporte se basan en muchos tipos de datos complejos -a veces recogidos en todo el país- y los almacenes de datos pueden ser la mejor solución para almacenar el enorme volumen de datos que hay que analizar.
- Muchos fabricantes deben coordinar el aprovisionamiento de materiales, gestionar las líneas de producción, planificar la logística de los envíos y mucho más. Los lagos de datos pueden almacenar datos de todas estas partes de la empresa -independientemente de si están fuera de las instalaciones- en una ubicación de fácil acceso.
Casos de uso de almacenes de datos
- Los minoristas pueden analizar los datos de compra de los clientes en almacén de datoss para obtener información sobre los patrones de compra y otras preferencias de los clientes con el fin de mejorar sus experiencias de compra, informar sobre los esfuerzos de remarketing y crear campañas personalizadas.
- Después de almacenar varios formatos de datos de dispositivos IoT en lago de datoss, se pueden organizar y racionalizar en almacén de datoss. A continuación, pueden distribuirse a los médicos para ofrecerles una imagen más completa de las enfermedades en curso y recomendar tratamientos con mayor precisión.
- Una vez recopilados los datos financieros de los particulares, los bancos pueden analizarlos en almacén de datoss para evaluar la solvencia crediticia de una persona, activar comisiones por descubierto o recomendar límites para las tarjetas de crédito. personales respaldados por datos concretos.
- Pasar datos de tráfico o de vuelos por un almacén de datos puede racionalizarlos para el análisis predictivo, que puede ser crucial para optimizar rutas y horarios en la industria del transporte.
- Con tantas partes móviles involucradas en el funcionamiento de una empresa de fabricación, puede ser difícil ver el panorama general con el fin de hacer optimizaciones. La ejecución de datos a través de un almacén de datos puede ayudar a los directivos a tener una visión más amplia de la eficacia con la que funciona cada parte del proceso de fabricación y envío, y ofrecer información sobre las áreas que necesitan mejoras.