ALEGSA.com.ar

Definición de base de datos en tiempo real

Significado de base de datos en tiempo real: Una base de datos en tiempo real es un sistema de procesamiento diseñado para manejar cargas de trabajo cuyo estado cambia ...
01-08-2023

 


Definición de base de datos en tiempo real

 

Una base de datos en tiempo real es un sistema de procesamiento diseñado para manejar cargas de trabajo cuyo estado cambia constantemente (Buchmann). Esto difiere de las bases de datos tradicionales que contienen datos persistentes, en su mayoría no afectados por el tiempo. Por ejemplo, un mercado de valores cambia muy rápidamente y es dinámico.

Los gráficos de los diferentes mercados parecen ser muy inestables y, sin embargo, una base de datos tiene que seguir los valores actuales de todos los mercados de la Bolsa de Nueva York (Kanitkar).

El procesamiento en tiempo real significa que una transacción se procesa lo suficientemente rápido como para que el resultado vuelva y se actúe de inmediato (Capron).

Las bases de datos en tiempo real son útiles para la contabilidad, la banca, el derecho, los registros médicos, los multimedia, el control de procesos, los sistemas de reserva y el análisis de datos científicos (Snodgrass).

A medida que las computadoras aumentan su potencia y pueden almacenar más datos, se están integrando en nuestra sociedad y se emplean en muchas aplicaciones.

Además, las bases de datos en tiempo real son esenciales en la industria del transporte y la logística. Por ejemplo, las empresas de envío y entrega de paquetes necesitan actualizar constantemente la ubicación de cada envío y la disponibilidad de los conductores, con el fin de optimizar las rutas y asegurar una entrega eficiente.

Asimismo, en el campo de la seguridad, las bases de datos en tiempo real son utilizadas para monitorear y analizar grandes volúmenes de datos de vigilancia, redes sociales y fuentes de información abiertas, con el fin de prevenir y detectar posibles amenazas o delitos.

En el ámbito de la gestión de recursos naturales, las bases de datos en tiempo real son cruciales para el monitoreo y control de variables ambientales como la calidad del agua, la calidad del aire, el nivel de contaminantes, entre otros. Esto permite una gestión más efectiva y una respuesta rápida ante situaciones de emergencia o cambios en el entorno natural.

En resumen, las bases de datos en tiempo real son fundamentales para diversas áreas y sectores de la sociedad, permitiendo un procesamiento rápido de la información y facilitando la toma de decisiones en tiempo real. Con el avance constante de la tecnología, se espera que estas bases de datos continúen siendo una herramienta vital en nuestra sociedad en el futuro.



¿En qué se diferencian las bases de datos en tiempo real de las bases de datos tradicionales?



Las bases de datos en tiempo real son bases de datos tradicionales que utilizan una extensión para dar la potencia adicional necesaria para dar respuestas fiables. Utilizan limitaciones de tiempo que representan un cierto rango de valores para los que los datos son válidos. Este rango se denomina validez temporal.

Una base de datos convencional no puede funcionar en estas circunstancias porque las incoherencias entre los objetos del mundo real y los datos que los representan son demasiado severas para modificaciones simples. Un sistema efectivo necesita ser capaz de manejar consultas sensibles al tiempo, devolver sólo datos válidos temporalmente y apoyar la programación de prioridades. Para introducir los datos en los registros, a menudo un sensor o un dispositivo de entrada monitoriza el estado del sistema físico y actualiza la base de datos con nueva información para reflejar el sistema físico con mayor precisión (Abbot). Cuando se diseña un sistema de base de datos en tiempo real, se debe considerar cómo representar el tiempo válido, cómo se asocian los hechos con el sistema en tiempo real. También hay que considerar cómo representar los valores de los atributos en la base de datos para que las transacciones del proceso y la coherencia de los datos no tengan violaciones (Abbot).

