Database
 sql >> Database >  >> RDS >> Database

Bridging RDBMS e NoSQL:Introduzione al cluster dell'interfaccia utente 2DX

2DX è un framework dell'interfaccia utente Web che consiste in un browser in memoria NoSQL e un interprete JavaScript basato su stored procedure che ospita RDBMS. Entrambi i componenti del database NoSQL e RDBMS di 2DX seguono lo stesso schema del database Entity-Attribute-Value progettato per ospitare i dati serializzati in forma normale. È stato sviluppato attraverso il riduzionismo dei modelli di dati relazionali in formati di dati serializzati trovati in standard di settore come XML o JSON.

Il client NoSQL per browser Web è un oggetto singleton JavaScript leggero che è un database fornito con un'interfaccia di query di dati serializzata indicizzata per la riduzione della notazione Big-O nelle operazioni di estrazione. Vari tipi di documenti sono supportati tramite i driver API pertinenti. Il tipo di documento attualmente supportato è "UI" per gli alberi DOM del sito Web con supporto di "DB" per i dati relazionali e "OL" per le tabelle pivot in fase di sviluppo. Interfacce client 2DX a framework JavaScript di terze parti come Angular o jQuery tramite driver API specifici che espandono la funzionalità dell'interfaccia utente client a strumenti di sviluppo Web ampiamente utilizzati.

Le pagine Web contenute nell'albero DOM del documento "UI" vengono visualizzate sugli schermi tramite il rendering HTML integrato e il motore di memorizzazione nella cache. Per le sue operazioni dell'interfaccia utente, il database NoSQL del client crea un contenitore DOM in memoria al momento dell'inizializzazione "new JS2DX()". Questa funzione consente l'accesso diretto alla memoria DB-UI. I benchmark mostrano che 2DX può eseguire il rendering di più pagine Web a intervalli di 10-20 millisecondi ed è in grado di caricare alberi DOM con oltre 2 milioni di elementi HTML senza mandare in crash la finestra del browser.

Il server 2DX è un database RDBMS che ospita stored procedure che convertono i dati serializzati in forma normale e viceversa. Le stored procedure rappresentano un interprete JavaScript il cui codice sorgente del programma è archiviato in forma normale. Oltre a eseguire il commit dei dati client inviati, il server 2DX è in grado di eseguire programmi orientati agli oggetti abilitati alla logica aziendale, scritti in JavaScript fortemente tipizzato. Si connette alle istanze client tramite il driver CGI.

Poiché sempre più aziende scelgono NoSQL per prestazioni di query rapide, la sua interoperabilità con i dati relazionali è spesso lasciata al livello intermedio dell'applicazione. 2DX elimina la necessità di un livello intermedio con l'ambiente di programmazione ospitato in moduli memorizzati persistenti nativi di RDBMS. I dati inviati dai clienti sono elaborati, da e vincolati a un database relazionale. I registri delle transazioni con le righe della tabella aggiornate vengono pubblicati in modo asincrono su un server o un file system NoSQL. Le istanze del database client utilizzano quest'ultimo per recuperare i registri degli aggiornamenti dei dati relazionali per la replica e la disponibilità istantanea sulle schermate dell'interfaccia utente. Una volta che le transazioni in sospeso vengono riprodotte sulle istanze client, queste diventano sincronizzate con il database del server.

La configurazione del cluster di database client/server 2DX garantirà una bassa latenza in ambienti di dati di grandi dimensioni in cui è necessario il commit delle richieste dei client in un database relazionale. Inoltre, tale cluster garantirà che le operazioni di input/output dell'utente vengano registrate nei registri delle transazioni RDBMS. Le sue prestazioni di rendering dell'interfaccia utente possono aprire 2DX per l'uso nei servizi di gioco Web. Nelle versioni future è previsto il log shipping diretto del database tra i componenti del database client e server del cluster che ignora la serializzazione e il server DBMS proprietario in sostituzione di RDBMS generico.