"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.
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à".
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
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:
- Aduprate Oracle senza supportu (in realtà questu ùn succede micca).
- Cumprate supportu per PostgreSQL - per esempiu, da Postgres Professional.
- 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:
Comu capisci, cambiendu e scale è aghjustendu e valutazioni pudete ottene ogni risultatu desideratu, ma hè una storia completamente diversa ...
Source: www.habr.com