sql >> Databasteknik >  >> RDS >> Database

Överbrygga RDBMS och NoSQL:Introduktion till 2DX UI-kluster

2DX är ett ramverk för webbgränssnitt som består av NoSQL-webbläsare i minnet och RDBMS som är värd för lagrad procedur-byggd JavaScript-tolk. Både NoSQL- och RDBMS-databaskomponenter i 2DX följer samma Entity-Attribute-Value-databasschema utformat för att ta emot serialiserade data i normal form. Den utvecklades genom reduktion av relationsdatamodeller till serialiserade dataformat som finns i industristandarder som XML eller JSON.

NoSQL-klient för webbläsare är ett enkelt JavaScript-objekt som är en databas som levereras med serialiserat datafrågegränssnitt indexerat för minskning av Big-O-notation i extraktoperationer. Olika dokumenttyper stöds av relevanta API-drivrutiner. För närvarande stödd dokumenttyp är "UI" för webbplatsens DOM-träd med stöd för "DB" för relationsdata och "OL" för pivottabeller under utveckling. 2DX-klientgränssnitt mot JavaScript-ramverk från tredje part som Angular eller jQuery genom specifika API-drivrutiner som utökar dess klientgränssnittsfunktionalitet till allmänt använda webbutvecklingsverktyg.

Webbsidor som finns i DOM-trädet i "UI"-dokumentet visas på skärmar genom inbyggd HTML-rendering och cachingmotor. För sin UI-drift skapar klient NoSQL-databasen DOM-behållare i minnet vid tidpunkten för initiering "new JS2DX()". Denna funktion möjliggör direkt DB-UI-minnesåtkomst. Benchmarks visar att 2DX kan rendera flera webbsidor med 10-20 millisekunders intervall och kan ladda DOM-träd med över 2 miljoner HTML-element utan att krascha webbläsarfönstret.

2DX-servern är en RDBMS-databas som är värd för lagrade procedurer som konverterar serialiserade data till normal form och vice versen. De lagrade procedurerna representerar en JavaScript-tolk vars programkällkod lagras i normal form. Förutom att skicka in klientdata kan 2DX-servern köra kompletta, affärslogikaktiverade objektorienterade program skrivna i starkt skrivet JavaScript. Den ansluter till klientinstanser via CGI-drivrutinen.

Eftersom fler företag väljer NoSQL för snabb frågeprestanda, lämnas dess interoperabilitet med relationsdata ofta med applikationens mellanlager. 2DX eliminerar behovet av mellanlager med programmeringsmiljö värd i Persistent Stored Modules inbyggt i RDBMS. Data som lämnas av klienter bearbetas och av och läggs till en relationsdatabas. Transaktionsloggar med uppdaterade tabellrader publiceras asynkront till en NoSQL-server eller filsystem. Klientdatabasinstanser använder sistnämnda för att hämta loggar över relationsdatauppdateringar för replikering och omedelbar tillgänglighet på UI-skärmar. När väntande transaktioner spelas upp på klientinstanser blir de synkroniserade med serverdatabasen.

Konfiguration av 2DX-klient/server-databaskluster säkerställer låg latens i stora datamiljöer där överföring av klientförfrågningar till en relationsdatabas är nödvändig. Dessutom kommer ett sådant kluster att säkerställa att användarinmatnings-/utmatningsoperationer registreras i RDBMS-transaktionsloggar. Dess UI-renderingsprestanda kan öppna 2DX för användning i webbspeltjänster. Direkt databasloggsändning mellan klient- och serverdatabaskomponenter i klustret som kringgår serialisering och proprietär DBMS-server som ersättning för generiska RDBMS planeras i framtida versioner.


  1. Hur konfigurerar man Ruby on Rails med Oracle?

  2. Hur man konverterar en Unix-tidsstämpel till ett datum-/tidsvärde i PostgreSQL

  3. SQL-kommando för att lista och visa alla databaser i MySQL och MariaDB

  4. Ytterligare en anledning att undvika sp_updatestats