Jak se porovnávají relační databáze AWS

Relační databáze byla dlouhou dobu zcela standardním řešením různých (a téměř všech) případů použití softwaru, které musely řešit velké či malé firmy.

Dnes je variabilita mnohem vyšší s širší dostupností NoSQL, in-memory nebo databázových databází. Ale navzdory tomu, kdykoli dojde k rozhodnutí o migraci aktuálních on-premise databází do cloudu, je relační databáze jako cíl stále tou nejpřímější možností tohoto přechodu.

Blíže se podíváme na následující databáze, které mohou být součástí takové iniciativy:

  • Věštec
  • Aurora
  • Microsoft SQL Server
  • MySQL a PostgreSQL
  • MariaDB

Bude mi jasné, jak se liší od ostatních a čím se odlišují, včetně jejich nevýhod. Poté je uvedu do kontextu demonstrací na typickém příkladu použití v reálném světě. Nakonec se podělím o svůj názor na rozhodování mezi různými databázemi pro váš případ.

AWS Oracle DB

Zdroj: aws.amazon.com

Oracle DB byla nepochybně nejpoužívanější komerční databází v posledních několika desetiletích. Kdykoli společnost potřebovala robustní a vysoce výkonné databázové řešení, Oracle DB byl první volbou. A to z mnoha dobrých důvodů.

Jak se to liší

Oracle je robustní a na funkce bohatá platforma, která dokáže obsloužit obrovské množství i zcela odlišných nastavení a požadavků. Postupem času se tato databáze stala dokonalým řešením pro případ, že požadujete nejmodernější spolehlivost, škálovatelnost a udržovatelnost, která žije na místní hardwarové infrastruktuře.

Hlavní výhody

Zde jsou některé z hlavních výhod, které získáte při výběru tak vyspělého databázového systému, jako je Oracle:

✅ Skvělá podpora a možnosti pro efektivní činnosti zálohování a obnovy.

✅ Široká oblast možností, jak vyladit výkon DB řešení uvnitř systému. I dlouho poté je řešení již ve výrobě. Činnosti podpory a údržby v rámci této platformy lze opravdu snadno nastavit a jsou velmi efektivní.

✅ Vysoká přizpůsobení DB řešení. Vzhledem k tomu, že Oracle DB podporuje rozsáhlé množství funkcí, ze kterých si můžete vybrat, máte jako systémový integrátor spoustu možností k vybudování robustního systému sestávajícího z přesně těch funkcí, které vaše platforma potřebuje (spouštěče, oddíly, pododdíly, automatizované sekvence primárních klíčů, pohledy , snímky, datová omezení, jedinečné klíče, kombinované klíče, cizí klíče, složené indexy atd.). Podporuje vše.

✅ Snadná administrace databázových aktivit a procesů. Vyhrazené konzoly pro správu a řídicí panely a mnoho nástrojů vytvořených společností Oracle a určených pouze administrátorům k použití ihned po vybalení.

✅ Podpora víceuživatelských prostředí. Pokud je požadavkem podporovat tisíce různých aktivních uživatelů současně, Oracle je odpovědí.

Hlavní Nevýhody

Oracle DB je velmi flexibilní, pokud jde o vertikální škálování výkonu. Ale méně, když potřebujete silné horizontální škálování. To znamená, že je snadné upgradovat na silnější CPU, více paměti a úložného prostoru v clusterové databázi.

Pokud však vaše data během krátké doby výrazně narostou – což je obvyklý případ, který se u dat v cloudu stává, úzká místa výkonu budou viditelnější a hůře řešitelná. Hlavním požadavkem do budoucna se stane šíření dat mezi více klastrů a očekávání jejich dynamického růstu. V tomto případě můžete zjistit, že Oracle DB začíná být více omezující než plnění vašich budoucích potřeb.

  Jak přepínat a přizpůsobovat zobrazení konverzace v aplikaci Outlook

Další možnou nevýhodou mohou být náklady. Oracle DB podporuje mnoho funkcí, ale mnoho z nich je také zpoplatněno. Ještě více, pokud je na místě několik klastrů a jsou nutné upgrady fyzického výkonu. To znamená, že softwarové ladění datového modelu již nestačí. Aby bylo k dispozici více nástrojů a funkcí pro správu, budete si muset zakoupit podnikovou licenci. To dále zvýší již tak vysoké náklady.

