B. die GROUP BY-Klausel unterstützt. Es ist das erste Werkzeug verschachtelte Tabellen. Viele Abfrageworkloads definieren eine enge Beziehung zwischen mehreren Tabellen. eine offensichtliche Beziehung zwischen diesen beiden Tabellen. Das zweite Werkzeug für die Verwaltung der Daten Lokalität ist gespeicherten Indizes. Das Beispiel in der Cloud Spanner-Dokumentation ist eine Datenbank mit einer Tabelle der musikalischen Künstlern und eine Tabelle der Alben. Verschachtelte Tabellen definieren explizit diese Beziehung in dem Schema, gibt dem Anwender eine einfache und effektive Möglichkeit, Daten Lokalität zu manipulieren. bereits ein Festplattenzugriff getan habe.
Cloud-Spanner können Sie explizit festlegen, welche Daten aus einer Tabelle in einem sekundären Index gespeichert sind. als seine Client-Kommunikation-Framework entspricht das eine enorme Verbesserung gegenüber wie die meisten Datenbanken kommunizieren. Cloud-Spanner verbessert dies mithilfe von gRPC als seine Kommunikationsrahmen. Wenn die Blattknoten zusätzliche Daten enthält, konnte Sie möglicherweise die Abfrage erfüllen ohne Lesen Sie die vollständige Zeile verwiesen durch den Index speichern ein Festplattenzugriff. Zusätzliche Informationen in der Sekundärindex Blattknoten gespeichert, können Sie vermeiden, dass die Zeile berührt der Index verweist auf allen. gRPC hilft mit einigen wichtigen Details zur Interaktion mit einer Datenbank in einem komplexen Umfeld.
Die meisten Datenbanken sind über das Netzwerk zugegriffen und somit ein Protokoll für Clientverbindungen akzeptiert und Nachrichten hin und her übergeben. Die gängige Praxis ist, ein benutzerdefinierte binäres-Protokoll für den Umgang mit dieser Mitteilung zu entwerfen, dann implementieren Clients in allen unterstützten Programmiersprachen, die dieses Protokoll sprechen. Damit haben wir einen universellen Standard für Datenbank-Kommunikation, aber es hilft mit dem Problem. gRPC erzeugt automatisch Kunden in 10 offiziell unterstützten Sprachen. Beispielsweise werden Enumerationen deterministisch definiert werden. Vergleichen Sie dies mit MySQL oder Postgres Draht-Spezifikationen, die erfordern sorgfältige Untersuchung zu verstehen, was Nachrichten rund um übergeben werden. an den Binär-Protokoll gebunden.
In der Praxis diese Clients benötigen einige Verpackung für Usability, aber es gibt Ihnen einen festen Startplatz. gRPC kommuniziert über HTTP2, damit Sie vorhandene Layer-7-Werkzeuge, wie eine HTTP2-Proxy nutzen können. Das ist die Zukunft. Wir vermuten, dass neue Datenbanken, die in der Zukunft geschrieben gRPC oder ähnliche Frameworks annehmen werden. leicht zu prüfen alle Endpunkte und message-Typen. REST HTTP-Schnittstelle kann von der gRPC Definition generiert werden, sodass Benutzer diese Option auch.
MySQL Produktionsworkloads würde auf Cloud Spanner durchführen. Zum Beispiel nutzt CockroachDB, begann im Jahr 2014, gRPC als das Kommunikationsprotokoll. Definition-paar auf Quizlet. Abfragen pro Sekunde zu Spitzenzeiten.
Ve ausgewählt, um unseren Tisch Begriffe, eines unserer wichtigsten Datasets und Abfrageworkloads zu testen. Zum testen, wir unsere eher esoterischen Fragen getrimmt und in 18 Abfragemuster konsolidiert. von der Probe zu replizieren wir. Betrachten Sie diese wie die Vorderseite und Rückseite eine Flashkarte.
Unsere umriss ist eine synthetische Abfragearbeitsauslastung, die entspricht ein Produktionsmuster MySQL, erstellen und Ausführen der Arbeitsauslastung in einer kontrollierten Umgebung gegen MySQL und Cloud Schraubenschlüssel. SQL-Dialekt und schrieb einen Motor um diese Abfragen gegen Cloud-Spanner, versucht, die Merkmale der ursprünglichen Arbeitsbelastung zu replizieren. Wir versuchen auch, die Verteilung der Werte für die Abfrageparameter übereinstimmen. in der Regel mit einer Gleichverteilung abgefragt vor kurzem sind die eingefügte Zeilen mit größerer Häufigkeit abgefragt. Re Abfragen generieren, anstatt die genaue Abfragen aus der ursprünglichen Arbeitsbelastung. Obwohl die Abfragen generiert werden, sind die Daten, auf denen wir testen, eine Kopie unserer Produktionsdatenbank. Zum Beispiel können wir Tests mit beliebig hoher Abfrage Preise unabhängig von der Größe oder der Durchsatz der ursprünglichen Stichprobe ausführen.
Dennoch glauben wir, unsere synthetischen Tests robust ist. Hier sind die Abfragen in der synthetischen Arbeitsauslastung enthalten. Laden der Anwendung zu schreiben. Ve abgestimmt die InnoDB-Puffer-Pool zu 340 GiB. wählt alle Begriffe aus einer Liste von Sätzen.
Allerdings wir kümmern uns müssen um sicherzustellen, dass die Arbeitsbelastung die Stichprobe repliziert, gibt synthetische Tests uns eine kontrollierte, saubere und skalierbare Möglichkeit zum Experimentieren mit der Belastung der Auskunftspflichtigen Spanner.