Pa un sy'n well - Oracle neu Redis neu Sut i gyfiawnhau'r dewis o blatfform

“Mae hyn yn angenrheidiol,” meddai’n uchel, heb annerch neb. - Mae hyn yn angenrheidiol! Dyma'n union y mae'n ei ddweud: prif dasg cwmni yw gwneud elw er budd cyfranddalwyr. Wel, meddyliwch amdano! Nid oes arnynt ofn dim byd!

Yuliy Dubov, "Drwg llai"

Ar ôl gweld pennawd o'r fath, mae'n debyg eich bod eisoes wedi penderfynu bod yr erthygl naill ai'n wiriondeb neu'n gythrudd. Ond peidiwch â rhuthro i gasgliadau: yn aml mae'n rhaid i weithwyr corfforaethau mawr, yn enwedig corfforaethau â chyfranogiad y wladwriaeth, gymharu gwahanol lwyfannau, gan gynnwys rhai cwbl wahanol - er enghraifft, y rhai yn y teitl.

Pa un sy'n well - Oracle neu Redis neu Sut i gyfiawnhau'r dewis o blatfform

Wrth gwrs, nid oes neb yn cymharu DBMSs yn y modd hwn, oherwydd mae eu cryfderau a'u gwendidau yn hysbys iawn. Fel rheol, mae llwyfannau sy'n datrys rhywfaint o broblem cais yn destun cymhariaeth. Yn yr erthygl byddaf yn dangos y fethodoleg a ddefnyddir yn yr achos hwn, gan ddefnyddio'r enghraifft o gronfeydd data fel pwnc sy'n gyfarwydd i ddarllenwyr Habr yn uniongyrchol. Felly,

Cymhelliant

Pan ddechreuwch brosiect addysgol neu brosiect hobi, gall y cymhelliant dros ddewis platfform fod yn amrywiol iawn: “dyma’r platfform rwy’n ei adnabod orau”, “mae gen i ddiddordeb mewn deall yr un hwn”, “dyma’r ddogfennaeth orau” ... Yn achos cwmni masnachol, mae'r maen prawf dethol yr un peth: faint fydd yn rhaid i mi ei dalu a beth fyddaf yn ei gael am yr arian hwn.

Yn naturiol, rydych chi eisiau talu llai a chael mwy. Fodd bynnag, mae angen ichi benderfynu beth sy'n bwysicach - talu llai neu gael mwy, a neilltuo pwysau i bob nod. Gadewch i ni dybio bod datrysiad o ansawdd uchel yn bwysicach i ni nag un rhad, a byddwn yn neilltuo pwysau o 40% i'r nod “Cost”, a 60% i'r nod “Cyfleoedd”.

Pa un sy'n well - Oracle neu Redis neu Sut i gyfiawnhau'r dewis o blatfform

Mewn corfforaethau mawr, mae'r gwrthwyneb yn wir fel arfer - nid yw'r pwysau cost yn disgyn o dan 50%, ac efallai yn fwy na 60%. Yn yr enghraifft enghreifftiol, y cyfan sy'n bwysig yw bod yn rhaid i gyfanswm pwysau nodau plentyn unrhyw nod rhiant fod yn 100%.

Amodau torbwynt

Gwefan db-engines.com Mae tua 500 o systemau rheoli cronfa ddata yn hysbys. Yn naturiol, os dewiswch lwyfan targed o blith cymaint o opsiynau, efallai y bydd gennych erthygl adolygu yn y pen draw, ond nid prosiect masnachol. Er mwyn lleihau'r gofod dewis, llunnir meini prawf torri i ffwrdd, ac os nad yw'r platfform yn bodloni'r meini prawf hyn, yna ni chaiff ei ystyried.

