Lokale, dateibasierte Datenbanken mit SQLite und Firebird

Datenhaltung vor Ort

Kennen Sie das? Sie installieren schnell mal eben lokal eine Anwendung und plötzlich bringt diese eine SQL-Express-Instanz mit oder erwartet gar, dass Sie eine solche selbst installieren und konfigurieren. Wir zeigen, wie Sie es zumindest für Ihre eigenen Hilfsprogramme besser machen können. Dabei greifen wir auf eine dateibasierte Datenhaltung zurück und behelfen uns der Tools SQLite und Firebird.
Angesichts der zunehmend genutzten verteilten Infrastrukturen verkompliziert sich der reibungslose Betrieb von Applikationen. Im Dezember befasst sich ... (mehr)

Eine relationale Datenbank ist auch für kleine Datenmengen eine feine Sache. Sie können schnell und komfortabel suchen, sortieren und gruppieren, mehrere Tabellen miteinander korrelieren und müssen sich keine Gedanken um die Konsistenz der tatsächlich auf der Festplatte gespeicherten Daten machen. Daher gehen zunehmend auch Admins, die kleine Anwendungen mit C# oder VB.NET beziehungsweise PowerShell-Skripte entwickeln, zur Nutzung von relationalen Techniken in ihrer Datenhaltung über.

Microsoft stellt mit SQL Express und der Windows Internal Database kostenlose und dennoch leistungsfähige Datenbank-Engines zur Verfügung. Auch in Visual Studio sind sie gut integriert, was die Entwicklung, gerade für .NET-Anfänger, einfacher macht. Doch die Auswirkungen auf die Infrastruktur, ihren Betrieb und die Sicherheit beim späteren Einsatz solcher Lösungen sollten jeden IT-Verantwortlichen dazu veranlassen, sich nach Alternativen umzuschauen.

Die Schattenseiten von SQL

Für die meisten lokalen Einsatzszenarien ist Microsoft SQL leistungstechnisch ein Overkill. Es bläht das System unnötig auf und eröffnet neue Herausforderungen in Bezug auf die Serverhärtung und das Patchmanagement. Es ist immer wieder faszinierend, wie IT-Teams, die lange und ausführlich über den Einsatz von Server Core diskutieren, oft kein Problem damit haben, dass eine Anwendung auf jedem Rechner eine SQL-Express-Instanz voraussetzt.

Dabei werden mehrere Hundert MByte an ausführbaren Inhalten installiert, einige dauerhaft laufende Dienste eingerichtet und – je nach Konfiguration – sogar Netzwerkports geöffnet, was für den lokalen Einsatz gar nicht nötig wäre. Es existiert eine Vielzahl von Szenarien, die eine SQL-Server-Instanz als initialen Angriffsvektor einsetzen. Damit muss auch die Security-Überwachung einer mitgebrachten SQL-Instanz den gleichen Prinzipien unterworfen sein wie die eines

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023