Hansı daha yaxşıdır – Oracle və ya Redis və ya platforma seçimini necə əsaslandırmaq olar

"Bu lazımdır" dedi ucadan, heç kimə müraciət etmədi. - Bu lazımdır! Burada məhz belə deyilir: şirkətin əsas vəzifəsi səhmdarların maraqlarına uyğun gəlir əldə etməkdir. Yaxşı, düşün! Heç nədən qorxmurlar!

Yuli Dubov, "Kiçik Şər"

Belə bir başlıq görüb, yəqin ki, məqalənin ya axmaqlıq, ya da təxribat olduğuna artıq qərar vermisiniz. Ancaq nəticə çıxarmağa tələsməyin: böyük korporasiyaların işçiləri, xüsusən də dövlətin iştirakı ilə korporasiyalar çox vaxt fərqli platformaları, o cümlədən tamamilə fərqli platformaları - məsələn, başlıqdakıları müqayisə etməlidirlər.

Hansı daha yaxşıdır – Oracle və ya Redis və ya platforma seçimini necə əsaslandırmaq olar

Təbii ki, heç kim DBMS-ləri bu şəkildə müqayisə etmir, çünki onların güclü və zəif tərəfləri yaxşı məlumdur. Bir qayda olaraq, bəzi tətbiq problemini həll edən platformalar müqayisəyə tabedir. Məqalədə Habr oxucularına əvvəlcədən tanış olan bir mövzu kimi verilənlər bazası nümunəsindən istifadə edərək, bu halda istifadə olunan metodologiyanı göstərəcəyəm. Belə ki,

Motivasiya

Bir təhsil layihəsinə və ya hobbi layihəsinə başladığınız zaman platforma seçmək üçün motivasiya çox müxtəlif ola bilər: “bu, mənim ən yaxşı bildiyim platformadır”, “Mən bunu başa düşməkdə maraqlıyam”, “burada ən yaxşı sənədlər var” ...Kommersiya şirkətində seçim meyarı eynidir: mən nə qədər ödəməliyəm və bu pula nə qazanacağam.

Təbii ki, siz daha az ödəmək və daha çox almaq istəyirsiniz. Bununla belə, nəyin daha vacib olduğuna qərar verməlisiniz - daha az ödəmək və ya daha çox almaq və hər bir node üçün çəki təyin etmək. Tutaq ki, yüksək keyfiyyətli həll bizim üçün ucuzdan daha vacibdir və biz “Xərc” qovşağına 40%, “İmkanlar” qovşağına isə 60% çəki təyin edəcəyik.

Hansı daha yaxşıdır – Oracle və ya Redis və ya platforma seçimini necə əsaslandırmaq olar

Böyük korporasiyalarda adətən bunun əksi olur - xərc çəkisi 50%-dən aşağı düşmür, bəlkə də 60%-dən çox. Model nümunəsində vacib olan hər hansı bir ana qovşağın uşaq qovşaqlarının ümumi çəkisinin 100% olmasıdır.

Kəsmə şərtləri

Sayt db-engines.com 500-ə yaxın verilənlər bazası idarəetmə sistemi məlumdur. Təbii ki, bu qədər variant arasından hədəf platforma seçsəniz, kommersiya layihəsi deyil, bir baxış məqaləsi ilə nəticələnə bilərsiniz. Seçim sahəsini azaltmaq üçün kəsmə meyarları tərtib edilir və platforma bu meyarlara cavab vermirsə, o zaman nəzərə alınmır.

Kəsmə meyarları texnoloji xüsusiyyətlərə aid ola bilər, məsələn:

  • ACID zəmanətləri;
  • əlaqəli məlumat modeli;
  • SQL dil dəstəyi (qeyd edək ki, bu, “relational model” ilə eyni deyil);
  • üfüqi miqyaslama imkanı.

