00-Eröffnungseinführung: Der richtige Weg, das Open-Source-Framework von Unterdatenbanken und Untertabellen zu erlernen

1. Einleitung

Die rasante Entwicklung des Internets hat riesige Mengen an Informationsdaten mit sich gebracht und auch größere technische Herausforderungen mit sich gebracht. Verschiedene intelligente Endgeräte (z. B. Kameras oder fahrzeugmontierte Geräte usw.) melden täglich Geschäftsdaten in zig Millionen Datenmengen, ganz zu schweigen von Internetbranchen wie E-Commerce und sozialen Netzwerken. Eine Datenverarbeitung dieser Größenordnung geht weit über das hinaus, was die Einzeldatenbank- und Einzeltabellenarchitektur herkömmlicher relationaler Datenbanken unterstützen kann. Die effiziente Speicherung und der Zugriff auf diese Daten ist zu einem sehr realen Problem geworden, das dringend gelöst werden muss.

Aufgrund der Vollständigkeit des Ökosystems sind relationale Datenbanken jedoch immer noch der Eckpfeiler des Kerngeschäfts der Datenplattform und haben einen riesigen Markt. Obwohl es in der Branche eine Reihe von NoSQL-Datenbanken gibt, die auf natürliche Weise Funktionen wie verteiltes Sharding integrieren können, verfügen sie nicht über Kernfunktionen wie die Transaktionsverwaltung.

Angesichts der wachsenden Menge an massiven Daten im System besteht eine gängige Praxis in der Branche darin, eine Unterdatenbank- und Untertabellenarchitektur einzuführen. Wir können die Entwurfsmethoden einer vertikalen Unterdatenbank und einer horizontalen Untertabelle integrieren, um damit umzugehen Speicherung und Zugriff auf große Datenmengen.

2 Lassen Sie die Unterbibliothek und die Untertabelle wirksam werden

Um eine Unterdatenbank- und Untertabellenarchitektur zu implementieren, die die Speicherung und den Zugriff auf umfangreiche Daten unterstützt, stehen Entwickler auch auf der technischen Implementierungsebene vor einer Reihe von Problemen, unabhängig von der Planung und dem Design auf Geschäftsebene:

  • Daten-Sharding : Wie kann das Sharding relationaler Datenbanken mit den geringsten Kosten implementiert werden?
  • Proxy-Mechanismus : Wie kann auf Daten in der Subdatenbank- und Subtabellenarchitektur basierend auf gewöhnlichen Client-Tools zugegriffen werden?
  • Verteilte Transaktionen : Wie kann die Konsistenz derselben Geschäftsdaten sichergestellt werden, die in verschiedenen Datenbanken und Tabellen verteilt sind?
  • Datenbank-Governance : Wie kann die Konsistenz von Datenbankressourcen wie Datenquellen und Konfigurationsinformationen sichergestellt werden, die in verschiedenen Umgebungen verstreut sind?

Als „scharfes Werkzeug“ für das Sharding von Datenbanken und Tabellen kann die verteilte Datenbank-Middleware ShardingSphere diese Schwachstellen gut lösen und bietet Vorteile gegenüber anderen Sharding-Datenbank- und Tabellen-Frameworks (wie Cobar, MyCat usw.).

3 Vorteile

3.1 Technische Autorität

Das erste verteilte Datenbank-Middleware-Projekt in der Geschichte der Apache Foundation, das die neueste technische Richtung in diesem Bereich darstellt;

3.2 Vollständigkeit der Lösung

Es integriert die Kernfunktionen von Client-Sharding, Proxy-Server und verteilter Datenbank und bietet einen vollständigen Satz verteilter Open-Source-Middleware-Lösungen und Ökosysteme für verteilte Datenbanken, die für Internetanwendungsarchitekturen und Cloud-Service-Architekturen geeignet sind.

3.3 Entwicklungsfreundlichkeit

Es stellt eine benutzerfreundliche Integrationsmethode dar. Geschäftsentwickler müssen lediglich ein JAR-Paket einführen, um eine Reihe von Funktionen wie Daten-Sharding, Lese-/Schreibtrennung, verteilte Transaktionen und Datenbankverwaltung in den Geschäftscode einzubetten.