Ejemplo de base de datos en tiempo real en un sistema de control de aerolíneas Al diseñar un sistema, es importante considerar lo que el sistema debe hacer cuando no se cumplen los plazos. Por ejemplo, un sistema de control del tráfico aéreo vigila constantemente cientos de aeronaves y toma decisiones sobre las trayectorias de vuelo entrantes y determina el orden en que deben aterrizar las aeronaves sobre la base de datos como el combustible, la altitud y la velocidad. Si alguna de estas informaciones se retrasa, el resultado podría ser devastador (Sivasankaran). Para resolver los problemas de los datos obsoletos, la marca de tiempo puede servir de apoyo a las transacciones proporcionando referencias de tiempo claras (Sivasankaran).


Preservar la consistencia de los datos al diseñar el sistema



Aunque el sistema de la base de datos en tiempo real puede parecer un sistema sencillo, surgen problemas durante la sobrecarga cuando dos o más transacciones de la base de datos requieren el acceso a la misma porción de la base de datos. Una transacción suele ser el resultado de la ejecución de un programa que accede o modifica el contenido de una base de datos (Singhal). Una transacción es diferente de una corriente porque una corriente sólo permite operaciones de sólo lectura, y las transacciones pueden hacer tanto operaciones de lectura como de escritura. Esto significa que en una corriente, varios usuarios pueden leer del mismo dato, pero no pueden modificarlo ambos (Abbot). Una base de datos debe permitir que funcione una sola transacción a la vez para preservar la coherencia de los datos. Por ejemplo, si dos estudiantes piden ocupar el lugar restante de una sección de una clase y pulsan "submit" (enviar) al mismo tiempo, sólo un estudiante debería poder registrarse para ello (Abbot).

Las bases de datos en tiempo real pueden procesar estas solicitudes utilizando algoritmos de programación para el control de la concurrencia, priorizando de alguna manera las solicitudes de ambos estudiantes. A lo largo de este documento, asumimos que el sistema tiene un solo procesador, una base de datos basada en disco y un fondo de memoria principal (Hartista).

En las bases de datos en tiempo real, los plazos y los sistemas formados y de diferentes tipos responden de manera diferente a los datos que no cumplen su plazo. En un sistema en tiempo real, cada transacción utiliza un sello de tiempo para programar las transacciones (Abbot). Una unidad de mapeo de prioridades asigna un nivel de importancia a cada transacción a su llegada al sistema de la base de datos que depende de la forma en que el sistema visualiza los tiempos y otras prioridades. El método del sello de tiempo depende de la hora de llegada al sistema. Los investigadores indican que, en la mayoría de los estudios, las transacciones son esporádicas con tiempos de llegada impredecibles. Por ejemplo, el sistema da un plazo de solicitud más temprano a una prioridad más alta y un plazo más tardío a una prioridad más baja (Hartista). A continuación figura una comparación de diferentes algoritmos de programación.

Plazo más temprano PT = DT - El valor de una transacción no es importante. Un ejemplo es un grupo de personas que llaman para pedir un producto.

Valor más alto PT = 1/VT - El plazo no es importante. Algunas transacciones deberían llegar a la CPU basadas en la criticidad, no en la justicia. Este es un ejemplo de la menor holgura que puede esperar la menor cantidad de tiempo. Si las centrales telefónicas estuvieran sobrecargadas, las personas que llamen al 911 deberían tener prioridad (Snodgrass).

Valor inflado de la fecha límite PT = DT/VT - Da igual peso a la fecha límite y a los valores basados en la programación. Un ejemplo es registrarse para clases donde el estudiante selecciona un bloque de clases que desea tomar y presiona enviar. En este escenario, las prioridades más altas a menudo tienen prioridad. El sistema de registro de una escuela probablemente utiliza esta técnica cuando el servidor recibe dos transacciones de registro. Si un estudiante tiene 22 créditos y el otro 66 créditos, la persona con 66 créditos tendrá prioridad (programación basada en el valor).


Plazos que ayudan a preservar la coherencia



Un sistema que percibe correctamente la serialización y las limitaciones de tiempo asociadas a las transacciones con plazos blandos o firmes, aprovecha la coherencia absoluta (Lee). Otra forma de asegurarse de que los datos son absolutos es utilizar restricciones relativas. Las restricciones relativas aseguran que las transacciones entran en el sistema al mismo tiempo que el resto del grupo al que está asociada la transacción de datos. El uso de los mecanismos de restricciones absolutas y relativas garantiza en gran medida la exactitud de los datos.