Ümumi meyarlar ola bilər:

  • Rusiyada kommersiya dəstəyinin olması;
  • açıq mənbə;
  • platformanın Telekommunikasiya və Kütləvi Rabitə Nazirliyinin Reyestrində mövcudluğu;
  • platformanın bəzi reytinqlərdə olması (məsələn, db-engines.com reytinqinin ilk yüzlüyündə);
  • bazarda ekspertlərin olması (məsələn, hh.ru saytındakı CV-də platformanın adının axtarışının nəticələrinə əsasən).

Axı, müəssisəyə xas meyarlar ola bilər:

  • ştatda mütəxəssislərin olması;
  • bütün dəstəyin əsaslandığı monitorinq sistemi X və ya ehtiyat sistemi Y ilə uyğunluq...

Ən əsası odur ki, kəsmə meyarlarının siyahısı var. Əks halda, rəhbərliyin xüsusi etimadını qazanan bir mütəxəssis (və ya “mütəxəssis”) mütləq olacaq ki, “niyə Z platformasını seçmədin, mən bunun ən yaxşı olduğunu bilirəm” deyəcək.

Xərc təxmini

Həllin qiyməti açıq-aydın lisenziyaların, dəstək xərclərinin və avadanlıqların qiymətindən ibarətdir.

Sistemlər təxminən eyni sinifdirsə (məsələn, Microsoft SQL Server və PostgreSQL), onda sadəlik üçün hər iki həll üçün avadanlıqların miqdarının təxminən eyni olacağını güman edə bilərik. Bu, avadanlıqları qiymətləndirməməyə imkan verəcək və bununla da çox vaxt və səyə qənaət edəcəkdir. Əgər siz tamamilə fərqli sistemləri müqayisə etməlisinizsə (məsələn, Oracle və Redis), onda aydındır ki, düzgün qiymətləndirmə üçün ölçüləri (avadanlığın miqdarının hesablanması) etmək lazımdır. Mövcud olmayan bir sistemin ölçüsünü təyin etmək çox nankor bir işdir, buna görə də hələ də belə müqayisələrdən qaçmağa çalışırlar. Bunu etmək asandır: kəsmə şəraitində sıfır məlumat itkisi və əlaqəli model yazılır və ya əksinə - saniyədə 50 min əməliyyat yükü.

Lisenziyaları qiymətləndirmək üçün satıcıdan və ya onun tərəfdaşlarından müəyyən sayda nüvə və sabit müddət üçün dəstək üçün lisenziyanın qiymətini istəmək kifayətdir. Bir qayda olaraq, şirkətlərin proqram təminatçıları ilə artıq möhkəm əlaqələri var və əgər verilənlər bazası əməliyyatları şöbəsi özbaşına xərc sualına cavab verə bilmirsə, bu məlumatı əldə etmək üçün bir məktub kifayətdir.

Fərqli təchizatçıların fərqli lisenziya göstəriciləri ola bilər: nüvələrin sayına, məlumat həcminə və ya qovşaqların sayına görə. Gözləmə bazası pulsuz ola bilər və ya əsas baza ilə eyni şəkildə lisenziyalaşdırıla bilər. Metriklərdə hər hansı fərq aşkar edilərsə, siz model stendini ətraflı təsvir etməli və stend üçün lisenziyaların qiymətini hesablamalı olacaqsınız.

Düzgün müqayisə üçün vacib məqam eyni dəstək şərtləridir. Məsələn, Oracle dəstəyi illik lisenziya qiymətinin 22%-nə başa gəlir, lakin siz PostgreSQL dəstəyi üçün pul ödəməli deyilsiniz. Belə müqayisə etmək düzgündürmü? Xeyr, çünki özbaşına düzəldilə bilməyən bir səhv tamamilə fərqli nəticələrə malikdir: birinci halda, dəstək mütəxəssisləri onu tez bir zamanda düzəltməyə kömək edəcəklər, lakin ikinci halda, layihənin təxirə salınması və ya bitmiş işin dayandırılması riski var. qeyri-müəyyən müddətə sistem.