3.4 Skalierbarkeit steckbarer Systeme

Viele seiner Kernfunktionen werden in Form von Plug-ins bereitgestellt, die Entwickler zusammenstellen und kombinieren können, um ihr eigenes, einzigartiges System anzupassen.

Diese hervorragenden Funktionen ermöglichen ShardingSphere eine führende Position im Bereich Sharding-Datenbank und Sharding-Middleware und werden von immer mehr namhaften Unternehmen (wie JD.com, Dangdang, Telecom, ZTO Express, Bilibili usw.) verwendet. um Ihre eigene leistungsstarke und robuste Datenplattform aufzubauen. Wenn Sie Schwierigkeiten haben, eine ausgereifte und stabile Unterdatenbank und Untertabellen-Middleware zu finden, kann ShardingSphere Ihnen bei der Lösung dieses Problems helfen.

4 Warum sollten Sie diese Kolumne studieren?

Jedes Unternehmen, das große Datenmengen verarbeitet, muss Unterdatenbanken und Untertabellen verwenden. Wie man große Datenmengen entwirft und in Unterdatenbanken und Tabellen migriert und wie man große Geschäftsdaten effektiv speichert und darauf zugreift, ist zu einem wichtigen Thema geworden, das viele Architekten und Entwickler planen und implementieren müssen, und ist auch zu einem Thema für viele hochwertige Unternehmen geworden Unternehmen wie Pinduoduo und Dewu. Hochbezahlte Arbeitsanforderungen

<img src="/Users/javaedge/Downloads/IDEAProjects/java-edge-master/assets/image-20240101205701475.png" style="zoom: 50%;" />

Aber gute Talente sind Mangelware:

  • Für die massive Datenverarbeitung sind entsprechende Anwendungsszenarien und hohe technische Hürden erforderlich
  • Der Branche mangelt es außerdem an ausgereiften Rahmenbedingungen, um den tatsächlichen Bedarf zu decken. Auch technisches Personal, das gängige Sharding-Datenbanken, Sharding-Tabellen und verteilte Datenbank-Middleware-Frameworks wie ShardingSphere beherrscht, ist zum Ziel der Konkurrenz zwischen großen Unternehmen geworden.

Da es auf dem Markt keine systematische Einführung von ShardingSphere gibt, hoffe ich, diese Lücke zu schließen. Darüber hinaus ist das Konzept der Unterdatenbank und Untertabelle zwar relativ einfach, aber im tatsächlichen Entwicklungsprozess nicht einfach zu implementieren und erfordert auch einen systematischen Lernprozess von flach nach tief.

5 Gliederung

Basierend auf dem Open-Source-Framework ShardingSphere werden gängige Sharding-Lösungen und Engineering-Praktiken vorgestellt. Es ist die erste systematische Kolumne in der Branche, die die Kernfunktionen und Implementierungsprinzipien von ShardingSphere umfassend vorstellt und diese Lücke schließt.

  1. Teil 1: Einführung in ShardingSphere In diesem Teil erfahren Sie zunächst, wie Sie die Unterdatenbank- und Untertabellenarchitektur richtig verstehen, wie Sie die Beziehung zwischen der JDBC-Spezifikation und ShardingSphere vorstellen und wie Sie ShardingSphere in Geschäftssystemen verwenden, die auf dem von bereitgestellten Konfigurationssystem basieren ShardingSphere. Spezifische Möglichkeiten.

  2. Teil 2: ShardingSphere-Kernfunktionen ShardingSphere umfasst viele Funktionsmerkmale. In diesem Teil werden spezifische Nutzungsmethoden und Entwicklungstechniken für Kernfunktionen wie Daten-Sharding, Lese-/Schreib-Trennung, verteilte Transaktionen, Daten-Desensibilisierung und Orchestrierungsmanagement bereitgestellt.

