Grundlegendes zu verwalteten Datenbanken

Einführung

Sichere und zuverlässige Datenspeicherung ist für nahezu jede moderne Anwendung ein Muss. Die für eine selbstverwaltete lokale Datenbank erforderliche Infrastruktur kann jedoch für viele Teams unerschwinglich sein. Ebenso kann es schwierig sein, Mitarbeiter zu finden, die über die erforderlichen Fähigkeiten und Erfahrungen verfügen, um eine Produktionsdatenbank effektiv zu verwalten.

Die Verbreitung von Cloud-Computing-Diensten hat die Eintrittsbarrieren für die Bereitstellung einer Datenbank gesenkt, aber vielen Entwicklern fehlt immer noch die Zeit oder das Fachwissen, um eine Datenbank entsprechend ihren Anforderungen zu verwalten und anzupassen. Aus diesem Grund wenden sich viele Unternehmen anmanaged database services, um ihre Datenbanken entsprechend ihrem Wachstum aufzubauen und zu skalieren.

In diesem konzeptionellen Artikel wird erläutert, was verwaltete Datenbanken sind und welche Vorteile sie für viele Organisationen haben können. Wir werden auch einige praktische Überlegungen behandeln, die Sie anstellen sollten, bevor Sie ihre nächste Anwendung auf einer verwalteten Datenbanklösung aufbauen.

Verwaltete Datenbanken auf den Punkt gebracht

Eine verwaltete Datenbank ist ein Cloud-Computing-Dienst, bei dem der Endbenutzer einen Cloud-Dienstanbieter für den Zugriff auf eine Datenbank bezahlt. Im Gegensatz zu einer typischen Datenbank müssen Benutzer keine verwaltete Datenbank selbst einrichten oder verwalten. Es liegt vielmehr in der Verantwortung des Anbieters, die Infrastruktur der Datenbank zu überwachen. Auf diese Weise kann sich der Benutzer auf die Erstellung seiner Anwendung konzentrieren, anstatt Zeit mit der Konfiguration und Aktualisierung seiner Datenbank zu verbringen.

Das Verfahren zum Bereitstellen einer verwalteten Datenbank variiert je nach Anbieter, ist jedoch im Allgemeinen mit dem anderer cloudbasierter Dienste vergleichbar. Nach der Registrierung eines Kontos und der Anmeldung am Dashboard überprüft der Benutzer die verfügbaren Datenbankoptionen, z. B. das Datenbankmodul und die Clustergröße, und wählt dann das für ihn geeignete Setup aus. Nachdem Sie die verwaltete Datenbank bereitgestellt haben, können Sie über eine GUI oder einen Client eine Verbindung zu ihr herstellen und dann mit dem Laden von Daten und der Integration der Datenbank in Ihre Anwendung beginnen.

Verwaltete Datenlösungen vereinfachen die Bereitstellung und Pflege einer Datenbank. Anstatt Befehle zur Installation und Einrichtung von einem Terminal aus auszuführen, können Sie eine produktionsbereite Datenbank mit nur wenigen Klicks in Ihrem Browser bereitstellen. Durch die Vereinfachung und Automatisierung der Datenbankverwaltung erleichtern Cloud-Anbieter jedem, auch unerfahrenen Datenbankbenutzern, die Erstellung datengesteuerter Anwendungen und Websites. Dies war das Ergebnis eines jahrzehntelangen Trends zur Vereinfachung, Automatisierung und Abstraktion verschiedener Datenbankverwaltungsaufgaben, der selbst eine Reaktion auf lange Zeit von Datenbankadministratoren empfundene Probleme war.

Schmerzpunkte lokaler und selbstverwalteter Datenbanken

Vor dem Aufkommen des Cloud-Computing-Modells musste jedes Unternehmen, das ein Rechenzentrum benötigte, die Zeit, den Platz und die Ressourcen bereitstellen, die für die Einrichtung eines Rechenzentrums benötigt wurden. Sobald die Datenbank betriebsbereit war, mussten sie auch die Hardware warten, die Software auf dem neuesten Stand halten, ein Team für die Verwaltung der Datenbank einstellen und ihre Mitarbeiter in der Verwendung der Datenbank schulen.