Hesablama şərtlərini üç yolla bərabərləşdirə bilərsiniz:

  1. Oracle-dan dəstək olmadan istifadə edin (əslində bu baş vermir).
  2. PostgreSQL üçün dəstək alın - məsələn, Postgres Professional-dan.
  3. Dəstəyin olmaması ilə bağlı riskləri nəzərə alın.

Məsələn, riskin hesablanması belə görünə bilər: ölümcül verilənlər bazası nasazlığı halında, sistemin dayanma müddəti 1 iş günü olacaq. Sistemin istifadəsindən proqnozlaşdırılan mənfəət ildə 40 milyard manatdır, qəza nisbəti 1/400 olaraq təxmin edilir, beləliklə, dəstəyin olmaması riski ildə təxminən 100 milyon manat olaraq qiymətləndirilir. Aydındır ki, “planlaşdırılmış mənfəət” və “təxmin edilən qəza tezliyi” virtual dəyərlərdir, lakin belə bir modelin olmamasından daha yaxşıdır.

Reallıqda sistem uzunmüddətli fasilələrin reputasiya dəyərinin qəbuledilməz olması üçün çox vacib ola bilər, ona görə də dəstək tələb olunacaq. Boş vaxtlara icazə verilirsə, dəstəkdən imtina etmək bəzən pula qənaət etmək üçün yaxşı bir yol ola bilər.

Fərz edək ki, bütün hesablamalardan sonra A platformasının 5 illik istismar dəyəri 800 milyon manat, B əməliyyat platformasının dəyəri 650 milyon manat, C əməliyyat platformasının dəyəri isə 600 milyon manat təşkil edir. Qalib olaraq C platforması qiymətə görə tam xal alır, A və B platformaları isə neçə dəfə baha olduğuna nisbətdə bir az daha az alır. Bu halda – müvafiq olaraq 0.75 və 0.92 bal.

Fürsətlərin Qiymətləndirilməsi

İmkanların qiymətləndirilməsi bir çox qruplara bölünür, onların sayı yalnız qiymətləndirməni aparan şəxsin təxəyyülü ilə məhdudlaşır. Optimal variant, görünür, imkanları bu imkanlardan istifadə edəcək komandalara bölməkdir; nümunəmizdə bunlar tərtibatçılar, idarəçilər və informasiya təhlükəsizliyi işçiləridir. Tutaq ki, bu funksiyaların çəkiləri 40:40:20 kimi paylanır.

İnkişaf funksiyalarına aşağıdakılar daxildir:

  • məlumatların manipulyasiyasının asanlığı;
  • miqyaslama;
  • ikinci dərəcəli göstəricilərin olması.

Meyarların siyahısı, eləcə də çəkiləri çox subyektivdir. Eyni problemi həll edərkən belə, bu siyahılar, maddələrin çəkisi və cavabları komandanızın tərkibindən asılı olaraq əhəmiyyətli dərəcədə dəyişəcək. Məsələn, Facebook məlumatları saxlamaq üçün MySQL-dən istifadə edir və Instagram Cassandra üzərində qurulub. Bu proqramların tərtibatçılarının belə cədvəlləri doldurması ehtimalı azdır. Yalnız təxmin etmək olar ki, Mark Zukerberq tam hüquqlu relational model seçib, bunun əvəzini tətbiq olunan parçalanma ehtiyacı ilə ödəyib, Kevin Systrom isə platformadan istifadə edərək miqyaslaşdırma quraraq məlumatlara çıxış asanlığını qurban verib.

İdarəetmə funksiyalarına aşağıdakılar daxildir:

  • ehtiyat sistem imkanları;
  • monitorinq asanlığı;
  • tutumun idarə edilməsinin asanlığı - disklər və qovşaqlar;
  • məlumatların təkrarlanması imkanları.

