Home 101 Origenes de data sql y no-sql en un pipeline de datos

Origenes de data sql y no-sql en un pipeline de datos

Por Felipe Veloso

Data sql y nosql

El dia de hoy quería hacer un breve post sobre los origines de la data en un data pipeline, para iniciar con la categoría de data engineering en este humilde blog, sin más vamos de lleno!

Existen diversas formas de almacenar, gestionar y trabajar la data, todo puede iniciar desde un dispositivo aislado en un alguna IP remota ( IoT device ), una aplicación de servidor emitiendo logs y lo más común hoy en día, motores de bases de dato con data estructura o no estructurada. Por supuesto, no olvidamos el object storage entre otros más, pero la base para nuestro título de hoy no deja de ser la misma.

La base de una DBMS Data Base Managment System

En Big Data el término de eficiencia toma un rol fundamental

Antes de iniciar hablando de los principales tipos de database, para el que se encuentra alejado de la informática no le es tan simple entender que una DBMS existe sobre hardware y software previamente instalado (ya sea en cloud o on premise) esto quiere decir que un DBMS se sustenta en un procesador, memoria ram, hdd, etc. Por lo tanto, cada query que uno realiza es un gasto computacional que afecta a una máquina física. Esto se traduce en que, cuando intentamos hablar de databases y más aún en Big Data el término de eficiencia toma un rol fundamental, dado que existen querys que pueden tomar 1 millón de años en una maquina y 10 min en otra. Y sin hablar de hardware, una query optimizada de una que no puede generar diferencias en rendimiento considerables.

Data Estructurada – Sql

El significado Structured Query Language (SQL) nos hace inferir que trabajamos en uno de los primeros objetos de data que se han creado,  el sql es un lenguaje que posee múltiples sabores y colores cada uno con su propia mejora y particularidades por lo mismo podemos desprender un universo de motores de bases de dato y variaciones del lenguaje.

  • Oracle
  • Mysql
  • Microsoft sql server
  • Postgre Sql
  • Db2 (se utiliza mucho en bancos)
  • y unos 100 sabores más ver ranking aquí

La manera de trabajo más generalizada en este tipo de bases de dato se presenta en la forma de un formato matricial de manera muy similar a como se visualiza en pandas cuando se trabaja en data science.

Las particularidades al hablar de sql o lenguaje estructurado, reside en sus capacidades inherentes.

  • Schema de database
  • Relational database
  • Tables or matricial view

Para llevar esto a un caso real, en la imagen inferior vemos como se define el schema database y vemos su unión de manera relational, vemos como ciertas tables interactúan a través de algunas de sus key o foreing key.

Data no estructurada NoSql

Cuando mencionamos de data no estructurada cabe decir que gran parte de la información que existe en una organización que no tiene un schema definido, por lo lo tanto mucho más difícil de ser explotado de manera rápida como fuente de datos (aquí el trabajo del data engineer toma un valor real quien podrá generar un ETL para disponibilizar data a nuestros clientes)

Cuando hablamos de data no estructurada, hablamos de BDSM del tipo nosql (not only sql), donde el paradigma inicial es que mantenemos un lenguaje tipo querys pero la data es estructurada internamente de maneras diversas.

Por ejemplo:

  • Mongodb es una base de datos tipo documental
  • Redis es una del tipo clave-valor
  • Neo4j es una tipo grafos

Todos estos ejemplos aplican para distintos casos de uso, el rol como data engineer es poder generar pipelines de datos que se adapten a distintos orígenes de los datos, sus usos y condiciones para lograr un valor al negocio.

el rol como data engineer es poder generar pipelines de datos que se adapten a distintos orígenes de los datos, sus usos y condiciones para lograr un valor al negocio.

 

Para resumir este post, quiero recalcar la importancia de distinguir las formas en que se presentan los datos en su origen (y cómo llegan a su destino). Por ello iniciaré una serie de posts relacionados al data engineering dado que es uno de los trabajos más relevantes y un input crucial para el trabajo de los data scientists  que malamente son confundidos el uno con el otro.  Nos vemos!

 

You may also like

Deja un Comentario

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More