A konečně, Oracle DB není nativní služba AWS DB, což znamená, že nebudete očekávat plnou podporu od AWS. Spíše se orientujte na podporu Oracle. Pak se ale vypořádejte s problémy Oracle a AWS paralelně a se dvěma různými skupinami týmů podpory.

Kdy si vybrat

Výběr cloudového protějšku Oracle DB je nejpřirozenějším rozhodnutím, které musíte učinit, kdykoli vaše aktuální on-premise řešení již používá Oracle DB. Také to usnadní migraci a přechod na cloudové řešení.

Proto zvolte AWS Oracle DB v případě:

  • Očekáváte, že cloudová databáze bude v dohledné budoucnosti podporovat stejné procesy a funkce jako on-premise varianta.
  • Nemáte v plánu velmi rychle integrovat DB s příliš mnoha nativními službami AWS.
  • Neočekáváte, že by aktuální objem dat v krátké době výrazně narostl.
  • Vyžadujete podporu velkého množství funkcí. To znamená, že by bylo obtížné při přechodu na cloud ztratit některé z nich, které jsou aktuálně na místě.
  • Váš systém musí podporovat stovky aktivních uživatelů současně (nebo více).

Příklad použití

  • Velké telekomunikační systémy pro fakturaci, CRM a data middlewaru.
  • Vlastní implementace DB pro automobilové databázové systémy, integrované s několika různými vlastními nástroji nebo nástroji třetích stran.
  • Balíčková systémová řešení pro bankovnictví, kde Oracle je již pevnou součástí balíkového řešení od dodavatelů a případně integruje další vlastní DB komponenty do jedné komplexní implementace.

AWS Aurora DB

Zdroj: aws.amazon.com

V mnoha ohledech je Aurora přímým opakem Oracle, i když se stále jedná o relační databázi.

Jak se to liší

Autora DB je nativní databázová služba v AWS. AWS mu poskytuje plnou podporu a neustálý vývoj a hluboce jej integruje se zbytkem ekosystému služeb AWS.

Aurora DB nedosahuje takové úrovně diverzifikace funkčnosti, jakou již má Oracle. Ale zrodil se v cloudu (na rozdíl od Oracle). Protože AWS dále vyvíjí Auroru, mezera ve funkčnosti může být v budoucnu menší než dnes.

V mnoha ohledech je Aurora již před Oraclem, zejména pokud jde o integraci s dalšími cloudovými službami AWS. A protože Amazon vytvořil Auroru s ohledem na cloudový ekosystém, Aurora je připravena na masivní příjem z dat a jejich nárůst v průběhu času, takže horizontální škálování je silnou vlastností.

Hlavní výhody

Řekl bych, že hlavní výhody Aurora DB jsou:

✅ Velmi flexibilní rozšiřitelnost instancí kopií DB pouze pro čtení. Ty, které můžete vytvořit během několika sekund. Instance pouze pro čtení sdílejí stejné protokoly DB hlavní databáze, ze které pocházejí. To znamená, že vytvoření nové databáze pouze pro čtení nevyžaduje synchronizaci všech dat; dělá to automaticky sdílením stávajících.

✅ Připraveno na velký růst dat – horizontální škálování je velkou funkcí Aurora DB. Přidávání nových clusterů a rozšiřování škálovatelnosti v různých zónách dostupnosti je tak jednoduché, jak jen to jde. Aurora je pak velmi efektivní při velmi rychlém výběru velkého množství dat.

✅ Můžete si vybrat, zda chcete použít serverový nebo bezserverový režim Aurora DB. Některé funkce budou v režimu bez serveru chybět. Ale při výběru režimu bez serveru získáte velkou flexibilitu a optimalizaci nákladů.

✅ Automatické zálohování a snadný návrat k určitému bodu v čase. Další předností je, že Aurora DB může provádět snadné denní zálohování a obnovení celé databáze do libovolného okamžiku je mnohem jednodušší. Zde můžete kombinovat všechny výhody cloudového prostředí, jako vždy dostupné volné místo, rychlé vnitřní operace AWS a vyhrazenou funkci Aurora DB, která se zaměřuje na rychlé doby obnovy a krátké prostoje.

  Co jsou jednostránkové aplikace? Příklady, rámce a další

✅ Podpora pro MySQL nebo PostgreSQL DB engine, takže si můžete vybrat, co vám vyhovuje.

