Upgrade to Pro — share decks privately, control downloads, hide ads and more …

H2 Datenbanken in der Praxis - Julius Mischok

Mischok
September 29, 2020

H2 Datenbanken in der Praxis - Julius Mischok

Die komplett in Java geschriebene Datenbank H2 lässt sich mit wenigen Schritten nahtlos in Spring Boot Projekte integrieren. Durch den In-Memory Modus erleichtert sie die Ausführung von lokalen Unit-Tests, aber es gibt auch Szenarien für den Einsatz in Produktion. Neben der grundlegenden Konfiguration sehen wir uns im Talk auch Praxisbeispiele an, in denen H2 verwendet wurde.

Der Speaker:

Julius Mischok ist CTO der Mischok GmbH in Augsburg. Seine Schwerpunkte sind Prozessentwicklung und das coachen und unterstützen der Entwicklungs-Teams. Derzeit liegt der Fokus seiner Arbeit darauf, herauszufinden, wie Softwareproduktion mit einem maximalem Wertgewinn für den Kunden aussehen kann. Er studierte Mathematik und programmiert seit fast 20 Jahren Java. Mit seiner Expertise arbeitete er in Projekten für BMW, Audi, Hilti, Porsche, Allianz, Bosch und vielen anderen.

Checkt auch den Host der JUG Augsburg: www.mischok.de und den Spring Boot Blog: www.spring-boot-blog.de

Du willst Programmieren lernen? Schau bei der Mischok Academy vorbei: www.mischok.academy

Mischok

September 29, 2020
Tweet

More Decks by Mischok

Other Decks in Programming

Transcript

  1. Julius Mischok — Gründer und Geschäftsführer Mischok GmbH — Java

    seit zwei Jahrzehnten — Qualitäts- und Nachhaltigkeitsfanatiker
  2. In einer perfekten Welt... … ist meine Funktionalität durch Unit-Tests

    abgedeckt und sichergestellt. … liefern Tests unabhängige und reproduzierbare Ergebnisse. … kann ich meinen Code auschecken, die Tests laufen lassen und loslegen.
  3. Was kann H2? — H2 unterstützt drei Modi — In-Memory

    — Embedded — Server — „Where possible, H2 supports the ANSI SQL standard.“ — Emulation von Datenbankdialekten über Compatibility Modes
  4. Argumente gegen H2 in Tests — Entscheidung für unterschiedliches DBMS

    in Tests und Produktion birgt Risiken (aber auch Chancen) — Verzögerte Feststellung von Fehlern
  5. Argumente für H2 in Tests — „Lean Setup“ — Zwingt

    zu Standard SQL — Entfallender Konfigurations- und Einrichtungsaufwand auf Entwicklerrechner und in Pipelines
  6. Soll ich H2 für Tests einsetzen? Daumenregel: — Ja, falls

    Struktur der Daten im Vordergrund steht. — Nein, falls Performance im Vordergrund steht. Alternative: Testcontainers
  7. Ausgangspunkt — Projekt mit „gewachsenen Strukturen“ — Bisher keine Unit-Tests

    — Keine Dokumentation über Funktionalitäten — Testdatenbank wird von diversen anderen Applikationen mitverwendet
  8. Erfahrungen im Projekt — Stetige Steigerung von Qualität und Nachhaltigkeit

    — Parallele Einführung von CI/CD ermöglichte automatisierte Testläufe — Beantragung separater Datenbank wäre zu kompliziert gewesen!
  9. Ausgangspunkt — März 2020 – Deutschland im Lockdown — Spontane

    Idee für Rette deinen Lieblingsladen — Onlineshop mit REST Schnittstelle
  10. Dynamische Situation — Montag: Launch der Website — Dienstag: erster

    Gutscheinkauf — Echte Handarbeit ;-) — Automatisierung muss her
  11. Lean Architecture — Datenbankfile ebenfalls in nextcloud — Dadurch automatisierte

    Versionierung und Backups — Lokales Entwickeln und Testen per Profil — Wenig Konflikte, ließen sich schnell auflösen — „Betrieb“ auf Intel NUC — Verwendung der H2 Console
  12. Vielen Dank! — www.mischok.de — www.facebook.com/mischok.de/ — www.xing.com/companies/ mischokgmbh —

    www.linkedin.com/company/ 40865736 — www.meetup.com/de-DE/Java-User- Group-Augsburg/ _