Publiziert: Zuletzt aktualisiert:

Modern Databases: Polyglot Persistence und Vector DBs

Die Zeit, in der eine einzelne relationale Datenbank für alle Aufgaben einer Organisation ausreichte, ist vorbei. Moderne Architekturen nutzen Polyglot Persistence — den Einsatz verschiedener Datenbank-Typen (SQL, NoSQL, Graph, Vector) für jene Zwecke, für die sie am besten geeignet sind.

Besonders für Anwendungen mit Generativer KI sind Vektordatenbanken (Vector DBs) zum unverzichtbaren Baustein geworden, um semantische Informationen effizient zu speichern und zu durchsuchen.

Anti-Patterns: Der Datenbank-Monolith

  • One Size Fits All: Der Versuch, unstrukturierte Daten, Zeitreihen und Vektoren mühsam in eine klassische SQL-Datenbank zu pressen, was zu schlechter Performance und hoher Komplexität führt.
  • Mangelnde Skalierbarkeit: Relationale Systeme stossen bei massiven parallelen Schreibzugriffen oft an ihre Grenzen (siehe Cloud Native).
  • Keine semantische Suche: Klassische Datenbanken finden nur exakte Begriffe (Keywords), verstehen aber nicht den Kontext oder die Bedeutung einer Suchanfrage.

Der spezialisierte Storage

  1. Relational (SQL): Bleibt der Standard für strukturierte Transaktionsdaten (Bestellungen, Finanzen, Stammdaten) — z. B. PostgreSQL.
  2. Document Store (NoSQL): Für unstrukturierte, sich schnell ändernde Datenformate (z. B. MongoDB).
  3. Vector Databases: Speicherung von mathematischen Repräsentationen (Embeddings) von Texten, Bildern oder Audio für semantische Ähnlichkeitssuche (z. B. Weaviate, Pinecone, Milvus oder pgvector).
  4. Time Series Databases: Optimiert für die Erfassung von massiven Telemetriedaten und Logs (z. B. InfluxDB, Prometheus).
  5. Graph Databases: Für hochvernetzte Daten wie soziale Netzwerke oder Betrugserkennung (z. B. Neo4j).

Der Fokus: API-basierte Persistenz

In einer modernen Architektur greifen Microservices nicht direkt auf die Datenbanken anderer Services zu. Jeder Service verwaltet seine eigene optimale Persistenzschicht und bietet die Daten via API an.

FAQ

Erhöht Polyglot Persistence nicht unseren Wartungsaufwand massiv?

Ja, es erfordert mehr Know-how. Daher nutzen wir konsequent Managed Database Services der Cloud-Provider. Der Gewinn an Performance und Funktionsumfang für neue Anwendungen (wie KI) überwiegt den administrativen Overhead bei weitem.

Kann ich nicht einfach ein Vector-Plugin für meine SQL-Datenbank nutzen?

Ja, für viele KMU-Anwendungen ist das ein hervorragender Start (z. B. pgvector für PostgreSQL). Dedizierte Vector DBs sind erst bei sehr grossen Datenmengen oder komplexen KI-Workflows zwingend nötig.

Reference Guide

  • Designing Data-Intensive Applications: Martin Kleppmann über Datenbank-Paradigmen. O'Reilly
  • Vector Database Fundamentals: Ein Leitfaden für Einsteiger. Pinecone Learning
  • PostgreSQL pgvector: Vektorsuche in der beliebtesten Open Source DB. GitHub

Verwandte Themen

Offene Punkte