â Pead nĂ€e, â ĂŒtles ta valjult, ei kĂ”nelenud kellelegi. â Pead nĂ€e! Jutust on nii selgelt kirjas, et ĂŒhiskonna peamine ĂŒlesanne on kasumi teenimine aktsionĂ€ride huvides. Kas te ei mĂ”tle sellele? Mitte midagi ei kardeta!
Juli Dublov, âVĂ€hem rassistlik halbâ
Kui te sellist pealkirja nĂ€ete, olete tĂ”enĂ€oliselt juba otsustanud, et artikkel on kas rumalus vĂ”i provokatsioon. Kuid Ă€rge tehke jĂ€reldusi liiga kiiresti: suurte korporatsioonide, eriti riigiosalusega korporatsioonide töötajad peavad ĂŒsna tihti erinevaid platvorme vĂ”rdlema, sealhulgas tĂ€iesti erinevaid â nĂ€iteks need, mis on pealkirjas.

Loomulikult ei vĂ”rrelda keegi andmebaase, sest nende tugevused ja nĂ”rkused on hĂ€sti teada. Reeglina vĂ”rreldakse platvorme, mis lahendavad teatud rakenduslikku ĂŒlesannet. Artiklis nĂ€itan meetodit, mida selleks kasutatakse, andmebaaside nĂ€itel, mida lugenud Khabra lugejad tunnevad. Nii et,
Motivatsioon
Kui alustate Ă”ppeprojekti vĂ”i hobiprojekti, vĂ”ib platvormi valiku motiveerimine olla vĂ€ga mitmekesine: âseda platvormi tunnen ma kĂ”ige pareminiâ, âselle ĂŒle on huvitav aru saadaâ, âsiin on parim dokumentatsioonâ... Kaubandusliku ettevĂ”tte korral on valikukriteerium ĂŒks: kui palju tuleb maksta ja mida ma selle raha eest saan.
Muidugi soovite maksta vĂ€hem ja saada rohkem. Siiski on oluline otsustada, mis on olulisem â vĂ€hem maksta vĂ”i rohkem saada, ja iga sĂ”lme mÀÀrata kaal. Oletame, et meile on olulisem kvaliteetne lahendus kui odav, seega anname sĂ”lmele âHindâ kaalu 40% ja sĂ”lmele âVĂ”imalusedâ 60%.