Mit der zunehmenden Beliebtheit von Cloud-Computing-Diensten in den 2000er Jahren wurde die Bereitstellung der Serverinfrastruktur einfacher und erschwinglicher, da die Hardware und der dafür erforderliche Speicherplatz nicht mehr von den Benutzern verwaltet oder verwaltet werden mussten. Ebenso wurde das Einrichten einer Datenbank vollständig in der Cloud weitaus weniger schwierig. Ein Unternehmen oder Entwickler muss lediglich einen Server anfordern, das von ihm gewählte Datenbankverwaltungssystem installieren und konfigurieren und mit dem Speichern von Daten beginnen.

Cloud Computing erleichterte zwar das Einrichten einer herkömmlichen Datenbank, ging jedoch nicht alle Probleme an. In der Cloud kann es beispielsweise immer noch schwierig sein, die ideale Größe des Infrastruktur-Footprints einer Datenbank zu bestimmen, bevor mit der Datenerfassung begonnen wird. Dies ist wichtig, da Cloud-Konsumenten eine Gebühr basierend auf den von ihnen verbrauchten Ressourcen zahlen müssen und riskieren, mehr zu bezahlen, als sie benötigen, wenn der von ihnen bereitgestellte Server größer als erforderlich ist. Ebenso wie bei herkömmlichen lokalen Datenbanken kann die Verwaltung der eigenen Datenbank in der Cloud ein kostspieliges Unterfangen sein. Abhängig von Ihren Anforderungen müssen Sie möglicherweise noch einen erfahrenen Datenbankadministrator einstellen oder viel Zeit und Geld in die Schulung Ihrer vorhandenen Mitarbeiter investieren, um Ihre Datenbank effektiv zu verwalten.

Viele dieser Probleme betreffen kleinere Organisationen und unabhängige Entwickler. Während es sich ein großes Unternehmen in der Regel leisten kann, Mitarbeiter mit fundierten Datenbankkenntnissen einzustellen, stehen kleineren Teams in der Regel weniger Ressourcen zur Verfügung, sodass sie nur über das vorhandene institutionelle Wissen verfügen. Dies macht Aufgaben wie Replikation, Migrationen und Backups umso schwieriger und zeitaufwendiger, als sie viel Lernen am Arbeitsplatz sowie Versuch und Irrtum erfordern können.

Verwaltete Datenbanken helfen, diese Schwachstellen zu beheben, und bieten Unternehmen und Entwicklern zahlreiche Vorteile. Lassen Sie uns einige dieser Vorteile erläutern und erläutern, wie sie sich auf Entwicklungsteams auswirken können.

Vorteile von verwalteten Datenbanken

Mit verwalteten Datenbankdiensten können Sie viele der Probleme reduzieren, die mit der Bereitstellung und Verwaltung einer Datenbank verbunden sind. Zum einen bauen Entwickler Anwendungen auf verwalteten Datenbankdiensten auf, um die Bereitstellung eines Datenbankservers drastisch zu beschleunigen. Bei einer selbstverwalteten Lösung müssen Sie einen Server (entweder vor Ort oder in der Cloud) anfordern, von einem Client oder Terminal aus eine Verbindung zu diesem herstellen, ihn konfigurieren und sichern sowie die Datenbankverwaltungssoftware installieren und einrichten, bevor Sie dazu in der Lage sind Beginnen Sie mit dem Speichern der Daten. Bei einer verwalteten Datenbank müssen Sie lediglich die anfängliche Größe des Datenbankservers festlegen, zusätzliche anbieterspezifische Optionen konfigurieren und eine neue Datenbank bereitstellen, die in Ihre App oder Website integriert werden kann. Dies kann in der Regel in wenigen Minuten über die Benutzeroberfläche des Anbieters erfolgen.

Ein weiterer Reiz von verwalteten Datenbanken ist die Automatisierung. Selbstverwaltete Datenbanken können einen großen Teil der Ressourcen eines Unternehmens beanspruchen, da die Mitarbeiter alle administrativen Aufgaben - von der Skalierung über die Durchführung von Updates, die Durchführung von Migrationen und das Erstellen von Sicherungen - manuell ausführen müssen. Bei einer verwalteten Datenbank werden diese und andere Aufgaben jedoch entweder automatisch oder bei Bedarf ausgeführt, wodurch das Risiko menschlicher Fehler deutlich verringert wird.

