Jimmy: Wie einen Sinnvollen Benchmark erstellen

Hi,

in der Java Welt tummeln sich ja mittlerweile viele kleine Datenbanken (Derby, HSQLDB, H2, ...).

Da aber Benchmarks hierzu zu verschiedensten Ergebnissen kommen, wollte ich das ganze mal selbst testen.
Allerdings habe ich kaum Erfahrung im Bereich des Benchmarkings von Datenbanken.

Eine Google Suche hat mich auf Pole Position und auf TPC aufmerksam gemacht, jedoch denke ich das diese beiden Test-Sammlungen nicht ganz dem Anwendungsgebiet solcher Mini-DBs entsprechen:

  • Pole Position ist zu sehr auf ORM ausgelegt. Ich lege fast nur "Relationale Daten" in die DB, also keine Objekte im engeren Sinn.

  • TPC ist zu sehr auf Concurrency/Transaktionen aus. Diese Mini-DBs werden aber oft nur von einem Benutzer verwendet (bzw. einem Prozess), und bieten teilweise gar nicht die möglichkeit für einen Mehrbenutzerbetrieb.

Habt ihr eine Idee wie ich das Angehen soll, bzw. worauf ich achten soll falls ich einen eigenen Benchmark erstelle?

  1. Hi!

    Habt ihr eine Idee wie ich das Angehen soll, bzw. worauf ich achten soll falls ich einen eigenen Benchmark erstelle?

    Wenn du einen allgemein gehaltenen Benchmark verwendest, kannst du nur allgemeine Aussagen zum Verhalten treffen. Wenn du hingegen den Benchmark speziell auf deine Bedürfnisse auslegst, wirst du genauere Aussagen für den Einsatz bei dir treffen können. Und wenn du obendrein noch spezifische Features der einzelnen Systeme zu verwenden gedenkst, wirst du feststellen, dass die Benchmarks vielleicht gar nicht mehr austauschbar sind, sich das Laufzeitverhalten aber verbessern kann, wenn DBMS-spezifische Optimierungen verwendet werden können.

    Überhaupt sollte der erste "Benchmark" ein Vergleich der Features sein, und dieser Vergleich sollte auch gegen die eigenen Anforderungen laufen.

    Lo!