Suurtes korporatsioonides on tavaliselt vastupidi â hinna kaal ei lange kunagi alla 50% ja vĂ”ib-olla isegi ĂŒle 60%. Mudel nĂ€iteks nĂ€itab, et iga vanema sĂ”lme summaalne kaal peab olema 100%.
VĂ€listavad tingimused
Veebileht on teada umbes 500 andmebaaside haldust sĂŒsteemi. Loomulikult, kui valida sihtplatvorm nii suure koguse variantide hulgast, vĂ”ib sellest saada ĂŒlevaate artikkel, kuid mitte kaubanduslik projekt. Valiku ruumi piiramise jaoks formuleeritakse vĂ€listavad kriteeriumid ja kui platvorm ei vasta nendele kriteeriumitele, siis seda ei arvestata.
Kriteroidid vÔivad olla seotud tehnoloogiliste omadustega, nÀiteks:
- ACID-garantii;
- relatsiooniline andmemudel;
- SQL keele toetus (pange tÀhele, et see ei ole sama, mis 'relatsiooniline mudel');
- horisontaalne skaleeritavus.
VĂ”ivad olla ka ĂŒldised kriteeriumid:
- kaubandusliku toe olemasolu Eestis;
- avatud lÀhtekood;
- platvormi olemasolu Ministeeriumi Raamatus;
- platvormi olemasolu mingis jÀrjestuses (nÀiteks esimese saja hulgas db-engines.com jÀrjestuses);
- ekspertide olemasolu turul (nÀiteks platvormi nime otsingust tulevate CV-de pÔhjal veebisaidil hh.ru).
LÔppkokkuvÔttes vÔivad olla ettevÔttespetsiifilised kriteeriumid:
- spetsialistide olemasolu meeskonnas;
- kooskĂ”la seire sĂŒsteemiga X vĂ”i varundussĂŒsteemiga Y, millele kĂ”ik tugi toetubâŠ
KĂ”ige olulisem on, et vĂ€listavate kriteeriumide nimekiri oleks olemas. Vastasel korral leiab alati mĂ”ni ekspert (vĂ”i 'ekspert'), kellel on juhtkonna seas eriline usaldus, kes ĂŒtleb: 'Miks te ei valinud platvormi Z, ma tean, et see on parim'.
Maksuhinnang
Lahenduse maksumus koosneb ilmselt litsentside, toe ja seadmete maksumusest.
Kui sĂŒsteemid on enam-vĂ€hem samas klassis (nĂ€iteks Microsoft SQL Server ja PostgreSQL), vĂ”ib lihtsuse huvides arvata, et seadmete arv mĂ”lemas lahenduses on enam-vĂ€hem sama. See sÀÀstab aega ja vaeva seadmete hindamisel. Kui aga tuleb vĂ”rrelda tĂ€iesti erinevaid sĂŒsteeme (ĂŒtleme, Oracle vs. Redis), on selge, et korrektseks hindamiseks on vajalik suuruse mÀÀramine (seadmete arvu arvutamine). Mitteeksisteeriva sĂŒsteemi suuruse mÀÀramine on tĂ€namatult keeruline ĂŒlesanne, mistĂ”ttu selliseid vĂ”rreldes pĂŒĂŒavad ikkagi vĂ€ltida. Seda on lihtne teha: vĂ€listavates tingimustes kirjutatakse nullandmete kaotus ja relatsiooniline mudel vĂ”i vastupidi â koormus 50 tuhat tehingut sekundis.
Litsentide hindamiseks piisab, kui kĂŒsida teenusepakkujalt vĂ”i tema partneritelt litsentsi hinda fikseeritud arvu sĂŒdamike ja fikseeritud perioodi toetuse eest. Ăldiselt on ettevĂ”tetel juba tugevad suhted tarkvarateenuse pakkujatega, ja kui andmebaasi halduskeskus ei saa ise hinda öelda, siis piisab, kui saata ĂŒks kiri, et saada vajalik teave.
Erinevatel teenusepakkujatel vĂ”ivad olla erinevad litsentseerimise mÔÔdikud: sĂŒdamike arvu, andmemahtude vĂ”i sĂ”lmede arvu jĂ€rgi. Standby-andmebaas vĂ”ib olla tasuta vĂ”i litsentseeritud sama kui pĂ”hiversioon. Kui selguvad erinevused mÔÔdikutes, tuleb mudelstandi detailne kirjeldamine ning litsentside hindade arvutamine.
Oluline aspekt Ă”igeks vĂ”rdlemiseks on samad tugitingimused. Ătleme, et Oracle'i tugi maksab aastas 22% litsentsihinnast, kuid PostgreSQL-i toe eest ei pea maksma. Kas on korrektne nii vĂ”rrelda? Ei, kuna veateate tagajĂ€rjed, mida ei saa iseseisvalt lahendada, on tĂ€iesti erinevad: esimeses olukorras aitavad toe spetsialistid probleemi kiiresti lahendada, teises olukorras on oht projekti viivitamiseks vĂ”i valmis sĂŒsteemi seiskamiseks mÀÀramatuks ajaks.
Hindamise tingimusi on vĂ”imalik ĂŒhtlustada kolme viisi:
- Kasutada Oracle'i ilma toetusteta (reaalsuses ei juhtu seda).
- Osta PostgreSQL-i toetus â nĂ€iteks ettevĂ”ttelt Postgres Professional.
- Arvestada riske, mis on seotud toe puudumisega.
NĂ€iteks vĂ”ivad riskide arvutused vĂ€lja nĂ€ha nii: kui andmebaasi tĂ”rge pole lahendatav, siis seisak aega koos sĂŒsteemiga kestab 1 tööpĂ€eva. Planeeritud kasum sĂŒsteemi kasutamisest on 40 miljardit Mongoolia tugrikut aastas, avarii sagedus on hinnatud 1/400, seega on toetuse puudumisega seotud risk hinnanguliselt umbes 100 miljonit Mongoolia tugrikut aastas. Ilmselgelt on "planeeritud kasum" ja "hindeline avariide sagedus" virtuaalsed suurused, kuid palju parem on selline mudel kui selle puudumine.
Tegelikult vĂ”ib sĂŒsteem olla liiga oluline ja pikaajalise seiskumise mainekaotused vĂ”ivad olla vastuvĂ”etamatud, seega on tugi vajalik. Kui siiski seiskumine on lubatud, vĂ”ib toe loobumine mĂ”nikord olla hea viis raha sÀÀsta.
Oletame, et kÔikide arvutuste jÀrel on platvormi A ekspluatatsioonikulu 5 aasta jooksul 800 miljonit Mongoolia tugrikut, platvormi B 650 miljonit tugrikut ja platvormi C 600 miljonit tugrikut. Platvorm C vÔitjana teenib tÀispunkti kulutuste pÔhjal, ning platvormid A ja B saavad veidi vÀhem, proportsionaalselt nende hindadega. Antud juhul on need vastavalt 0.75 ja 0.92 punkti.
VÔimaluste hindamine
VÔimaluste hindamine jaguneb mitmeks gruppideks, mille arvu piiravad vaid hindaja fantaasia. Optimaalseks variandiks tundub vÔimaluste jaotamine tiimide jÀrgi, kes neid vÔimalusi kasutavad; meie nÀites oleksid need arendajad, administraatorid ja infotehnoloogia ametnikud. Oletame, et nende funktsioonide kaalu jaotatakse nagu 40:40:20.
Arendamise funktsioonideks vÔivad olla:
- andmete manipuleerimise mugavus;
- skaalautuvus;
- teisejÀrguliste indeksite olemasolu.
Kriteeriumide nimekiri, nagu ka nende kaalud, on vĂ€ga subjektiivne. Isegi sama ĂŒlesande lahendamisel vĂ”ivad need nimekirjad, punktide kaalud ja vastused oluliselt erineda sĂ”ltuvalt teie meeskonna koosseisust. NĂ€iteks kasutab Facebook andmete salvestamiseks MySQL-i, samas kui Instagram pĂ”hineb Cassandra-l. TĂ”enĂ€oliselt ei ole nende rakenduste arendajad selliseid tabeleid tĂ€itnud. VĂ”ib vaid oletada, et Mark Zuckerberg valis tĂ€ieliku relaatsiooni mudeli, makstes selle eest rakenduste shardimise vajadusega, samas kui Kevin Systrom pani skaleeritavuse platvormi vahenditega, ohverdades andmete mugava ligipÀÀsu.
Haldusfunktsioonide hulka kuuluvad:
- varundamise sĂŒsteemi vĂ”imalused;
- monitoorimise mugavus;
- vĂ”imekuse â ketaste ja sĂ”lmede â haldamise mugavus;
- andmete replikatsiooni vÔimalused.
Pöörake tĂ€helepanu, et kĂŒsitavate kĂŒsimuste sĂ”nastus peaks vĂ”imaldama kvantitatiivset hindamist. VĂ”ime isegi kokku leppida, kuidas hinnata mĂ”nda funktsiooni. Proovime nĂ€iteks hinnata varundustööriistu, kasutades Oracle'i andmebaasi jaoks tarnitud tööriistu:
Tööriist
Kommentaar
Hindamine
imp/exp
Andmete eksport ja import
0.1
varundamise algus/lÔpp
Failide kopeerimine
0.3
RMAN
Inkrementaalse kopeerimise vÔimalus
0.7
ZDLRA
Ainult inkrementeeriv kopeerimine, kiireim taastumine punktist
1.0
Kui selged hindamiskriteeriumid puuduvad, on mÔttekas paluda mitmeid spetsialiste hinda anda ja seejÀrel keskmistada.
LÔpuks toome lihtsalt vÀlja infotehnoloogia turvafunktsioonid:
- paroolide haldamise poliitikate olemasolu;
- vĂ”imalus ĂŒhendada vĂ€liseid autentimistööriistu (LDAP, Kerberos);
- juurdepÀÀsu rollimudel;
- auditeerimisvÔimalused;
- andmete krĂŒpteerimine kettal;
- andmete krĂŒpteerimine edastamisel ĂŒle vĂ”rgu (TLS);
- andmete kaitse administraatori eest.
Tootlikkuse testimine
Tahaksin eraldi hoiatada, et Àrge kasutage mingite koormustestide tulemusi, mida te ise ei juhtinud, argumendina.
Esiteks vÔivad testitavate rakenduste andmestructuur ja koormusprofiil oluliselt erineda probleemist, mida te kavatsete lahendada. 10-15 aastat tagasi meeldis andmebaasi tootjatele uhkeldada TPC-testide tulemustega, kuid praegu ei nÀi keegi neid tulemusi tÔsiselt vÔtvat.
Teiseks sĂ”ltub sĂŒsteemi jĂ”udlus oluliselt sellest, millise platvormi jaoks on kood algselt kirjutatud ja millisel seadmel test viidi lĂ€bi. Olen nĂ€inud arvukalt teste, kus Oracleâi vĂ”rreldakse PostgreSQL-iga. Tulemused ulatuvad ĂŒhe sĂŒsteemi selgesse ĂŒleolekusse samasuguse selguseni teise ĂŒle.
Ja lĂ”puks, kolmandaks, te ei tea midagi selle kohta, kes testi tegi. Oluline on nii kvalifikatsioon, mis mĂ”jutab operatsioonisĂŒsteemi ja platvormi seadistamise kvaliteeti, kui ka motivatsioon, mis mĂ”jutab testi tulemusi enam kui kĂ”ik teised tegurid kokku.
Kui jĂ”udlus on kriitilise tĂ€htsusega tegur, siis testige ise, eelistatavalt koos spetsialistidega, kes seadistavad ja hooldavad tööstussĂŒsteemi.
Tulemus
LÔpuks peab kogu selle töö tulemus olema arvutustabel, kus kÔik hinded on kokku kogutud, korrutatud ja summeeritud:

Kuidas te aru saate, saab kaalude muutmise ja hindade korrigeerimisega saavutada igasuguseid soovitud tulemusi, kuid see on juba hoopis teine lugu...
Allikas: habr.com
