Uzamčení dodavatele je definováno jako „vlastní uzamčení nebo zákaznický zámek, díky kterému je zákazník závislý na prodejci, pokud jde o jeho produkty a služby; nemůže využívat jiného dodavatele bez značných nákladů“ ( wikipedie). Pro mnoho softwarových společností by to byl nepopiratelný obchodní model. Ale je to dobré pro jejich zákazníky?
Proprietární databáze mají skvělou podporu pro migraci z jiných populárních řešení databázového softwaru. To by však způsobilo další uzamčení dodavatele. Je tedy řešením open source?
Vzhledem k omezením, která měla open source před lety, mnoho volilo drahá databázová řešení. Bohužel pro mnohé nebyl open-source možností.
Ve skutečnosti si tato open-source databáze v průběhu let vydobyla podnikovou podporu a vyspělost pro provozování kritických a komplexních systémů pro transakce s daty.
S novou verzí databáze, jako je Percona a MariaDB, byly přidány některé skvělé nové funkce, ať už kompatibilita nebo podnikové potřeby, jako je nepřetržitá podpora, zabezpečení, auditování, shlukování, online zálohování nebo rychlé obnovení. Díky tomu je proces migrace dostupnější než kdykoli předtím.
Migrace může být moudrým krokem, nicméně s sebou nese riziko. Ať už plánujete migraci z proprietární na otevřenou podporu migrace ručně nebo s pomocí komerčního nástroje pro automatizaci celého procesu migrace, musíte znát všechna možná úzká místa a metody zahrnuté v procesu a validaci výsledků.
Změna databázového systému je také skvělý čas na zvážení dalších rizik zablokování dodavatele. Během procesu migrace můžete přemýšlet o tom, jak se vyhnout uzamčení pomocí nějaké technologie. V tomto článku se zaměříme na některé hlavní aspekty uzamčení dodavatelů MySQL a MariaDB.
Předcházení uzamčení pro monitorování databáze
Uživatelé databází s otevřeným zdrojovým kódem musí ke sledování prostředí své produkční databáze často používat kombinaci nástrojů a domácích skriptů. I když má řešení své vlastní domácí skripty, je těžké jej udržovat a držet krok s novými funkcemi databáze.
Doufejme, že existuje mnoho zajímavých bezplatných monitorovacích nástrojů pro MySQL/MariaDB. Mezi nejvíce doporučené bezplatné nástroje DBA patří PMM, Zabbix, ClusterControl Community Edition, plugin Nagios MySQL. Ačkoli PMM a ClusterControl jsou vyhrazená databázová řešení.
Percona Monitoring and Management (PMM) je plně open source řešení pro správu výkonu platformy MySQL a ladění výkonu dotazů. PMM je místní řešení, které uchovává veškerý váš výkon a data dotazů v rámci vašeho prostředí. Demo PMM najdete pod odkazem níže.
Tradiční nástroje pro monitorování serverů nejsou vytvořeny pro moderní architektury distribuovaných databází. Většina produkčních databází dnes běží v určitém nastavení vysoké dostupnosti – od přímočařejší replikace master-slave až po multi-master clustery s redundantními nástroji pro vyrovnávání zátěže. Provozní týmy se zabývají desítkami, často stovkami služeb, které tvoří prostředí databáze.
Mít více databázových systémů znamená, že se vaše organizace stane agilnější na straně vývoje a umožňuje výběr vývojářům, ale také vyžaduje další znalosti na straně provozu. Rozšíření vaší infrastruktury pouze z MySQL na nasazení dalších úložných backendů, jako jsou MongoDB a PostgreSQL, znamená, že je také musíte monitorovat, spravovat a škálovat. Protože každý backend úložiště vyniká v různých případech použití, znamená to také, že musíte pro každý z nich znovu vynalézt kolo.
ClusterControl byl navržen tak, aby řešil moderní, vysoce distribuovaná databázová nastavení založená na replikaci resp. shlukování. Zobrazuje stav celého klastrového řešení, lze jej však značně použít pro jednu instanci. ClusterControl vám ukáže mnoho pokročilých metrik, ale můžete zde také najít vestavěné poradce, kteří vám pomohou jim porozumět. Demo ClusterControl naleznete pod odkazem níže.
Jak se vyhnout uzamčení pro řešení zálohování databáze
Existuje několik způsobů, jak zálohovat, ale která metoda vyhovuje vašim konkrétním potřebám? Jak implementuji obnovu v určitém okamžiku?
Pokud migrujete z Oracle nebo SQL Serveru, rádi bychom vám doporučili nástroj xtrabackup od Percona nebo podobný mariabackup od Marka.
Percona XtraBackup je nejoblíbenější software pro zálohování MySQL/MariaDB s otevřeným zdrojovým kódem, který provádí neblokující zálohy pro databáze InnoDB a XtraDB. Spadá do kategorie fyzické zálohy, která se skládá z přesných kopií datového adresáře MySQL a souborů pod ním.
XtraBackup nezamyká vaši databázi během procesu zálohování. U velkých databází (100+ GB) poskytuje mnohem kratší dobu obnovy ve srovnání s mysqldump. Proces obnovy zahrnuje přípravu dat MySQL ze záložních souborů před jejich nahrazením nebo přepnutím do aktuálního datového adresáře v cílovém uzlu.
Předcházení uzamčení pro vysokou dostupnost a škálovatelnost databáze
Říká se, že pokud nenavrhujete pro selhání, směřujete ke krachu. Jak od základu vytvořit databázový systém, aby odolal selhání? To může být problém, protože k selháním dochází mnoha různými způsoby, někdy způsoby, které by bylo těžké si představit. Je to důsledek složitosti dnešních databázových prostředí.
Shlukování je drahá funkce databází jako Oracle a SQL Server. Vyžaduje další licence.
Galera Cluster je běžná možnost pro vysokou dostupnost MySQL a MariaDB. A přestože se etabloval jako věrohodná náhrada tradičních architektur MySQL master-slave, není to náhrada typu drop-in.
Galera Cluster je synchronní technologie aktivního a aktivního shlukování databází pro MySQL a MariaDB. Galera Cluster se liší od toho, co je známé jako Oracle's MySQL Cluster - NDB. Cluster MariaDB je založen na multi-master replikačním pluginu poskytovaném Codership.
I když má Galera Cluster některé vlastnosti, které jej činí nevhodným pro konkrétní případy použití, většinu aplikací lze stále přizpůsobit tak, aby na něm běžely.
Výhody jsou jasné:vícemaster nastavení InnoDB s vestavěným převzetím služeb při selhání a škálovatelností čtení.
Jak se vyhnout uzamčení pro vyrovnávání zatížení databáze
Proxy jsou stavební kameny nastavení vysoké dostupnosti pro MySQL. Mohou detekovat neúspěšné uzly a směrovat dotazy k hostitelům, kteří jsou stále k dispozici. Pokud váš nadřízený selhal a vy jste museli povýšit jednoho ze svých otroků, servery proxy takové změny topologie detekují a podle toho směrují váš provoz.
Pokročilejší servery proxy umí mnohem více, například směrovat provoz na základě přesných pravidel dotazů, dotazy do mezipaměti nebo je zrcadlit. Mohou být dokonce použity k implementaci různých typů shardingu.
Nejužitečnější jsou ProxySQL, HAproxy, MaxScale (omezené bezplatné použití).
Zabránění uzamčení při migraci do cloudu
V posledních deseti letech mnoho firem přešlo na cloudové technologie, aby se vyhnuly rozpočtovým omezením pro datová centra a agilní vývoj softwaru. Využití cloudu umožňuje vaší společnosti a aplikacím profitovat z úspor nákladů a všestrannosti, které pocházejí z cloud computingu.
I když cloudová řešení nabízejí společnostem mnoho výhod, stále přináší určitá rizika. Například uzamčení dodavatele je v cloudu stejně vysoko jako v datovém centru.
S tím, jak stále více společností provozuje své úlohy v cloudu, jsou ke správě dat stále více využívány cloudové databázové služby. Jednou z výhod používání cloudové databázové služby namísto údržby databáze je to, že snižuje režii správy. Databázové služby od předních cloudových dodavatelů sdílejí mnoho podobností, ale mají individuální vlastnosti, díky kterým mohou být vhodné nebo nevhodné pro vaši pracovní zátěž.
Hybridní model hostování databáze
S tím, jak se více podniků přesouvá do cloudu, je hybridní model ve skutečnosti stále populárnější. Hybridní model je považován za bezpečný model pro mnoho podniků.
Ve skutečnosti je náročné provést transplantaci srdce a vše okamžitě přenést. Mnoho společností provádí pomalou migraci, která obvykle trvá rok nebo možná i věčnost, než se migruje vše. Přesun by měl proběhnout v přijatelném míru.
Hybridní model vám nejen umožní vybudovat vysoce dostupný škálovatelný systém, ale díky své povaze je skvělým prvním krokem, jak se vyhnout uzamčení. Podle návrhu architektury budou vaše systémy pracovat v jakémsi smíšeném režimu.
Příkladem takové architektury může být cluster, který funguje v domácím datovém centru a jeho kopie je umístěna v cloudu.
Závěr
Migrace z proprietární databáze na open source může přinést několik výhod:nižší náklady na vlastnictví, přístup a používání open source databázového stroje, těsná integrace s webem. Open source má mnoho co nabídnout a díky své povaze je skvělou možností, jak se vyhnout uzamčení dodavatele.