Patrick Schnell Selbstständig

Die Arbeit mit MongoDB und entsprechenden Repository-Patterns kann enorme Vorteile in Sachen Wartbarkeit und Testbarkeit liefern. Jedoch ist hier ein gewisses Maß an Vorarbeit und Planung notwendig, was den erstmaligen Entwicklungsaufwand einer solchen Schnittstelle entsprechend nach oben treibt.

Im Zuge der plattformübergreifenden Entwicklung von Web-APIs stellt sich natürlich auch die Frage nach einer zeitgemäßen Art und Weise der Datenspeicherung. Wer hier ebenfalls flexibel und plattformübergreifend arbeiten möchte, sollte einen Blick auf die aktuellen objekt- bzw. dokumentorientierten Datenbanken werfen.

Jahrzehntelang dominierten relationale Datenbanksysteme und werden dies sicherlich noch einige Zeit tun. Jedoch sind objekt- bzw. dokumentorientierte Datenbanken immer mehr auf dem Vormarsch und bieten für viele Anwendungsfälle eine geeignete und flexible Lösung, um Daten zu persistieren und zu verwalten.

Artikelserie

  • Teil 1: ASP.NET-Core-Web-API effizient nutzen
  • Teil 2: .NET Core und MongoDB – Datenzugriff, Zugriffssteuerung und Abstraktion

Ein großer Vorteil dokumentorientierter Datenbanken ist in erster Linie das schemalose Arbeiten mit Daten. Modelländerungen müssen nun nicht mehr in der Datenbank nachgepflegt und mit entsprechenden Formaten und Regeln ausgestattet werden, sondern können direkt umgesetzt werden. Bei den meisten NoSQL-Datenbanken ist es ebenfalls möglich, seinen Objekten wiederum untergeordnete Objekte zuzuordnen. Durch diese enorme Flexibilität werden vorhandene Klassenkonstrukte schlicht als Dokumente in der Datenbank abgelegt bzw. serialisiert und können sowohl in der Datenstruktur als auch in der Programmlogik äquivalent eingesetzt werden.

Im Falle der althergebrachten relationalen Datenbanksysteme, werden Datenstrukturen wie gewohnt in Tabellen mit fest konfigurierten Spalten und Zeilen hinterlegt. Dies erfordert jedoch, dass die Daten, die in der Anwendung generiert und als hierarchische Klassenstrukturen umgesetzt wurden, entweder manuell oder über einen Object-Relational Mapper als entsprechende zweidimensionale Daten aufzubereiten sind. Dies ist logischerweise immer mit Kompromissen verbunden und für viele heutige Anwendungsfälle eher hinderlich. Ein großer Teil der zur Verfügung stehenden Funktionalitäten in relationalen Datenbanksystemen wird in einfachen Anwendungen oftmals nicht genutzt oder bereits in andere, darauf spezialisierte Systeme (Analyse und Auswertungen, Suche etc.) ausgelagert. Demnach lohnt es sich bei Neuentwicklungen ebenfalls, einen Blick auf die vorhandenen NoSQL-Datenbanken zu werfen.

Eine der weitverbreitetsten NoSQL-Datenbanken ist MongoDB, die sich aufgrund der einfachen Konfiguration und dem geringen Speicherbedarf sehr für kleine verteilte Systeme eignet, dabei jedoch enorm skalierbar ist. In diesem Artikel erläutere ich Ihnen, wie Sie mithilfe von MongoDB und geeigneten Patterns bzw. Verfahren eine wartbare Datenzugriffsschicht für Ihr ASP.NET-Core-Web-API umsetzen können.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Windows Developer 12.17 - ".NET Core in der Praxis"

Alle Infos zum Heft
579817625ASP.NET Core loves MongoDB
X
- Gib Deinen Standort ein -
- or -