Kas ir labāks ā€“ Oracle vai Redis vai Kā pamatot platformas izvēli

"Tas ir nepiecieÅ”ams," viņa skaļi sacÄ«ja, nevienu neuzrunājot. - Tas ir nepiecieÅ”ams! TieÅ”i tā arÄ« teikts: uzņēmuma galvenais uzdevums ir peļņas gÅ«Å”ana akcionāru interesēs. Nu padomājiet! Viņi ne no kā nebaidās!

JÅ«lijs Dubovs, ā€œMazākais ļaunumsā€

IeraudzÄ«jis Ŕādu virsrakstu, laikam jau esi nolēmis, ka raksts ir vai nu stulbums vai provokācija. Bet nesteidzieties ar secinājumiem: lielo korporāciju darbiniekiem, Ä«paÅ”i korporācijām ar valsts lÄ«dzdalÄ«bu, diezgan bieži ir jāsalÄ«dzina dažādas platformas, tostarp pilnÄ«gi atŔķirÄ«gas - piemēram, nosaukumā minētās.

Kas ir labāks ā€“ Oracle vai Redis vai Kā pamatot platformas izvēli

Protams, neviens Ŕādā veidā nesalÄ«dzina DBVS, jo to stiprās un vājās puses ir labi zināmas. Parasti platformas, kas atrisina kādu lietojumprogrammu problēmu, tiek salÄ«dzinātas. Rakstā es parādÄ«Å”u metodoloÄ£iju, kas tiek izmantota Å”ajā gadÄ«jumā, izmantojot datu bāzu piemēru kā priekÅ”metu, kas ir pazÄ«stams Habr lasÄ«tājiem no pirmavotiem. Tātad,

Motivācija

Uzsākot izglÄ«tojoÅ”u projektu vai hobija projektu, platformas izvēles motivācija var bÅ«t ļoti dažāda: ā€œÅ”Ä« ir platforma, kuru es pārzinu vislabākā€, ā€œMan interesē saprast Å”oā€, ā€œÅ”eit ir labākā dokumentācijaā€ ... KomercsabiedrÄ«bas gadÄ«jumā atlases kritērijs ir viens: cik man bÅ«s jāmaksā un ko es par Å”o naudu saņemÅ”u.

Protams, jÅ«s vēlaties maksāt mazāk un iegÅ«t vairāk. Tomēr jums ir jāizlemj, kas ir svarÄ«gāk - maksāt mazāk vai iegÅ«t vairāk, un katram mezglam jāpieŔķir svars. Pieņemsim, ka kvalitatÄ«vs risinājums mums ir svarÄ«gāks par lētu, un mezglam ā€œIzmaksasā€ pieŔķirsim 40%, bet ā€œIespējasā€ ā€“ 60%.

Kas ir labāks ā€“ Oracle vai Redis vai Kā pamatot platformas izvēli

Lielajās korporācijās parasti ir otrādi ā€“ izmaksu svars nenokrÄ«t zem 50%, un varbÅ«t arÄ« vairāk par 60%. Modeļa piemērā svarÄ«gi ir tikai tas, ka jebkura vecākmezgla pakārtoto mezglu kopējam svaram jābÅ«t 100%.

IzslēgÅ”anas nosacÄ«jumi

TÄ«mekļa vietne db-engines.com Ir zināmas aptuveni 500 datu bāzu pārvaldÄ«bas sistēmas. Protams, ja izvēlaties mērÄ·a platformu no tik daudzām iespējām, jÅ«s varat iegÅ«t pārskata rakstu, bet ne komerciālu projektu. Lai samazinātu izvēles telpu, tiek formulēti nogrieÅ”anas kritēriji, un, ja platforma neatbilst Å”iem kritērijiem, tā netiek ņemta vērā.

Pārtraukuma kritēriji var attiekties uz tehnoloģiskām iezīmēm, piemēram:

  • ACID garantijas;
  • relāciju datu modelis;
  • SQL valodas atbalsts (ņemiet vērā, ka tas nav tas pats, kas ā€œrelāciju modelisā€);
  • horizontālas mērogoÅ”anas iespēja.

