Mis on parem – Oracle vĂ”i Redis vĂ”i Kuidas pĂ”hjendada platvormi valikut

– See, she said loudly without addressing anyone. – Can you believe it? It’s written right here – the main goal of society is to extract profit in the interests of shareholders. Just think about it! They fear nothing!

Juli Dubov, «The Lesser Evil»

Upon seeing such a headline, you've probably already decided that the article is either nonsense or a provocation. But don’t rush to conclusions: employees of large corporations, especially those with state participation, frequently have to compare different platforms, including quite distinct ones – for example, those mentioned in the headline.

Mis on parem – Oracle vĂ”i Redis vĂ”i Kuidas pĂ”hjendada platvormi valikut

Of course, no one compares DBMSs, as their strengths and weaknesses are well known. Usually, it’s platforms that address a specific task that are compared. In this article, I will show the methodology used for this, using databases as a subject familiar to the readers of Habr. So,

Motivatsioon

Kui alustate Ă”ppeprojekti vĂ”i hobi projekti, vĂ”ivad platvormi valimise motivatsioonid olla vĂ€ga erinevad: "seda platvormi tunnen kĂ”ige paremini", "see tundub pĂ”nev", "siin on parim dokumentatsioon"... ÄriettevĂ”tte puhul on valikukriteerium ĂŒks: kui palju peab maksma ja mida selle eest saab.

Muidugi tahaks maksta vĂ€hem, kuid saada rohkem. Siiski tuleb otsustada, mis on olulisem – vĂ€hem maksta vĂ”i rohkem saada ning igale pĂ”himĂ”ttele omistada kaal. Oletame, et me hindame kvaliteetset lahendust rohkem kui odavat ning anname mĂ”istele "Hind" kaalu 40% ning mĂ”istele "VĂ”imalused" 60%.

Mis on parem – Oracle vĂ”i Redis vĂ”i Kuidas pĂ”hjendada platvormi valikut

Suurtes ettevĂ”tetes on tavaliselt kĂ”ik vastupidi – hinna kaal ei lange alla 50% ja vĂ”ib ulatuda isegi 60% vĂ”i enamgi. Mudel nĂ€itab, et kĂ”igi vanemate sĂ”lmede kogukaal peab olema 100%.

LÔike tingimused

Veebileht db-engines.com tuntud umbes 500 andmebaasi haldussĂŒsteemi. Loomulikult, kui valida sihtplatvorm sellisest valikust, vĂ”ib tulemusena olla ĂŒlevaatlik artikkel, mitte kommertstöö. Valiku piiramiseks formuleeritakse vĂ€listavad kriteeriumid, ja kui platvorm ei vasta nendele kriteeriumidele, siis ei vaatata seda.

VÀlistavad kriteeriumid vÔivad puudutada tehnoloogilisi omadusi, nÀiteks:

  • ACID-garanteeringud;
  • relatsiooniline andmemudel;
  • SQL keele toetus (pange tĂ€hele, et see ei ole sama, mis "relatsiooniline mudel");
  • horisontaalse skaleerituse vĂ”imalus.

VĂ”ivad olla ka ĂŒldise iseloomuga kriteeriumid:

  • kaubanduslik toetus Venemaal;
  • avatud lĂ€htekood;
  • platvormi olemasolu Kommunikatsiooniministeeriumi registris;
  • platvormi olemasolu mingisuguses edetabelis (nĂ€iteks db-engines.com esimese saja hulgas);
  • ekspertide olemasolu turul (nĂ€iteks platvormi nime otsingul CVs saidil hh.ru).

LÔpuks vÔivad olla ka ettevÔtte spetsiifilised kriteeriumid:

  • spetsialistide olemasolu töötajate seas;
  • ĂŒhilduvus X jĂ€relevalvesĂŒsteemiga vĂ”i varundussĂŒsteemiga Y, millele kogu teenindus toetub


Peamine on, et oleks olemas vĂ€listavad kriteeriumid. Vastasel juhul leiab alati mĂ”ne eksperdi (vĂ”i „eksperdi“), kellel on juhtkonna eriline usaldus, kes ĂŒtleb: „Miks te ei valinud platvormi Z? Ma tean, et see on parim.“

Hinna hindamine

Lahenduse maksumus koosneb ilmselgelt litsentside, teeninduse ja seadmete maksumusest.

