sql >> Base de Datos >  >> RDS >> Database

Uniendo RDBMS y NoSQL:Introducción al clúster de interfaz de usuario 2DX

2DX es un marco de interfaz de usuario web que consta de un navegador en memoria NoSQL y RDBMS que aloja un intérprete de JavaScript integrado en procedimientos almacenados. Los componentes de base de datos NoSQL y RDBMS de 2DX siguen el mismo esquema de base de datos Entidad-Atributo-Valor diseñado para acomodar datos serializados en forma normal. Fue desarrollado a través del reduccionismo de modelos de datos relacionales a formatos de datos serializados que se encuentran en estándares de la industria como XML o JSON.

El cliente NoSQL para navegadores web es un objeto singleton de JavaScript liviano que es una base de datos provista con una interfaz de consulta de datos serializados indexada para la reducción de la notación Big-O en las operaciones de extracción. Se admiten varios tipos de documentos a través de controladores API relevantes. El tipo de documento admitido actualmente es 'UI' para árboles DOM de sitios web con soporte de 'DB' para datos relacionales y 'OL' para tablas dinámicas en desarrollo. El cliente 2DX interactúa con marcos de JavaScript de terceros, como Angular o jQuery, a través de controladores de API específicos que amplían su funcionalidad de interfaz de usuario del cliente a herramientas de desarrollo web ampliamente utilizadas.

Las páginas web contenidas en el árbol DOM del documento 'UI' se muestran en las pantallas a través del motor de almacenamiento en caché y representación HTML incorporado. Para sus operaciones de interfaz de usuario, la base de datos NoSQL del cliente crea un contenedor DOM en memoria en el momento de la inicialización "nuevo JS2DX()". Esta función permite el acceso directo a la memoria DB-UI. Los puntos de referencia muestran que 2DX puede representar varias páginas web en intervalos de 10 a 20 milisegundos y es capaz de cargar árboles DOM con más de 2 millones de elementos HTML sin bloquear la ventana del navegador.

El servidor 2DX es una base de datos RDBMS que aloja procedimientos almacenados que convierten datos serializados a su forma normal y viceversa. Los procedimientos almacenados representan un intérprete de JavaScript cuyo código fuente del programa se almacena en forma normal. Además de confirmar los datos del cliente enviados, el servidor 2DX es capaz de ejecutar programas completos orientados a objetos habilitados para la lógica empresarial escritos en JavaScript fuertemente tipado. Se conecta a instancias de clientes a través del controlador CGI.

A medida que más empresas eligen NoSQL para un rendimiento rápido de consultas, su interoperabilidad con datos relacionales a menudo se deja en la capa intermedia de la aplicación. 2DX elimina la necesidad de una capa intermedia con un entorno de programación alojado en módulos almacenados persistentes nativos de RDBMS. Los datos enviados por los clientes son procesados ​​y comprometidos con una base de datos relacional. Los registros de transacciones con filas de tablas actualizadas se publican de forma asíncrona en un servidor o sistema de archivos NoSQL. Las instancias de la base de datos del cliente utilizan este último para recuperar registros de actualizaciones de datos relacionales para la replicación y la disponibilidad instantánea en las pantallas de la interfaz de usuario. Una vez que las transacciones pendientes se reproducen en las instancias de los clientes, se sincronizan con la base de datos del servidor.

La configuración del clúster de la base de datos cliente/servidor 2DX garantizará una latencia baja en entornos de datos grandes donde es necesario enviar solicitudes de clientes a una base de datos relacional. Además, dicho clúster garantizará que las operaciones de entrada/salida del usuario se registren en los registros de transacciones de RDBMS. Su rendimiento de representación de la interfaz de usuario puede abrir 2DX para su uso en servicios de juegos web. El envío directo de registros de la base de datos entre los componentes de la base de datos del cliente y del servidor del clúster que omite la serialización y el servidor DBMS propietario en reemplazo del RDBMS genérico está planificado en versiones futuras.