Vorwort

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Warum Kakerlake?

Willkommen bei CockroachDB: The Definitive Guide, und danke, dass du hier bist! Mit diesem Buch möchten wir dir helfen, Anwendungen mit CockroachDB, der verteilten SQL-Datenbank für die Cloud, zu entwickeln und bereitzustellen.

Zuerst die Frage, die jeder stellt: Warum der Name CockroachDB?

Eine unumstößliche Tatsache in der Technik ist, dass Dinge kaputt gehen. Wenn du groß genug bist, gehen die Dinge ständig kaputt. Die Art von Fehlern, die auf einem einzelnen Rechner vielleicht einmal im Jahr auftreten, werden zu täglichen Ereignissen, wenn du Hunderte von Shards betreibst. Ein System, das in großem Maßstab betrieben werden soll, muss die Fehlertoleranz als eine der Hauptaufgaben betrachten. Das war eine der wichtigsten Erkenntnisse von Googles MapReduce Framework. Dadurch, dass alle Berechnungen in einen relativ engen Rahmen passen mussten, war es für das System ein Leichtes, nach einem Ausfall automatisch die notwendigen Teile der Arbeit zu wiederholen.

Wir glauben, dass es so sein sollte: Hochverfügbare Replikation sollte vom ersten Tag an der Standardzustand einer Datenbank sein, nicht das Ergebnis mühsamer Konfigurationsarbeit. Und mit Blick auf den zweiten (oder zweihundertsten) Tag muss die Datenbank in der Lage sein, mit der Anwendung mitzuwachsen, damit ein durchschlagender Erfolg ein Grund zum Feiern und nicht zur Panik ist.

Als wir uns daran machten, eine relationale Datenbank von Grund auf zu entwickeln, wollten wir moderne Cloud-Anwendungen mit Konsistenz, nativer Ausfallsicherheit, Datenlokalität und massiver Skalierung ausstatten. Unsere Vision war ein System, das in der Lage ist, jede Ressource, die du ihm zur Verfügung stellst, in der öffentlichen Cloud zu besiedeln und sich dann unermüdlich zu optimieren. Eine Datenbank, die den verfügbaren Speicherplatz nutzt und über eine koordinierte Gruppe global verteilter Knotenpunkte ein Gleichgewicht erreicht, so dass sie nicht nur neue Ressourcen aufnehmen kann, sondern - wenn eine Maschine, ein Rechenzentrum oder sogar eine ganze Region ausfällt - die Datenbank einfach die verbleibenden verfügbaren Ressourcen ausgleicht.

Unser Ziel war es, eine Datenbank zu erstellen, die weltweit allgegenwärtig und nicht auszurotten ist... genau wie Periplaneta brunnea, die lästige Küchenschabe. Und so wurde CockroachDB geboren.

CockroachDB bauen

Der Ursprung von CockroachDB ist eine Geschichte aus der Not heraus. Im wahrsten Sinne des Wortes machten sich Spencer Kimball, Peter Mattis und ich, Ben Darnell, auf den Weg, um die relationale Datenbank zu bauen, die wir selbst brauchten.

Nachdem wir bei Google zusammengearbeitet hatten, gingen wir drei eine Zeit lang in verschiedene Richtungen. Schließlich kamen wir wieder zusammen (zusammen mit Spencers Bruder Andy, einem Microsoft SQL Server-Veteranen) und gründeten ein Startup namens Viewfinder, das eine Anwendung für die Organisation von Fotos und den sozialen Austausch entwickelte. Wir hofften natürlich, dass die Anwendung erfolgreich sein würde, und wollten sie deshalb in großem Maßstab entwickeln. Denn, wie Spencer sagt: "Manchmal passiert Scheiße. Und im großen Maßstab passiert immer etwas."

Es stellte sich heraus, dass wir angesichts der Geschichte des Projekts nicht gut genug abschnitten, um jemals eine massive Skalierbarkeit zu benötigen, aber wir wollten dies von Anfang an einplanen. Außerdem wollten wir uns nicht auf eine monolithische Datenbank festlegen und MySQL nicht splitten oder ähnliches. Wir hatten diesen Weg schon einmal beschritten und wussten, dass er uns nicht weiterbrachte, als wir wollten. Deshalb haben wir uns nach NoSQL-Optionen umgesehen und uns schließlich für DynamoDB entschieden.