Gall meini prawf terfynu ymwneud â nodweddion technolegol, er enghraifft:

  • gwarantau ASID;
  • model data perthynol;
  • Cymorth iaith SQL (sylwer, nid yw hyn yr un peth â'r “model perthynol”);
  • posibilrwydd graddio llorweddol.

Gall fod meini prawf cyffredinol:

  • argaeledd cymorth masnachol yn Rwsia;
  • ffynhonnell agor;
  • argaeledd y platfform yng Nghofrestr y Weinyddiaeth Telathrebu a Chyfathrebu Torfol;
  • presenoldeb y platfform mewn rhywfaint o sgôr (er enghraifft, yn y cant cyntaf o'r sgôr db-engines.com);
  • presenoldeb arbenigwyr yn y farchnad (er enghraifft, yn seiliedig ar ganlyniadau chwilio am enw'r platfform mewn crynodeb ar y wefan hh.ru).

Wedi'r cyfan, efallai y bydd meini prawf menter-benodol:

  • argaeledd arbenigwyr ar staff;
  • cydnawsedd â system fonitro X neu system wrth gefn Y, y mae'r holl gefnogaeth yn seiliedig arni ...

Y peth pwysicaf yw bod rhestr o feini prawf terfynu. Fel arall, yn bendant bydd rhyw arbenigwr (neu “arbenigwr”) sy’n mwynhau ymddiriedaeth arbennig gan reolwyr a fydd yn dweud “pam na wnaethoch chi ddewis platfform Z, rwy’n gwybod mai hwn yw’r gorau.”

Amcangyfrif cost

Mae cost yr ateb yn amlwg yn cynnwys cost trwyddedau, cost cymorth a chost offer.

Os yw'r systemau tua'r un dosbarth (er enghraifft, Microsoft SQL Server a PostgreSQL), yna er mwyn symlrwydd gallwn dybio y bydd swm yr offer ar gyfer y ddau ddatrysiad tua'r un peth. Bydd hyn yn caniatáu ichi beidio â gwerthuso'r offer, a thrwy hynny arbed llawer o amser ac ymdrech. Os oes rhaid i chi gymharu systemau hollol wahanol (dyweder, Oracle vs. Redis), yna mae'n amlwg bod angen gwneud maint ar gyfer asesiad cywir (cyfrifo faint o offer). Mae pennu maint system nad yw'n bodoli yn dasg ddiddiolch iawn, felly maen nhw'n dal i geisio osgoi cymariaethau o'r fath. Mae hyn yn hawdd i'w wneud: yn yr amodau torri, ysgrifennir dim colled data a model perthynol, neu i'r gwrthwyneb - llwyth o 50 mil o drafodion yr eiliad.

I werthuso trwyddedau, mae'n ddigon gofyn i'r gwerthwr neu ei bartneriaid am gost trwydded ar gyfer nifer sefydlog o greiddiau a chefnogaeth am gyfnod penodol. Fel rheol, mae gan gwmnïau berthynas gref â gwerthwyr meddalwedd eisoes, ac os na all yr adran gweithrediadau cronfa ddata ateb y cwestiwn cost ar ei ben ei hun, yna mae un llythyr yn ddigon i gael y wybodaeth hon.

Efallai y bydd gan wahanol werthwyr fetrigau trwyddedu gwahanol: yn ôl nifer y creiddiau, cyfaint data neu nifer y nodau. Gall y sylfaen wrth gefn fod yn rhad ac am ddim, neu gellir ei thrwyddedu yn yr un modd â'r prif un. Os darganfyddir unrhyw wahaniaethau mewn metrigau, bydd yn rhaid i chi ddisgrifio'r stand enghreifftiol yn fanwl a chyfrifo cost trwyddedau ar gyfer y stondin.

Pwynt pwysig ar gyfer cymhariaeth gywir yw'r un amodau cymorth. Er enghraifft, mae cymorth Oracle yn costio 22% o bris y drwydded y flwyddyn, ond nid oes rhaid i chi dalu am gefnogaeth PostgreSQL. Ydy hi'n gywir cymharu fel hyn? Na, oherwydd mae gan gamgymeriad na ellir ei drwsio ar eich pen eich hun ganlyniadau cwbl wahanol: yn yr achos cyntaf, bydd arbenigwyr cymorth yn eich helpu'n gyflym i'w drwsio, ond yn yr ail achos, mae risg o oedi'r prosiect neu amser segur y gorffeniad. system am gyfnod amhenodol.

Gallwch chi gydraddoli'r amodau cyfrifo mewn tair ffordd:

  1. Defnyddiwch Oracle heb gefnogaeth (mewn gwirionedd nid yw hyn yn digwydd).
  2. Prynwch gymorth ar gyfer PostgreSQL - er enghraifft, gan Postgres Professional.
  3. Cymryd i ystyriaeth y risgiau sy'n gysylltiedig â diffyg cefnogaeth.

Er enghraifft, gallai cyfrifiad risg edrych fel hyn: pe bai cronfa ddata’n methu’n angheuol, yr amser segur yn y system fyddai 1 diwrnod busnes. Yr elw rhagamcanol o ddefnyddio'r system yw 40 biliwn MNT y flwyddyn, amcangyfrifir bod y gyfradd ddamweiniau yn 1/400, felly amcangyfrifir bod y risg o ddiffyg cefnogaeth oddeutu 100 miliwn MNT y flwyddyn. Yn amlwg, mae “elw wedi’i gynllunio” ac “amlder damweiniau amcangyfrifedig” yn werthoedd rhithwir, ond mae’n llawer gwell cael model o’r fath na pheidio â chael unrhyw un.

Mewn gwirionedd, gall y system fod yn rhy bwysig i gost enw da amser segur hirdymor fod yn annerbyniol, felly bydd angen cymorth. Os caniateir amser segur, yna gall gwrthod cymorth weithiau fod yn ffordd dda o arbed arian.

Gadewch inni dybio, ar ôl yr holl gyfrifiadau, mai cost gweithredu platfform A am 5 mlynedd yw 800 miliwn MNT, cost gweithredu llwyfan B yw 650 miliwn MNT, a chost gweithredu llwyfan C yw 600 miliwn MNT. Mae Platfform C, fel yr enillydd, yn derbyn pwynt llawn am y pris, tra bod llwyfannau A a B yn derbyn ychydig yn llai, yn gymesur â faint o weithiau maen nhw'n ddrutach. Yn yr achos hwn - 0.75 a 0.92 pwynt, yn y drefn honno.

Asesiad Cyfle

Rhennir yr asesiad o gyfleoedd yn nifer o grwpiau, a chyfyngir eu nifer gan ddychymyg y sawl sy'n gwneud yr asesiad yn unig. Ymddengys mai'r opsiwn gorau posibl yw rhannu'r galluoedd yn dimau a fydd yn defnyddio'r galluoedd hyn; yn ein hesiampl ni, datblygwyr, gweinyddwyr a swyddogion diogelwch gwybodaeth yw'r rhain. Gadewch i ni dybio bod pwysau'r swyddogaethau hyn yn cael eu dosbarthu fel 40:40:20.

Mae swyddogaethau datblygu yn cynnwys:

  • rhwyddineb trin data;
  • graddio;
  • presenoldeb mynegeion eilaidd.

Mae'r rhestr o feini prawf, yn ogystal â'u pwysau, yn oddrychol iawn. Hyd yn oed wrth ddatrys yr un broblem, bydd y rhestrau hyn, pwysau eitemau, ac atebion yn amrywio'n sylweddol yn dibynnu ar gyfansoddiad eich tîm. Er enghraifft, mae Facebook yn defnyddio MySQL i storio data, ac mae Instagram wedi'i adeiladu ar Cassandra. Mae'n annhebygol bod datblygwyr y cymwysiadau hyn wedi llenwi tablau o'r fath. Ni ellir ond dyfalu bod Mark Zuckerberg wedi dewis model perthynol llawn, gan dalu amdano gyda'r angen am ddarnio cymhwysol, tra bod Kevin Systrom wedi adeiladu graddio gan ddefnyddio'r platfform, gan aberthu rhwyddineb mynediad at ddata.

Mae swyddogaethau gweinyddol yn cynnwys:

  • galluoedd system wrth gefn;
  • rhwyddineb monitro;
  • rhwyddineb rheoli capasiti – disgiau a nodau;
  • galluoedd atgynhyrchu data.

Sylwch fod yn rhaid geirio cwestiynau mewn modd meintiol. Gallwch hyd yn oed gytuno ar sut i werthuso swyddogaeth benodol. Gadewch i ni, er enghraifft, geisio graddio offer wrth gefn gan ddefnyddio'r enghraifft o offer a ddarparwyd gyda'r Oracle DBMS:

Offeryn
Sylw
Gwerthuso

arg/exp
Lanlwytho a llwytho data
0.1

dechrau / gorffen wrth gefn
Copïo ffeiliau
0.3

RMAN
Gallu copïo cynyddrannol
0.7

ZDLRA
Dim ond copïo cynyddrannol, adferiad cyflymaf i bwynt
1.0

Os nad oes unrhyw feini prawf gwerthuso clir, mae'n gwneud synnwyr gofyn i sawl arbenigwr roi sgôr ac yna eu cyfartaleddu.

Yn olaf, rydym yn rhestru'r swyddogaethau diogelwch gwybodaeth yn syml:

  • argaeledd polisïau rheoli cyfrinair;
  • y gallu i gysylltu offer dilysu allanol (LDAP, Kerberos);
  • model rôl mynediad;
  • galluoedd archwilio;
  • amgryptio data ar ddisg;
  • amgryptio wrth drosglwyddo dros y rhwydwaith (TLS);
  • diogelu data gan y gweinyddwr.

Profi perfformiad

Ar wahân, hoffwn rybuddio yn erbyn defnyddio canlyniadau unrhyw brofion llwyth na wnaethpwyd gennych chi fel dadleuon.

Yn gyntaf, gall strwythur data a phroffil llwyth y cymwysiadau sy'n cael eu profi fod yn sylweddol wahanol i'r broblem rydych chi'n mynd i'w datrys. Tua 10-15 mlynedd yn ôl, roedd gwerthwyr cronfa ddata wrth eu bodd yn taflu goleuni ar y canlyniadau a gyflawnwyd mewn profion TPC, ond erbyn hyn, mae'n ymddangos, nid oes neb yn cymryd y canlyniadau hyn o ddifrif.

Yn ail, mae perfformiad y system yn dibynnu'n eithaf cryf ar ba lwyfan yr ysgrifennwyd y cod ar ei gyfer yn wreiddiol ac ar ba offer y cynhaliwyd y prawf. Rwyf wedi gweld llawer o brofion lle cymharwyd Oracle â PostgreSQL. Mae'r canlyniadau'n amrywio o ragoriaeth ddiamod un system i ragoriaeth ddiamod un arall.

Ac yn olaf, yn drydydd, nid ydych chi'n gwybod dim am bwy wnaeth y prawf. Mae'r ddau gymhwyster yn bwysig, gan ddylanwadu ar ansawdd sefydlu'r OS a'r platfform, yn ogystal â chymhelliant, sy'n dylanwadu ar ganlyniadau'r profion yn fwy na'r holl ffactorau eraill gyda'i gilydd.

Os yw perfformiad yn ffactor hollbwysig, cynhaliwch y prawf eich hun, yn ddelfrydol gyda chymorth y bobl a fydd yn ffurfweddu a chynnal y system gynhyrchu.

Canlyniad

Yn olaf, dylai canlyniad yr holl waith fod yn daenlen lle mae’r holl amcangyfrifon yn cael eu cyfuno, eu lluosi a’u crynhoi:

Pa un sy'n well - Oracle neu Redis neu Sut i gyfiawnhau'r dewis o blatfform

Fel y deallwch, trwy newid y graddfeydd ac addasu'r graddfeydd gallwch gyflawni unrhyw ganlyniad a ddymunir, ond mae honno'n stori hollol wahanol ...

Ffynhonnell: hab.com

Ychwanegu sylw