Čo je lepšie – Oracle alebo Redis alebo Ako odôvodniť výber platformy

– Musíte uznať, – povedala nahlas, ani sa na nikoho neobrátiac. – Musíte uznať! Tak presne je napísané – hlavnou úlohou spoločnosti je dosahovanie zisku v záujme akcionárov. Tak si to predstavte! Nič sa neboja!

Július Dubov, „Menšie zlo“

Keď ste videli takýto nadpis, určite ste si už mysleli, že článok je buď hlúposť, alebo provokácia. Ale nespěchajte na závery: zamestnanci veľkých korporácií, najmä korporácií so štátnym podielom, sa dosť často musia porovnávať rôzne platformy, vrátane úplne odlišných – napríklad tých uvedených v nadpise.

Čo je lepšie – Oracle alebo Redis alebo Ako odôvodniť výber platformy

Samozrejme, databázové systémy nikto asi neporovnáva, keďže ich silné a slabé stránky sú dobre známe. Zvyčajne sa porovnávajú platformy, ktoré riešia nejakú aplikovanú úlohu. V článku ukážem metódu, ktorá sa pri tom používa, na príklade databáz ako predmetu, ktorého sú čitatelia Habr veľmi dobre oboznámení. Takže,

Motivácia

Keď začnete vzdelávací projekt alebo projekt koníček, motivácia na výber platformy môže byť veľmi rozmanitá: „túto platformu najlepšie poznám“, „s touto som zvedavý/á sa pustiť do behu“, „toto má najlepšiu dokumentáciu“… V prípade komerčnej spoločnosti je kritérium výberu jedno: koľko bude stáť a čo za tie peniaze dostanem.

Samozrejme, chcete zaplatiť menej a dostať viac. Avšak je potrebné rozhodnúť, čo je dôležitejšie – zaplatiť menej alebo dostať viac a každému uzlu priradiť váhu. Predpokladajme, že kvalitné riešenie je pre nás dôležitejšie ako lacné, a priradíme uzlu „Cena“ váhu 40 %, a uzlu „Možnosti“ – 60%.

Čo je lepšie – Oracle alebo Redis alebo Ako odôvodniť výber platformy

V veľkých korporáciách je zvyčajne všetko naopak – váha ceny neklesá pod 50 %, a môže byť aj viac ako 60 %. V modelovom príklade je dôležité iba to, že celková váha dcérskych uzlov akéhokoľvek rodičovského uzla musí byť 100%.

Filtrovanie podmienok

Stránke db-engines.com je známych približne 500 systémov správy databáz. Samozrejme, ak si vyberáme cieľovú platformu z takého množstva možností, môže to skončiť ako prehľadový článok, ale nie ako komerčný projekt. Aby sme zúžili priestor na výber, formulujú sa vylučujúce kritériá, a ak platforma týmto kritériám nevyhovuje, nie je zvažovaná.

Vylučujúce kritériá môžu súvisieť s technologickými vlastnosťami, napríklad:

  • ACID záruky;
  • relačný model dát;
  • podpora SQL jazyka (majte na pamäti, nie je to rovnaké ako 'relačný model');
  • možnosť horizontálneho škálovania.

Môžu existovať všeobecné kritériá:

  • prítomnosť komerčnej podpory na Slovensku;
  • otvorený zdroj;
  • existencia platformy v Registri Ministerstva dopravy;
  • prítomnosť platformy v nejakom rebríčku (napríklad v prvej stovke rebríčka db-engines.com);
  • existencia odborníkov na trhu (napríklad na základe vyhľadávania názvu platformy v životopisoch na stránke hh.ru).

Nakoniec, môžu existovať kritériá špecifické pre podnik:

  • existencia špecialistov v zamestnaní;
  • kompatibilita so systémom monitorovania X alebo so systémom zálohovania Y, na ktorý je naviazaná celá podpora…

Najdôležitejšie je, aby existoval zoznam vylučujúcich kritérií. V opačnom prípade sa určite nájde nejaký odborník (alebo 'expert'), ktorý má zvláštnu dôveru vedenia a povie: 'prečo ste nevybrali platformu Z, viem, že je najlepšia'.

Hodnotenie nákladov

Náklady na riešenie sa očividne skladajú z nákladov na licencie, nákladov na podporu a nákladov na vybavenie.