Kui sĂŒsteemid on enam-vĂ€hem samas klassis (nĂ€iteks Microsoft SQL Server ja PostgreSQL), vĂ”ib lihtsuse tĂ”ttu arvata, et seadmete arv mĂ”lema lahenduse jaoks on ligikaudu sama. See saves aega ja vaeva seadmete hindamisel. Kui aga tuleb vĂ”rrelda tĂ€iesti erinevaid sĂŒsteeme (nĂ€iteks Oracle vs. Redis), siis on ilmne, et korrektse hindamise jaoks on vajalik teha mahutavushinnang (seadmete arvu arvutamine). Mitteeksisteeriva sĂŒsteemi mahutavushinnang on vĂ€ga tĂ€namatu ĂŒlesanne, seega pĂŒĂŒavad selliseid vĂ”rdlusi vĂ€ltida. Seda on lihtne teha: piirangutingimustes mĂ€rgitakse nullandmete kaotus ja relaatsioonimudel vĂ”i vastupidi – koormus 50 000 tehingut sekundis.

Litsentside hindamiseks piisab, kui kĂŒsida mĂŒĂŒjalt vĂ”i tema partneritelt litsentsi hinda kindla arvu tuumade ja fikseeritud ajaga toetuse kohta. Üldiselt on ettevĂ”tetel juba tugevad suhted tarkvara mĂŒĂŒjatega ning kui andmebaasi halduskeskus ei saa iseseisvalt hinnakĂŒsimusele vastata, siis piisab selle teabe saamiseks ĂŒhest e-kirjast.

Erinevatel mĂŒĂŒjatel vĂ”ivad olla erinevad litsentsimise mÔÔdikud: tuumade arvu, andmemahtu vĂ”i sĂ”lmede arvu jĂ€rgi. Standby-andmebaas vĂ”ib olla tasuta vĂ”i litsentseerida nagu pĂ”hiversioon. Kui ilmnevad erinevused mÔÔdikutes, tuleb mudelistendi ĂŒksikasjalikult kirjeldada ja arvutada litsentside maksumus stendi jaoks.

Oluline punkt korrektseks vĂ”rdlemiseks on samad toetuse tingimused. NĂ€iteks, Oracle'i tugi maksab 22% litsentsihinnast aastas, samas kui PostgreSQL toetuse eest ei pea maksma. Kas on korrektne nii vĂ”rrelda? Ei, sest veal, mida ei saa oma jĂ”ududega lahendada, on tĂ€iesti erinevad tagajĂ€rjed: esimeses juhus toetuse spetsialistid aitavad selle kiiresti lahendada, samas kui teisel juhul on oht projekti viivituseks vĂ”i valmis sĂŒsteemi seiskamiseks mÀÀramatuks ajaks.

Toetuse arvestamise tingimusi saab vÔrdsustada kolmel viisil:

  1. Kasutada Oracle'it ilma toeta (reaalsuses midagi sellist ei juhtu).
  2. Osta PostgreSQL jaoks tugi - nÀiteks ettevÔttelt Postgres Professional.
  3. Arvesse vÔtta riske, mis on seotud toe puudumisega.

NĂ€iteks vĂ”ivad riskide arvutused vĂ€lja nĂ€ha sellised: kui andmebaasi sĂŒsteem tĂ”rgeb, kulub selle taastamiseks 1 tööpĂ€ev. SĂŒsteemi kasutamisest plaanitud kasum on 40 miljardit Mongoolia tugrikut aastas, Ă”nnetuste esinemissagedus on hinnanguliselt 1/400, seega on hoolduse puudumise risk umbes 100 miljonit Mongoolia tugrikut aastas. On selge, et "plaanitud kasum" ja "hindatud Ă”nnetuste esinemissagedus" on virtuaalsed vÀÀrtused, kuid parem on omada sellist mudelit kui mitte mingit.

Tegelikult vĂ”ib sĂŒsteem olla liiga oluline ning mainekaotused pikaajalise seismise korral oleksid vastuvĂ”etamatud, seega on tugi vajalik. Kui aga seiskamine on lubatud, vĂ”ib mĂ”nikord toetuse katkestamine olla hea viis kulude kokkuhoiuks.

Oletame, et pĂ€rast kĂ”iki arvutusi on platvormi A kasutuskulud 5 aastaks kokku 800 miljonit Mongoolia tugrikit, platvormi B kasutuskulud 650 miljonit tugrikit ja platvormi C kasutuskulud 600 miljonit tugrikit. Platvorm C vĂ”idab ning teenib tĂ€ispunkti, samas kui platvormid A ja B saavad veidi vĂ€hem, proportsionaalselt sellele, kui palju nad kallimad on. Antud juhul – 0.75 ja 0.92 punkti vastavalt.

VÔimaluste hindamine

VĂ”imaluste hindamine jaguneb paljudeks gruppideks, mille arv on piiratud ainult selle inimese kujutlusvĂ”imega, kes hindamist lĂ€bi viib. Optimaalse lahendusena tundub selle jagamine tiimide kaupa, kes neid vĂ”imalusi kasutavad; meie nĂ€ites on see arendajad, administraatorid ja infosĂŒsteemide ametnikud. Oletame, et nende funktsioonide kaalud jagunevad jĂ€rgnevalt: 40:40:20.

