Optimization of the Communications between Applications and
Databases
Nuno Alberto Paulino Fonseca
Mestrado em Inteligência Artificial e Computação
Universidade do Porto
Janeiro 2001
Abstract
Nowadays, databases play a key role on the dissemination and sharing
of information among users throughout client-applications residing
elsewhere on the network. Recently, given the success of the Internet,
the number of data-centric applications and the data/traffic on the
network has increased enormously resulting in a high latency in
accessing data sources.
This work proposes a model that tries to minimise the data communications
and latency between applications and data sources, such as
databases. The model is based on the idea of employing a cache to keep
results of previous queries to data sources in order to speedup future
data accesses. The cache is kept within the application itself or/and
within a proxy. The coherency of the data stored in the cache is
maintained by the use of update or invalidate protocols. This model
has been implemented as the system Polites.
The Polites is a middleware that interfaces the user applications with
data sources. It has been structured in such a way that allows
applications to access several types of data sources in a
transparently.
Another component of this work consisted in the development of an API, named
DBase, that maps the results of database queries in data structures in
the TCL language. It is also responsible for keeping the content of
these structures synchronized with the corresponding data whithin the
mapped databases.
Polites was throughly tested and the results obtained indicate that, in
certain conditions, it is able to reduce the latency and network
traffic (due
to the communications between applications and databases) to less than
half of the initial value. However, the Polites was not found very
helpful when the frequency of changes in the data being cached is
too high.