Hlavní Nevýhody

  • I když je Aurora pravděpodobně nejbohatší nativní relační databází, jakou si můžete v AWS vybrat, v tomto ohledu za Oraclem stále zaostává. Je to pochopitelné; Oracle měl v minulosti na vývoj těchto funkcí mnohem více času. Faktem zůstává, že Aurora DB je s každým vydáním silnější a blíž.
  • V on-premise prostoru neexistuje žádný ekvivalent k Aurora DB. Můžete namítnout, že staré databáze zabudované v MySQL nebo PostgreSQL databázích jsou si blízké – a z hlediska kompatibility určitě ano. Ale nejsou přesným ekvivalentem. To znamená, že migrace nebude tak přímočará. Budete muset přizpůsobit a implementovat procesy migrace, abyste zajistili, že budou přenášet data z on-premise a ukládat je do Aurora DB, to vše ve správném formátu datového modelu.
  • Různé limity AWS, zejména ty tvrdé, jsou faktorem, který by v některých případech mohl odradit od výběru této DB jako cíle, který má jít vpřed. Je velmi pravděpodobné, že je budete moci obejít všechny, ale u některých budete potřebovat vážnější investici do refaktoringu, což v konečném důsledku může zvýšit celkové náklady na migraci ve srovnání s jiným databázovým cílem.

Kdy si vybrat

Stručně řečeno, výběr Aurora DB jako goto relační databáze na platformě AWS není nikdy špatné rozhodnutí, ale udělejte to, zvláště pokud:

  • Vybudujete cloudový systém od nuly kolem relační databáze.
  • Očekáváte nejvyšší úroveň kompatibility a integrity s co nejvíce různými nativními službami AWS.
  • Očekáváte, že objem vašich dat během krátké doby výrazně naroste.
  • Plánujete zahájit několik projektů spin-off proofs of concept (POC), kde můžete využít všech výhod bezserverové verze relační databáze.

Příklad použití

  • Platforma bez serveru pro analýzu velkého množství obrazových dat infrastruktury.
  • Využití modelů strojového učení ke zpracování informací o datovém jezeře a generování obchodních předpovědí pro vaši firmu.
  • Netflix používá Aurora DB pro rychlé paralelní provádění dotazů nad svými katalogovými daty.

AWS Microsoft SQL DB

Zdroj: aws.amazon.com

Tato databáze je v některých ohledech srovnatelná s Oracle. Byl také vytvořen dlouho předtím, než se cloud stal věcí, a existuje mnoho současných místních uživatelů, kteří plánují migraci do cloudu pomocí MS SQL DB jako zdroje.

Jak se to liší

Navzdory těmto podobnostem je MS SQL DB stále ta, která měla v minulosti mnohem menší využití ve srovnání s Oracle DB.

Alespoň soudě z pohledu mé osobní zkušenosti. V posledních dvou desetiletích jsem se podílel na několika projektech Oracle, ale pouze v několika případech, kdy byla zapojena MS SQL DB. A upřímně řečeno, nerad jsem to řešil zdaleka tak jako s Oracle DB.

Každopádně stále uznávám velký segment společností, které používají MS SQL DB jako hlavní databázi, která je jediným bodem pravdy pro všechna data.

Hlavní výhody

Hlavní výhody MS SQL DB:

✅ Dobrá integrace s dalšími službami a softwarem společnosti Microsoft v případě, že se jedná o funkci, kterou považujete za hodnotnou pro váš případ.

✅ Snadné přizpůsobení pomocí vlastních rozšíření kódu, většinou ve formě modulů kódu Javascript. To může být užitečné při řešení složitějších obchodních procesů a úloh, které mají být naplánovány přes databázi.

✅ Z pohledu administrace celkem jednoduché (alespoň ve srovnání s Oracle DB).

✅ V cloudovém ekosystému Azure to asi dává mnohem větší smysl, protože tam je to považováno za nativní relační databázový systém, mnohem kompatibilnější s ostatními tamními cloudovými službami.

  Jak rozdělit text v Tabulkách Google

Hlavní Nevýhody

  • Podobně jako v případě Oracle DB, jako nenativní databáze v prostoru cloudu AWS musí být veškerá podpora a řešení problémů řízena prostřednictvím samostatných vyhrazených týmů podpory MS SQL.
  • Menší diverzifikace podpory funkčnosti obecně při porovnání s Oracle DB nebo Aurora DB.
  • Nevhodné pro velký počet aktivních uživatelů.
  • Horizontální škálovatelnost je ještě větší problém než v případě Oracle DB.

Kdy si vybrat

MS SQL DB je nejvhodnější, pokud chcete migrovat stávající MS SQL DB on-premise do cloudu s co nejmenším množstvím rušivých vlivů. Také neočekáváte takovou integraci s jinými cloudovými službami AWS.