Otra forma de abordar la resolución de conflictos en un sistema de base de datos en tiempo real, además de los plazos, es un método de política de espera. Este proceso ayuda a garantizar la información más reciente en los sistemas de tiempo crítico. La política evita el conflicto pidiendo a todos los bloques no solicitantes que esperen hasta que se procese el bloque de datos más esencial (Abbot). Mientras que los estudios en los laboratorios han encontrado que las políticas basadas en la fecha límite de datos no mejoran el rendimiento de manera significativa, la política de espera forzada puede mejorar el rendimiento en un 50 por ciento (Porkka). La política de espera forzada puede implicar la espera de transacciones de mayor prioridad para procesarlas con el fin de evitar el bloqueo. Otro ejemplo de cuándo se pueden retrasar los datos es cuando un bloque de datos está a punto de caducar. La política de espera forzada retrasa el procesamiento hasta que los datos se actualizan utilizando nuevos datos de entrada. Este último método ayuda a aumentar la precisión del sistema y puede reducir el número de procesos necesarios que se abortan (Kang). En general, confiar en las políticas de espera no es un método óptimo (Kang).

Es necesario discutir la formación de plazos. Los plazos son las limitaciones para los datos que pronto serán reemplazados y a los que se accede por la transacción. Los plazos pueden ser observables o predictivos (Kang). En un sistema de plazos observantes, todas las transacciones no terminadas se examinan y el procesador determina si alguna ha cumplido su plazo (Abbot). En este método surgen problemas debido a las variaciones causadas por las variaciones del tiempo de búsqueda, la gestión de la memoria intermedia y los fallos de página (An Overview of Real-Time Database Systems). Una forma más estable de organizar los plazos es el método predictivo. Construye un programa candidato y determina si una transacción no cumpliría su plazo según el programa (Abbot).

El tipo de respuesta a un plazo incumplido depende de si el plazo es duro, blando o firme. Los plazos duros requieren que cada paquete de datos llegue a su destino antes de que el paquete haya expirado y, si no, el proceso podría perderse, causando un posible problema. Problemas como éstos no son muy comunes porque se requiere la omnipotencia del sistema antes de asignar los plazos para determinar el peor caso. Esto es muy difícil de hacer y si algo inesperado le sucede al sistema, como un diminuto fallo de hardware, podría despistar a los datos. En el caso de los plazos blandos o firmes, el incumplimiento de un plazo puede conducir a una degradación del rendimiento pero no a una catástrofe (Haritsa). Un plazo de entrega suave cumple con la mayor cantidad de plazos posibles. Sin embargo, no existe ninguna garantía de que el sistema pueda cumplir todos los plazos. Si una transacción no cumple su plazo, el sistema tiene más flexibilidad y la transacción puede aumentar su importancia. A continuación se describen estas respuestas:

Plazo duro: Si el incumplimiento de los plazos crea problemas, lo mejor es un plazo duro. Es periódico, lo que significa que entra en la base de datos con un patrón rítmico regular. Un ejemplo son los datos recogidos por un sensor. Estos se utilizan a menudo en sistemas críticos para la vida (Stankovic).

Plazo firme: Los plazos firmes parecen ser similares a los plazos duros, pero difieren de ellos porque los plazos firmes miden la importancia de completar la transacción en algún momento después de que ésta llegue. A veces completar una transacción después de que su plazo haya expirado puede ser perjudicial o no ayudar, y tanto los plazos firmes como los duros consideran esto. Un ejemplo de plazo firme es el sistema de piloto automático (Snodgrass).

Plazo blando: Si es deseable cumplir con las limitaciones de tiempo pero el incumplimiento de los plazos no causa daños graves, un plazo blando puede ser lo mejor. Funciona con un horario aperiódico o irregular. De hecho, se desconoce la llegada de cada vez para cada tarea. Un ejemplo es la centralita de un teléfono (Stankovic).