Nəzərə alın ki, suallar kəmiyyət baxımından tərtib edilməlidir. Siz hətta müəyyən bir funksiyanı necə qiymətləndirmək barədə razılığa gələ bilərsiniz. Məsələn, Oracle DBMS ilə təchiz edilmiş alətlər nümunəsindən istifadə edərək ehtiyat nüsxə alətlərini qiymətləndirməyə çalışaq:

Alət
Qeyd
Qiymətləndirmə

imp/exp
Məlumatların yüklənməsi və yüklənməsi
0.1

yedəkləməyə başlayın/sonlandırın
Faylların kopyalanması
0.3

RMAN
Artan surət çıxarma qabiliyyəti
0.7

ZDLRA
Yalnız artımlı surət çıxarma, nöqtəyə qədər ən sürətli bərpa
1.0

Dəqiq qiymətləndirmə meyarları yoxdursa, bir neçə ekspertdən qiymət vermələrini xahiş etmək və sonra orta hesabla qiymətləndirmək mantiqidir.

Nəhayət, biz sadəcə olaraq informasiya təhlükəsizliyi funksiyalarını sadalayırıq:

  • parol idarəetmə siyasətlərinin mövcudluğu;
  • xarici autentifikasiya vasitələrini (LDAP, Kerberos) qoşmaq imkanı;
  • girişin rol modeli;
  • audit imkanları;
  • diskdəki məlumatların şifrələnməsi;
  • şəbəkə üzərindən ötürülmə zamanı şifrələmə (TLS);
  • məlumatların administrator tərəfindən qorunması.

Performans testi

Ayrı-ayrılıqda, sizin tərəfinizdən edilməmiş hər hansı bir yük testinin nəticələrini arqument kimi istifadə etməyə qarşı xəbərdarlıq etmək istərdim.

Birincisi, sınaqdan keçirilən proqramların məlumat strukturu və yükləmə profili həll edəcəyiniz problemdən əhəmiyyətli dərəcədə fərqlənə bilər. Təxminən 10-15 il əvvəl verilənlər bazası təchizatçıları TPC testlərində əldə edilən nəticələri nümayiş etdirməyi sevirdilər, lakin indi, görünür, heç kim bu nəticələri ciddi qəbul etmir.

İkincisi, sistemin performansı kodun əvvəlcə hansı platforma üçün yazılmasından və testin hansı avadanlıqdan keçirildiyindən çox asılıdır. Oracle-ın PostgreSQL ilə müqayisə edildiyi bir çox test görmüşəm. Nəticələr bir sistemin qeyd-şərtsiz üstünlüyündən digərinin eyni dərəcədə qeyd-şərtsiz üstünlüyünə qədər dəyişir.

Və nəhayət, üçüncüsü, testi kimin etdiyi barədə heç nə bilmirsiniz. Hər iki ixtisas vacibdir, ƏS və platformanın qurulması keyfiyyətinə, eləcə də test nəticələrinə bütün digər amillərdən daha çox təsir edən motivasiyaya təsir göstərir.

Performans kritik amildirsə, testi özünüz, tercihen istehsal sistemini konfiqurasiya edəcək və saxlayacaq insanların köməyi ilə keçirin.

Nəticə

Nəhayət, görülən bütün işlərin nəticəsi bütün hesablamaların birləşdirildiyi, vurulduğu və yekunlaşdırıldığı bir cədvəl olmalıdır:

Hansı daha yaxşıdır – Oracle və ya Redis və ya platforma seçimini necə əsaslandırmaq olar

Anladığınız kimi, tərəzi dəyişdirməklə və reytinqləri tənzimləməklə istədiyiniz nəticəni əldə edə bilərsiniz, amma bu, tamam başqa hekayədir...

Mənbə: www.habr.com

DDoS mühafizəsi, VPS VDS serverləri olan saytlar üçün etibarlı hostinq alın 🔥 DDoS qorunması, VPS VDS serverləri ilə etibarlı veb sayt hostinqi alın | ProHoster