Bridging RDBMS and NoSQL: Introduction to 2DX UI cluster

NoSQL   |   
Published December 8, 2016   |   

2DX is a Web UI framework that consists of in-memory Browser NoSQL and RDBMS hosting Stored Procedure-built JavaScript interpreter. Both NoSQL and RDBMS database components of 2DX follow same Entity-Attribute-Value database schema designed to accommodate serialized data in normal form. It was developed through reductionism of relational data models to serialized data formats found in industry-standards like XML or JSON.

NoSQL client for Web Browsers is a lightweight JavaScript singleton object that is a database supplied with serialized data query interface indexed for reduction of Big-O notation in extract operations. Various document types are supported through relevant API drivers. Currently supported document type is ‘UI’ for website DOM trees with support of ‘DB’ for relational data and ‘OL’ for pivot tables under development. 2DX client interfaces to third-party JavaScript frameworks such as Angular or jQuery through specific API drivers expanding its client UI functionality to widely used Web development tools.

Web pages contained in DOM tree of ‘UI’ document are displayed on screens through built-in HTML rendering and caching engine. For its UI operations client NoSQL database creates in-memory DOM container at time of initialization “new JS2DX()”. This feature enables direct DB-UI memory access. Benchmarks show that 2DX can render multiple web pages at 10-20 millisecond intervals and is capable of loading DOM trees with over 2 million HTML elements without crashing Browser window.

2DX server is an RDBMS database hosting Stored Procedures that convert serialized data to normal form and vice-verse. The Stored Procedures represent a JavaScript interpreter whose program source code is stored in normal form. Aside of committing submitted client data 2DX server is capable of running complete, business logic-enabled Object-Oriented programs written in strongly typed JavaScript. It connects to client instances through CGI driver.

As more enterprises choose NoSQL for fast query performance its interoperability with relational data is often left with application middle layer. 2DX eliminates need for middle layer with programming environment hosted in Persistent Stored Modules native to RDBMS. Data submitted by clients is processed and by and committed to a relational database. Transaction logs with updated table rows are asynchronously published to a NoSQL server or file system. Client database instances use latter to retrieve logs of relational data updates for replication and instant availability on UI screens. Once pending transactions are played on client instances they become in-sync with server database.

2DX client/server database cluster configuration will ensure low latency in large data environments where commit of client requests to a relational database is necessary. Additionally, such cluster will ensure that user input/output operations are recorded to RDBMS transaction logs. Its UI rendering performance may open 2DX for use in Web gaming services. Direct database log shipping between client and server database components of the cluster that bypasses serialization and proprietary DBMS server in replacement of generic RDBMS are planned in future versions.