Dies hängt mit der Tatsache zusammen, dass verwaltete Datenbankdienste dazu beitragen, den Prozess der Datenbankskalierung zu rationalisieren. Das Skalieren einer selbstverwalteten Datenbank kann sehr zeit- und ressourcenintensiv sein. Unabhängig davon, ob Sie sich für Sharding, Replikation, Lastenausgleich oder eine andere Skalierungsstrategie entscheiden: Wenn Sie die Infrastruktur selbst verwalten, müssen Sie sicherstellen, dass dabei keine Daten verloren gehen und die Anwendung weiterhin ordnungsgemäß funktioniert. Wenn Sie Ihre Anwendung jedoch in einen verwalteten Datenbankdienst integrieren, können Sie den Datenbankcluster bei Bedarf skalieren. Anstatt vorher die optimale Servergröße oder CPU-Auslastung ermitteln zu müssen, können Sie im Handumdrehen schnell mehr Ressourcen bereitstellen. Auf diese Weise vermeiden Sie unnötige Ressourcen, und Sie zahlen auch nicht für das, was Sie nicht benötigen.

Verwaltete Lösungen verfügen in der Regel über eine integrierte Hochverfügbarkeit. Im Zusammenhang mit Cloud Computing wird ein Dienst alshighly available bezeichnet, wenn er stabil ist und wahrscheinlich über einen längeren Zeitraum fehlerfrei ausgeführt wird. Die Produkte der meisten seriösen Cloud-Anbieter werden mit einemservice level agreement (SLA)geliefert, einer Verpflichtung zwischen dem Anbieter und seinen Kunden, die die Verfügbarkeit und Zuverlässigkeit ihrer Dienste garantiert. Ein typisches SLA gibt an, mit wie vielen Ausfallzeiten der Kunde rechnen muss, und viele definieren auch die Vergütung für Kunden, wenn diese Servicelevels nicht eingehalten werden. Dies gibt dem Kunden die Gewissheit, dass seine Datenbank nicht abstürzt, und in diesem Fall kann er vom Anbieter zumindest eine Reparatur erwarten.

Im Allgemeinen vereinfachen verwaltete Datenbanken die mit der Bereitstellung und Verwaltung einer Datenbank verbundenen Aufgaben. Je nach Anbieter benötigen Sie oder Ihr Team wahrscheinlich noch einige Erfahrung im Umgang mit Datenbanken, um eine Datenbank bereitzustellen und mit ihr zu interagieren, während Sie Ihre Anwendung erstellen und skalieren. Letztendlich ist die für die Verwaltung einer verwalteten Datenbank erforderliche datenbankspezifische Erfahrung jedoch viel geringer als bei einer selbstverwalteten Lösung.

Verwaltete Datenbanken sind natürlich nicht in der Lage, alle Probleme zu lösen, und könnten sich für einige als nicht ideal erweisen. Als Nächstes gehen wir auf einige der potenziellen Nachteile ein, die Sie berücksichtigen sollten, bevor Sie eine verwaltete Datenbank bereitstellen.

Praktische Überlegungen

Ein verwalteter Datenbankdienst kann die Bereitstellung und Wartung einer Datenbank vereinfachen, es sind jedoch noch einige Dinge zu beachten, bevor Sie sich zu einer Datenbank verpflichten. Wir erinnern Sie daran, dass eine Hauptattraktion verwalteter Datenbanken darin besteht, die meisten der langwierigen Aspekte der Datenbankadministration zu abstrahieren. Zu diesem Zweck möchte ein Anbieter verwalteter Datenbanken eine rudimentäre Datenbank bereitstellen, die die häufigsten Anwendungsfälle abdeckt. Dementsprechend bieten ihre Datenbankangebote weder unzählige Anpassungsoptionen noch die einzigartigen Funktionen, die in einer spezielleren Datenbanksoftware enthalten sind. Aus diesem Grund können Sie Ihre Datenbank nicht so frei anpassen, und Sie sind auf das beschränkt, was der Cloud-Anbieter zu bieten hat.

