â Kjo duhet, â tha ajo me zĂ« tĂ« lartĂ«, pa u drejtuar askujt. â Kjo duhet! KĂ«shtu shkruhet qartĂ« â detyra kryesore e shoqĂ«risĂ« Ă«shtĂ« tĂ« nxjerrĂ« fitim nĂ« interes tĂ« aksionarĂ«ve. Mendoni pak! Nuk kanĂ« frikĂ« nga asgjĂ«!
Juli Dubov, «E keqja më e vogël»
Duke parĂ« njĂ« titull tĂ« tillĂ«, sigurisht qĂ« tashmĂ« keni vendosur se artikulli Ă«shtĂ« â ose budallallĂ«k, ose provokim. Por mos u nxini nĂ« pĂ«rfundime: punonjĂ«sve tĂ« korporatave tĂ« mĂ«dha, veçanĂ«risht atyre me pjesĂ«marrje shtetĂ«rore, shpeshherĂ« u duhet tĂ« krahasojnĂ« platforma tĂ« ndryshme, pĂ«rfshirĂ« edhe ato krejtĂ«sisht tĂ« ndryshme â siç janĂ« ato tĂ« pĂ«rmendura nĂ« titull.

Sigurisht, askush nuk i krahason DBMS-të, pasi pikat e tyre të forta dhe të dobëta janë të njohura mirë. Në përgjithësi, platforma që i nënshtrohen krahasimit janë ato që zgjidhin një detyrë aplikuese. Në këtë artikull do tregoj metodologjinë që përdoret në këtë rast, duke marrë si shembull bazat e të dhënave, një subjekt që lexuesit e Habrës e njohin mirë. Pra,
Motivimi
Kur filloni njĂ« projekt shkollor ose njĂ« projekt-hobi, motivimi pĂ«r zgjedhjen e platformĂ«s mund tĂ« jetĂ« shumĂ« i ndryshĂ«m: «kjo плаŃŃĐŸŃĐŒĂ« e njoh mĂ« mirë», «mĂ« intereson tĂ« eksploroj kĂ«të», «kĂ«tu Ă«shtĂ« dokumentacioni mĂ« i mirë»... NĂ« rastin e njĂ« kompanie tregtare, kriteri i zgjedhjes Ă«shtĂ« njĂ«: sa do tĂ« paguaj dhe çfarĂ« do tĂ« marr pĂ«r kĂ«to para.
Natyrisht, dĂ«shira Ă«shtĂ« tĂ« paguash mĂ« pak, por tĂ« marrĂ«sh mĂ« shumĂ«. MegjithatĂ«, Ă«shtĂ« e nevojshme tĂ« vendosĂ«sh se çfarĂ« Ă«shtĂ« mĂ« e rĂ«ndĂ«sishme â tĂ« paguash mĂ« pak apo tĂ« marrĂ«sh mĂ« shumĂ«, dhe t'i japĂ«sh çdo elementi njĂ« peshĂ«. Le tĂ« supozojmĂ« se na intereson njĂ« zgjidhje cilĂ«sore, mĂ« shumĂ« sesa njĂ« tĂ« lirĂ«, dhe t'i japim elementit "Kosto" njĂ« peshĂ« prej 40%, ndĂ«rsa elementit "MundĂ«si" - 60%.