Var būt vispārīgi kritēriji:

  • komerciālā atbalsta pieejamÄ«ba Krievijā;
  • atvērtais avots;
  • platformas pieejamÄ«ba Telekomunikāciju un masu komunikāciju ministrijas reÄ£istrā;
  • platformas klātbÅ«tne kādā reitingā (piemēram, db-engines.com reitinga pirmajā simtā);
  • ekspertu klātbÅ«tne tirgÅ« (piemēram, pamatojoties uz platformas nosaukuma meklÄ“Å”anas rezultātiem CV vietnē hh.ru).

Galu galā var būt uzņēmumam specifiski kritēriji:

  • speciālistu pieejamÄ«ba personālam;
  • savietojamÄ«ba ar uzraudzÄ«bas sistēmu X vai rezerves sistēmu Y, uz kuras balstās viss atbalsts...

VissvarÄ«gākais ir tas, ka ir noteikts ierobežoÅ”anas kritēriju saraksts. Citādi noteikti atradÄ«sies kāds eksperts (vai ā€œekspertsā€), kurÅ” izbaudÄ«s Ä«paÅ”u vadÄ«bas uzticÄ«bu un teiks: ā€œkāpēc jÅ«s neizvēlējāties platformu Z, es zinu, ka tā ir labākāā€.

Izmaksu aprēķins

Risinājuma izmaksas acīmredzami sastāv no licenču izmaksām, atbalsta izmaksām un aprīkojuma izmaksām.

Ja sistēmas ir aptuveni vienādas klases (piemēram, Microsoft SQL Server un PostgreSQL), tad vienkārŔības labad varam pieņemt, ka aprÄ«kojuma apjoms abiem risinājumiem bÅ«s aptuveni vienāds. Tas ļaus jums nenovērtēt aprÄ«kojumu, tādējādi ietaupot daudz laika un pūļu. Ja jāsalÄ«dzina pavisam dažādas sistēmas (teiksim, Oracle vs. Redis), tad ir acÄ«mredzams, ka pareizam novērtējumam ir jāveic izmēru noteikÅ”ana (iekārtu apjoma aprēķināŔana). NeesoÅ”as sistēmas izmēru noteikÅ”ana ir ļoti nepateicÄ«gs uzdevums, tāpēc viņi joprojām cenÅ”as izvairÄ«ties no Ŕādiem salÄ«dzinājumiem. Tas ir viegli izdarāms: nogrieÅ”anas apstākļos tiek ierakstÄ«ts nulles datu zudums un relāciju modelis vai otrādi - slodze 50 tÅ«kstoÅ”us darÄ«jumu sekundē.

Lai novērtētu licences, pietiek pārdevējam vai tā partneriem pieprasÄ«t licences izmaksas noteiktam serdeņu skaitam un atbalstu noteiktam periodam. Parasti uzņēmumiem jau ir cieÅ”as attiecÄ«bas ar programmatÅ«ras piegādātājiem, un, ja datu bāzes operāciju nodaļa nevar atbildēt uz jautājumu par izmaksām viena pati, tad Ŕīs informācijas iegÅ«Å”anai pietiek ar vienu vēstuli.

Dažādiem piegādātājiem var bÅ«t atŔķirÄ«ga licencÄ“Å”anas metrika: pēc kodolu skaita, datu apjoma vai mezglu skaita. GaidÄ«Å”anas bāze var bÅ«t bezmaksas, vai arÄ« to var licencēt tāpat kā galveno. Ja tiek atklātas atŔķirÄ«bas metrikā, jums bÅ«s detalizēti jāapraksta stenda paraugs un jāaprēķina stenda licenču izmaksas.

SvarÄ«gs punkts pareizam salÄ«dzinājumam ir vienādi atbalsta nosacÄ«jumi. Piemēram, Oracle atbalsts maksā 22% no licences cenas gadā, bet jums nav jāmaksā par PostgreSQL atbalstu. Vai ir pareizi Ŕādi salÄ«dzināt? Nē, jo kļūdai, kuru nevar novērst paÅ”a spēkiem, ir pavisam citas sekas: pirmajā gadÄ«jumā atbalsta speciālisti ātri palÄ«dzēs to novērst, bet otrajā gadÄ«jumā pastāv risks aizkavēt projektu vai gatavā dÄ«kstāvi. sistēma uz nenoteiktu laiku.