Eine verwaltete Datenbank ist fast immer teurer als eine selbstverwaltete. Dies ist sinnvoll, da Sie dafür bezahlen, dass der Cloud-Anbieter Sie beim Verwalten der Datenbank unterstützt. Dies kann jedoch für Teams mit begrenzten Ressourcen Anlass zur Sorge geben. Darüber hinaus hängt die Preisgestaltung für verwaltete Datenbanken in der Regel davon ab, wie viel Speicher und RAM die Datenbank verwendet, wie viele Lesevorgänge sie verarbeitet und wie viele Sicherungen der Datenbank vom Benutzer erstellt werden. Ebenso ist jede Anwendung, die einen verwalteten Datenbankdienst verwendet, der große Daten- oder Verkehrsmengen verarbeitet, teurer als eine selbstverwaltete Cloud-Datenbank.

Man sollte auch darüber nachdenken, welche Auswirkungen das Wechseln zu einer verwalteten Datenbank auf ihre internen Workflows hat und ob sie sich an diese Änderungen anpassen können oder nicht. Jeder Anbieter ist unterschiedlich, und je nach SLA sind sie möglicherweise nur für einige Verwaltungsaufgaben verantwortlich, was für Entwickler, die nach einer Full-Service-Lösung suchen, problematisch wäre. Andererseits könnten einige Anbieter eine unerschwinglich restriktive SLA haben oder den Kunden vollständig von dem betreffenden Anbieter abhängig machen, eine Situation, die alsvendor lock-in bezeichnet wird.

Zuletzt und vielleicht am wichtigsten sollte sorgfältig geprüft werden, ob ein verwalteter Datenbankdienst, den sie in Betracht ziehen, ihre Sicherheitsanforderungen erfüllt. Alle Datenbanken, einschließlich lokaler Datenbanken, sind bestimmten Sicherheitsbedrohungen ausgesetzt, z. B. SQL-Injection-Angriffen oder Datenlecks. Die Sicherheitsdynamik ist jedoch bei Datenbanken, die in der Cloud gehostet werden, sehr unterschiedlich. Benutzer verwalteter Datenbanken können weder den physischen Speicherort ihrer Daten kontrollieren oder festlegen, wer Zugriff darauf hat, noch die Einhaltung bestimmter Sicherheitsstandards sicherstellen. Dies kann besonders problematisch sein, wenn Ihr Client erhöhte Sicherheitsanforderungen hat.

Stellen Sie sich zur Veranschaulichung vor, Sie würden von einer Bank beauftragt, eine Anwendung zu erstellen, mit der ihre Kunden auf Finanzunterlagen zugreifen und Zahlungen ausführen können. Die Bank kann festlegen, dass die App überdata at rest encryption und Benutzerberechtigungen mit angemessenem Gültigkeitsbereich verfügen muss und dass bestimmte gesetzliche Standards wiePCI DSS eingehalten werden müssen. Nicht alle Anbieter verwalteter Datenbanken halten sich an dieselben behördlichen Standards oder behalten dieselben Sicherheitspraktiken bei, und es ist unwahrscheinlich, dass sie nur für einen ihrer Kunden neue Standards oder Praktiken anwenden. Aus diesem Grund ist es wichtig, dass Sie sicherstellen, dass jeder verwaltete Datenbankanbieter, auf den Sie sich für eine solche Anwendung verlassen, Ihre Sicherheitsanforderungen sowie die Anforderungen Ihrer Kunden erfüllt.

Fazit

Verwaltete Datenbanken haben viele Funktionen, die eine Vielzahl von Unternehmen und Entwicklern ansprechen. Eine verwaltete Datenbank kann jedoch möglicherweise nicht jedes Problem lösen oder den Anforderungen aller gerecht werden. Einige stellen möglicherweise fest, dass die eingeschränkten Funktionen und Konfigurationsoptionen einer verwalteten Datenbank, die höheren Kosten und die reduzierte Flexibilität die potenziellen Vorteile überwiegen. Überzeugende Vorteile wie Benutzerfreundlichkeit, Skalierbarkeit, automatisierte Sicherungen und Upgrades sowie hohe Verfügbarkeit haben jedoch dazu geführt, dass verwaltete Datenbanklösungen in einer Vielzahl von Branchen immer häufiger zum Einsatz kommen.

Wenn Sie mehr über DigitalOcean Managed Databases erfahren möchten, empfehlen wir Ihnen, unsere Managed Databasesproduct documentation zu lesen.