Poté bude MS SQL DB žít v cloudu AWS jako plně spravovaná databáze s neomezeným úložištěm a rozšířenými možnostmi horizontální škálovatelnosti a vysoké dostupnosti ve srovnání s on-premise alternativou.

Příklad použití

  • Funguje jako střední platforma pro vlastní integraci různých databázových systémů (může být i jiného typu, například Oracle DB).
  • Různé projekty menšího rozsahu, kde je třeba zvážit náklady na databázové řešení a rozpočet je omezenější (a neumožňuje použít plnohodnotné řešení Oracle DB).

AWS MySQL a PostgreSQL DB

Zdroj: aws.amazon.com

Obě tyto databáze jsou svým původem open source (ačkoli již nyní nakupují větší společnosti), což jim v konečném důsledku přináší výhody i nevýhody.

Nejsou také tak bohaté na funkce jako jiné alternativy, zejména ve své nativní podobě. A i když je stále můžete používat v infrastruktuře AWS v této podobě, pochybuji, že to stále dává příliš praktický smysl.

Jak se to liší

Při migraci on-premise DB (ať už je to MySQL nebo PostgreSQL) do cloudu AWS můžete přímo použít Auroru s motorem MySQL nebo PostgreSQL jako cíl a získat tak všechny další výhody, které Aurora DB nabízí.

Jistě, bude to znamenat určité dodatečné úsilí pro fázi migrace ve srovnání s případem, kdy by byla zvolena nativní alternativa. Ale toto dodatečné úsilí bude jen okrajové.

Jejich hlavní výhoda spočívá v nákladech a v tom, že jsou nejvhodnější pro malé projektové iniciativy, kde robustnost není ve skutečnosti tématem.

Hlavní Nevýhody

  • Oba mají dost omezené podporované funkce a musíte se připravit na omezené možnosti údržby a správy.
  • Nevhodné pro rozsáhlé projekty s mnoha aktivními uživateli.
  • Není to nejlepší pro vysoce výkonná řešení a tam, kde je stálé ladění výkonu silným požadavkem.

Kdy si vybrat

  • Pokud jsou hlavním tématem náklady a rozpočet je velmi omezený.
  • Pokud je iniciativa projektu spíše malá.
  • Pokud je objem dat spíše malý a neplánuje se výrazný růst.

Příklad použití

  • Iniciativy osobních projektů, kde náklady na infrastrukturu budou co nejnižší.
  • Malé POC, které by dokázaly, že navržený koncept lze realizovat.
  • Projekty malých společností s malým množstvím dat.
  • Pro malé projekty SaaS, které nevyžadují velké množství databázových zátěží, je skutečně vyžadováno pouze ukládání dat způsobem relačního datového modelu.

AWS MariaDB

Zdroj: aws.amazon.com

MariaDB je stále plně open-source databáze vytvořená bývalými vývojáři MySQL (po akvizici MySQL společností Oracle).

Pokud jde o kompatibilitu, jakákoli databáze MySQL poběží v MariaDB v pořádku.

Jak se to liší

Pokud jde o funkce, není možné očekávat mnoho rozdílů od MySQL, ale předností je vlastnost open source.

Technicky existuje celá řada užitečných funkcí, které jsou dostupné v MariaDB, ale ne v MySQL.

Hlavní Nevýhody

Docela podobný případu MySQL.

Kdy si vybrat

  • Pokud absolutně milujete svou současnou implementaci MariaDB na místě a nechcete z jakéhokoli důvodu migrovat na Aurora DB.
  • Pokud chcete zůstat se svým databázovým řešením v cloudovém ekosystému AWS skutečně open-source.

Příklad použití

Docela podobný případu MySQL.

Závěrečná slova

Podobně jako Oracle DB bylo řešením v on-premise světě, zdá se, že Aurora DB zaujímá toto místo v cloudovém světě AWS. Alespoň z pohledu sad funkcí je to nejblíže, jaké se můžete dostat.

A i když ve skutečnosti nehledáte hlavní zainteresované strany, je dobré vědět, že stále existují docela jednoduché možnosti, jak migrovat vaši stávající databázi do cloudu AWS.

Ještě lépe – s tímto přepínačem automaticky získáte funkce, které jste do té doby s největší pravděpodobností postrádali. A co je nejdůležitější, lepší rozšiřitelnost úložiště, vysoká dostupnost a horizontální škálovatelnost jsou všechny nativní funkce cloudového prostředí.