DynamoDB erfüllte viele Kriterien: Es ist skalierbar, schnell und vorhersehbar. Es ist Bigtable sehr ähnlich, das ich während meiner Zeit bei Google als Backend für Google Reader verwendet hatte. Zumindest auf dem Papier gefiel uns dieses Modell sehr gut. Aber als wir damit Erfahrung sammelten, stellten wir fest, dass wir mit NoSQL einige grundlegende Probleme hatten.

Das größte Problem war, dass wir festgestellt haben, dass wir wirklich sekundäre Indizes brauchen. Das Modell von Bigtable/DynamoDB besteht nur aus Primärschlüsseln; es gibt kein Konzept für Sekundärindizes. Um sie zu erhalten, mussten wir unsere eigene Teilimplementierung von Transaktionen auf DynamoDB aufbauen, was auch funktionierte. Als wir dieses System dann aber nutzten, stießen wir auf ein weiteres Problem. DynamoDB an sich ist sehr schnell, vorhersehbar und skalierbar - aber sobald man anfängt, mehrere Datensätze zu kombinieren, wie wir es mit unseren sekundären Indizes taten, wurde es schwierig.

Letztendlich haben wir ein System entwickelt, das funktioniert hat, aber die Schichtung von Transaktionen und Indizes auf DynamoDB war ineffizient, sowohl in Bezug auf die Leistung als auch auf unseren technischen Aufwand.

In dieser Zeit begannen wir über die Idee zu sprechen, selbst eine Datenbank zu bauen, aber Viewfinder war ein Startup mit einem kleinen Team. Wir beschlossen, dass DynamoDB zwar nicht ideal ist, aber es gibt sie und wir können sie heute nutzen, also machen wir das. Aber dann, ein oder zwei Jahre später, kaufte Square Viewfinder und wir fanden heraus, dass sie mit Sharded MySQL zu kämpfen hatten. Da wurde uns klar: Okay, es geht nicht nur um uns, das ist ein echter Datenbankbedarf, der nicht gedeckt wird. Bei Square waren wir nun in einer guten Position, um ein System zu entwickeln, das sowohl von Haus aus skalierbar war als auch sekundäre Indizes unterstützte. Damit begannen die Bemühungen wirklich ernsthaft.

Spencer begann damit zunächst als Open-Source-Nebenprojekt in den Nächten und an den Wochenenden. Dann fand er weitere Mitwirkende, und schließlich wurde es sogar ein offizielles Projekt bei Square. Aber wir wussten, dass die eigentliche Bestimmung dieses Projekts darin bestand, den gesamten Datenbankmarkt zu bedienen, und so beschlossen wir, Square zu verlassen und ein Unternehmen zu gründen, das genau das tun sollte: Cockroach Labs wurde im Jahr 2015 gegründet.

Nächste Schritte

Nachdem wir uns vorgenommen hatten, eine Datenbank zu bauen, die so unzerstörbar ist wie eine Invasion von Kakerlaken, war die nächste Frage natürlich, welche anderen Fähigkeiten sie benötigen würde.

Wir waren der Meinung, dass es der richtige Ansatz war, verteilte Transaktionen von Anfang an zu berücksichtigen und sie zu einem festen Bestandteil der Architektur zu machen. Auch wenn SQL kaum jemandem als perfekte Abfragesprache einfällt, so ist es doch die Sprache, die jeder kennt und deren Funktionen sich bewährt haben. Die deklarative Schemaverwaltung und die statistikbasierte Abfrageoptimierung von SQL geben den Betreibern leistungsstarke Werkzeuge an die Hand, um die Leistung ihrer Anwendung zur Laufzeit zu steuern.