Arendamise funktsioonide alla kuuluvad:

  • andmete töötlemise mugavus;
  • skaalautuvus;
  • teisejĂ€rguliste indeksite olemasolu.

Kriteeriumide nimekiri ja nende kaalud on vĂ€ga subjektiivsed. Isegi sama ĂŒlesande lahendamisel vĂ”ivad need nimekirjad, punktide kaalud ja vastused mĂ€rgatavalt erineda sĂ”ltuvalt teie meeskonna koosseisust. NĂ€iteks kasutab Facebook andmete salvestamiseks MySQL-i, samas kui Instagram pĂ”hineb Cassandra-l. On kaheldav, et nende rakenduste arendajad oleksid selliseid tabeleid tĂ€itnud. Saame vaid oletada, et Mark Zuckerberg valis tĂ€ieliku relatsioonilise mudeli, makstes selle eest rakenduste sharding’u vajadusega, samas kui Kevin Systrom kavandas skaleerimise platvormi vahenditega, ohverdades andmete ligipÀÀsetavuse.

Haldusfunktsioonide hulka kuuluvad:

  • varundamise sĂŒsteemi vĂ”imalused;
  • jĂ€lgimise mugavus;
  • vĂ”imsuste – ketaste ja sĂ”lmede – haldamise mugavus;
  • andmete replikatsiooni vĂ”imalused.

Pange tĂ€hele, et kĂŒsimuste sĂ”nastused peavad vĂ”imaldama kvantitatiivset hindamist. Saame isegi kokku leppida, kuidas teatud funktsioone hinnata. Proovime nĂ€iteks hinnata varundamise tööriistu Oracle DB-ga kaasasolevate tööriistade nĂ€itel:

Tööriista
Kommentaar
Hinne

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 inkrementaalne kopeerimine, kiireim taastamine punktis
1.0

Kui selged hindamiskriteeriumid puuduvad, on mĂ”ttekas kĂŒsida mitmelt ekspertidelt hinnangut ja seejĂ€rel need keskmistada.

LĂ”puks loetleme lihtsalt infosĂŒsteemide turvafunktsioonid:

  • paroolihalduse poliitikate olemasolu;
  • vĂ€list autentimisvahendite (LDAP, Kerberos) ĂŒhendamise vĂ”imalus;
  • rollipĂ”hine ligipÀÀsude mudel;
  • auditivĂ”imalused;
  • andmete krĂŒpteerimine kettal;
  • krĂŒpteerimine andmete edastamisel vĂ”rgus (TLS);
  • andmete kaitse administraatori eest.

JÔudluse testimine

Eraldi sooviksin hoiatada, et Àrge kasutage mitte teie enda tehtud koormustestide tulemusi argumentidena.

Esiteks, katsetatavate rakenduste andmestruktuur ja koormusprofiil vĂ”ivad oluliselt erineda ĂŒlesandest, mille te kavatsete lahendada. 10-15 aastat tagasi meeldis andmebaasitootjatele uhkeldada TPC-testide kĂ€igus saavutatud tulemustega, kuid nĂŒĂŒdseks tundub, et keegi ei vĂ”ta neid tulemusi enam tĂ”siselt.

Teiseks, sĂŒsteemi jĂ”udlus sĂ”ltub mĂ€rkimisvÀÀrselt sellest, millisele platvormile kood algselt kirjutatud on ja millisel riistvaral katsetati. Olen nĂ€inud mitmeid teste, kus Oracle'it vĂ”rreldakse PostgreSQL-iga. Tulemused ulatuvad ĂŒhe sĂŒsteemi ĂŒhemĂ”ttelisest ĂŒlevusest teise sĂŒsteemi sama ĂŒhemĂ”ttelisest ĂŒlevusest.

Ja lĂ”puks, kolmandaks, te ei tea midagi sellest, kes katse lĂ€bi viis. Oluline on nii spetsialiseerumine, mis mĂ”jutab operatsioonisĂŒsteemi ja platvormi seadistamise kvaliteeti, kui ka motivatsioon, mis mĂ”jutab katsete tulemusi rohkem kui kĂ”ik teised tegurid kokku.

Kui jĂ”udlus on kriitiliselt oluline, tehke test ise, eelistatavalt spetsialistide osalusel, kes seadistavad ja hooldavad tööstuslikku sĂŒsteemi.

Tulemus

LÔpuks peaks kogu tehtud töö tulemuseks olema elektrooniline tabel, kus kÔik hinnangud on kokku toodud, korrutatud ja liidetud:

Mis on parem – Oracle vĂ”i Redis vĂ”i Kuidas pĂ”hjendada platvormi valikut

Nagu te mÔistate, saab kaalude muutmise ja hinnangute kohandamisega saavutada mistahes soovitud tulemuse, kuid see on juba hoopis teine lugu


Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster