GraphQL und Daten-Querys

Mitarbeiter von 1st-Picture arbeitet in WordPress und programmiert am Computer
Inhaltsverzeichnis.
  1. GraphQL als flexible Data Query Language
  2. Was ist eine Data Query Language?
  3. GraphQL vs. REST API
  4. Was ist ein GraphQL Schema?
  5. GraphQL und HTTP
  6. Was ist HTTP?
  7. Vorteile von GraphQL
  8. Nachteile von GraphQL
  9. Fazit: GraphQL als idealer Helfer für Datenabfragen

1. GraphQL als flexible Data Query Language

GraphQL sieht sich als eine würdige Alternative zu REST APIs und will dank diverser Vorteile seine Nutzer für sich gewinnen. Bei GraphQL handelt es sich um eine Data Query Language, die eine Client-Server-Struktur voraussetzt.

Facebook hat versucht, die Anbindung an ihre Mobile Anwendung zu vereinfachen und flexibler zu gestalten. In diesem Zusammenhang haben sie GraphQL für die Datenabfrage entwickelt. Bevor Du allerdings Bedenken hinsichtlich der Sicherheit hast, geben wir direkt eine Entwarnung. GraphQL ist lediglich eine Herangehensweise und nicht an Facebook gebunden.

Es befindet sich im Besitz von GraphQL Foundation.

2. Was ist eine Data Query Language?

Eine Data Query Langage wie zum Beispiel GraphQL bezeichnet – wie der Name bereits verrät – eine Programmiersprache, die darauf ausgelegt ist, Daten von Quellen abzurufen. Sie dienen dazu, spezifische und nötige Informationen zu erhalten, was einige Vorteile mit sich bringt.

3. GraphQL vs. REST API

Zwei Varianten, zwei unterschiedliche Anwendungsweisen

Benutzer verwenden GraphQL, um Daten von den angesprochenen Quellen auszulesen, wie es auch die REST API macht. Die REST API benutzt dabei – genau wie GraphQL – das HTTP-Protokoll, um die Kommandos zu übertragen. Im Gegensatz zur REST API braucht GraphQL dafür jedoch nur eine einzige Abfrage, ein sogenanntes Query. Innerhalb eines Befehls werden spezifische Datenorte angesteuert und genau die Informationen ausgelesen, die Du benötigst.

Die Performance

Die REST API greift bei einem ausgeführten Befehl auf den gesamten Datensatz einer Datenbank zu. Möchtest Du den Namen eines Kunden erfahren, könnte es passieren, dass REST zusätzliche Inhalte übermittelt, die unwichtig sind. Das erhöht natürlich die Dauer der Übertragung.

GraphQL steuert in dem oben genannten Fall zum Beispiel direkt einen festgelegten Kunden an. Die abgefragten Objekte besitzen bestimmte Attribute, die Du explizit ansprichst. Eines dieser Attribute könnte der Name, das Geburtsdatum oder der Beruf sein.

Erweiterbarkeit von GraphQL

GraphQL ist eine Open-Source-Software. Das bedeutet, dass alle Nutzer, die Interesse daran haben, mit am Quellcode arbeiten können. Aufgrund dieser Tatsache hat sich um GraphQL eine aktive und große Community entwickelt, die die Sprache ständig erweitert und verbessert.

GraphiQL als WordPress-Interface für Querys

Bei GraphiQL handelt es sich um ein WordPress-Plugin, das den Querys eine grafische Darstellung verleiht. Wenn du einen Text im linken Feld eingibst, siehst du auf der rechten Seite des Overlays die entsprechende Ausgabe. Das vereinfacht die Übersicht über deine Befehle und lässt dich kleine Fehler schnell beheben.

GraphiQL – besser als WPGraphiQL bekannt – lässt sich ganz einfach aus dem Plugin-Store herunterladen. Einfach installieren und loslegen!

Natürlich hat die REST API auch ihre Vorteile, weswegen sich viele Unternehmen auf sie verlassen. Lies gerne unseren Beitrag dazu.

4. Was ist ein GraphQL Schema?

Die Spielregeln von GraphQL

In vielerlei Hinsicht ist Webdesign häufig eine Art Spiel, bei dem es darum geht, die richtigen Entscheidungen zu treffen, um auf dem Markt zu gewinnen. Aber, so ein Spiel braucht natürlich auch Regeln.

Mithilfe von GraphQL Schemata lassen sich die „Spielregeln“ für die Datenstruktur festlegen. Dort ist angegeben, welche Dateien im System vorhanden sind und welche Aktionen man durchführen darf. Es dient quasi als ein Leitfaden für alle Personen, die an einem Projekt mitarbeiten.

