9 atributos de las bases de datos en tiempo real en vivo

enero 15

Logotipo de Raima sobre fondo gris

¿Qué es una base de datos en tiempo real?

Una base de datos en tiempo real es un sistema de base de datos capaz de manejar cargas de trabajo de datos que están en constante cambio y son extremadamente sensibles al tiempo. A diferencia de las bases de datos tradicionales, que contienen datos que son persistentes y cambian con mucha menos frecuencia. 

El procesamiento en tiempo real significa que las transacciones se procesan muy rápidamente, lo que permite que la organización u otros sistemas integrados actúen sobre los datos de inmediato. Las bases de datos en tiempo real se utilizan típicamente para contabilidad, banca, legal, registros médicos, multimedia, control de procesos, sistemas de reserva y análisis de datos científicos.


 

¿Cómo funciona una base de datos en tiempo real?

Una base de datos en tiempo real, también conocida como base de datos en vivo, son bases de datos tradicionales con capacidades de rendimiento y rendimiento extendidas. Aplican restricciones de tiempo a los datos para indicar en qué momento los datos siguen siendo válidos (también conocido como validez temporal). En muchos casos, un sensor o una señal del mundo exterior actualiza constantemente los datos con datos nuevos y actualmente relevantes.

Una base de datos en tiempo real debe cumplir con varios criterios estrictos:

  • Manejar consultas que son extremadamente urgentes
  • Devolver solo datos válidos temporalmente
  • Apoyar la programación prioritaria para consultas y respuestas

In a real time database system, there is a significant concern as to how to record the exact time at which data was recorded and queries were received-detailed timestamps provide a clear time reference. Based on these timestamps, the system must ensure realtime database queries are processed consistently under the above constraints. 

Una base de datos en vivo también debe abordar una situación en la que una consulta de base de datos en tiempo real no se puede responder con la suficiente rapidez. Por ejemplo, si los datos se proporcionan tarde, se les puede proporcionar una bandera que indique el momento de la respuesta, de modo que el operador pueda considerar si la respuesta sigue siendo relevante o no.

Es probable que la investigación y el desarrollo de bases de datos en tiempo real aumenten en los próximos años, con el crecimiento exponencial de las aplicaciones en tiempo real. Las videollamadas son ahora omnipresentes en todo el mundo, las aplicaciones de mensajería y redes sociales como WhatsApp y Facebook tienen miles de millones de usuarios, y existe una creciente demanda de transmisión en vivo de video y audio de alta definición, que tiene propiedades en tiempo real. Surgirán nuevos protocolos y tecnologías para procesar transacciones en tiempo real de manera más eficiente.

 

9 Características de las bases de datos en tiempo real en vivo

The burden on software in a “live” information system is simply to keep up. Processing must occur at a rate faster than the activity. It must represent the state of a system within a certain time tolerance. A stock quote should be only a few seconds old, but a temperature reading from an elementary school can be 15 minutes old. Both are considered “real time” data.

Los sistemas de bases de datos que satisfacen los requisitos de determinismo para sistemas de tiempo real estrictos generalmente necesitan ser versiones simplificadas, donde las consultas y actualizaciones son simples y limitadas. Si bien la tecnología y los algoritmos mejoran continuamente en esta área, todavía hay solo unos pocos sistemas de bases de datos que realmente cumplen con los estrictos requisitos de tiempo real.

1. Desempeño

“Keeping up” with live activity is the requirement of the database system together with the software that captures and/or displays the data. When there are 100 events/minute, and the system can handle 1000 events/minute, then everything’s fine. But what if events average 2000/minute with bursts of over 10,000? In this case, a system that is three times faster is required. Higher performing database management systems will be able to solve more real time problems.

2. Registros históricos

Si se leen sensores y se muestra una representación de los datos, es posible que no sea necesaria una base de datos. Sin embargo, si la visualización de datos en vivo debe registrarse para que se puedan producir vistas históricas o resúmenes, entonces la base de datos debe poder capturar y almacenar estos datos de manera oportuna para facilitar el acceso futuro.

3. Mantener relaciones

El monitoreo de datos en vivo con frecuencia implica generar alarmas o activar acciones adicionales cuando se cumplen ciertas condiciones. Esas condiciones pueden implicar la presencia o ausencia de datos en la base de datos, por lo que se deben realizar búsquedas rápidas. También pueden depender de las conexiones entre los registros de la base de datos. El sistema de base de datos es necesario para mantener asociaciones y búsquedas que se pueden crear o consultar rápidamente.

4. Hacer cola

