Enhancing Calll-Level Interfaces with Thread-Safe Local Memory Structures

Database applications are being increasingly under pressure to respond effectively to ever more demanding performance requirements. Software architects can resort to several well-known architectural tactics to minimize the possibility of coming across with any performance bottleneck. The usage of ca...

ver descrição completa

Detalhes bibliográficos
Autor principal: Pereira, Óscar Narciso Mortágua (author)
Outros Autores: Aguiar, Rui L. (author)
Formato: article
Idioma:eng
Publicado em: 1000
Assuntos:
Texto completo:http://hdl.handle.net/10773/21477
País:Portugal
Oai:oai:ria.ua.pt:10773/21477
Descrição
Resumo:Database applications are being increasingly under pressure to respond effectively to ever more demanding performance requirements. Software architects can resort to several well-known architectural tactics to minimize the possibility of coming across with any performance bottleneck. The usage of call-level interfaces (CLIs) is a strategy aimed at reducing the overhead of business components. CLIs are low-level APIs that provide a high-performance environment to execute standard SQL statements on relational and also on some NoSQL database (DB) servers. In spite of these valuable features, CLIs are not thread-safe when distinct threads need to share datasets retrieved through Select statements from databases. Thus, even in situations where two or more threads could share a dataset, there is no other possibility than providing each thread with its own dataset, this way leading to an increased need of computational resources. To overcome this drawback, in this paper we propose a new natively thread-safe architecture. The implementation herein presented is based on a thread-safe updatable local memory structure (LMS) where the 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.