Chì hè megliu - Oracle o Redis o Cumu justificà a scelta di a piattaforma

"Questu hè necessariu", disse à voce alta, senza indirizzà à nimu. - Questu hè necessariu ! Questu hè esattamente ciò chì dice: u compitu principalu di una cumpagnia hè di fà un prufittu in l'interessi di l'azionisti. Ebbè, pensateci ! Ùn anu paura di nunda !

Yuliy Dubov, "Menu male"

Dopu avè vistu un tali titulu, probabilmente avete digià decisu chì l'articulu hè o stupidità o una pruvucazione. Ma ùn affruntate micca à cunclusioni: l'impiegati di e grandi corporazioni, in particulare e corporazioni cù a participazione statale, spessu anu da paragunà diverse plataforme, cumpresi completamente diverse - per esempiu, quelli in u titulu.

Chì hè megliu - Oracle o Redis o Cumu justificà a scelta di a piattaforma

Di sicuru, nimu cumpara DBMSs in questu modu, perchè i so punti di forza è debule sò ben cunnisciuti. In regula, e plataforme chì risolvenu qualchì prublema di l'applicazione sò sottumessi à paraguni. In l'articulu vi mustrarà a metodulugia chì hè aduprata in questu casu, utilizendu l'esempiu di basa di dati cum'è un sughjettu chì hè familiar à i lettori Habr in prima persona. Allora,

Motivazione

Quandu avete principiatu un prughjettu educativu o un prughjettu di hobby, a motivazione per sceglie una piattaforma pò esse assai diversa: "questa hè a piattaforma chì cunnoscu megliu", "Sò interessatu à capisce questu", "eccu a megliu documentazione" ... In u casu di una sucietà cummerciale, u criteriu di selezzione hè u listessu: quantu aghju da pagà è ciò chì aghju da ottene per questi soldi.

Naturalmente, vulete pagà menu è ottene più. Tuttavia, avete bisognu di decide ciò chì hè più impurtante - paghendu menu o ottene più, è assignà un pesu à ogni node. Assumimu chì una suluzione d'alta qualità hè più impurtante per noi chè una economica, è assignemu un pesu di 40% à u node "Cost", è 60% à u node "Opportunità".

Chì hè megliu - Oracle o Redis o Cumu justificà a scelta di a piattaforma

In i grandi corporazioni, u cuntrariu hè di solitu veru - u pesu di u costu ùn hè micca sottu à 50%, è forsi più di 60%. In l'esempiu di mudellu, tuttu ciò chì hè impurtante hè chì u pesu tutale di i nodi di u zitellu di ogni nodu parent deve esse 100%.

Cundizioni di cut-off

U situ web db-engines.com Ci sò circa 500 sistemi di gestione di basa di dati cunnisciuti. Naturalmente, se sceglite una piattaforma di destinazione da tante opzioni, pudete finisce cù un articulu di rivista, ma micca un prughjettu cummerciale. Per riduce u spaziu di scelta, i criterii di cut-off sò formulati, è se a piattaforma ùn satisface micca questi criterii, ùn hè micca cunsideratu.