NĂ« korporatat e mĂ«dha zakonisht Ă«shtĂ« e kundĂ«rta â pesha e kostos nuk bie nĂ«n 50%, ndoshta edhe mĂ« shumĂ« se 60%. NĂ« shembullin model, e rĂ«ndĂ«sishme Ă«shtĂ« vetĂ«m qĂ« pesha totale e nĂ«n-elementeve tĂ« çdo elementi prind duhet tĂ« jetĂ« 100%.
Kushtet përjashtuese
Faqes janë të njohura rreth 500 sisteme menaxhimi të bazave të dhënash. Natyrisht, nëse zgjidhet një platformë objektiv nga një numër kaq i madh opsionesh, atëherë mund të ndodhë një artikull përmbledhës, por jo një projekt tregtar. Për të reduktuar hapësirën e zgjedhjes, formulohet një grup kriteresh përjashtuese, dhe nëse platforma nuk i përmbush këto kritere, atëherë ajo nuk shqyrtohet.
Kriteret përjashtuese mund të lidhen me veçoritë teknologjike, për shembull:
- Garancitë ACID;
- Modeli relacional i të dhënave;
- Mbështetje për gjuhën SQL (vini re, kjo nuk është e njëjtë me "modelin relacional");
- Mundësia e shkallëzimit horizontal.
Mund të ketë kritere të natyrshme të përgjithshme:
- prania e mbështetjes tregtare në Rusi;
- burim të hapur;
- prania e platformës në Regjistrin e Ministrisë së Komunikimeve;
- prania e platformës në ndonjë renditje (p.sh., në 100 më të mirat në renditjen db-engines.com);
- prania e ekspertëve në treg (p.sh., sipas rezultateve të kërkimit të emrit të platformës në CV-të në faqen hh.ru).
Përveç kësaj, mund të ketë kritere specifike për ndërmarrjen:
- prania e specialistëve në stafin;
- kompatibiliteti me sistemin e monitorimit X ose me sistemin e backup-it Y, nĂ« tĂ« cilin gjithçka mbĂ«shtetetâŠ
Më e rëndësishmja, është që të ekzistojë një listë e kritereve përjashtuese. Në të kundërt, do të ketë sigurisht ndonjë ekspert (ose "ekspert"), që gëzon besim të veçantë të drejtuesve, i cili do të thotë "pse nuk e zgjidhët platformën Z, e di që ajo është më e mira".
Vlerësimi i kostos
Kostoja e zgjidhjes përbëhet qartë nga kostoja e licencave, kostoja e mbështetjes dhe kostoja e pajisjeve.
NĂ«se sistemet janĂ« afĂ«rsisht tĂ« njĂ« klase (p.sh., Microsoft SQL Server dhe PostgreSQL), atĂ«herĂ« pĂ«r thjeshtĂ«si mund tĂ« supozojmĂ« se numri i pajisjeve pĂ«r tĂ« dy zgjidhjet do tĂ« jetĂ« afĂ«rsisht i njĂ«jtĂ«. Kjo do tĂ« lejojĂ« qĂ« tĂ« mos vlerĂ«sohet pajisjet, duke kursyer kĂ«shtu shumĂ« kohĂ« dhe energji. NĂ«se megjithatĂ« duhet tĂ« krahasohen sisteme krejtĂ«sisht tĂ« ndryshme (p.sh., Oracle kundrejt Redis), Ă«shtĂ« e qartĂ« se pĂ«r vlerĂ«sim tĂ« saktĂ« Ă«shtĂ« e nevojshme tĂ« bĂ«het sizing (llogaritja e numrit tĂ« pajisjeve). Sizingu i njĂ« sistemi tĂ« paekzistueshĂ«m Ă«shtĂ« njĂ« punĂ« shumĂ« e vĂ«shtirĂ«, prandaj zakonisht pĂ«rpiqen tĂ« shmangin njĂ« krahasim tĂ« tillĂ«. ĂshtĂ« e thjeshtĂ« ta bĂ«sh kĂ«tĂ«: nĂ« kushtet pĂ«rjashtuese shkruhen humbje zero tĂ« tĂ« dhĂ«nave dhe modeli relacional ose pĂ«rkundrazi â ngarkesa prej 50 mijĂ« transaksionesh nĂ« sekondĂ«.
Për të vlerësuar licencat, është e mjaftueshme të kërkoni nga vendorët ose partnerët e tij çmimin e licencës për një numër të caktuar bërthamash dhe mbështetje për një periudhë të caktuar. Si rregull, kompanitë kanë ndërtuar marrëdhënie të forta me vendorët e softuerit, dhe nëse departamenti i operacioneve të DB-së nuk mund të përgjigjet për çmimin vetë, për të marrë këtë informacion mjafton një letër.
Vendorët e ndryshëm mund të kenë metrika të ndryshme për licencimin: sipas numrit të bërthamave, volumit të të dhënave apo numrit të nyjeve. Një bazë Standby mund të jetë falas, ose mund të licencohet ashtu si baza kryesore. Nëse zbulojnë ndonjë dallim në metrika, do të duhet të përshkruajnë detajisht modelin e pistolës dhe të llogarisin çmimin e licencave për të.
Një çështje e rëndësishme për krahasim të saktë është të njëjtat kushte mbështetjeje. Le të themi, mbështetja për Oracle kushton 22% të çmimit të licencës për çdo vit, ndërsa për mbështetje PostgreSQL mund të mos paguhet. A është e saktë të krahasohet kështu? Jo, sepse pasojat e një gabimi që nuk mund të rregullohet me forcat e veta janë krejtësisht të ndryshme: në rastin e parë specialistët e mbështetjes do të ndihmojnë të zgjidhin shpejt, ndërsa në rastin e dytë ka rrezik për vonesën e projektit ose ndalimin e sistemit të gatshëm për një periudhë të pacaktuar.
Mund të barazoni kushtet e llogaritjes në tre mënyra:
- Të përdorni Oracle pa mbështetje (në realitet kjo nuk ndodh).
- Të blini mbështetje për PostgreSQL - për shembull, nga kompania Postgres Professional.
- Të përfshini në llogaritje rreziqet e lidhura me mungesën e mbështetjes.
PĂ«r shembull, llogaritja e rreziqeve mund tĂ« duket kĂ«shtu: nĂ« rast tĂ« njĂ« dĂ«shtimi tĂ« pazgjidhshĂ«m tĂ« bazĂ«s sĂ« tĂ« dhĂ«nave, ndalimi i sistemit do tĂ« zgjasĂ« 1 ditĂ« pune. Fitimi i parashikuar nga pĂ«rdorimi i sistemit Ă«shtĂ« 40 miliardĂ« tugrikĂ« mongole nĂ« vit, frekuenca e aksidenteve vlerĂ«sohet si 1/400, kĂ«shtu qĂ« rreziku i mungesĂ«s sĂ« mbĂ«shtetjes vlerĂ«sohet nĂ« rreth 100 milion tugrikĂ« mongole nĂ« vit. ĂshtĂ« e qartĂ« se "fitimi i parashikuar" dhe "frekuenca e vlerĂ«suar e aksidenteve" janĂ« vlera virtuale, por Ă«shtĂ« shumĂ« mĂ« mirĂ« tĂ« kesh njĂ« model tĂ« tillĂ« sesa tĂ« mos kesh asnjĂ«.
Në realitet, sistemi mund të jetë shumë i rëndësishëm, dhe humbjet reputacionale nga një kohë e gjatë ndalimi do të ishin të papranueshme, prandaj mbështetje është e nevojshme. Nëse megjithatë lejohet ndalja, atëherë heqja e mbështetjes ndonjëherë mund të jetë një mënyrë e mirë për të kursyer.
Le tĂ« supozojmĂ« se pas tĂ« gjitha llogaritjeve, kostoja e operacionit tĂ« platformĂ«s A gjatĂ« 5 viteve tĂ« ardhshĂ«m ishte 800 milion tugrikĂ« mongole, kostoja e operacionit tĂ« platformĂ«s B â 650 milion tugrikĂ«, dhe kostoja e operacionit tĂ« platformĂ«s C â 600 milion tugrikĂ«. Platforma C si fituese merr njĂ« pikĂ« tĂ« plotĂ« pĂ«r koston, ndĂ«rsa platformat A dhe B marrin pak mĂ« pak, proporcionalisht me sa mĂ« tĂ« shtrenjta janĂ« ato. NĂ« kĂ«tĂ« rast â 0.75 dhe 0.92 pikĂ« pĂ«rkatĂ«sisht.
Vlerësimi i mundësive
Vlerësimi i mundësive ndahet në shumë grupe, numri i të cilave është i kufizuar vetëm nga fantazia e atij që e bën vlerësimin. Një opsion optimal duket të jetë ndarja e mundësive sipas ekipeve që do t'i përdorin ato; në shembullin tonë, këtu janë zhvilluesit, administratorët dhe oficerët e sigurisë informative. Le të supozojmë se pesha e këtyre funksioneve ndahet si 40:40:20.
Në funksionet e zhvillimit mund të përfshihen:
- lehtësia e manipulimit të të dhënave;
- shkallëzimi;
- prania e indekseve të dyta.
Lista e kritereve, si dhe pesha e tyre, janë shumë subjektive. Edhe në zgjidhjen e të njëjtit problem, këto lista, pesha e pikëve dhe përgjigjet do të jenë dukshëm të ndryshme në varësi të përbërjes së ekipit tuaj. Kështu, për shembull, Facebook përdor MySQL për ruajtjen e të dhënave, ndërsa Instagram është ndërtuar mbi bazën Cassandra. Ka gjasa që zhvilluesit e këtyre aplikacioneve nuk kanë plotësuar tabela të tilla. Mund të supozohet vetëm se Mark Zuckerberg ka zgjedhur një model relacional të plotë, duke paguar për këtë me nevojën për ndarjen e aplikacioneve, ndërsa Kevin Systrom ka ndërtuar shkallëzimin me anë të platformës, duke sakrifikuar lehtësinë e aksesit në të dhëna.
Në funksionet e administratës përfshihen:
- mundësitë e sistemit të kopjimit;
- lehtësia e monitorimit;
- lehtĂ«sia e menaxhimit tĂ« kapaciteteve â disqe dhe nyje;
- mundësitë e replikimit të të dhënave.
Kujdes, se formulimet e pyetjeve duhet të lejojnë vlerësimin e sasisë. Mund të bie dakord gjithashtu se si të vlerësojmë funksionin e caktuar. Le të përpiqemi, për shembull, të vlerësojmë mjetet e kopjimit të rezervës duke përdorur mjetet që ofrohen me DBMS Oracle:
Mjeti
Koment
Vlerësimi
imp/exp
Ekstraktimi dhe ngarkimi i të dhënave
0.1
fillim/fund backup
Kopjimi i skedave
0.3
RMAN
Mundësia për kopjim inkremental
0.7
ZDLRA
Kopjim vetëm inkremental, rikuperim më i shpejtë në pikën
1.0
Nëse nuk ka kritere të qarta vlerësimi, ka kuptim të kërkoni nga disa ekspertë të japin vlerësime, dhe pastaj të mesatarizohen ato.
Më në fund, le të rendisim thjesht funksionet e sigurisë informative:
- prania e politikave për menaxhimin e fjalëkalimeve;
- mundësia për t'u lidhur me mjete autentikimi të jashtme (LDAP, Kerberos);
- modeli i aksesit të rolit;
- mundësitë për auditim;
- kriptimi i të dhënave në disk;
- kriptimi gjatë transmetimit në rrjet (TLS);
- mbrojtja e të dhënave nga administratorët.
Testimi i performancës
Veçmas, do të doja të paralajmëroja nga përdorimi si argument i rezultateve të ndonjë testi të ngarkesës, të bërë nga ju.
Së pari, struktura e të dhënave dhe profili i ngarkesës së aplikacioneve të testuara mund të ndryshojnë ndjeshëm nga ajo që po planifikoni të zgjidhni. 10-15 vjet më parë, prodhuesit e bazave të të dhënave më pëlqente të tregonin rezultate të arritura në testet TPC, por tani, duket se askush nuk i merr këto rezultate seriozisht.
Së dyti, performanca e sistemit varet mjaft nga platforma për të cilën fillimisht është shkruar kodi dhe në cilin hardware është bërë testi. Kam parë shumë testime ku Oracle është krahasuar me PostgreSQL. Rezultatet variojnë nga superioriteti i padiskutueshëm i një sistemi deri në një superioritet të tillë të padiskutueshëm të tjetrit.
Dhe sĂ« fundmi, sĂ« treti, nuk dini asgjĂ« pĂ«r atĂ« qĂ« e kryen testin. ĂshtĂ« e rĂ«ndĂ«sishme si kualifikimi, qĂ« ndikon nĂ« cilĂ«sinĂ« e konfigurimit tĂ« OS dhe platformĂ«s, ashtu edhe motivimi, qĂ« ndikon nĂ« rezultatet e testit mĂ« shumĂ« se çdo faktor tjetĂ«r sĂ« bashku.
Nëse performanca është një faktor kritike, kryeni testin vetë, preferably me pjesëmarrjen e specialistëve që do të konfigurojnë dhe mbështesin sistemin industrial.
Rezultati
Në fund, rezultati i tërë punës duhet të jetë një tabelë elektronike, ku të gjitha notat janë aggreguar, shumzuar dhe përmbledhur:

Siç e kuptoni, duke ndryshuar peshat dhe duke korrigjuar notat, mund të arrihet çdo rezultat i kërkuar, por kjo është një histori krejt ndryshe...
Burimi: habr.com