Der Weg zu CockroachDB Version 1.0 bestand also darin, das neue Problem der Skalierung plus Transaktionen mit SQL zu lösen. Das Ergebnis ist eine global verteilte SQL-Datenbank, die auf einem transaktionalen und konsistenten Key-Value-Speicher (KV) aufbaut. Die wichtigsten Designziele sind die Unterstützung von ACID-Transaktionen, horizontale Skalierbarkeit, geringe Latenz/Hochverfügbarkeit und Ausfallsicherheit. CockroachDB implementiert einen Raft-Konsensalgorithmus für die Konsistenz und soll Ausfälle von Festplatten, Rechnern, Racks und sogar des Rechenzentrums mit minimalen Unterbrechungen und ohne manuelle Eingriffe überstehen.

Als wir mit der Entwicklung und dem Einsatz der Software begannen, stellten wir fest, dass das größte Interesse an unserer Arbeit von Leuten kam, die mit globalen Einsätzen arbeiten. Es stellte sich heraus, dass dies etwas ist, was Cockroach in einzigartiger Weise beherrscht, und so begannen wir mit Version 2.0, mehr und mehr Funktionen für die globale und geografische Verteilung zu entwickeln.

Es ist schon lange her, dass wir CockroachDB 2.0 und Multiregion eingeführt haben. Seitdem waren die größten Entwicklungen die CockroachDB Cloud, gefolgt von CockroachDB Serverless. Damit haben wir unsere nächste Mission erfüllt: Daten einfach zu machen. Unsere Viewfinder-Startup-Tage haben uns gezeigt, dass wir eine Datenbank brauchen, die vom ersten Tag an für Projekte genutzt werden kann und die mitwächst, ohne die Bank zu sprengen. Du kannst die Open-Source-Datenbank CockroachDB lokal auf einem Laptop, in einem unternehmenseigenen Entwicklungscluster oder einer privaten Cloud sowie in jeder öffentlichen Cloud-Infrastruktur selbst hosten, aber der Einstiegspreis ist immer noch ziemlich hoch. Der erste Schritt, um CockroachDB zugänglich zu machen, bestand darin, den Nutzerinnen und Nutzern die Betriebslast abzunehmen. Das haben wir mit unserem vollständig verwalteten Cloud-Hosting-Service erreicht, der jetzt CockroachDB Dedicated heißt.

Jetzt haben wir CockroachDB Serverless hinzugefügt, um Nutzern einen kostengünstigen oder sogar kostenlosen Einstieg zu ermöglichen, den du von Anfang an nutzen kannst und der dann mit deiner Nutzung kostengünstig skaliert. Wir sind noch dabei, die Serverless-Funktionen auszubauen, aber bald werden wir Serverless Multiregion verfügbar haben. Das wird der Zeitpunkt sein, an dem wir es für jeden so günstig machen können, dass er einfach standardmäßig Multiregion bauen kann.

Was kommt danach? Nun, wir werden weiterhin nach Möglichkeiten suchen, die Funktionen der Cloud zu nutzen, um noch effizienter zu werden und die Betriebskosten zu senken. Wir schauen uns z. B. die verschiedenen Speicherlösungen an, die die Clouds bieten, und wählen die passenden Lösungen für unsere verschiedenen Speicheranforderungen aus, anstatt wie bisher für alles Blockspeicher zu verwenden. Multiregionale Serverless-Lösungen sind definitiv etwas, das wir gerade aufbauen. Zunächst aber haben wir das, was wir Enterprise Serverless nennen: die Möglichkeit für ein Unternehmen, dedizierte Cluster zu erhalten, die man dann für die eigene private Nutzung im Serverless-Stil unterteilt. Mit anderen Worten: Sie erhalten die betriebliche Effizienz von Serverless und sind dennoch vollständig isoliert.

In naher Zukunft werden wir benutzerdefinierte Funktionen und gespeicherte Prozeduren einführen. Darüber kann man trefflich streiten, denn die Meinungen gehen weit auseinander, aber ich denke, dass die Kombination von benutzerdefinierten Funktionen und gespeicherten Prozeduren mit einer skalierbaren Datenbank wirklich interessant ist. Das kann die Art und Weise, wie du über deine Anwendungsarchitektur nachdenkst, wirklich verändern, weil du mehr von deiner Logik in die Datenbank verlagern kannst.

Eher spekulativ? Als Chefarchitekt von CockroachDB würde ich gerne erforschen, wie du deine gesamte Anwendung mit Hilfe von Stored Procedures direkt aus der Datenbank heraus hosten kannst. Selbst wenn ich das laut sage, wird es ein bisschen kontrovers sein, denn das haben Leute schon 1998 versucht, und wir geben zu, dass es damals nicht gut funktioniert hat. Aber ich glaube, die Dinge haben sich so weit entwickelt, dass jetzt der richtige Zeitpunkt gekommen ist. Das ist noch sehr spekulativ, nur etwas, worüber ich nachdenke, und nichts, was derzeit offiziell auf der Roadmap von Cockroach Labs steht. Aber ich würde gerne versuchen, eine Art Prototyp zu entwickeln, anstatt nur darüber zu reden. Vielleicht habe ich jetzt, da das Buch veröffentlicht ist, etwas mehr Zeit zum Experimentieren.

Warum wir dieses Buch geschrieben haben

Dieses Buch soll dir, dem Leser, helfen, die Architektur und die Fähigkeiten von CockroachDB sowie geeignete Anwendungsfälle für CockroachDB zu verstehen. Am Ende dieses Buches wirst du in der Lage sein, mit CockroachDB loszulegen, effektive Anwendungen darauf aufzubauen und schließlich einen Cluster in der Produktion zu betreiben.

In den Kapiteln lernen Entwickler, Architekten und DevOps-Teams, wie sie Anwendungen, die auf CockroachDB laufen, erstellen, optimieren und verwalten können. Wir haben dieses Buch geschrieben, um jedem Entwickler, egal wie er mit CockroachDB arbeiten möchte, das Wissen und die Werkzeuge an die Hand zu geben, die er braucht, um dies effektiv zu tun.

Für wen dieses Buch ist

Innovative Entwickler

CockroachDB: The Definitive Guide richtet sich an Entwickler, die moderne Anwendungen entwickeln, egal ob in einem kleinen Startup oder einem großen Unternehmen. Dieser Leitfaden zeigt Entwicklern, wie sie mit einer leistungsstarken verteilten SQL-Datenbank, die einfach funktioniert, Anwendungen mit weniger Hindernissen entwickeln und bereitstellen können.

Architekten

The Definitive Guide richtet sich an moderne Architekten, die skalierbare, belastbare Anwendungen in ihrem IT-Ökosystem bereitstellen. Architekten lernen, wie sie verteilte Anwendungen entwickeln, um niedrige Latenzzeiten, hohe Verfügbarkeit und schnellere Leistung zu gewährleisten.

DevOps-Teams

Der Definitive Guide richtet sich an strategische IT-Betreiber, die Anwendungen mit datenintensiven Workloads verwalten. Sie lernen, wie sie die Skalierbarkeit und Ausfallsicherheit von CockroachDB optimieren und Daten effizient verteilen können, um jede Arbeitslast zu bewältigen - egal, wo sie eingesetzt wird.

Diejenigen, die bereits mit verteilten Systemen vertraut sind, werden die Vorteile von starken Garantien für Datenkorrektheit und -konsistenz sowie Optimierungen für die Bereitstellung von Transaktionen mit geringer Latenz für Benutzer überall auf der Welt entdecken.

Es enthält spezielle Anleitungen für alle, die von einer monolithischen Datenbank (z. B. MySQL oder PostgreSQL) auf eine verteilte Architektur umsteigen wollen, sowie praktische Beispiele für alle, die mit NoSQL-Systemen besser vertraut sind.

Wie dieses Buch organisiert ist