I criteri di cut-off ponu esse ligate à e caratteristiche tecnologiche, per esempiu:

  • guaranzia ACID;
  • mudellu di dati relazionale;
  • Supportu di lingua SQL (nota, questu ùn hè micca u listessu cum'è u "mudellu relazionale");
  • pussibilità di scala horizontale.

Ci ponu esse criterii generale:

  • dispunibilità di supportu cummerciale in Russia;
  • fonte aperta;
  • dispunibilità di a piattaforma in u Registru di u Ministeru di Telecomunicazioni è Comunicazioni Masse;
  • prisenza di a piattaforma in qualchi rating (per esempiu, in u primu centu di a classificazione db-engines.com);
  • a prisenza di sperti in u mercatu (per esempiu, basatu nantu à i risultati di a ricerca di u nome di a piattaforma in un currículum in u situ web hh.ru).

Dopu tuttu, ci ponu esse criteri specifichi di l'impresa:

  • dispunibilità di specialisti nantu à u persunale;
  • cumpatibilità cù u sistema di monitoraghju X o u sistema di salvezza Y, nantu à quale tuttu u sustegnu hè basatu ...

A più impurtante hè chì ci hè una lista di criteri di cut-off. Altrimenti, ci sarà sicuramente un espertu (o "espertu") chì gode di una fiducia speciale da a gestione chì dicerà "perchè ùn avete micca sceltu a piattaforma Z, sò chì hè u megliu".

Stima di u costu

U costu di a suluzione ovviamente custituisce u costu di licenze, u costu di supportu è u costu di l'equipaggiu.

Se i sistemi sò apprussimatamente a listessa classe (per esempiu, Microsoft SQL Server è PostgreSQL), allora per simplicità pudemu assume chì a quantità di l'equipaggiu per e duie suluzioni serà apprussimatamente a stessa. Questu permetterà micca di evaluà l'equipaggiu, risparmiendu cusì assai tempu è sforzu. Sè avete a paragunà sistemi completamente differenti (per dì, Oracle vs. Redis), allora hè ovvi chì per una valutazione curretta hè necessariu di fà sizing (calculamentu di a quantità di l'equipaggiu). A misura di un sistema inesistente hè un compitu assai ingrate, perchè sempre pruvate d'evità tali paraguni. Questu hè faciule fà: in e cundizioni di cut-off, a perdita di dati zero è un mudellu relazionale sò scritti, o vice versa - una carica di 50 mila transazzione per seconda.

Per evaluà e licenze, hè abbastanza per dumandà à u venditore o à i so cumpagni per u costu di una licenza per un numeru fissu di core è supportu per un periodu fissu. In regula, l'imprese anu digià relazioni forti cù i venditori di software, è se u dipartimentu di l'operazioni di basa di dati ùn pò micca risponde à a quistione di u costu per sè stessu, allora una lettera hè abbastanza per ottene sta informazione.

Diversi venditori ponu avè diverse metriche di licenza: per u numeru di core, u voluminu di dati o u numeru di nodi. A basa standby pò esse liberu, o pò esse licenziatu in u listessu modu cum'è u principale. Se scuperte differenze in metriche, avete da descriverà u mudellu stand in detail è calculà u costu di licenze per u stand.

Un puntu impurtante per un paragone currettu hè a stessa cundizione di supportu. Per esempiu, u supportu di Oracle custa 22% di u prezzu di licenza per annu, ma ùn avete micca bisognu di pagà per u supportu PostgreSQL. Hè currettu paragunà cusì? Innò, perchè un errore chì ùn pò esse riparatu da u vostru propiu hà cunsequenze completamente diverse: in u primu casu, i specialisti di supportu vi aiuteranu rapidamente à riparà, ma in u sicondu casu, ci hè u risicu di ritardà u prugettu o di u tempu di inattività di u finitu. sistema per un periudu indefinitu.

Pudete equalizà e cundizioni di calculu in trè manere:

  1. Aduprate Oracle senza supportu (in realtà questu ùn succede micca).
  2. Cumprate supportu per PostgreSQL - per esempiu, da Postgres Professional.
  3. Pigliate in contu i risichi assuciati cù a mancanza di supportu.

Per esempiu, un calculu di risicu puderia vede cusì: in casu d'un fallimentu fatale di a basa di dati, u downtime di u sistema seria 1 ghjornu di travagliu. U prufittu prughjettatu da l'usu di u sistema hè di 40 miliardi MNT annu, a rata di accidenti hè stimata à 1/400, cusì u risicu di mancanza di supportu hè stimatu à circa 100 milioni MNT annu. Ovviamente, "prufittu pianificatu" è "frequenza di accidenti stimata" sò valori virtuali, ma hè assai megliu per avè un tali mudellu chì ùn avè micca.

In realità, u sistema pò esse troppu impurtante per u costu di reputazione di downtime à longu andà per esse inacceptable, cusì u supportu serà necessariu. Se u tempu d'inattività hè permessu, allora ricusà u supportu pò esse qualchì volta un bonu modu per risparmià soldi.

Assumimu chì dopu à tutti i calculi, u costu di a piattaforma operativa A per 5 anni hè 800 milioni di MNT, u costu di a piattaforma operativa B hè di 650 milioni di MNT, è u costu di a piattaforma operativa C hè di 600 milioni di MNT. A piattaforma C, cum'è u vincitore, riceve un puntu sanu per u prezzu, mentre chì e plataforme A è B ricevenu un pocu menu, in proporzione à quante volte sò più caru. In questu casu - 0.75 è 0.92 punti, rispettivamente.

Valutazione di l'opportunità

A valutazione di l'opportunità hè divisa in parechji gruppi, u numeru di quale hè limitatu solu da l'imaginazione di a persona chì face a valutazione. L'opzione ottima pare esse di dividisce e capacità in squadre chì utilizanu sti capacità; in u nostru esempiu, questi sò sviluppatori, amministratori è ufficiali di sicurità di l'infurmazioni. Assumimu chì i pesi di sti funzioni sò distribuiti cum'è 40:40:20.

E funzioni di sviluppu includenu:

  • facilità di manipulazione di dati;
  • scaling;
  • presenza di indici secondari.

A lista di criteri, è ancu i so pesi, sò assai subjectivi. Ancu quandu si risolve u stessu prublema, sti listi, pesi di l'articuli è risposte varieranu significativamente secondu a cumpusizioni di a vostra squadra. Per esempiu, Facebook usa MySQL per almacenà e dati, è Instagram hè custruitu nantu à Cassandra. Hè improbabile chì i sviluppatori di sti appricazzioni cumpienu tali tabelle. Si pò solu guessà chì Mark Zuckerberg hà sceltu un mudellu relazionale cumpletu, paghendu per ellu cù a necessità di sharding applicata, mentri Kevin Systrom hà custruitu scaling usendu a piattaforma, sacrificà a facilità d'accessu à e dati.

E funzioni di amministrazione includenu:

  • capacità di u sistema di salvezza;
  • facilità di monitoraghju;
  • facilità di gestione di capacità - ​​dischi è nodi;
  • capacità di replicazione di dati.

Per piacè nutate chì e dumande deve esse formulate in una manera quantitativa. Pudete ancu accunsente nantu à cumu valutà una funzione particulare. Pruvemu, per esempiu, di valutà l'arnesi di salvezza cù l'esempiu di l'arnesi furniti cù l'Oracle DBMS:

Tool
cumentu
valutati

imp/exp
Caricà è carica dati
0.1

principià / finisce a copia di salvezza
Copià i schedari
0.3

RMAN
Capacità di copia incrementali
0.7

ZDLRA
Solu copia incrementale, ricuperazione più veloce à puntu
1.0

Se ùn ci hè micca un criteriu di valutazione chjaru, hè sensu di dumandà à parechji esperti per dà qualificazioni è poi mediu.

Infine, simpricimenti elencu e funzioni di sicurità di l'infurmazioni:

  • dispunibilità di pulitiche di gestione di password;
  • a capacità di cunnette strumenti di autentificazione esterni (LDAP, Kerberos);
  • mudellu di rolu di accessu;
  • capacità di auditu;
  • criptografia di dati nantu à u discu;
  • criptografia durante a trasmissione nantu à a reta (TLS);
  • prutezzione di dati da l'amministratore.

Test di rendiment

Separatamente, vogliu avvistà contru à utilizà i risultati di qualsiasi teste di carica chì ùn sò micca stati fatti da voi cum'è argumenti.

Prima, a struttura di dati è u prufilu di carica di l'applicazioni chì sò testate ponu differisce significativamente da u prublema chì avete da risolve. Circa 10-15 anni fà, i venditori di basa di dati amavanu di sferisce i risultati ottenuti in i testi TPC, ma avà, pare, nimu piglia questi risultati in seriu.

Siconda, u rendiment di u sistema dipende assai assai da quale piattaforma u codice hè statu scrittu originariamente è da quale equipamentu hè stata realizata a prova. Aghju vistu parechje teste induve Oracle hè statu paragunatu cù PostgreSQL. I risultati varienu da a superiorità incondizionata di un sistema à a superiorità ugualmente incondizionata di l'altru.

È infine, terzu, ùn sapete nunda di quale hà fattu a prova. E duie qualificazioni sò impurtanti, influenzendu a qualità di a stallazione di u SO è a piattaforma, è ancu a motivazione, chì influenza i risultati di a prova più di tutti l'altri fattori cumminati.

Se u rendiment hè un fattore criticu, fate a prova sè stessu, preferibile cù l'aiutu di e persone chì cunfigurà è mantene u sistema di produzzione.

risultatu

Infine, u risultatu di tuttu u travagliu fattu deve esse una foglia di calculu induve tutte l'estimazioni sò cumminate, multiplicate è riassunte:

Chì hè megliu - Oracle o Redis o Cumu justificà a scelta di a piattaforma

Comu capisci, cambiendu e scale è aghjustendu e valutazioni pudete ottene ogni risultatu desideratu, ma hè una storia completamente diversa ...

Source: www.habr.com

Add a comment