When I began working in the field of data management the disconnect between rigid structure of relational database tables and free form of documents managed by end users and their businesses stood out as a technical and managerial hurdle. On the one hand there were strict definitions of normalized relational database models and unstructured document formats on the other. Often the users in charge of changing document structures held organizational responsibilities far removed from database modeling or programming. On one occasion I was involved in a project where call center operators made on the fly decisions to update a document structure based on phone conversations with customers. Such updates had to be streamed into a relational back-end creating havoc in database structure and build of table columns.
In seeking a permanent solution I researched merits of Entity-Attribute-Value database schema and its applications. This technique proved successful in enabling front end users to modify relational-bound documents through performing updates to structure described in their metadata. However application of EAV raised its own issues, for example accommodation of updated document metadata at times required changes to definitions of the relational tables, attention of developers due to complexity of application layer in client-server interoperability, rapidly growing fact tables and performance of multiple join statements in select queries.
I set out to address these problems by devising an EAV schema that accommodated not only the master data but also the metadata of document descriptions in a combined database schema while precluding storage of duplicate and null values. For example when there is a database table column "A", variable "A" in application code and value "A" in a table row there is only one "A" stored in the relational database. The resulting schema went farther in enabling Object Oriented interpreter within the relational database that allows the clients to update document structure through submission of metadata descriptor as input parameter. When fully developed the technique of submitting document structure metadata to OORDBMS interpreter will facilitate development of pattern recognition, predictive querying and data visualization applications.
2DX server is an RDBMS hosting Object-Oriented interpreter implemented with Stored Procedures. Its purpose is to convert serialized data to and from normalized form and execute application logic. The server introduces lazy transaction processing scheme where write requests undergo a series of validity checks of low system resource utilization. Once a pending write request is validated it is committed to write buffer whose size is reset to empty after updates are transferred to the master tables in asynchronous batch. The cluster mirrors all data updates to a noSQL server for superior speed in update validation and data retrieval. The updates are made visible to rest of the cluster instances immediately following commit to the write buffer eliminating the delay of master table indexes recalculation.