Dieses Buch besteht aus 15 Kapiteln, die in drei Abschnitte unterteilt sind.

  • Teil I, "Einführung in CockroachDB", stellt den historischen Kontext von CockroachDB dar und behandelt die Entwicklung von Datenbanken und die Entstehung von verteilten Cloud-Datenbanken. Der Leser lernt die grundlegenden Konzepte von verteiltem SQL kennen, bevor er in die Architektur und die Möglichkeiten von CockroachDB eintaucht und anschließend geeignete Anwendungsfälle für CockroachDB untersucht. Teil I endet mit einer praktischen Anleitung für die ersten Schritte, sowohl mit einer lokalen Installation als auch mit dem kostenlosen Cloud-Service von Cockroach Labs, und einem ausführlichen Leitfaden zum SQL-Dialekt von CockroachDB.

  • Teil II, "Entwicklung von Anwendungenmit CockroachDB", behandelt die Grundlagen des CockroachDB-Schemadesigns. Danach geht es um den Entwurf und die Implementierung von Anwendungen sowie um die Integration mit bzw. die Migration von anderen Datenbanken. Sie üben die Arbeit mit Daten in CockroachDB, einschließlich der Verwaltung von Transaktionen, der Erfassung von Änderungsdaten und dem Aufbau von SQL-Tuning-Fähigkeiten.

  • Teil III, "Bereitstellen und Verwalten von CockroachDB", behandelt die Planung und Durchführung von Einzel- und Multiregioneneinsätzen. Zu den wichtigsten Themen gehören Backup und Disaster Recovery, Sicherheit, Überwachung, Verwaltung und Fehlerbehebung sowie die Optimierung von Clustern.

In diesem Buch verwendete Konventionen

In diesem Buch werden die folgenden typografischen Konventionen verwendet:

Kursiv

Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.

Constant width

Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.

Constant width bold

Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.

Constant width italic

Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.

Tipp

Dieses Element steht für einen Tipp oder eine Anregung.

Hinweis

Dieses Element steht für einen allgemeinen Hinweis.

Warnung

Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.

Code-Beispiele verwenden

Zusätzliches Material (Code-Beispiele, Übungen usw.) steht unter https://github.com/cockroachdb/definitive_guide_sample_code zum Download bereit .

Wenn du eine technische Frage oder ein Problem mit den Codebeispielen hast, sende bitte eine E-Mail an

Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Der Verkauf oder die Verbreitung von Beispielen aus O'Reilly-Büchern erfordert jedoch eine Genehmigung. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Genehmigung erforderlich.

Wir freuen uns über eine Namensnennung, verlangen sie aber in der Regel nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "CockroachDB: The Definitive Guide von Guy Harrison, Jesse Seldess, und Ben Darnell (O'Reilly). Copyright 2022 O'Reilly Media, Inc. 978-1-098-10025-4."

Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter kontaktieren

O'Reilly Online Learning

Hinweis

Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.

Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen erhältst du unter http://oreilly.com.

Wie du uns kontaktierst

Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:

  • O'Reilly Media, Inc.
  • 1005 Gravenstein Highway Nord
  • Sebastopol, CA 95472
  • 800-998-9938 (in den Vereinigten Staaten oder Kanada)
  • 707-829-0515 (international oder lokal)
  • 707-829-0104 (Fax)

Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/cockroachDB-definitive-guide aufrufen .

Schreib eine E-Mail an , um Kommentare oder technische Fragen zu diesem Buch zu stellen.

Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter http://oreilly.com.

Du findest uns auf LinkedIn: https://linkedin.com/company/oreilly-media.

Folge uns auf Twitter: http://twitter.com/oreillymedia.

Sieh uns auf YouTube: http://youtube.com/oreillymedia.

Danksagungen

Das Schreiben dieses Buches war ein wirklich gemeinschaftliches Unterfangen, und die Autoren sind dankbar für die vielen Menschen, die auf dem Weg dorthin geholfen haben, insbesondere Andy Pavlo, Sean Chittenden und Matt Aslett, die ihre sachkundigen Meinungen zu Distributed SQL und CockroachDB in (und auf) diesem Buch geteilt haben.

Die Autoren möchten sich bei der lebendigen Open-Source-Community bedanken, die CockroachDB unterstützt und zu ihr beiträgt, sowie bei den vielen Roachern, die sich Cockroach Labs angeschlossen haben, um uns bei der ständigen Erweiterung und Verbesserung der Datenbank zu helfen. Unser besonderer Dank gilt den Gutachtern, die ihr Fachwissen, das sie beim Aufbau von CockroachDB erworben haben, in die sorgfältige technische Prüfung der einzelnen Kapitel eingebracht haben. Andy Woods, Vy Ton, Piyush Singh, Liv Lobo, Abbey Russell, Keith McClellan und Chris Ireland, alle von Cockroach Labs, sind wir dankbar für ihre durchdachten Vorschläge und scharfsinnigen Korrekturen, die dazu beigetragen haben, jeden Teil dieses Buches zu verbessern. Unser Dank gilt auch den externen Gutachtern Alan Beaulieu, Berater, und dem Softwareentwickler und Spezialisten für maschinelles Lernen Patrick Deziel von Rotational Labs, LLC. Wir möchten uns auch bei Jessica Edwards bedanken, die den Prozess vom ersten Tag an begleitet hat, und bei Michelle Gienow, die dann die Arbeit übernommen und uns geholfen hat, die Ziellinie zu überqueren.