Aprēķinu nosacījumus var izlīdzināt trīs veidos:

  1. Izmantojiet Oracle bez atbalsta (faktiski tas nenotiek).
  2. Iegādājieties atbalstu PostgreSQL, piemēram, no Postgres Professional.
  3. Ņem vērā riskus, kas saistīti ar atbalsta trūkumu.

Piemēram, riska aprēķins varētu izskatÄ«ties Ŕādi: fatālas datu bāzes atteices gadÄ«jumā sistēmas dÄ«kstāve bÅ«tu 1 darba diena. Prognozētā peļņa no sistēmas izmantoÅ”anas ir 40 miljardi MNT gadā, negadÄ«jumu lÄ«menis tiek lēsts 1/400, lÄ«dz ar to atbalsta trÅ«kuma risks tiek lēsts aptuveni 100 miljonu MNT gadā. AcÄ«mredzot ā€œplānotā peļņaā€ un ā€œaprēķinātais negadÄ«jumu biežumsā€ ir virtuālas vērtÄ«bas, taču daudz labāk, ja ir Ŕāds modelis, nekā tāda nav.

PatiesÄ«bā sistēma var bÅ«t pārāk svarÄ«ga, lai ilgtermiņa dÄ«kstāves reputācijas izmaksas bÅ«tu nepieņemamas, tāpēc bÅ«s nepiecieÅ”ams atbalsts. Ja ir atļauta dÄ«kstāve, tad atbalsta atteikÅ”ana dažkārt var bÅ«t labs veids, kā ietaupÄ«t naudu.

Pieņemsim, ka pēc visiem aprēķiniem platformas A darbÄ«bas izmaksas uz 5 gadiem izrādās 800 miljoni MNT, operētājplatformas B izmaksas ir 650 miljoni MNT, bet operētājplatformas C izmaksas ir 600 miljoni MNT. Platforma C kā uzvarētāja saņem pilnu punktu par cenu, savukārt platformas A un B saņem nedaudz mazāk, proporcionāli tam, cik reizes tās ir dārgākas. Å ajā gadÄ«jumā ā€“ attiecÄ«gi 0.75 un 0.92 punkti.

Iespēju novērtÄ“Å”ana

Iespēju novērtējums ir sadalÄ«ts daudzās grupās, kuru skaitu ierobežo tikai vērtētāja iztēle. Å Ä·iet, ka optimālais variants ir sadalÄ«t spējas komandās, kas Ŕīs iespējas izmantos; mÅ«su piemērā tie ir izstrādātāji, administratori un informācijas droŔības darbinieki. Pieņemsim, ka Å”o funkciju svari ir sadalÄ«ti 40:40:20.

Attīstības funkcijas ietver:

  • datu apstrādes vienkārŔība;
  • mērogoÅ”ana;
  • sekundāro indeksu klātbÅ«tne.

Kritēriju saraksts, kā arÄ« to svari ir ļoti subjektÄ«vi. Pat risinot vienu un to paÅ”u problēmu, Å”ie saraksti, vienumu svars un atbildes ievērojami atŔķirsies atkarÄ«bā no jÅ«su komandas sastāva. Piemēram, Facebook datu glabāŔanai izmanto MySQL, un Instagram ir veidots uz Cassandra. Maz ticams, ka Å”o lietojumprogrammu izstrādātāji aizpildÄ«ja Ŕādas tabulas. Var tikai minēt, ka Marks Cukerbergs izvēlējās pilnvērtÄ«gu relāciju modeli, maksājot par to ar vajadzÄ«bu pēc lietiŔķās sadalÄ«Å”anas, savukārt Kevins Systroms izveidoja mērogoÅ”anu, izmantojot platformu, upurējot datu pieejamÄ«bas vieglumu.