Ak sú systémy zhruba rovnakej triedy (napríklad Microsoft SQL Server a PostgreSQL), je možné zjednodušiť situáciu tak, že množstvo vybavenia pre obidve riešenia bude zhruba rovnaké. To ušetrí čas a úsilie pri hodnotení vybavenia. Ak však musíte porovnávať úplne odlišné systémy (napríklad Oracle vs. Redis), je jasné, že pre presné hodnotenie je potrebné vykonať sizing (výpočet množstva vybavenia). Sizing neexistujúceho systému je veľmi vďačná činnosť, preto sa snažia takýmto porovnaniam predchádzať. Je to jednoduché: v vylučujúcich podmienkach sa uvádzajú nulová strata dát a relačný model alebo naopak – záťaž 50 tisíc transakcií za sekundu.

Na posúdenie licencií stačí požiadať u dodávateľa alebo jeho partnerov o cenu licencie na fixný počet jadier a podpory na fixné obdobie. Zvyčajne majú spoločnosti už vybudované silné vzťahy s dodávateľmi softvéru, a ak oddelenie prevádzky databáz nedokáže na otázku ohľadom ceny odpovedať samostatne, na získanie týchto informácií stačí jedno písmeno.

Rôzni dodávatelia môžu mať rôzne metriky licencovania: podľa počtu jadier, objemu dát alebo počtu uzlov. Standby databáza môže byť zadarmo, alebo môže byť licencovaná rovnako ako hlavná. Ak sa objavia nejaké rozdiely v metrikách, bude potrebné podrobne popísať modelový stand a vypočítať náklady na licencie pre stand.

Dôležitý moment pre správne porovnanie – rovnaké podmienky podpory. Povedzme, že podpora Oracle stojí 22 % z ceny licencie ročne, zatiaľ čo za podporu PostgreSQL nemusíte platiť. Je to správne porovnávať? Nie, pretože následky chyby, ktorá nemôže byť odstránená vlastnými silami, sú úplne odlišné: v prvom prípade odborníci na podporu rýchlo pomôžu problém odstrániť, zatiaľ čo v druhom prípade je riziko oneskorenia projektu alebo odstávky hotového systému na neurčitý čas.

Vyrovnať podmienky výpočtu je možné tromi spôsobmi:

  1. Použiť Oracle bez podpory (v skutočnosti sa to nestáva).
  2. Kúpiť podporu pre PostgreSQL – napríklad od spoločnosti Postgres Professional.
  3. Započítať do výpočtu riziká spojené s absenciou podpory.

Napríklad výpočet rizík môže vyzerať takto: v prípade neopraviteľného zlyhania databázy bude odstávka systému trvať 1 pracovný deň. Plánovaný zisk z používania systému je 40 miliárd mongolských tugrikov ročne, frekvencia havárií sa odhaduje na 1/400, takže riziko absencie podpory sa odhaduje na približne 100 miliónov mongolských tugrikov ročne. Je zrejmé, že 'plánovaný zisk' a 'odhadovaná frekvencia havárií' sú virtuálne hodnoty, ale oveľa lepšie mať takýto model ako nemôcť mať žiadny.

V skutočnosti môže byť systém veľmi dôležitý a reputačné straty z dlhodobého výpadku môžu byť neprijateľné, a preto bude potrebná podpora. Ak je však výpadok akceptovateľný, vzdanie sa podpory môže byť občas dobrým spôsobom, ako ušetriť.

Predpokladajme, že po všetkých výpočtoch náklady na prevádzku platformy A počas 5 rokov predstavovali 800 miliónov mongolských tugrikov, náklady na prevádzku platformy B – 650 miliónov tugrikov a náklady na prevádzku platformy C – 600 miliónov tugrikov. Platforma C ako víťaz získava za náklady plný bod, zatiaľ čo platformy A a B získavajú o niečo menej, proporcionálne tomu, koľko sú drahšie. V tomto prípade – 0,75 a 0,92 bodov.

Hodnotenie možností

Hodnotenie možností sa delí na množstvo skupín, ktorých počet je obmedzený iba fantáziou toho, kto hodnotenie vykonáva. Optimálnou možnosťou sa javí rozdelenie možností podľa tímov, ktoré tieto možnosti budú využívať; v našom príklade sú to vývojári, administrátori a úradníci informačnej bezpečnosti. Predpokladajme, že váhy týchto funkcií sa rozdeľujú ako 40:40:20.

K funkciám vývoja môžeme zaradiť:

  • pohodlie manipulácie s údajmi;
  • škálovateľnosť;
  • existencia sekundárnych indexov.

Zoznam kritérií, ako aj ich váhy, sú veľmi subjektívne. Aj pri riešení tej istej úlohy sa tieto zoznamy, váhy položiek a odpovede budú výrazne líšiť v závislosti od zloženia vášho tímu. Tak napríklad Facebook na ukladanie údajov používa MySQL, zatiaľ čo Instagram je postavený na základe Cassandry. Je málo pravdepodobné, že vývojári týchto aplikácií vypĺňali takéto tabuľky. Môžeme len hádať, že Mark Zuckerberg si zvolil plnohodnotný relačný model, zaplatil za to nutnosťou aplikačného shardovania, zatiaľ čo Kevin Systrom akceptoval škálovanie pomocou prostriedkov platformy, na úkor pohodlia prístupu k údajom.

K funkciám administrácie patrí:

  • možnosti systému zálohovania;
  • pohodlie monitorovania;
  • pohodlie správy kapacít – diskov a uzlov;
  • možnosti replikácie údajov.

Všimnite si, že formulácie otázok by mali umožňovať kvantitatívne hodnotenie. Môžeme sa dokonca dohodnúť, ako hodnotiť danú funkciu. Skúsme napríklad ohodnotiť nástroje zálohovania na príklade nástrojov dodávaných so SDB Oracle:

Nástroj
Komentár
Hodnotenie

imp/exp
Export a import dát
0.1

začiatok/koniec zálohovania
Kopírovanie súborov
0.3

RMAN
Možnosť inkrementálneho kopírovania
0.7

ZDLRA
Iba inkrementálne kopírovanie, najrýchlejšie obnovenie na bod
1.0

Ak chýbajú jasné hodnotiace kritériá, má zmysel požiadať niekoľkých expertov, aby poskytli hodnotenia a následne ich priemerné hodnoty.

Nakoniec si jednoducho vymenujeme funkcie informačnej bezpečnosti:

  • existencia politík správy hesiel;
  • možnosť pripojenia externých autentifikačných nástrojov (LDAP, Kerberos);
  • model prístupu podľa rolí;
  • možnosti auditu;
  • šifrovanie dát na disku;
  • šifrovanie pri prenose po sieti (TLS);
  • ochrana dát pred administrátorom.

Testovanie výkonu

Osobitne by som chcel varovať pred používaním výsledkov akýchkoľvek záťažových testov, ktoré ste neuskutočnili vy.

Po prvé, štruktúra dát a profil záťaže testovaných aplikácií sa môžu podstatne líšiť od úlohy, ktorú plánujete riešiť. Pred 10-15 rokmi výrobcovia databáz radi predvádzali výsledky dosiahnuté v testoch TPC, ale teraz sa zdá, že nikto už tieto výsledky neberie vážne.

Po druhé, výkon systému dosť silno závisí od toho, pre akú platformu bol pôvodne napísaný kód a na akom vybavení sa test vykonával. Videla som množstvo testov, kde Oracle porovnávali s PostgreSQL. Výsledky sa líšili od bezpodmienečnej prevahy jedného systému po takú istú bezpodmienečnú prevahu druhého.

A napokon, po tretie, nemáte žiadne informácie o tom, kto test vykonával. Dôležitá je kvalifikácia, ktorá ovplyvňuje kvalitu nastavenia OS a platformy, ako aj motivácia, ktorá ovplyvňuje výsledky testu silnejšie ako všetky ostatné faktory dokopy.

Ak je výkon kriticky dôležitým faktorom, vykonajte test sami, ideálne so zapojením odborníkov, ktorí budú nastavovať a udržiavať priemyselný systém.

Výsledok

Nakoniec by mal byť výsledkom celej vykonanej práce elektronický zoznam, kde sú všetky hodnotenia zhromaždené, vynásobené a sčítané:

Čo je lepšie – Oracle alebo Redis alebo Ako odôvodniť výber platformy

Ako chápete, zmenou váh a úpravou hodnotení je možné dosiahnuť akýkoľvek požadovaný výsledok, ale to je už celkom iný príbeh...

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster