Virtual Database Manager
# Virtual Database Manager

Virtual Database Manager (VDB) is software designed to represent some non-relational data in a virtual data warehouse without copying the original data and allow a real time access to the data.

VDB is a framework written in Java allowing access to data via the standard SQL language through a conventional JDBC driver. The data are represented into its virtual data warehouse to facilitate the usage of analysis and reporting tools.

## History

### Needs

Because of the need for independence and neutral access to information in a governance process, SAP Business Objects' administrators and managers need to analyse the content of the platform, such as security control, license compliance or document relationships, by using standard reporting tools which are used standard SQL.

As said Jacob Nikom of MIT's Lincoln Laboratory in 2009, "real-time data warehousing", .. was so accurate,, to have the best analysis of original data, VDM must provide a real time access to the most recent data.

### Issues

SAP BusinessObjects Enterprise repository's structure does not use a normalized design, although it is physically stored in a relational database. For performance reason, all data which represents an object (Folders, Documents, Users, Groups) is stored in a flat table. Each row includes ids and keys and a blob for the metadata and the security access control lists. These metadata are not accessible through standard SQL. None of the standard reporting tools can access this metadata, including SAP BusinessObjects' native documents (Web Intelligence).

### Solution

To solve all these issues, SoftNtic has decided to design the product – Enterprise Connector – which permit a live and real time SQL access to the repository and its founder, Thomas Trolez, got the idea of Virtual Database Manager for the core engine which provide a real time representation of the needed data in a virtual data warehouse which permit the usage of standard analysis and reporting tools.

VDM was developed by SoftNtic SAS between 2009 and 2010 and integrated as the core engine of its "Enterprise Connector" product to access SAP BusinessObjects Enterprise repository.

## How it works

To allow a representation of the data in a virtual data warehouse without copying them, VDM designed a virtual star schema consisting of virtual fact and dimension tables. The original data are represented and organized into virtual tables (standard table and fact table). These tables are virtually linked in an n,m relation and the JDBC driver exposes the virtual database model as though the original data were held in these "tables".

When an SQL request is received by the JDBC driver, it is analyzed with SoftNtic's Lexer/parser, determining:

* The best path (depending on its cost) to retrieve all the requested data
* The virtual tables associated with the mandatory data (requested and technical). For example, the unique identifier of an object.
* The pre-treatment and post-treatment filters

Depending on these elements, the system calls an encoder/decoder to retrieve the data from the native system. Each encoder/decoder depends on the implementation. In the case of Enterprise Connector, the encoders/decoders use the SAP BusinessObjects Enterprise SDK to access to the repository.