Los procesos de plazos duros abortan las transacciones que han pasado el plazo, mejorando el sistema al limpiar el desorden que debe ser procesado. Los procesos pueden limpiar no sólo las transacciones con plazos vencidos sino también las transacciones con los plazos más largos, suponiendo que una vez que lleguen al procesador quedarán obsoletas. Esto significa que las demás transacciones deben tener mayor prioridad. Además, un sistema puede eliminar las transacciones menos críticas. Cuando estaba preseleccionando clases en un período de mucho tráfico, un campo de la base de datos puede estar tan ocupado con solicitudes de registro que no estuvo disponible durante un tiempo y el resultado de mi transacción fue una visualización de la consulta SQL enviada y un mensaje que decía que los datos no estaban disponibles en ese momento. Este error es causado por el verificador, un mecanismo que comprueba el estado de las reglas, y la regla que se produjo antes de él (Ramamritham). [cita necesaria]

El objetivo de los períodos de programación y los plazos es actualizar las transacciones que se garantiza que se completarán antes de su fecha límite de manera que el volumen de trabajo sea mínimo. Con grandes bases de datos en tiempo real, las funciones de amortiguación pueden ayudar a mejorar enormemente el rendimiento. Un búfer es una parte de la base de datos que se almacena en la memoria principal para reducir el tiempo de respuesta de las transacciones. Para reducir las transacciones de entrada y salida del disco, se debe asignar un cierto número de buffers (O'Neil). A veces las multiversiones se almacenan en los búferes cuando el bloque de datos que necesita la transacción está actualmente en uso. Más tarde, la base de datos tiene los datos adjuntos. Diferentes estrategias asignan los buffers y deben equilibrar entre tomar una cantidad excesiva de memoria y tener todo en un buffer que tiene que buscar. El objetivo es eliminar el tiempo de búsqueda y distribuir los recursos entre las tramas del búfer para acceder rápidamente a los datos. Un gestor de búferes es capaz de asignar más memoria, si es necesario, para mejorar el tiempo de respuesta. El gestor del búfer puede incluso determinar si una transacción que tiene debe avanzar. El buffer puede mejorar la velocidad en los sistemas en tiempo real (O'Neil)


Futura aplicación y perspectiva de la investigación actual



Las bases de datos tradicionales son persistentes pero son incapaces de manejar datos dinámicos que cambian constantemente. Por lo tanto, se necesita otro sistema. Las bases de datos en tiempo real pueden modificarse para mejorar la precisión y la eficiencia y evitar conflictos, proporcionando plazos y períodos de espera para asegurar la coherencia temporal. Los sistemas de bases de datos en tiempo real ofrecen una forma de vigilar un sistema físico y representarlo en flujos de datos a una base de datos. Una corriente de datos, como la memoria, se desvanece con el tiempo. A fin de garantizar que se registre la información más reciente y precisa, existen varias formas de comprobar las transacciones para asegurarse de que se ejecutan en el orden adecuado. Una casa de subastas en línea es un ejemplo de una base de datos que cambia rápidamente. En este documento se examina el ejemplo de un sistema de registro escolar.

Ahora los sistemas de bases de datos son más rápidos que en el pasado. En el futuro, podemos esperar sistemas de bases de datos aún más rápidos. Aunque ahora tenemos sistemas más rápidos, un esfuerzo para reducir las faltas y las demoras seguirá siendo beneficioso. La capacidad de procesar los resultados de manera oportuna y predecible siempre será más importante que el procesamiento rápido. El procesamiento rápido que se aplica incorrectamente no es útil para los sistemas de bases de datos en tiempo real. Las transacciones que se ejecutan con mayor rapidez se bloquean a veces de tal manera que hay que abortarlas y reiniciarlas. De hecho, el procesamiento rápido perjudica algunas aplicaciones en tiempo real porque el aumento de la velocidad conlleva más complejidad y más posibilidades de problemas causados por una variación de la velocidad. Un procesamiento más rápido hace más difícil determinar qué plazos se han cumplido con éxito (Lam). Con los futuros sistemas de bases de datos funcionando aún más rápido que nunca, es necesario hacer más estudios para que podamos seguir teniendo sistemas eficientes (Lam).

