# Erste JPMDBC Alpha-Version fertig :-)



## tuxedo (27. Jul 2007)

Wollt's hier auch nochmal kund tun:

Mein JDBC-Treiber hat Alpha-Status erreicht. Siehe: http://www.java-forum.org/de/viewtopic.php?p=318675#318675

Der Treiber macht es möglich eine herkömmliche MySQL-Datenbank, wie sie bei vielen Webspaces mittlerweile kostenlos dabei ist, in einer Java-Anwendung außerhalb der Webseite zu benutzen. 
Der Treiber ist überwiegend für kleine bis mittlere Projekte gedacht, die eine DB brauchen, die über das Internet erreichbar ist. Der Treiber verwendet den JDBC-Standard (auch wenn nur die wichtigsten Methoden implementiert sind).

Anregungen, Bugreporting etc. bitte im verlinkten Post tätigen...

Gruß
Alex


----------



## tuxedo (31. Jul 2007)

Solangsam wird die Sache "groß". Wenn jemand lust hat hier mitzuwirken kann er sich ja melden... 

Ach ja: Das Projekt ist mittlerweile unter http://jpmdbc.dev.java.net zu finden. Fort gibts auch ein Forum (noch ziemlich mega-leer) + ein Subversion-Repository. 

- Alex


----------



## tuxedo (15. Aug 2007)

Die ersten User testen und nutzen den Treiber bereits... Das ist prima. Ich hab auch schon tolles Feedback erhalten und konnte so die ersten Bugs eliminieren. Hierfür ein recht herzliches Danke an die Tester.

Ich habe eben mal testweise jPMdbc mit dem Connector/J von MySQL, der via SSH-Tunnel auf die gleiche Datenbak wie jPMdbc zugreift, verglichen. Das Ergebnis ist "erstaunlich".

Ich hab eine SELECT * FROM ... WHERE id < 10000 Anfrage auf eine Tabelle mit 2699 Zeilen und etwa 30 Spalten losgelassen. Das Ergebnis ist 2720 Zeilen lang und hat eine größe von 10,4MB

So, ich hab immer mal wieder abwechseln das Statement mit jPMdbc und Connector/J losgelassen. Hier ist das Ergebnis:

1. Versuch: jPMdbc - Dauer 97sek
2. Versuch: Conn/J - Dauer 102sek
3. Versuch: Conn/J - Dauer 74sek
4. Versuch: Conn/J - Dauer 71sek
5. Versuch: jPMdbc - Dauer 54sek
6. Versuch: jPMdbc - Dauer 53sek
7. Versuch: jPMdbc - Dauer 53sek
8. Versuch: Conn/J - Dauer 70sek
9. Versuch: Conn/J - Dauer 69sek

Vergleicht man den ersten Versuch von jPMdbc mit den andere, so fällt auf, dass die DB die Abfrage hier zuallererst gecached hat. Denn alle weiteren Versuche mit jPMdbc liegen sehr nahe beieinander. Connector/J hat, abgesehen vom 1. Versuch überhaupt, durch die Bank weg schlechter abgeschnitten. 

Vielleicht lag es am SSH-Tunnel, vielleicht aber auch an der reinen Java-Implementierung des Treiber. jPMdbc greift auf PHP-Seite, auf eine AFAIK native Bibliothek zu. Vielleicht ist das der Grund warum jPMdbc etwa 1/4 schneller ist als Connector/J ...

Vielleicht erbarmt sich jemand, macht so einen Test mal bei sich und postet das ergebnis hier ?!

Würd mich interessieren.

- Alex


----------



## CeNoRiDeR (15. Aug 2007)

Hi Alex,

also ich nutze deinen Treiber ja seit gestern überaus erfolgreich! Also nochmal vielen Dank für den tollen Treiber!

Ich muss auserdem sagen das mir es auch so vorkommt das der Treiber schneller arbeitet als der MySQL Connector/J!!!
Habe das nicht gemessen, sondern es ist nur eine subjektive einschätzung der Zeiten...


----------



## tuxedo (15. Aug 2007)

Wenn du die möglichkeit hast einen direkten Vergleich zu starten (beide sollten über das Internet die Abfrage starten etc..), dann würde ich mich über Messergebnisse freuen.

- Alex


----------



## CeNoRiDeR (15. Aug 2007)

ok ich werde demnächst einen vergleich machen und hier posten!
Werd aber denk ich vor Freitag nicht zu kommen...


----------



## tuxedo (15. Aug 2007)

NUr keine Hektik aufkommen lassen. Ich hab die "Prepared Statements" ja auch noch nicht fertig implementiert. 

- Alex


----------



## Spoocky (5. Sep 2007)

Hi,

ich versuche nun auch Dein jpmdbc zu nutzen, finde leider keinen Import für 'ProgressPrinter'!

Habe schon das ganze Netz durchsucht und nichts Brauchbares gefunden. Habe auch schon 'gt2-src-2.3.3.zip' gefunden und ausprobiert, scheint bisher nicht zu funktionieren.

Könntest Du mir eine kleine Einführung geben, wie ich chronologisch vorgehen muss, damit dies auch mit meiner Anwendung läuft? Die Website gibt da nicht so viel her...


----------



## tuxedo (5. Sep 2007)

Der ProgressPrinter ist meine Beispielimplementierung. Du kannst da selbst was zusammenschustern und beispielsweise eine JProgressBar  benutzen. Du musst dafür nur "IProgressProvider" implementieren lassen.

Der Import sieht folgendermaßen aus:

import de.root1.jpmdbc.jdbc.interfaces.IProgressProvider;


Wenn du für's erste mal meinen ProgressPrinter testen willst, kann kannst du den einfach benutzen, mussthalt noch 

import de.root1.jpmdbc.testing.ProgressPrinter;

machen.

Das Codebeispiel ist so wie's auf der Webseite steht voll funktionsfähog (eben nochmal getestet). Du hast nur dann Import-Probleme, wenn die jpmdbc-JAR nicht im ClassPath liegt.

Welche IDE benutzt du?

- Alex


----------

