Concurrent Call Level Interfaces based on an embedded thread safe local memory structure - Pereira, Óscar Mortágua (2017)
Performance is traditionally considered one of the most significant concerns in intensive database applications. Several architectural tactics may be taken to minimize the possibility of coming across with any performance bottleneck. One of them is the usage of Call Level Interfaces (CLI). CLI are low level API that provide a high performance environment to execute SQL statements on relational and also on some NoSQL database servers. In spite of this, CLI are not thread safe, this way preventing distinct threads from sharing datasets retrieved from databases through Select statements. Thus, in situations where two or more threads need to access datasets retrieved from the same Select statement, there is no other alternative than providing each thread with its own dataset, this way consuming important computational resources. In this paper we propose a new design for CLI to overcome the aforementioned drawback. Unlike current implementations of CLI, now they are natively thread-safe. The implementation herein presented is based on a thread safe updatable local memory structure where data retrieved from databases is kept. A proof of concept based on Java Database Connectivity type 4 (JDBC) for SQL Server 2008 is presented and also a performance assessment.