La cantidad de investigación que estudia los sistemas de bases de datos en tiempo real aumentará debido a las aplicaciones comerciales como las casas de subastas en la web como e-bay. Más países en desarrollo están expandiendo sus sistemas telefónicos, y el número de personas con teléfonos celulares en los Estados Unidos así como en otros lugares del mundo continúa creciendo. También es probable que estimule la investigación en tiempo real el aumento exponencial de la velocidad del microprocesador. Esto permite nuevas tecnologías, como las videoconferencias en la web y las conversaciones por mensajería instantánea con sonido y vídeo de alta resolución, que dependen de sistemas de bases de datos en tiempo real. Los estudios de coherencia temporal dan lugar a nuevos protocolos y limitaciones de tiempo con el objetivo de manejar las transacciones en tiempo real con mayor eficacia (Haritsa).


Resumen: base de datos en tiempo real



Una base de datos en tiempo real es un sistema de procesamiento que maneja cargas de trabajo cambiantes, como el mercado de valores. Permite procesar transacciones rápidamente y es útil en contabilidad, banca, medicina, entre otros. Con el aumento de la potencia de las computadoras, su uso se ha vuelto más común.




¿Cuál es la ventaja de utilizar una base de datos en tiempo real?



Utilizar una base de datos en tiempo real permite tener acceso a información actualizada al instante. Esto es especialmente útil en situaciones donde los datos cambian constantemente, como en el caso de un mercado de valores. Además, permite realizar acciones en tiempo real basadas en los cambios que ocurren en los datos.


¿Cómo se asegura la integridad de los datos en una base de datos en tiempo real?



La integridad de los datos en una base de datos en tiempo real se asegura mediante mecanismos de control de transacciones. Estos mecanismos garantizan que las operaciones realizadas sobre los datos se realicen en un orden correcto y que se cumplan las restricciones de integridad definidas en la base de datos.


¿Cuáles son los desafíos de gestionar una base de datos en tiempo real?



Gestionar una base de datos en tiempo real presenta desafíos, como garantizar un rendimiento óptimo en un entorno de alta velocidad, manejar grandes volúmenes de datos que cambian constantemente y asegurar la disponibilidad de la base de datos en todo momento. Además, se deben implementar estrategias de copia de seguridad y recuperación para garantizar la integridad de los datos.


¿Qué tipos de aplicaciones se benefician de una base de datos en tiempo real?



Las aplicaciones que se benefician de una base de datos en tiempo real son aquellas que requieren acceso a información actualizada de forma inmediata. Esto incluye aplicaciones financieras, sistemas de control de inventario, sistemas de monitorización en tiempo real, entre otros.


¿Cuál es la diferencia entre una base de datos en tiempo real y una base de datos tradicional?



La principal diferencia entre una base de datos en tiempo real y una base de datos tradicional radica en su capacidad de manejar datos que cambian constantemente y ofrecer acceso a información actualizada en tiempo real. Las bases de datos tradicionales contienen datos persistentes que no se ven afectados por el tiempo y suelen ofrecer un acceso más lento a la información.


¿Qué características debe tener una base de datos en tiempo real?



Una base de datos en tiempo real debe tener características como alta velocidad de procesamiento, capacidad de manejar grandes volúmenes de datos en constante cambio, mecanismos de control de transacciones para garantizar la integridad de los datos y alta disponibilidad para asegurar que la información esté siempre accesible. Además, debe tener capacidades de escalabilidad para adaptarse a los cambios en las cargas de trabajo.





Autor: Leandro Alegsa
Actualizado: 01-08-2023

¿Cómo citar este artículo?

Alegsa, Leandro. (2023). Definición de base de datos en tiempo real. Recuperado de https://www.alegsa.com.ar/Dic/base_de_datos_en_tiempo_real.php

Diccionario informático



 


articulos
Asistente IA
Escribe tu consulta sobre informática y tecnologías al asistente de Inteligencia Artificial
¡te responderá en segundos!




* ACLARACIÓN: el asistente ha sido entrenado para responder tus dudas con muy buenos resultados, pero puede equivocarse, esta tecnología aún está en desarrollo. Te sugiero dejar tu email para que te contactemos para corregir la respuesta de la IA: leemos todas las consultas y respuestas.


Usa nuestro buscador para definiciones, informática y tecnologías