V minulosti byly jedinou přijatelnou možností proprietární databáze.
„Nikdo nebyl vyhozen za nákup od Oracle/Microsoft/IBM“ říkalo se.
Obrovské, monolitické databáze používané pro každý jednotlivý účel. Placená podpora – tak vypadala databázová krajina v 90. letech a na počátku 20. století. Jistě, open source databáze tam byly, ale bylo s nimi zacházeno jako s „databází hraček“, vhodnou pro malý web, možná blog nebo velmi malý e-shop. Nikdo příčetný by je nepoužil k ničemu kritickému.
Věci se postupem času změnily a open source databáze dospěly. Každým rokem vzniká další a další. Nyní vidíme specializaci, která uživatelům umožňuje vybrat si nejlepší možnost pro dané pracovní vytížení – časové řady, analytické, sloupcové úložiště, NoSQL, relační, klíč–hodnota – můžete si vybrat jakékoli databáze, které potřebujete, a obvykle je na výběr mnoho možností. To vede k tomu, že open source je ve světě databází stále populárnější. Společnosti se nyní dívají na své účty od svého dodavatele proprietární databáze a přemýšlejí, zda je mohou trochu snížit zavedením bezplatné databáze s otevřeným zdrojovým kódem.
Jako obvykle existují pro a proti. Jaké věci byste měli zvážit před implementací open source databáze? V tomto příspěvku na blogu se podělíme o několik tipů, na které byste měli pamatovat při plánování migrace na databáze s otevřeným zdrojovým kódem.
Začít v malém a rozbalit
Pokud vaše organizace nepoužívá databáze s otevřeným zdrojovým kódem, pravděpodobně nemá zkušenosti ani s jejich správou. I když to lze provést prostřednictvím externích konzultantů, pravděpodobně není dobrý nápad migrovat celé vaše prostředí do databází s otevřeným zdrojovým kódem.
Lepším přístupem by bylo začít s malými projekty. Možná potřebujete vytvořit nějaký druh interního nástroje nebo webové stránky, možná nějaký druh nástroje pro monitorování – to je skvělá příležitost, jak používat databáze s otevřeným zdrojovým kódem a získat zkušenosti s jejich používáním v prostředích reálného světa. To vám umožní naučit se jemnosti a nevýhody databáze – jak ji diagnostikovat, jak sledovat její výkon, jak ji vyladit, abyste zlepšili její výkon.
Kromě toho byste se dozvěděli více o možnostech vysoké dostupnosti a implementacích. Práce s ním také pomáhá porozumět rozdílům mezi proprietární databází, kterou používáte, a databázemi s otevřeným zdrojovým kódem, které jste implementovali pro menší projekty. Časem byste měli zaznamenat, že stopa open source databáze ve vaší organizaci výrazně vzrostla spolu se zkušenostmi vašich týmů.
V určitém okamžiku, až nasbíráte dostatek zkušeností pro provozování open source databází, se můžete rozhodnout zatáhnout za páku a zahájit projekt migrace. Další, také dost pravděpodobnou možností, je, že byste své operace postupně přesouvali do open source databází na bázi projektu po projektu. Vaše stávající aplikace, které používají proprietární RDBMS, budou nakonec zastaralé a nakonec nahrazeny novou iterací softwaru, která se spoléhá na databáze s otevřeným zdrojovým kódem.
Vyberte správnou databázi pro úlohu
Už jsme zmínili, že databáze s otevřeným zdrojovým kódem jsou obvykle dosti specializované. Můžete si vybrat datové úložiště vhodné pro různá použití – časové řady, úložiště dokumentů, úložiště klíč-hodnota, sloupcové úložiště, textové vyhledávání. To v kombinaci s předchozím tipem vám umožní vybrat přesně ten typ databáze, který váš malý projekt vyžaduje. Řekněme, že chcete vytvořit monitorovací zásobník pro vaše prostředí.
Možná se budete chtít podívat do databází časových řad, jako je Prometheus nebo TimeScaleDB, abyste posílili svou monitorovací aplikaci. Možná budete chtít implementovat nějaký druh analytických/velkých datových řešení. Museli byste navrhnout nějaký proces ETL, abyste extrahovali data z vašeho hlavního RDBMS a nahráli je do open source řešení. Existuje mnoho možností, které lze použít jako úložiště dat. V závislosti na požadavcích a datech si můžete vybrat ze široké škály databází, například Clickhouse, Cassandra, Hive a mnoho dalších.
Co třeba přesunout některé části aplikace z proprietárního RDBMS do open source řešení?
I pro to existují možnosti. Datová úložiště jako PostgreSQL nebo MariaDB mají spoustu funkcí souvisejících se snadnou migrací z datových úložišť, jako je Oracle. Přicházejí například s podporou pro PL/SQL a další funkce SQL dostupné pro Oracle. Je to skvělá pomůcka – spolu s migrací z Oracle do jiných databází je třeba převádět méně kódu, je pravděpodobnější, že vaše uložené procedury a funkce budou fungovat většinou hned po vybalení a nebudete muset utrácet značné množství času na přepsání, testování a ladění kódu, který představuje základní logiku vaší aplikace.
Také byste neměli zapomínat na zdroje, které již ve svém týmu máte. Možná má někdo zkušenosti s populárnějšími datovými úložišti s otevřeným zdrojovým kódem? Pokud odpovídají vašim požadavkům a hodí se do vašeho prostředí, možná budete moci využít stávající znalosti ve vašem týmu a snadno přejít do světa open source.
Zvažte získání podpory
Migrace do datových úložišť, se kterými nemáte příliš zkušeností, je vždy složitá. I když budete postupovat po malých krůčcích, stále vás může zastihnout překvapivé chování, neočekávaná situace, chyby nebo dokonce jen provozní situace, které neznáte.
Open source databáze mají obvykle skvělou podporu komunity – e-mailové seznamy, fóra, kanály Slack. Obvykle, když se zeptáte, někdo se vám pokusí pomoci. V některých případech to nemusí stačit. Pokud je to váš případ, měli byste hledat placenou podporu. Existuje mnoho způsobů, jak toho lze dosáhnout.
Za prvé, ne všechny open source projekty jsou rovnocenné. Větší projekty, jako je PostgreSQL nebo MySQL, mohly vytvořit ekosystém poradenských společností, které najímají odborníky, kteří vám mohou poskytovat poradenství. Pokud taková možnost z jakéhokoli důvodu není dostupná nebo proveditelná, vždy se můžete obrátit na správce projektu.
Je velmi běžné, že společnost, která datové úložiště vyvíjí, ráda pomůže za cenu.
Nezávislé poradenské společnosti mají značnou výhodu – jsou nezávislé a řešení navrhnou na základě svých zkušeností, nikoli na základě datového úložiště a nástrojů, které vyvíjejí. Prodejci, no, obvykle budou prosazovat svá vlastní řešení a prostředí. Na druhou stranu, prodejci mají velký zájem o zvýšení adopce jejich datového úložiště. Pokud migrujete z proprietárního úložiště dat, mohli se v této situaci již několikrát nacházet, takže by vám měli být schopni poskytnout osvědčené postupy, pomoci vám navrhnout proces migrace a tak dále. Pro nezkušenou společnost může být přístup k odborníkům v oblasti migrace velkým přínosem.
Přístup k externí podpoře může být užitečný nejen ve fázi migrace. Zacházení s novým datovým úložištěm je vždy složité a naučit se všechny aspekty operací je časově náročné. I po migraci můžete stále těžit z toho, že máte někoho, komu můžete zavolat, zeptat se, a co je nejdůležitější, od koho se učit. Školení, vzdálený DBA, to vše jsou běžné možnosti ve světě databází s otevřeným zdrojovým kódem, zejména pro ty větší a zavedenější projekty.
Vyhledání systému nebo nástroje pro nápovědu
Databáze s otevřeným zdrojovým kódem přicházejí s řadou nástrojů, některé více či méně složité. Některé přidávají funkce (vysoká dostupnost, zálohování, monitorování), některé jsou navrženy tak, aby usnadnily správu databáze.
Je důležité je využít (zde mohou být užitečné konzultace smluv, které vám představí nejdůležitější nástroje pro úložiště dat s otevřeným zdrojovým kódem dle vašeho výběru), protože mohou výrazně zvýšit vaši provozní rychlost a výkon a stabilitu celého nastavení.
Některé nástroje jsou zdarma, některé vyžadují licenci k provozu, měli byste se podívat do fondu a vybrat si, co vám nejvíce vyhovuje. Hovoříme zde o nástrojích pro vyrovnávání zátěže, nástrojích pro správu topologie replikace, nástrojích pro správu virtuálních IP, řešení shlukování, více či méně vyhrazených platformách monitorování a pozorovatelnosti, které mohou sledovat cokoli počínaje typickými metrikami výkonu databáze přes poskytování chytrých předpovědí založených na datech až po specializované analýza výkonu dotazu.
Svět open source je místo, kde se takovým nástrojům daří – to má také své klady a zápory. Je snadné najít nástroj „A“, je těžké najít nástroj „TEN“. Na GitHubu najdete mnoho projektů, každý dělá téměř to samé jako ostatní. Který z nich si vybrat, je to těžké. To je důvod, proč byste v ideálním případě měli pomocnou ruku buď ve smlouvě o podpoře, nebo se také můžete spolehnout na platformy pro správu, které vám pomohou spravovat různé aspekty operací na databázích s otevřeným zdrojovým kódem, včetně pomoci se standardizací a výběrem správných nástrojů pro to.
Existují také platformy jako ClusterControl, která byla navržena tak, aby pomohla nezkušeným lidem plně pochopit sílu databází s otevřeným zdrojovým kódem. ClusterControl podporuje několik různých typů open source datových úložišť:MySQL a jeho varianty, PostgreSQL, TimeScaleDB nebo MongoDB. Poskytuje jednotné uživatelské rozhraní pro přístup k funkcím správy těchto datových úložišť, což usnadňuje jejich nasazení a správu. Místo toho, abyste trávili čas testováním různých nástrojů a řešení, můžete pomocí ClusterControl snadno nasadit vysoce dostupné prostředí, plánovat zálohování a sledovat metriky v systému.
Nástroje jako ClusterControl snižují zátěž vašeho týmu a zvyšují jeho schopnost porozumět tomu, co se děje v databázi, kterou neznají tak, jak by chtěli.
Nespěchejte
Je dobré mít na paměti, že není třeba spěchat. Stabilita vašeho prostředí a pohoda vašich uživatelů je prvořadá. Udělejte si čas na spuštění testů, ověřte všechny aspekty vaší aplikace. Ověřte, že máte správně zavedené procesy vysoké dostupnosti a obnovy po havárii.
Pouze když si budete 100% jisti, že jste v pořádku přejít, nastal čas zatáhnout za páku a přejít na databáze s otevřeným zdrojovým kódem.