Administrācijas funkcijās ietilpst:

  • rezerves sistēmas iespējas;
  • uzraudzÄ«bas vienkārŔība;
  • jaudas pārvaldÄ«bas vienkārŔība - diski un mezgli;
  • datu replikācijas iespējas.

LÅ«dzu, ņemiet vērā, ka jautājumi ir jāformulē kvantitatÄ«vi. JÅ«s pat varat vienoties par to, kā novērtēt konkrētu funkciju. Piemēram, mēģināsim novērtēt dublÄ“Å”anas rÄ«kus, izmantojot Oracle DBVS komplektā iekļauto rÄ«ku piemēru:

Instruments
Komentēt
Novērtējums

imp/exp
Datu augŔupielāde un ielāde
0.1

sākt/beigt dublÄ“Å”anu
Failu kopēŔana
0.3

RMAN
Pakāpeniskas kopÄ“Å”anas iespēja
0.7

ZDLRA
Tikai pakāpeniska kopÄ“Å”ana, ātrākā atkopÅ”ana uz punktu
1.0

Ja nav skaidru vērtÄ“Å”anas kritēriju, ir jēga lÅ«gt vairākus ekspertus sniegt vērtējumus un pēc tam tos vidējot.

Visbeidzot, mēs vienkārÅ”i uzskaitām informācijas droŔības funkcijas:

  • paroļu pārvaldÄ«bas politiku pieejamÄ«ba;
  • iespēja savienot ārējos autentifikācijas rÄ«kus (LDAP, Kerberos);
  • piekļuves paraugs;
  • audita iespējas;
  • datu Å”ifrÄ“Å”ana diskā;
  • Å”ifrÄ“Å”ana pārraides laikā tÄ«klā (TLS);
  • datu aizsardzÄ«bu no administratora.

Veiktspējas pārbaude

AtseviŔķi vēlos brÄ«dināt par argumentiem neizmantot jebkādu slodzes testu rezultātus, kurus neesat norādÄ«jis jÅ«s.

Pirmkārt, pārbaudāmo lietojumprogrammu datu struktÅ«ra un slodzes profils var ievērojami atŔķirties no problēmas, kuru plānojat atrisināt. Apmēram pirms 10-15 gadiem datu bāzu pārdevēji mÄ«lēja lielÄ«ties ar TPC testos sasniegtajiem rezultātiem, bet tagad, Ŕķiet, neviens Å”os rezultātus neuztver nopietni.

Otrkārt, sistēmas veiktspēja diezgan lielā mērā ir atkarīga no tā, kādai platformai kods sākotnēji tika rakstīts un kādai iekārtai tika veikta pārbaude. Esmu redzējis daudzus testus, kuros Oracle tika salīdzināts ar PostgreSQL. Rezultāti svārstās no vienas sistēmas beznosacījuma pārākuma līdz citas sistēmas tikpat beznosacījuma pārākumam.

Un visbeidzot, treÅ”kārt, jÅ«s neko nezināt par to, kurÅ” veica pārbaudi. Abas kvalifikācijas ir svarÄ«gas, ietekmējot OS un platformas uzstādÄ«Å”anas kvalitāti, kā arÄ« motivāciju, kas vairāk ietekmē testa rezultātus nekā visi citi faktori kopā.

Ja veiktspēja ir kritisks faktors, veiciet pārbaudi pats, vēlams ar to cilvēku palÄ«dzÄ«bu, kuri konfigurēs un uzturēs ražoÅ”anas sistēmu.

Piedzīvojiet efektīvu rezultātu spēku

Visbeidzot, visa paveiktā darba rezultātam vajadzētu būt izklājlapai, kurā visas aplēses ir apvienotas, reizinātas un summētas:

Kas ir labāks ā€“ Oracle vai Redis vai Kā pamatot platformas izvēli

Kā jūs saprotat, mainot skalas un pielāgojot vērtējumus, jūs varat sasniegt jebkuru vēlamo rezultātu, bet tas ir pavisam cits stāsts...

Avots: www.habr.com

Pievieno komentāru