MiniOB ist ein einführendes Datenbank-Lernprojekt, das vom OceanBase-Team basierend auf dem Datenbankkurs-Prototyp der Huazhong University of Science and Technology und in Zusammenarbeit mit vielen Universitäten entwickelt wurde und speziell für Studenten ohne Grundkenntnisse konzipiert ist. Unser Ziel ist es, ein benutzerfreundliches Datenbank-Lernprogramm für Schüler, Datenbank-Praktiker, Enthusiasten oder Personen bereitzustellen, die sich für grundlegende Technologien interessieren.
Der Gesamtcode von MiniOB ist prägnant und einfach zu verwenden. Er hat eine Reihe von Fragen von einfach bis tief entwickelt, um den Schülern den Einstieg zu erleichtern, die Datenbank schnell zu verstehen und den Datenbankkern eingehend zu erlernen. MiniOB vereinfacht viele Module, z. B. die Nichtberücksichtigung gleichzeitiger Vorgänge, Sicherheitsfunktionen und komplexer Transaktionsverwaltungsfunktionen, um die Prinzipien der Datenbankimplementierung besser zu erlernen. Wir hoffen, dass die Studierenden durch die Schulung von MiniOB in der Lage sein werden, die Funktionen und Synergiebeziehungen des Datenbankkernmoduls zu beherrschen und über bestimmte technische Codierungsfähigkeiten wie Speicherverwaltung, Netzwerkkommunikation und Festplatten-E/A-Verarbeitung usw. zu verfügen. Dies wird Studenten dabei helfen, sich in zukünftigen Vorstellungsgesprächen und Jobs hervorzuheben.
Code-unterstützende Dokumentation und zugehörige Codekommentare wurden über GitHub-Seiten generiert und veröffentlicht. Sie können direkt besuchen: MiniOB GitHub-Seiten.
Um Entwicklern den Einstieg zu erleichtern und MiniOB besser zu erlernen, wird empfohlen, die folgenden Inhalte zu lesen:
Um jedem zu helfen, die Grundlagen von Datenbanken besser zu erlernen, bietet die OceanBase-Community eine Reihe von Tutorials an. Weitere Dokumentation finden Sie auf den MiniOB-GitHub-Seiten. Empfohlenes Lernen:
Die Gesamtarchitektur von MiniOB ist in der folgenden Abbildung dargestellt:
In:
Netzwerkmodul: verantwortlich für die Interaktion mit dem Kunden, das Senden und Empfangen von Kundenanfragen und -antworten;
SQL-Analyse: Analysiert die vom Benutzer eingegebene SQL-Anweisung in einem Syntaxbaum.
Ausführungsplan-Caching: Das Ausführungsplan-Caching-Modul speichert den zum ersten Mal von SQL generierten Ausführungsplan im Speicher. Nachfolgende Ausführungen können diesen Plan wiederholt ausführen, wodurch wiederholte Abfrageoptimierungsprozesse vermieden werden (nicht implementiert).
Semantisches Parsing-Modul: Konvertieren Sie den generierten Syntaxbaum in die interne Datenstruktur der Datenbank (teilweise implementiert);
Abfrage-Caching: speichert die ausgeführten Abfrageergebnisse im Speicher zwischen und kann sie bei der nächsten Abfrage direkt zurückgeben (nicht implementiert);
Abfrageoptimierung: Passen Sie den Syntaxbaum gemäß bestimmten Regeln und statistischen Daten an bzw. schreiben Sie ihn neu. (teilweise umgesetzt);
Planausführung: Ergebnisse gemäß der Syntaxbaumbeschreibung ausführen und generieren;
Sitzungsverwaltung: Benutzerverbindungen verwalten und Parameter einer bestimmten Verbindung anpassen;
Metadatenverwaltung: Aktuelle Datenbank-, Tabellen-, Feld- und Index-Metadateninformationen aufzeichnen;
Client: Als Testtool empfängt es Benutzeranfragen und initiiert Anfragen an den Server.
Der OceanBase-Datenbankwettbewerb 2022 ist ein Wettbewerb zur Inline-Verifizierung von Datenbanken, der vom Database Professional Committee der China Computer Federation (CCF) geleitet und gemeinsam von OceanBase und dem akademischen Kooperationsteam des Ant Technology Research Institute organisiert wird. Dieser Wettbewerb richtet sich hauptsächlich an Universitätsstudenten im ganzen Land, die Datenbanken lieben. Mit dem Ziel „Wettbewerb, Kommunikation und Wachstum“ wird auf der Grundlage der Veranstaltung eine technische Austauschplattform aufgebaut und innovative Mechanismen zur Talentausbildung an Universitäten gefördert Hilft Schülern dabei, systematisch datenbanktheoretisches Wissen von Grund auf zu erlernen, die datenbankpraktischen Fähigkeiten der Schüler zu verbessern, ihnen dabei zu helfen, Erfahrungen in Unternehmen zu sammeln, die Entwicklung inländischer Datenbanktalente zu fördern und Funken der Innovation zu erzeugen.
Der OceanBase-Vorwettbewerb basiert auf MiniOB, einer Datenbank-Trainingsplattform, die für Anfänger zum Üben geeignet ist. Sie verfügt über eine kleine Menge Code und ist leicht zu erlernen. Sie enthält verschiedene Schlüsselmodule der Datenbank und ist eine systematische Datenbank-Lernplattform. Basierend auf dieser Plattform wird eine Reihe von Fragen von einfach bis tiefgehend erstellt, um den Schülern den Einstieg mit einer „Null“-Grundlage zu erleichtern.
Der OceanBase-Datenbankwettbewerb 2023 ist in vollem Gange. Weitere Informationen finden Sie im OceanBase-Wettbewerb.
Einführungs-Tutorial zum Wettbewerb
Einführung in Wettbewerbsfragen
Nachdem Sie die Fragen beantwortet und den Selbsttest bestanden haben, können Sie den Code zum Testen im MiniOB-Trainingslager einreichen.
Bitte lesen Sie sich vor dem Absenden die Anweisungen zum Trainingslager durch und studieren Sie diese.
Wettbewerbs-FAQ
Dieses Lager stellt eine schnelle Online-Entwicklungsplattform basierend auf Gitpod dar. Klicken Sie auf die Schaltfläche unten, um es mit einem Klick zu erleben (Chrome-Browser wird empfohlen).
Wenn Sie Gitpod zum ersten Mal aufrufen, müssen Sie einige Abhängigkeiten installieren. Nach Abschluss der Installation zeigt die Terminalschnittstelle „Abhängigkeit erfolgreich installiert“ an. Führen Sie den Befehl bash build.sh --make -j4
aus, um MiniOB zu kompilieren.
Die OceanBase-Community heißt jeden Entwickler herzlich willkommen, der sich für Datenbanktechnologie interessiert, und freut sich darauf, mit Ihnen eine Reise der Ideenkollision zu beginnen. Ganz gleich, ob es sich um die Anpassung des Dokumentformats oder die Textkorrektur, die Fehlerbehebung oder das Hinzufügen neuer Funktionen handelt, es ist eine der Möglichkeiten, an der OceanBase-Community teilzunehmen und einen Beitrag dazu zu leisten. Machen Sie jetzt Ihren ersten Beitrag! Weitere Einzelheiten finden Sie unter Community-Beiträge.
MiniOB übernimmt die Mulan Permissive License, Version 2. Sie können den Quellcode frei kopieren und verwenden. Wenn Sie ihn ändern oder verteilen, beachten Sie bitte die Mulan Permissive License, Version 2.