Die Teile drei bis sechs stehen im Mittelpunkt. Sie bieten eine eingehende Analyse der Kernarchitektur von ShardingSphere aus verschiedenen Dimensionen, stellen den Entwurfs- und Implementierungsmechanismus von Unterdatenbanken und Untertabellen auf Quellcodeebene bereit und helfen Ihnen bei der Verbesserung Ihrer Fähigkeit zum Verstehen des Quellcodes.

  1. Teil 3: Infrastruktur für das Parsen des ShardingSphere-Quellcodes . Diese Diskussion konzentriert sich auf die Infrastruktur von ShardingSphere. Zunächst stellen wir Ihnen eine Methode zum effizienten Lesen des ShardingSphere-Quellcodes vor und stellen außerdem die Designkonzepte der Mikrokernel-Architektur und verteilter Primärschlüssel vor als die spezifischen Implementierungsmethoden in ShardingSphere.

  2. Teil 4: Die Sharding-Engine der ShardingSphere-Quellcodeanalyse konzentriert sich auf das Kernprinzip der Sharding-Engine-Implementierung von ShardingSphere, angefangen bei der SQL-Parsing-Engine bis hin zur Routing-Engine, der Rewriting-Engine, der Ausführungs-Engine, der Merging-Engine und anderen Kerntechnologien in der Sharding-Engine . Punktuelle Quellcode-Analyse.

  3. Teil 5: ShardingSphere-Quellcode-Analyse verteilter Transaktionen. Verteilte Transaktionen sind eine wesentliche Funktion der verteilten Datenbank-Middleware. ShardingSphere bietet auch eine interne Abstraktion verteilter Transaktionen. Ich werde diesen Abstraktionsprozess im Detail analysieren und erläutern, wie Transaktionen mit starker Konsistenz und flexible Transaktionen implementiert werden.

  4. In Teil 6: Governance und Integration der ShardingSphere-Quellcodeanalyse wird erläutert, wie eine Datendesensibilisierungslösung mit geringem Eingriff auf der Basis der Rewrite-Engine implementiert wird, wie die dynamische Verwaltung von Konfigurationsinformationen basierend auf dem Konfigurationscenter implementiert wird und wie der Datenbankzugriffsschutzschalter implementiert wird Mechanismus basierend auf dem Registrierungszentrum und wie man einen Hook-basierten Mechanismus und das OpenTracing-Protokoll implementiert, um Datenbank-Governance-Probleme wie die Verfolgung von Datenzugriffslinks zu implementieren.

6 Ernte

Anwendungsmethoden und Implementierungsprinzipien von Unterdatenbanken und Untertabellen

Verstehen Sie die wichtigsten Funktionsmerkmale von ShardingSphere, um die Anforderungen der täglichen Entwicklungsarbeit zu erfüllen, und stellen Sie die Entwurfsprinzipien und Implementierungsmechanismen dieser Funktionen basierend auf dem Quellcode bereit.

Lernen Sie hervorragende Open-Source-Frameworks kennen und verbessern Sie das technische Verständnis und die Anwendungsfähigkeiten

Die technischen Prinzipien sind ähnlich. Nehmen wir als Beispiel ZooKeeper, ein verteiltes Koordinationsframework, Sharding

Es wird sowohl in Sphere als auch in Dubbo verwendet, um den Bau des Registrierungszentrums abzuschließen.

In ShardingSphere können wir den von ZooKeeper bereitgestellten dynamischen Überwachungsmechanismus verwenden, um festzustellen, ob eine Datenbankinstanz verfügbar ist, ob eine Datenbankinstanz Vorgänge wie Datenzugriffsschutzschalter usw. ausführen muss. Wir können diese Funktion von ZooKeeper auch verwenden, um eine zu implementieren verteilte Umgebung. Die Konfigurationsinformationen unter der dynamischen Verwaltung.