Wir möchten uns bei dem Team von O'Reilly bedanken, das uns mit seinem Fleiß und seiner Professionalität auf Kurs gehalten und dafür gesorgt hat, dass wir ein hochwertiges und nützliches Buch erstellt haben. Unser besonderer Dank gilt Angela Rufino, Andy Kwan und Sharon Cordesse: Es war wirklich ein Vergnügen, mit euch zu arbeiten. Ein weiterer Dank geht an das Produktionsteam: Christopher Faucher, unser Produktionsredakteur; Stephanie English, die Lektorin; Kim Cofer, die Korrektorin; Johnna VanHoose Dinse, unsere Indexerin; und Kate Dullea, die Innenillustratorin.

Guy Harrison

Ich möchte mich bei allen Mitarbeitern von O'Reilly und CockroachDB bedanken, die an diesem Buch mitgearbeitet haben, und besonders bei Ben und Jesse, die mir die Möglichkeit gegeben haben, mit ihnen zusammenzuarbeiten, um diesen Leitfaden zu schreiben. Als "alter Hase" im Team schreibe ich seit mehr als 20 Jahren Bücher über Datenbanktechnologie, und die Möglichkeit, an der Spitze der modernen Datenbanktechnologie zu arbeiten, war wirklich spannend. Ganz besonders möchte ich natürlich meiner wunderbaren Frau Jenny danken, die jeden Tag zu einem guten Tag macht und meine Ablenkung und Abwesenheit während dieses Projekts toleriert hat.

Jesse Seldess

Ich möchte mich bei allen bedanken, die im Laufe der Jahre Teil des Dokumentationsteams von Cockroach Labs waren. Gute Dokumentationen sorgen für autarke und zufriedene Nutzer, und ich hatte das Glück, mit engagierten, talentierten Autoren zusammenzuarbeiten, die erstklassige Dokumentationen erstellen, auf die sich die Nutzer bei ihrer täglichen Arbeit verlassen können. Vielen, vielen Dank auch an Guy Harrison; deine umfangreiche Datenbank- und Entwicklungserfahrung hat dieses Projekt auf eine neue Ebene gehoben, und dein produktiver Schreibansatz hat uns in konstruktiven Diskussionen auf dem richtigen Weg gehalten. Schließlich möchte ich meiner Frau Leonie und meinen Kindern Selma und Paz danken, die mir geholfen haben, Raum und Klarheit zu finden, um meinen Teil zu diesem Buch, meiner Arbeit bei Cockroach Labs und vielem mehr beizutragen.

Ben Darnell

Ich möchte mich bei Spencer Kimball und Peter Mattis dafür bedanken, dass sie Kollegen, Mitbegründer und echte Mitarbeiter bei der Entwicklung von CockroachDB waren. Es war ein langer Weg, und die Erstellung dieses Leitfadens hat uns immer wieder vor Augen geführt, wie weit wir seit unserer verrückten Idee, eine eigene verteilte Datenbank zu bauen, gekommen sind. Ein großes Dankeschön geht auch an Guy Harrison, der mit seinem fundierten Datenbankwissen und seinem Fleiß beim Erlernen von Cockroach einen unermesslichen Beitrag zum Umfang und zur Gründlichkeit des Buches geleistet hat. Ich möchte auch Brandi Evans dafür danken, dass sie es mir ermöglicht hat, Zeit für die Arbeit an diesem Projekt zu finden. Vor allem möchte ich meiner Frau Juliet Moser für ihre Unterstützung und ihre Geduld an den Abenden und Wochenenden danken, die ich für die Erstellung dieses Buches gebraucht habe, sowie für die vielen anderen Gründe, warum ich ihr dankbar bin.

Get CockroachDB: Der endgültige Leitfaden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.