Not logged in.

Contribution Details

Type Other Publication
Scope Discipline-based scholarship
Title JDBC driver for CoopSC
Organization Unit
Authors
  • Frick Manuel
Language
  • English
How Published
Date 2011
Abstract Text In every application that uses a database server, short response times for queries are desired. Semantic caching is a well-known approach to this issue and is based on caching executed queries locally for a future usage. An architecture of an advanced semantic caching system has been designed at the University of Zurich in order to further improve the performance. This architecture additionally uses other clients’ caches and distributes an index of all local caches via a P2P network. The cooperative semantic caching approach has been implemented in a C++ prototype application called CoopSC. Since the use of CoopSC is also desirable in Java programs, the task of this assignment is to develop a JDBC driver for CoopSC. The key question of this assignment is how to bridge the C++ and Java worlds in order to create a JDBC driver that makes the CoopSC functionality available in Java. In the course of this assignment JNI has been chosen to fulfill this task and a JDBC driver could be implemented. An evaluation of this approach has been done by developing an adequate benchmark application and running tests with it. In these tests the response times for answering queries by CoopSC directly was compared with answering them via the JDBC driver. The evaluation has shown that the JDBC driver is creating an overhead which is mainly caused by the use of JNI. Furthermore, a GUI has been developed in this assignment which is running on top of the JDBC driver.
Zusammenfassung In jeder Applikation, welche auf einen Datenbankserver zugreift, sind möglichst kurze Antwortzeiten für Datenbankabfragen gefordert. Semantic Caching ist ein bekannter Ansatz zur Lösung dieses Problems und basiert darauf, bereits beantwortete Abfragen für zukünftigen Gebrauch in einem lokalen Cache zu speichern. Eine Architektur eines erwei- terten Semantic Caching Systems wurde an der Universität Zürich entworfen um eine weitere Leistungssteigerung zu erzielen. Diese Architektur benützt zusätzlich den Cache von anderen Clients und verteilt einen Index aller lokalen Caches über ein P2P-Netzwerk. Dieser Cooperative Semantic Caching Ansatz wurde in einem in C++ geschriebenen Prototypen namens CoopSC implementiert. Da die Benützung von CoopSC auch in Java- Programmen erwünscht ist, ist die Aufgabe dieser Facharbeit die Entwicklung eines JDBC Treibers für CoopSC. Das Hauptproblem in dieser Arbeit ist die Frage, wie die C++ und Java Welten überbrückt werden können um einen JDBC Treiber zu implementieren, welcher die Funktionalität von CoopSC in Java verfügbar macht. Im Zuge dieser Fach- arbeit wurde JNI gewählt, um dieses Problem zu lösen und ein JDBC Treiber konnte erfolgreich implementiert werden. Der Ansatz mit JNI wurde durch die Durchführung von Tests mit einer eigens für diese Aufgabe entwickelten Benchmark-Applikation evaluiert. In diesen Tests wurden die Antwortzeiten für eine Durchführung von Datenbankabfragen direkt über CoopSC mit denjenigen einer Durchführung über den JDBC Treiber verglichen. Die Evaluation zeigte, dass der JDBC Treiber einen Overhead zur Folge hat, welcher hauptsächlich auf die Benützung von JNI zurückzuführen ist. Ausserdem wurde in dieser Facharbeit ein GUI entwickelt, welches auf dem JDBC Treiber aufbaut.
PDF File Download
Export BibTeX