Übersichtliche Arbeitsweise für alle Beteiligten dank GraphQL Schema

Kunden sind in der Lage, auf Daten zuzugreifen, die sie benötigen. Dank der Schemata sind außerdem mehrere Instanzen – beispielsweise verschiedene Programmierer – befähigt, unabhängig voneinander zu arbeiten. Sie wissen genau, nach welchem Muster sie vorgehen müssen.

Daten sind dabei in diversen Kategorien sortiert. Solltest du zum Beispiel eine Website aufbauen, auf dem Deine Besucher ein Hotel buchen, könntest du im GraphQL Schema die Bereiche „Hotels“ und „Bewertungen“ festlegen. Diese haben dann Unterkategorien wie „Bilder“, „Beschreibung“ oder „Bewertung“. Anschließend legst Du fest, welche Instanzen auf welche Daten zugreifen dürfen.

Ein weiterer Vorteil eines GraphQL Schema ist die erhöhte Übersichtlichkeit. Indem Du Datensätze in Unterkategorien unterteilst, erleichterst Du den Zugriff auf bestimmte Codezeilen und erlaubst eine effizientere Arbeitsweise.

5. GraphQL und HTTP

Sendest du eine Query an einen Server, schickst du per HTTP-Protokoll eine GET-Anfrage, die auf die nötigen Daten zugreift. Wie bei REST und anderen Anwendungen, die das HTTP-Protokoll benutzen, kommt ein JSON-Objekt als Antwort zurück, die auf die Ursprungsdaten wie Bilder, Social-Media-Posts oder Dokumente verweist.

6. Was ist HTTP?

HTTP ist die Abkürzung für HyperText Transfer Protocol. Wie GraphQL setzt HTTP eine Client-Server-Struktur voraus. Die Verbindung, die dabei aufgebaut wird, ist stateless. Das heißt, es wird eine Anfrage gestellt, die eine direkte Antwort erhält. Es kommt zu keiner dauerhaften Verbindung. Wenn Daten erneut gesendet werden sollen, muss eine neue Anfrage durchgeführt werden.

Die Daten werden nach einem speziellen Muster übertragen. Dieses ist in mehreren Schichten aufgebaut und beginnt stets mit dem HTTP-Layer. Direkt darunter liegt die TCP-Ebene, die davon unabhängig bestimmt, wie die Inhalte verarbeitet werden.

Es gibt unterschiedliche Methoden, wie Du Daten abrufen oder verändern kannst. Die Häufigsten sind GET, POST, PUT und DELETE. GET fordert dabei Daten vom Server an, POST sendet welche, PUT ändert sie und DELETE löscht Inhalte.

7. Vorteile von GraphQL

Flexibel, präzise und schnell

GraphQL ist im Gegensatz zur REST API in der Lage, Daten mit nur einem Befehl abzurufen. Während bei REST teilweise mehrere Aufrufe nötig sind, folgt GraphQL einem einfachen und präzisen Muster. So wird nur ein einziges Mal auf die API zugegriffen, was die Verarbeitungsgeschwindigkeit enorm erhöht.

REST API lädt zudem alle Informationen eines Datensatzes herunter, ob Du diese brauchst oder nicht. Benötigst du beispielsweise nur den Namen eines Kunden, schickt die API häufig etwa das Geburtsdatum, das Geschlecht oder den Familienstand mit. Das resultiert in einer längeren Ladedauer und ist äußerst ineffizient.

GraphQL steuert Daten präzise an und bestimmt mit seinen Querys, auf welche Datenfelder es zugreift.

8. Nachteile von GraphQL

Die wenigen Nachteile von GraphQL liegen vor allem in der Bedienung. Wenn du bisher mit der REST API vertraut warst, bedeutet ein Wechsel einen Lernaufwand.

Sollte ein System migriert werden müssen, ist der Umstieg außerdem umständlich.

9. Fazit: GraphQL als idealer Helfer für Datenabfragen

GraphQL vereinfacht die Datenverwaltung ungemein. Dank präziser Ansteuerung von Daten erhöht sich die Geschwindigkeit von Anfragen erhöht und liefert ohne Over- oder Underfetching nur wichtige Informationen.

Die einzige Voraussetzung liegt darin, dass eine Client-Server-Anbindung vorhanden sein muss.

Wenn Du weitere Informationen zu GraphQL benötigst, schau Dir auch gerne die Homepage der Besitzer an: Homepage des Betreibers.

error: Content is protected !!