Skip to main content

Blog entry by Alexis Alvarez

Datos en tiempo real y transmision de datos: ¿Cuál es para buena para ti ?

Datos en tiempo real y transmision de datos: ¿Cuál es para buena para ti ?


Transmisión de datos y datos en tiempo real

Tiempo de lectura: 3 minutes 20 secs

En los últimos años, los términos "transmisión de datos" y "datos en tiempo real" se han vuelto cada vez más comunes en el mundo de los negocios y la tecnología. Pero ¿qué significan realmente estos términos? ¿Y cuál es la diferencia entre transmisión
de datos y datos en tiempo real?

De acuerdo con AWS, son datos que se generan continuamente por miles de orígenes de datos, que normalmente envían los registros de datos simultáneamente, y en tamaños pequeños (del orden de Kilobytes). Los datos de streaming incluyen diversos tipos
de datos, como archivos de registros generados por los clientes que utilizan sus aplicaciones móviles o web, compras en comercio electrónico, actividades de los jugadores en un juego, información de redes sociales, operaciones bursátiles o servicios
l geoespaciales, así como telemetría de dispositivos conectados o instrumentación en centros de datos.

Por otro lado, para definir tiempo real es necesario aclarar el significado de las palabras tiempo y real en el contexto de sistemas:

  • La palabra tiempo significa que el correcto funcionamiento de un sistema depende no solo del resultado lógico que devuelve la computadora, también depende del tiempo en que se produce ese resultado.
  • La palabra real quiere decir que la reacción de un sistema a eventos externos debe ocurrir durante su evolución. Como una consecuencia, el tiempo del sistema (tiempo interno) debe ser medido usando la misma escala con que se mide el tiempo
    del ambiente controlado (tiempo externo).

Por lo tanto, datos en tiempo real se refieren a los datos que se presentan a medida que se adquieren y que estos deben garantizar respuesta en restricciones de un tiempo específico.

data value over time

Figura 1 - Valor de datos en el tiempo

Según vemos en la figura 1, es importante señalar que los datos se aprecian ya sea en el momento que son capturados y entregados para alguna acción inmediata o cuando estos se va agregando, como por ejemplo cuando se entrenan modelos o se realizan tendencias
y estos necesitan datos históricos para funcionar correctamente.

Servicios de transmisión de datos

Actualmente tenemos muchos servicios para transmisión de
datos:

  • Amazon Kinesis Data Streams, el cual nos permitirá transmitir cantidades grandes de datos lo que significa que no tendremos que preocuparnos por el throughput.
  • AWS Database Migration Service, el cual podrá capturar los eventos CDC de otras fuentes de datos.
  • Amazon MSK, el cual nos permitirá usar Kafka y tener un periodo de retención ilimitado.
  • AWS IoT Core, el cual nos pemitira conectar miles de dispositivos o sensores IoT.
  • Agentes y productores usando AWS SDKs, los cuales nos permitirán crear productores personalizados de acuerdo con la necesidad del cliente.

Así como almacenamiento para transmisión de datos

  • Amazon Kinesis Data Streams, el cual nos permitirá retener la transmisión de datos hasta 365 días.
  • Amazon MSK, el cual nos permitirá retener la transmisión de datos de forma ilimitada.

Servicios para procesamiento de transmisiones de datos

  • Amazon Kinesis Data Analytics, el cual nos dará la habilidad de correr querys SQL en la transmisión de datos.
  • Amazon Kinesis data firehose, el cual nos permitirá llevar de forma fácil los datos de la transmisión hasta el destino final.
  • Databricks (en AWS), el cual nos permite conectarnos a la transmisión de datos y procesar los datos para luego almacenarlos aprovechando las funciones de una capa de almacenamiento superior como Delta Lake.
  • Amazon MSK Connect, el cual nos permitirá llevar los datos de Kafa hacia otras aplicaciones, servicios o bases de datis,
  • AWS Lambda, el cual nos permitirá ejecutar funciones de procesamiento sin servidor con una interface simple de programación fácil y escalable.
  • Amazon EMR, el cual nos habilita para ejecutar marcos de trabajo bigdata como Hadoop y Spark los cuales nos permiten trabajan con grandes cantidades de datos.
  • Amazon Glue, el cual nos habilita para ejecutar marcos de trabajo bigdata como Hadoop y Spark sin servidor, olvidándonos de la administración de servidores.
  • Consumidores usando los AWS SDK, los cuales nos permiten consumir la información de las transmisiones de datos y poder personalizarlas de acuerdo a la necesidad del negocio.

Y no olvidemos servicios de almacenamiento persistente

  • Amazon S3, el cual nos ofrece almacenamiento de objetos con escalabilidad, disponibilidad de datos y seguridad a bajo costo.
  • Amazon Redshift, el cual nos permite crear un datawarehouse administrado en nube escalable.

 

Resumiendo:

  • Tiempo real: Restricciones de negocio en base al tiempo para responder a una acción.
  • Transmisión de datos: Ingestión continua de datos

En conclusión, podríamos decir que la transmisión de datos es importante, pero podría no ser suficiente para los requerimientos del negocio, dado que el tiempo de procesamiento podría ser mayor al tiempo de respuesta que se exige, depende de la necesidad
y el caso de uso diseñar la mejor arquitectura que la soporte.



  • Share

Reviews