Bei der eingehenden Untersuchung von ShardingSphere gibt es viele ähnliche Beispiele, darunter die auf dem SPI-Mechanismus basierende Mikrokernel-Architektur, der auf dem Snowflake-Algorithmus basierende verteilte Primärschlüssel, das auf Apollo basierende Konfigurationszentrum und das auf Nacos basierende Registrierungszentrum flexible Transaktion basierend auf Seata und der Linkverfolgung der OpenTracing-Spezifikation usw. Diese technischen Systeme spiegeln sich auch in gängigen Entwicklungsframeworks wie Dubbo und Spring Cloud wider. Daher kann diese Kolumne nicht nur Ihr systematisches Verständnis dieser technischen Systeme stärken, sondern Ihnen auch ermöglichen, die spezifischen Anwendungsszenarien und Implementierungsmethoden dieser technischen Systeme zu beherrschen, um eine Analogie zu erreichen.

Erlernen Sie Fähigkeiten von der Quellcode-Analyse bis zur täglichen Entwicklung

Von der Quellcodeanalyse bis zur täglichen Anwendung ist ein Kernziel dieser Kolumne. Basierend auf ShardingSphere, einem hervorragenden Open-Source-Framework, einer Reihe von Ideen und Implementierungen, einschließlich Entwurfsmusteranwendungen (wie Fabrikmuster, Strategiemuster, Vorlagenmethode usw.), Mikrokernel-Architektur und anderen Architekturmustern, Komponentendesign und Aufteilung der Klassenschichtstruktur können extrahiert werden. Entwicklungstechniken wie Strategien, gemeinsame Cache-Anwendungen, Implementierung benutzerdefinierter Cache-Mechanismen, Integration und Integration von Spring-Familien-Frameworks usw. Diese Entwicklungstechniken können direkt auf den täglichen Entwicklungsprozess angewendet werden.

7 Zusammenfassung

Die Entwicklung der Technologie verändert sich mit jedem Tag. Mit der Popularisierung architektonischer Designkonzepte wie Rechenzentren und verschiedenen Anwendungen der künstlichen Intelligenz ist die kontinuierliche Verbesserung der Datenmenge eine große Herausforderung für die meisten Softwaresysteme. Tabellen-Frameworks wie ShardingSphere werden ebenfalls in eine neue Entwicklungsphase eintreten und in mehr Unternehmen eingesetzt werden.

Allerdings gibt es nicht viele Subdatenbank- und Subtabellen-Frameworks, die sehr ausgereift sind und sich aktiv weiterentwickeln, und Unternehmen haben nicht viel Auswahl. ShardingSphere ist bisher das einzige Top-Level-Apache-Projekt in diesem Bereich. Es ist auch dasjenige, das die umfangreichsten Kernfunktionen bereitstellt und eine technologische Entwicklungsrichtung in diesem Bereich darstellt. Ich hoffe, dass diese Kolumne Ihnen dabei helfen kann, ShardingSphere gut zu lernen und die Lernmethode analog zu beherrschen.

Referenz:

Programmierauswahlnetzwerk

Dieser Artikel wurde von OpenWrite veröffentlicht, einem Blog, der mehrere Artikel veröffentlicht !

Broadcom kündigte die Beendigung des bestehenden VMware-Partnerprogramms an . Site B stürzte zweimal ab, Tencents „3.29“-Vorfall der Stufe eins … Bestandsaufnahme der zehn häufigsten Ausfallvorfälle im Jahr 2023, Vue 3.4 „Slam Dunk“ veröffentlicht, Yakult bestätigte, dass 95G-Daten durchgesickert sind MySQL 5.7, Moqu, Li Tiaotiao... Bestandsaufnahme der (Open-Source-)Projekte und Websites, die 2023 „gestoppt“ werden „2023 China Open Source Developer Report“ wird offiziell veröffentlicht Rückblick auf die IDE vor 30 Jahren: nur TUI, helle Hintergrundfarbe …… Julia 1.10 offiziell veröffentlicht Rust 1.75.0 veröffentlicht NVIDIA hat GeForce RTX 4090 D speziell für den Verkauf in China auf den Markt gebracht
{{o.name}}
{{m.name}}

Supongo que te gusta

Origin my.oschina.net/u/3494859/blog/10545194
Recomendado
Clasificación