Jestem nowy w świecie MySQL i byłem zdezorientowany. Czy oba nie zapewniają wysokiej dostępności i dzielenia?
W jaki sposób porównuje się WebScaleSQL?
źródło
Jestem nowy w świecie MySQL i byłem zdezorientowany. Czy oba nie zapewniają wysokiej dostępności i dzielenia?
W jaki sposób porównuje się WebScaleSQL?
Te 3 rzeczy nie mają ze sobą nic wspólnego. Dam ci wprowadzenie i możesz osobno wyszukać lub poprosić o więcej szczegółów:
MySQL Cluster to nazwa marketingowa tego, co wielu z nas nazywa - aby uniknąć nieporozumień takich jak ten, na który obecnie cierpisz - „NDB Cluster” lub „MySQL NDB Cluster”. Jest to zsynchronizowany magazyn kluczy i wartości głównie z pamięcią, który pozwala na architekturę MySQL typu „nic wspólnego” (stanowiącą zaplecze silnika NDB). Zapewnia automatyczne dzielenie na fragmenty (dzięki temu lepszą przepustowość odczytu i zapisu) i wysoką dostępność. Działa dobrze w przypadku wysokoprzepustowych systemów z małymi danymi o wysokiej przepustowości, ale jego konfiguracja jest stosunkowo skomplikowana (prowadzi do problemów, jeśli nie jest poprawnie skonfigurowana lub jest używana w niezamierzony sposób) i nie jest najlepszą opcją opóźnienia mądry (prędkość surowa). Jest to wersja uproszczona (może być używana do czegoś więcej niż tylko pamięci i wartości klucza, ale została zaprojektowana wokół niego). Moim zdaniem jest to bardzo dobry kawałek inżynierii, ale ma ograniczone przypadki użycia, ponieważ jest to inny produkt niż zwykły serwer MySQL z osobnymi plikami do pobrania (i wymaga użycia określonego silnika).
MySQL Fabric to zestaw narzędzi / oprogramowania pośredniego napisany w języku python, który umożliwia zarządzanie zestawem zwykłych serwerów MySQL w replikowanym środowisku GTID . Nie jest to klaster sam w sobie, ale ułatwia zarządzanie jednym. Zawiera łącza do (na razie) łączników Java i Python, dzięki czemu może automatycznie obsługiwać dzielenie na fragmenty i wysoką dostępność serwerów, ale jest warstwą na zwykłych serwerach MySQL i regularnej replikacji (można używać zwykłych silników pamięci masowej, takich jak InnoDB) . Replikacja do tej pory jest asynchroniczna (lub półsynchroniczna), więc może nie zapewniać najlepszej spójności i bezpieczeństwa; może to ulec zmianie w przyszłych wersjach 5.7. Jednak to podejście ma mniejszy narzut związany z opóźnieniami i wykorzystuje bardziej znaną technologię replikacji MySQL DBA. MySQL Fabric jest stosunkowo nowym dzieckiem w okolicy, więc nie jest jeszcze bardzo rozszerzone, ale wydaje się, że jest reakcją Oracle (wraz z zapowiedzianą synchroniczną replikacją) na klastry oparte na Galera konkurenta.
Jeśli potrzebujesz shardingu i HA, możesz użyć jednego z dwóch poprzednich produktów, ale prawdopodobnie w zupełnie innych scenariuszach.
WebScaleSQL nie jest rozwiązaniem HA, podobnie jak poprzednie, to tylko nazwa, którą kilka firm nadało rozwidleniu / wersji MySQL, w której udostępniają określone poprawki, których potrzebują i być może Oracle nie zastosowało. O ile wiem, został stworzony przez Facebooka, Twittera, LinkedIn i Google, a oni bazują swoje własne wersje MySQL na tej wspólnej bazie. Nie zapewniają wsparcia ani wersji binarnych. Jeśli jesteś użytkownikiem końcowym, prawdopodobnie nie powinieneś się nim przejmować, ale powinieneś mieć oko na projekt, aby zobaczyć, co z niego ewoluuje, lub reakcję innych dostawców.
Jeśli próbujesz nauczyć się / zacząć od MySQL HA / skalowania, zacznij od podstawowej replikacji MySQL (może nie być to najlepsze, ale najłatwiej jest zacząć), możesz przejść do innych rozwiązań: DRBD [ sic], replikacja GTID, NDB, Galera, wolfram.
MySQL Fabric jest implementowany jako węzeł / proces MySQL Fabric (który wykonuje funkcje zarządzania) i konektory rozpoznające Fabric, które są w stanie kierować zapytania i transakcje bezpośrednio do najbardziej odpowiedniego serwera MySQL. Węzeł MySQL Fabric przechowuje informacje o stanie i routingu w swoim magazynie stanu (który jest bazą danych MySQL).
MySQL Cluster to technologia, która umożliwia klastrowanie baz danych w pamięci w systemie współdzielonego braku danych. Architektura „nic wspólnego” umożliwia systemowi pracę z bardzo niedrogim sprzętem i minimalnymi szczegółowymi wymaganiami dotyczącymi sprzętu lub oprogramowania.
źródło