Prevayler
aus Wikipedia, der freien Enzyklopädie
Prevayler ist ein freier, hauptsächlich in Java geschriebener Persistenz-Layer für Plain Old Java Objects (POJOs). Prevayler gilt als sehr schnell, fehlertolerant und bietet Load-Balancing.
Von anderen Persistenz-Layern wie beispielsweise TOPLink oder Hibernate unterscheidet sich Prevayler dadurch, dass die Objekte nicht in einer relationalen Datenbank gespeichert, sondern im Arbeitsspeicher gehalten werden. Es gibt lediglich in bestimmten Abständen einen Dump auf ein nicht flüchtiges Medium, wie z.B. eine Festplatte.
Die Performance bei Abfragen soll bis zu 9000 mal schneller sein als bei relationalen Datenbanksystemen (RDBMS) wie z.B. Oracle.
Problematisch ist allerdings das permanente Halten aller Objekte im Arbeitsspeicher. Für manche Anwendung ist das ein K.O.-Kriterium (denn: Datenmenge wird u.U. schnell größer als der Hauptspeicher verkraften kann). Prevayler unterstützt nicht das explizite Zurücksetzen der gespeicherten Daten.
[Bearbeiten] Ergebnisse einer Performancemessung
Prevayler | Oracle | MySQL | Microsoft SQL Server | Kombinierte Prozessorgeschwindigkeit1 |
---|---|---|---|---|
62880.46 | 9.15 | 400 MHz | ||
144205.91 | 28.08 | 500 MHz | ||
215543.43 | 75.87 | 95.46 | 900 MHz | |
1Kombinierte Prozessorgeschwindigkeit=Anzahl Prozessoren*Takt pro Prozessor |
Rang | System | Abfragen pro Sekunde | Vergleich zu Prevayler |
---|---|---|---|
1 | Prevayler | 228.369 | |
2 | Microsoft SQL Server | 0.10607 | 2153 mal langsamer als Prevayler |
3 | MySQL | 0.07023 | 3251 mal langsamer als Prevayler |
4 | Oracle | 0.022875 | 9983 mal langsamer als Prevayler |
[Bearbeiten] Siehe auch
- Verwendung von Prevayler als eingebettetes Dateisystem
[Bearbeiten] Weblinks
- http://sourceforge.net/projects/prevayler
- http://www.prevayler.org/
- Resultate von Geschwindigkeitstest
- http://bbooprevalence.sourceforge.net/ (Prevayler-Implmentation in C#)
- http://xprevail.sourceforge.net/ (Prevayler-Implementation in Delphi)