Zależność od dostawcy jest zdefiniowana jako „zamknięcie się na własność lub uzależnienie od klienta, które uzależnia klienta od dostawcy w zakresie jego produktów i usług; niemożność korzystania z innego dostawcy bez znacznych kosztów” ( Wikipedia). Niezaprzeczalnie dla wielu firm programistycznych byłby to pożądany model biznesowy. Ale czy jest to dobre dla ich klientów?
Zastrzeżone bazy danych zapewniają doskonałą obsługę migracji z innych popularnych rozwiązań oprogramowania bazodanowego. Jednak to tylko spowodowałoby zablokowanie innego dostawcy. Czy w takim razie jest to rozwiązanie typu open source?
Ze względu na ograniczenia, które open source miało przed laty wiele wybranych drogich rozwiązań bazodanowych. Niestety, dla wielu open-source nie było opcji.
W rzeczywistości przez lata baza danych o otwartym kodzie źródłowym zyskała wsparcie i dojrzałość dla przedsiębiorstw, aby obsługiwać krytyczne i złożone systemy transakcyjne danych.
Dzięki nowej wersji bazy danych, takiej jak Percona i MariaDB, dodano kilka wspaniałych nowych funkcji, zgodności lub wymagań korporacyjnych, takich jak wsparcie 24/7, bezpieczeństwo, audyt, klastrowanie, tworzenie kopii zapasowych online lub szybkie przywracanie. Wszystko to sprawiło, że proces migracji stał się bardziej dostępny niż kiedykolwiek wcześniej.
Migracja może być mądrym posunięciem, jednak wiąże się z ryzykiem. Niezależnie od tego, czy planujesz migrację z zastrzeżonego do otwartego wsparcia ręcznego, czy za pomocą komercyjnego narzędzia do automatyzacji całego procesu migracji, musisz znać wszystkie możliwe wąskie gardła i metody związane z procesem oraz walidacją wyników.
Zmiana systemu baz danych to także doskonały czas na rozważenie dalszych zagrożeń związanych z zablokowaniem dostawcy. Podczas procesu migracji możesz pomyśleć o tym, jak uniknąć blokowania się jakąś technologią. W tym artykule skupimy się na kilku wiodących aspektach uzależnienia od dostawcy MySQL i MariaDB.
Unikanie blokady w celu monitorowania bazy danych
Użytkownicy baz danych o otwartym kodzie źródłowym często muszą używać kombinacji narzędzi i własnych skryptów do monitorowania środowisk produkcyjnych baz danych. Jednak nawet mając w rozwiązaniu własne skrypty, trudno jest je utrzymać i nadążyć za nowymi funkcjami bazy danych.
Mam nadzieję, że istnieje wiele interesujących bezpłatnych narzędzi do monitorowania dla MySQL/MariaDB. Najczęściej polecane przez DBA darmowe narzędzia to PMM, Zabbix, ClusterControl Community Edition, wtyczka Nagios MySQL. Chociaż PMM i ClusterControl to dedykowane rozwiązania bazodanowe.
Percona Monitoring and Management (PMM) to w pełni otwarte rozwiązanie do zarządzania wydajnością platformy MySQL i dostrajania wydajności zapytań. PMM to rozwiązanie lokalne, które zachowuje wszystkie dane dotyczące wydajności i zapytań w obrębie środowiska. Demo PMM można znaleźć pod poniższym linkiem.
Tradycyjne narzędzia do monitorowania serwerów nie są przeznaczone dla nowoczesnych architektur rozproszonych baz danych. Większość produkcyjnych baz danych działa obecnie w pewnych konfiguracjach wysokiej dostępności — od prostszej replikacji typu master-slave do klastrów z wieloma masterami z nadmiarowymi modułami równoważenia obciążenia. Zespoły operacyjne zajmują się dziesiątkami, często setkami usług, które składają się na środowisko bazy danych.
Posiadanie wielu systemów baz danych oznacza, że Twoja organizacja stanie się bardziej elastyczna po stronie programistycznej i umożliwia wybór programistom, ale narzuca również dodatkową wiedzę po stronie operacyjnej. Rozszerzenie infrastruktury z samego MySQL na wdrażanie innych zaplecza pamięci masowej, takich jak MongoDB i PostgreSQL, oznacza również konieczność ich monitorowania, zarządzania i skalowania. Ponieważ każdy backend pamięci masowej wyróżnia się w różnych przypadkach użycia, oznacza to również, że musisz wymyślić na nowo koło dla każdego z nich.
ClusterControl został zaprojektowany z myślą o nowoczesnych, wysoce rozproszonych konfiguracjach baz danych opartych na replikacji lub grupowanie. Pokazuje stan całego rozwiązania klastrowego, ale może być w dużym stopniu wykorzystany dla pojedynczej instancji. ClusterControl pokaże Ci wiele zaawansowanych metryk, ale możesz tam również znaleźć wbudowane doradcy, które pomogą Ci je zrozumieć. Demo ClusterControl można znaleźć pod poniższym linkiem.
Unikanie blokady w rozwiązaniach do tworzenia kopii zapasowych baz danych
Istnieje wiele sposobów wykonywania kopii zapasowych, ale która metoda odpowiada Twoim konkretnym potrzebom? Jak zaimplementować odzyskiwanie do określonego momentu?
Jeśli migrujesz z Oracle lub SQL Server, chcielibyśmy polecić Ci narzędzie xtrabackup firmy Percona lub podobne narzędzie mariabackup firmy Mark.
Percona XtraBackup to najpopularniejsze oprogramowanie do tworzenia kopii zapasowych typu open source MySQL/MariaDB, które wykonuje nieblokujące kopie zapasowe baz danych InnoDB i XtraDB. Należy do kategorii fizycznej kopii zapasowej, która składa się z dokładnych kopii katalogu danych MySQL i znajdujących się pod nim plików.
XtraBackup nie blokuje bazy danych podczas procesu tworzenia kopii zapasowej. W przypadku dużych baz danych (100+ GB) zapewnia znacznie lepszy czas przywracania w porównaniu do mysqldump. Proces przywracania obejmuje przygotowanie danych MySQL z plików kopii zapasowej, przed zastąpieniem ich lub zamianą na bieżący katalog danych w węźle docelowym.
Unikanie przywiązania do wysokiej dostępności i skalowalności bazy danych
Mówi się, że jeśli nie projektujesz z myślą o porażce, to grozi Ci awaria. Jak stworzyć system baz danych od podstaw, aby wytrzymać awarię? Może to stanowić wyzwanie, ponieważ awarie zdarzają się na wiele różnych sposobów, czasami w sposób, który trudno byłoby sobie wyobrazić. Jest to konsekwencja złożoności dzisiejszych środowisk baz danych.
Klastrowanie to kosztowna funkcja baz danych, takich jak Oracle i SQL Server. Wymaga dodatkowych licencji.
Galera Cluster to typowa opcja dla wysokiej dostępności MySQL i MariaDB. I chociaż stał się wiarygodnym zamiennikiem tradycyjnych architektur typu master-slave MySQL, nie jest zamiennikiem typu drop-in.
Galera Cluster to synchroniczna technologia klastrowania aktywnych-aktywnych baz danych dla MySQL i MariaDB. Galera Cluster różni się od tego, co jest znane jako Oracle MySQL Cluster - NDB. Klaster MariaDB jest oparty na wtyczce replikacji multi-master dostarczanej przez Codership.
Chociaż klaster Galera ma pewne cechy, które sprawiają, że nie nadaje się do konkretnych zastosowań, większość aplikacji można nadal przystosować do działania na nim.
Korzyści są oczywiste:konfiguracja z wieloma wzorcami InnoDB z wbudowanym przełączaniem awaryjnym i skalowalnością odczytu.
Unikanie blokady w celu równoważenia obciążenia bazy danych
Proxy to elementy konfiguracji wysokiej dostępności dla MySQL. Mogą wykrywać uszkodzone węzły i kierować zapytania do hostów, które są nadal dostępne. Jeśli twój master zawiódł i musiałeś promować jeden ze swoich slaveów, proxy wykryją takie zmiany topologii i odpowiednio skierują twój ruch.
Bardziej zaawansowane serwery proxy mogą zrobić znacznie więcej, na przykład kierować ruch w oparciu o precyzyjne reguły zapytań, zapytania w pamięci podręcznej lub odzwierciedlać je. Mogą być nawet używane do implementacji różnych typów shardingu.
Najbardziej przydatne z nich to ProxySQL, HAproxy, MaxScale (ograniczone bezpłatne użytkowanie).
Unikanie blokady podczas migracji do chmury
W ciągu ostatnich dziesięciu lat wiele firm przeszło na technologię opartą na chmurze, aby uniknąć ograniczeń budżetowych dla centrów danych i elastycznego tworzenia oprogramowania. Korzystanie z chmury umożliwia Twojej firmie i aplikacjom czerpanie korzyści z oszczędności kosztów i wszechstronności, które wynikają z przetwarzania w chmurze.
Chmurowe rozwiązania oferują firmom wiele korzyści, to jednak niosą ze sobą pewne ryzyko. Na przykład uzależnienie od dostawcy jest tak samo wysokie w chmurze, jak w centrum danych.
Ponieważ coraz więcej firm uruchamia swoje zadania w chmurze, usługi baz danych w chmurze są coraz częściej wykorzystywane do zarządzania danymi. Jedną z zalet korzystania z usługi bazy danych w chmurze zamiast utrzymywania bazy danych jest to, że zmniejsza ona koszty zarządzania. Usługi baz danych od wiodących dostawców usług w chmurze mają wiele podobieństw, ale mają indywidualne cechy, które mogą sprawić, że będą dobrze lub źle dopasowane do Twojego obciążenia.
Model hybrydowy hostingu bazy danych
Ponieważ coraz więcej przedsiębiorstw przechodzi do chmury, model hybrydowy staje się coraz bardziej popularny. Model hybrydowy jest postrzegany jako bezpieczny model dla wielu firm.
W rzeczywistości wykonanie przeszczepu serca i natychmiastowe przeniesienie wszystkiego jest wyzwaniem. Wiele firm przeprowadza powolną migrację, która zwykle trwa rok, a może nawet w nieskończoność, zanim wszystko zostanie zmigrowane. Przeprowadzka powinna odbyć się w akceptowalnym pokoju.
Model hybrydowy nie tylko pozwoli Ci zbudować wysoce dostępny skalowalny system, ale ze względu na swoją naturę jest świetnym pierwszym krokiem do uniknięcia blokady. Zgodnie z projektem architektury Twoje systemy będą działać w trybie mieszanym.
Przykładem takich architektur może być klaster, który działa w domowym centrum danych i jego kopia znajduje się w chmurze.
Wnioski
Migracja z zastrzeżonej bazy danych do open source może wiązać się z kilkoma korzyściami:niższymi kosztami posiadania, dostępem do silnika bazy danych open source i korzystaniem z niego, ścisłą integracją z siecią. Open source ma wiele do zaoferowania, a ze względu na swój charakter jest świetną opcją, aby uniknąć uzależnienia od dostawcy.