MySQL Cluster

Z Wikipedii, wolnej encyklopedii

MySQL Cluster – technologia umożliwiająca realizację założeń klastrowej bazy danych utrzymywanej w pamięci operacyjnej i na dysku twardym (opcjonalnie). Stworzona zgodnie z założeniami architektury shared nothing. Charakteryzuje się wysoką dostępnością i redundancją danych. Mechanizmem bazodanowym MySQL Cluster jest NDB (ang. Network Database).

Architektura[edytuj | edytuj kod]

Najważniejszymi założeniami MySQL Cluster są:

  • replikacja danych – MySQL Cluster używa synchronicznej replikacji danych z użyciem podwójnego zatwierdzenia dokonanych zmian w bazie danych. Synchroniczna replikacja danych gwarantuje wysoką dostępność danych. Od wersji MySQL 5.1 dostępna jest także replikacja asynchroniczna pomiędzy klastrami
  • horyzontalne partycjonowanie danych
  • hybrydowe przechowywanie danych – dane w MySQL Cluster mogą być przechowywane w pamięci operacyjnej i na dysku twardym
  • architektura shared nothing – MySQL Cluster nie posiada w swoim systemie pojedynczych punktów awarii. Gwarantuje to prawidłową prace bazy nawet gdy ulegnie awarii pojedynczy węzeł danych lub węzeł zarządzający danymi

Implementacja[edytuj | edytuj kod]

W MySQL Cluster jest zbudowany na podstawie trzech typów węzłów:

  • Węzeł danych (program ndbd): Węzeł przechowujący dane.
  • Węzeł zarządzający (program ndb_mgmd): Węzeł zarządzający i konfigurujący klaster.
  • Węzeł API (program mysqld): Węzeł obsługujący zapytania od klienta do bazy danych.

Ograniczenia[edytuj | edytuj kod]

Różne węzły systemu mogą znajdować się na różnych komputerach. Wiąże się z tym koszt połączenia sieciowego. Koszt ten może znacznie zmniejszyć szybkość działania MySQL Cluster.

Linki zewnętrzne[edytuj | edytuj kod]