Warum relationale Datenbanken im NoSQL-Zeitalter verwenden?

Warum relationale Datenbanken im NoSQL-Zeitalter verwenden?
Relationale Datenbanken gibt es schon seit über 40 Jahren. Sie haben sich in dieser Zeit kaum verändert, und obwohl sie gut funktionieren, konnten sie die Skalierbarkeitsanforderungen der Cloud-nativen Anwendungen, die wir überall um uns herum finden, nicht erfüllen. Hier kam NoSQL ins Spiel, um den Mangel an Skalierbarkeit auszugleichen. Dies ist an einem Punkt angelangt, an dem viele glauben, dass das Aufkommen von NoSQL-Datenbanken den Tod relationaler Datenbanken bedeutet hat. Matt Yokovit, Experience Manager bei Percona, das beide Arten von Datenbanken in seinem Portfolio besitzt, ist noch nicht bereit, relationale Datenbanken auslaufen zu lassen. Während einer Diskussion bei der europäischen Ausgabe seiner jährlichen Percona Live-Konferenz in Amsterdam erklärt Matt seinen Standpunkt, indem er sagt, dass jede Datenbank, die er gesehen hat, für die anderen gut und schlecht ist: „Wenn Sie eine Datenbank haben, ist sie gut für einen Anwendungsfall.“ „Es kann extrem schnell gehen, bis Sie etwas anderes als diesen Anwendungsfall tun möchten.“ Er erklärt dies am Beispiel spaltenbasierter Speicherdatenbanken und wie sie vor vielen, vielen Jahren alles revolutionieren sollten. Jahre, als sie platzte auf die Basisszene. Daten. Obwohl sie sich gut mit Analysen auskennen, stellten die Benutzer schnell fest, dass sie nicht besonders gut darin waren, Transaktionen zu verarbeiten oder auch nur regelmäßige Arbeitslasten zu bewältigen. Das Gleiche gilt für NoSQL und relationale Datenbanken: „Was wir sehen, ist, dass heute viel mehr Datenbanken für diesen Zweck erstellt werden. Und das ist großartig. Aber das verwirrt die Leute nur noch mehr, weil sie jetzt mehr Optionen und mehr Technologie haben, und es ist schwieriger.“ Verwalten Sie sie alle und beginnen Sie, sie als zusammenhängende Einheit zu verwalten. Ich denke also, nein, wir sehen darin nicht den Tod der Beziehung. Es ist nur so, dass die Beziehung ihren Anwendungsfall hat.

(Bildnachweis: Bildnachweis: Home Photos/Pexels)

Benutzerfreundlichkeit

Matt glaubt, dass die Beliebtheit von NoSQL-Datenbanken hauptsächlich auf die Benutzerfreundlichkeit und Vertrautheit zurückzuführen ist. Am Beispiel von MongoDB sagt er, dass Entwickler es lieben, weil es für Entwickler konzipiert ist: „Entwickler hassen SQL, seien wir ehrlich, sie hassen SQL. Das ist SQL, das ist alt, und wenn man eine MongoDB betritt, liefert einem die Schnittstelle Daten.“ „Das ist für die Anwendung doch normal, oder? Die Daten werden in einem JSON-ähnlichen Format ausgetauscht. Das wissen Sie also bereits, weil Sie es kodieren. Und jetzt, wissen Sie, die Datenbank.“ Aber das hat eine Kehrseite. Matt sagt, dass Entwickler tendenziell NoSQL-Datenbanken für Cloud-native Anwendungen bevorzugen, weil sie einfach zu skalieren sind, was allgemein als „Kreditkartenskalierung“ bekannt ist. Er glaubt, dass NoSQL eine niedrigere Eintrittsbarriere bietet, was Entwickler schon immer getan haben. Ich suchte nach: „Aber bei dieser neuen Generation, die aus der Entwicklungswelt kam, musste man nicht über eine Datenbank nachdenken, man klickt einfach auf eine Schaltfläche, macht weiter, und was auch immer die Schaltfläche ist, es ist einfacher. Und das ist eine.“ Gute Sache. Wenn Anwendungen immer größer werden, wird die Datenbank zu einem Engpass und fügt immer mehr Datenbankressourcen hinzu, bis Sie keine weiteren mehr hinzufügen können.“ Dies ist der perfekte Zeitpunkt, NoSQL zu verwenden. Matt, der im Laufe seiner Karriere mit Datenbanken gearbeitet hat, glaubt, dass die Fähigkeiten und das technische Wissen der Entwickler im Bereich Datenbanken schwinden, je benutzerfreundlicher sie werden: „Sie verstehen die zugrunde liegenden Technologien nicht.“ Probleme wie falsch konfigurierte Apps und Datenschutzverletzungen. "

Relationale Eskalation

Einer der Gründe für die Beliebtheit von NoSQL-Datenbanken ist, dass sie viel anpassungsfähiger sind als relationale Datenbanken. Matt ist der Meinung, dass sich jede NoSQL- oder nicht-relationale Datenbank etwas anders entwickelt. Als er über die Skalierung relationaler Datenbanken sprach, erklärte er, dass es möglich sei, mehr Ressourcen zu bündeln, um eine größere Instanz zu erstellen, oder eine Clustering-Technologie wie den InnoDB-Cluster von MySQL zu verwenden. , Ihr eigener Percona ExtraDB-Cluster oder der MariaDB Galera-Cluster. Obwohl NoSQL-Datenbanken im Allgemeinen hinsichtlich der Größe effizienter sind, gibt es laut Matt viele verschiedene Ansätze, die auf relationalen Datenbanken basieren, um sie effizienter zu machen: „Man sieht viele Technologien, auf die man zurückgreifen kann, um bei diesen Problemen zu helfen, und.“ Sie können SQL-Technologien und NoSQL-Technologien auf gleichwertige Skalierungsebenen bringen.“ Manchmal braucht man zusätzliche Komponenten.“ Matt verwendet immer noch MongoDB, um seinen Standpunkt zu veranschaulichen, und erklärt, dass viele der Größenänderungsfunktionen standardmäßig integriert und daher einfacher zu verwenden sind: „Solange Sie in MySQL sind, müssen Sie möglicherweise etwas implementieren wie Vitess oder so etwas wie ProxySQL oder etwas darüber hinaus, um Sie auf das gleiche Niveau zu bringen. Aber auch hier geht es darum, wie einfach es ist, es weiterzuentwickeln, und nicht darum, ob man es kann oder nicht. "

Die besten Datenbanken in der Cloud

(Bildnachweis: Pixabay)

Mehr Cloud-nativ

Matt blickt in seine Kristallkugel und glaubt, dass relationale Datenbanken in naher Zukunft stärker cloudbasiert sein werden: „Heutzutage ist jede Anwendung cloudbasiert. Jeder möchte seine Anwendungen Cloud-nativ erstellen, was bedeutet, dass sie schnell hinzugefügt und entfernt werden können.“ Knoten und Server sowie die Möglichkeit, sie schrittweise ein- und auszuschalten.“ „Ich denke, dass sich diese Art von Clusterraum weiter entwickeln wird.“ Sie werden ein benutzerfreundlicheres Design und eine Technologie sehen, die auf Skalierbarkeit, Leistung und Sicherheit ausgelegt ist. "