Assuming that inputs into a live system are irregular, as they often are, the system must handle bursts of events that can be processed soon, where “soon” is during a quieter period. Then it is likely that processing the events in order is important. So a queuing model that maintains order in the backlog will satisfy this requirement.

5. Durabilidad

Nuevamente, asumiendo que los datos no son transitorios, el sistema de base de datos está presente para mantener los datos seguros, lo que normalmente significa guardarlos en una unidad de disco o unidad flash. Los mejores sistemas harán esto de una manera que sea recuperable, lo que significa que una falla de la computadora no causará ningún daño en la base de datos.

6. Procesamiento por lotes

Las transacciones que escriben datos en un medio duradero son la función que consume más tiempo en un sistema de base de datos. Puede que no siempre sea importante realizar una transacción para cada evento. Cuando este es el caso, una transacción puede cometer de 2 a 200 eventos a la vez, lo que significa que el sistema de base de datos está usando muchos menos recursos y, por lo tanto, funciona más rápido. El procesamiento por lotes depende de la tolerancia a la pérdida de datos (en el caso de un bloqueo) y los requisitos de actualización de los datos. Por ejemplo, si una visualización de los datos en vivo se actualiza cada cinco segundos, no importa si los 300 eventos que ocurrieron en los últimos cinco segundos se comprometieron con 300 transacciones de 1 evento cada una, o 3 transacciones de 100 cada una.

7. Acondicionamiento de datos

One technique to allow greater volumes of data to be archived is to reduce, or “condition” the data before storing it. This may involve filters that ignore parts of it, or translations that reduce larger representations into smaller ones. Both of these techniques may require fast indexing of previously stored data.

8. Consultas que no interfieren

If a system is strained to capture and store event data, it may be slowed down even more when the data must be read for display purposes. Techniques for reading data without locks are needed to prevent this. Two common techniques are known as MVCC and dirty-reading. MVCC stands for “Multi Version Concurrency Control” and creates a virtual snapshot of a database so that a consistent query can be made. Dirty reading is even faster when it is not necessary to rely upon the consistency of relationships between records in a database.

9. Agregación

Another common computing model has multiple “collector” computers that capture and store event data locally, then pass it on to an aggregation site. The common technology to solve this problem is replication. This means that the changes to the local databases are also made to the aggregate database. This usually implies that the computers are connected through networking.

Meaningful handling of live, time-sensitive data is the new real time. The old hard real time systems are still very important and pervasive, but cannot use many of today’s open source or commercial database management systems.

 

Aplicaciones de ejemplo de bases de datos en tiempo real 

Las aplicaciones en tiempo real (RTA) son aplicaciones que operan dentro del marco de tiempo inmediato o actual de las búsquedas de los usuarios. El retraso debe ser menor que un valor predefinido. 

RTAs are evaluated using a metric called worst-case execution time (WCET)-this is the maximum time allowed for a task, given a specific hardware configuration. Applications with a WCET of several seconds or less are considered real time. The process of operating under real time constraints is known as real-time computing (RTC).

A continuación, se muestran algunos ejemplos de acuerdos comerciales regionales:

  • Protocolo de voz sobre Internet (VoIP)
  • Aplicaciones de mensajería, chat y mensajería instantánea (IM)
  • Video conferencia
  • Juego en linea
  • El comercio de acciones
  • Transacciones de comercio electrónico con múltiples postores

 

Solución de base de datos en tiempo real de Raima

Raima Database Manager (o RDM) es un sistema de gestión de bases de datos integrado compatible con ACID diseñado para su uso en aplicaciones de sistemas integrados. RDM ha sido diseñado para utilizar computadoras de múltiples núcleos, redes (área local o amplia) y administración de almacenamiento en disco o en memoria. RDM proporciona soporte para múltiples interfaces de programación de aplicaciones (API): API C de bajo nivel, C ++ y SQL (nativo, ODBC, JDBC, ADO.NET y REST). RDM es altamente portátil y está disponible en Windows, Linux, Unix y varios sistemas operativos integrados o en tiempo real. También está disponible una licencia de código fuente.

RDM tiene soporte para capacidades de manipulación y diseño de bases de datos no SQL (acceso a la base de datos a nivel de cursor y registro) y de bases de datos SQL. Las características que no son de SQL son importantes para los entornos de sistemas integrados con recursos más restringidos, donde la prioridad es el alto rendimiento en un espacio muy reducido. SQL es importante para proporcionar un método de acceso a bases de datos estándar ampliamente conocido en un espacio lo suficientemente pequeño para la mayoría de los entornos de sistemas integrados.

 

Get notified about new RDM updates

Be the first to know about new Raima Database Manager updates when they go live, use cases, industry trends and more.