Jidka loo maro xog ururin aan server lahayn - sida iyo sababta

Salaamu caleykum Magacaygu waa Golov Nikolay. Markii hore, waxaan ka shaqeeyay Avito oo maamulay Platform Data muddo lix sano ah, taas oo ah, waxaan ka shaqeeyay dhammaan xogta macluumaadka: falanqaynta (Vertica, ClickHouse), streaming iyo OLTP (Redis, Tarantool, VoltDB, MongoDB, PostgreSQL). Inta lagu jiro wakhtigan, waxaan la macaamilay tiro badan oo xog-ururin ah - aad u kala duwan oo aan caadi ahayn, iyo kiisaska aan caadiga ahayn ee isticmaalkooda.

Waxaan hadda ka shaqeeyaa ManyChat. Nuxur ahaan, tani waa bilow - cusub, hami leh oo si degdeg ah u koraya. Oo markii ugu horeysay ee aan ku biiray shirkadda, su'aal caadi ah ayaa kacday: "Maxay tahay in bilawga da'da yar uu hadda ka qaato DBMS iyo suuqa xogta?"

Maqaalkan, oo ku saleysan warbixinteyda at xaflad online ah RIT++2020, Waxaan ka jawaabi doonaa su'aashan. Nuqul muqaal ah oo warbixinta ah ayaa laga heli karaa YouTube.

Jidka loo maro xog ururin aan server lahayn - sida iyo sababta

Xog-ururinta caanka ah ee 2020

Waa 2020, waxaan eegay hareeraha oo waxaan arkay saddex nooc oo xog-ururin ah.

Nooca koowaad - xog-ururinta OLTP ee caadiga ahPostgreSQL, SQL Server, Oracle, MySQL. Waxa la qoray wakhti dheer ka hor, laakiin wali waa khuseeya sababtoo ah waxay aad u yaqaanaan bulshada horumarisa.

Nooca labaad waa saldhigyada "eber". Waxay isku dayeen inay ka fogaadaan qaababka caadiga ah iyagoo ka tagay SQL, qaab-dhismeedyo dhaqameed iyo ACID, iyagoo ku daray jeexjeexyo la dhisay iyo sifooyin kale oo soo jiidasho leh. Tusaale ahaan, kani waa Cassandra, MongoDB, Redis ama Tarantool. Dhammaan xalalkani waxay rabeen inay suuqa u soo bandhigaan wax asal ahaan cusub oo ay qabsadeen goobtooda sababtoo ah waxay u noqdeen kuwo aad ugu habboon hawlaha qaarkood. Waxaan ku tilmaami doonaa xog-ururintan ereyga dallada NOSQL.

"eberkii" way dhammaatay, waxaanu la qabsanay xogaha NOSQL, aduunkuna, aragtidayda, waxay qaaday tillaabada xigta - xog-ururinta la maareeyey. Xog-ururintani waxay la mid yihiin kaydka xogta OLTP ee caadiga ah ama kuwa cusub ee NoSQL. Laakiin uma baahna DBA iyo DevOps waxayna ku shaqeeyaan qalabka la maamulay ee daruuraha. Horumariyaha, tani waa "kaliya saldhig" oo ka shaqeeya meel, laakiin qofna ma danaynayo sida loogu rakibay server-ka, cidda dejisay server-ka iyo cidda cusbooneysiinaysa.

Tusaalooyinka xogta macluumaadka sida:

  • AWS RDS waa duubo la maareeyay oo loogu talagalay PostgreSQL/MySQL.
  • DynamoDB waa analooga AWS ee kaydka dukumeenti ku salaysan, oo la mid ah Redis iyo MongoDB.
  • Amazon Redshift waa xog-ururin la maareeyay.

Kuwani waa xog-ururin duug ah, laakiin lagu koray deegaan la maamulay, iyada oo aan loo baahnayn in lagu shaqeeyo qalabka.

Ogow. Tusaalooyinka waxaa loo qaataa deegaanka AWS, laakiin analooggooda ayaa sidoo kale ku jira Microsoft Azure, Google Cloud, ama Yandex.Cloud.

Jidka loo maro xog ururin aan server lahayn - sida iyo sababta

Maxaa ka cusub arrintan? 2020, midna ma jiro.

Fikrad aan server lahayn

Waxa runtii suuqa ku cusub 2020 waa xalal la'aan ama adeeg la'aan.

Waxaan isku dayi doonaa inaan sharaxo waxa ay tani ka dhigan tahay aniga oo isticmaalaya tusaalaha adeegga caadiga ah ama codsiga dhabarka.
Si aan u dirno arjiga dhabarka dambe ee caadiga ah, waxaanu soo iibsanaa ama kiraysanay server, koobi koodka korkiisa, waxaanu daabacnaa dhamaadka meel ka baxsan waxaanu si joogto ah u bixinaa kirada, korontada iyo adeegyada xarunta xogta. Tani waa nidaamka caadiga ah.

Ma jirtaa waddo kale? Adeegga aan server-ka lahayn waxaad awoodi kartaa.

Waa maxay diiradda habkan: ma jiro server, ma jirto xitaa kireysiga tusaale ahaan daruuraha. Si aad u geyso adeega, koobiyayso koodka (hawlaha) bakhaarka oo ku daabac ilaa dhamaadka. Kadibna waxaan si fudud u bixinaa wicitaan kasta oo shaqadan ah, anagoo gabi ahaanba iska indha tirayna qalabka meesha lagu fuliyo.

Waxaan isku dayi doonaa inaan habkan ku muujiyo sawirro.
Jidka loo maro xog ururin aan server lahayn - sida iyo sababta

Hawlgalinta caadiga ah. Waxaan leenahay adeeg leh culays gaar ah. Waxaan kor u qaadnaa laba tusaale: server-yada jireed ama tusaalooyinka AWS. Codsiyada dibadeed ayaa loo diraa tusaalooyinkan waxaana lagaga baaraandegayaa halkaas.

Sida aad ku arki karto sawirka, server-yada si siman looma tuuro. Mid waa 100% laga faa'iidaysto, waxaa jira laba codsi, midna waa 50% oo keliya - qayb ahaan shaqo la'aan. Haddii aysan saddex codsi iman, laakiin 30, markaa nidaamka oo dhan ma awoodi doono inuu la qabsado culeyska wuxuuna bilaabi doonaa inuu hoos u dhaco.

Jidka loo maro xog ururin aan server lahayn - sida iyo sababta

Soo dejin la'aan. Deegaanka server-la'aanta ah, adeeggan ma laha tusaaleyaal ama adeegayaal. Waxaa jira barkad gaar ah oo agabka kulaylka ah - weelal yar yar oo Docker ah oo la diyaariyey oo leh koodka shaqada. Nidaamku wuxuu helayaa codsiyo dibadeed mid kasta oo iyaga ka mid ah qaab-dhismeedka server-la'aanta wuxuu kor u qaadaa weel yar oo kood ah: wuxuu socodsiiyaa codsigan gaarka ah wuxuuna dilayaa weelka.

Hal codsi - hal weel ayaa kor loo qaaday, 1000 codsi - 1000 weel. Iyo geynta server-yada qalabka mar horeba waa shaqada bixiyaha daruuraha. Waxaa si buuxda u qariyay qaab-dhismeedka server-la'aanta. Fikradan waxaan bixinaa wicista kasta. Tusaale ahaan, hal taleefoon ayaa yimid maalin - hal taleefoon ayaanu bixinnay, hal milyan ayaa yimid daqiiqad - milyan ayaanu bixinnay. Ama ilbiriqsi gudaheed, tani sidoo kale way dhacdaa.

Fikradda daabacaadda shaqo la'aanta server-la'aanta waxay ku habboon tahay adeeg aan waddan lahayn. Oo haddii aad u baahan tahay (gobolka) adeeg dawladeed, ka dib waxaan ku darnaa xogta adeegga. Xaaladdan oo kale, marka ay timaado la shaqeynta gobolka, shaqo kasta oo buuxda ayaa si fudud wax uga qorta oo akhrinaysa kaydka xogta. Waxaa intaa dheer, laga soo bilaabo kaydka mid ka mid ah saddexda nooc ee lagu tilmaamay bilowga maqaalka.

Waa maxay xaddidaadda guud ee dhammaan xog-ururintan? Kuwani waa kharashyada daruuraha ama server-ka sida joogtada ah loo isticmaalo (ama dhawr adeegayaal). Dhib malahan haddii aan isticmaalno xogta caadiga ah ama la maamulay, haddii aan haysano Devops iyo maamule iyo haddii kale, waxaan wali bixinaa qalabka, korontada iyo kirada xarunta xogta 24/7. Haddii aan haysano saldhig caadi ah, waxaan bixinaa sayid iyo addoon. Haddii ay tahay xog urursan oo aad loo raray, waxaanu bixinaa 10, 20 ama 30 adeegayaal, si joogto ah ayaanu u bixinaa.

Joogitaanka server-yada joogtada ah ee qaab dhismeedka kharashka ayaa hore loo arkay inay tahay shar lagama maarmaan ah. Xogta caadiga ah waxay sidoo kale leedahay dhibaatooyin kale, sida xaddidaadda tirada isku xirnaanta, xaddidaadda xaddidaadda, is-afgaradka juqraafi-qeybsan - si uun ayaa lagu xallin karaa xog ururin gaar ah, laakiin maahan dhammaan hal mar oo aan ku habboonayn.

Xogta aan server lahayn - aragti

Su'aasha 2020: suurtagal ma tahay in sidoo kale keyd la'aan laga dhigo kaydka xogta? Qof kastaa wuu maqlay wax ku saabsan dhabarka dambe ee server-la'aanta... aan isku dayno inaan ka dhigno keydka xogta server-la'aan?

Tani waxay u muuqataa mid la yaab leh, sababtoo ah xog ururintu waa adeeg dawladeed, oo aan aad ugu habboonayn kaabayaasha server-la'aanta. Isla mar ahaantaana, gobolka xog-ururintu aad buu u weyn yahay: gigabytes, terabytes, iyo kaydadka gorfaynta xitaa petabytes. Ma fududa in lagu koriyo weelasha Docker ee fudud.

Dhanka kale, ku dhawaad ​​​​dhammaan xog-ururinta casriga ah waxay ka kooban yihiin tiro badan oo macquul ah iyo qaybo: macaamil ganacsi, isku-dubarid daacadnimo, habraacyo, ku-tiirsanaanta xiriirka iyo caqli badan. Macquul badan oo database-ka ah, gobol yar ayaa ku filan. Gigabytes iyo Terabytes waxaa si toos ah u isticmaala qayb yar oo ka mid ah macquulka xogta ee ku lug leh fulinta su'aalaha.

Sidaas awgeed, fikraddu waa: haddii qayb ka mid ah caqli-galku ogolaato dil-dalool la'aan, maxaa diidaya in loo kala qaybiyo qaybo Dawladeed iyo Dawlad la'aan.

Serverless ee xalalka OLAP

Aynu aragno waxa u jarista xogta ee qaybo Dawladeed iyo Dawlad la'aan ah ay u ekaan karto adeegsiga tusaalooyin wax ku ool ah.

Jidka loo maro xog ururin aan server lahayn - sida iyo sababta

Tusaale ahaan, waxaanu haynaa xog-ururin: xogta dibadda (Cusboonada gaduudan ee bidixda), habka ETL oo xogta ku shuba kaydka, iyo falanqeeye u soo dira su'aalo SQL database. Tani waa nidaamka hawlgalka bakhaarka xogta caadiga ah.

Qorshahan, ETL waxaa shuruud ahaan lagu sameeyay hal mar. Markaa waxaad u baahan tahay inaad si joogto ah u bixiso server-yada uu kaydku ku shaqeeyo xog ay ka buuxaan ETL, si ay u jiraan wax aad u soo dirto su'aalaha.

Aynu eegno hab kale oo lagu hirgeliyay AWS Athena Serverless. Ma jiro qalab si joogto ah u go'ay oo xogta la soo dejiyay lagu kaydiyo. Halkii tan:

  • Isticmaaluhu wuxuu u soo gudbiyaa weydiinta SQL Athena. Athena optimizer-ka wuxuu falanqeeyaa weydiinta SQL wuxuuna ka raadiyaa dukaanka metadata (Metadata) xogta gaarka ah ee loo baahan yahay si loo fuliyo weydiinta.
  • Hagaajinta, oo ku salaysan xogta la ururiyey, ayaa xogta lagama maarmaanka ah ka soo dejisa ilo dibadeed kaydin ku meel gaar ah (database ku meel gaadh ah).
  • Weydiinta SQL ee isticmaalaha waxa lagu fuliyaa kaydinta ku meel gaadhka ah natiijadana waxa lagu soo celiyaa isticmaalaha.
  • Kaydinta ku meel gaadhka ah waa la nadiifiyay oo agabkii waa la sii daayay.

Dhismahan, waxaanu kaliya ku bixinaa habka fulinta codsiga. Codsiyo ma jiro - kharash ma leh.

Jidka loo maro xog ururin aan server lahayn - sida iyo sababta

Kani waa hab shaqo waxaana lagu hirgeliyaa kaliya Athena Serverless, laakiin sidoo kale Redshift Spectrum ( gudaha AWS).

Tusaalaha Athena wuxuu muujinayaa in kaydka xogta Serverless uu ku shaqeeyo su'aalo dhab ah oo leh tobanaan iyo boqollaal Terabyte oo xog ah. Boqolaal Terabytes ah ayaa u baahan doona boqolaal server, laakiin ma bixinno iyaga - waxaan bixinaa codsiyada. Xawaaraha codsi kasta waa (aad u hooseeya) marka la barbar dhigo xog ururinta xogta gaarka ah sida Vertica, laakiin ma bixinno waqtiyada dhimista.

Xogta noocaan ah ayaa lagu dabaqi karaa weydiimaha ad-hoc ee naadirka ah. Tusaale ahaan, marka aan si kedis ah u go'aansanno in aan tijaabino mala-awaal ku saabsan xog aad u badan. Athena waxay ku fiican tahay kiisaskan. Codsiyada joogtada ah, nidaamkan oo kale waa qaali. Xaaladdan, ku kaydi xogta xal gaar ah.

Serverless ee xalalka OLTP

Tusaalaha hore waxa uu eegay hawlaha OLAP (analytical). Hadda aan eegno hawlaha OLTP.

Aynu qiyaasno PostgreSQL ama MySQL la cabbiri karo. Aynu kor u qaadno tusaale la maareeyo oo caadi ah PostgreSQL ama MySQL oo leh agabka ugu yar. Marka tusaaluhu helo culays badan, waxaanu ku xidhi doonaa nuqulo dheeraad ah oo aanu u qaybin doono qayb ka mid ah culayska akhriska. Haddii aysan jirin codsiyo ama culeys, waan daminnaa nuqullada. Tusaalaha ugu horreeya waa sayidkii, inta soo hadhayna waa nuqul.

Fikirkaan waxaa lagu hirgeliyay keydka macluumaadka ee loo yaqaan Aurora Serverless AWS. Mabda'a waa sahlan yahay: codsiyada codsiyada dibadda waxaa aqbala kooxda wakiillada. Marka la eego kororka culeyska, waxay u qoondeyneysaa ilaha xisaabinta ee xaaladaha ugu yar ee horay loo diiray - isku xirka ayaa la sameeyaa sida ugu dhakhsaha badan ee suurtogalka ah. Dhacdooyinka naafada waxay u dhacaan si la mid ah.

Gudaha Aurora waxaa jira fikradda Unugga Awoodda Aurora, ACU. Kani waa (si shuruud ah) tusaale (server). ACU kasta oo gaar ah wuxuu noqon karaa sayid ama addoon. Unug kastaa wuxuu leeyahay RAM u gaar ah, processor-ka iyo diskka ugu yar. Sidaa darteed, mid waa sayid, inta kale waxaa la akhriyaa oo kaliya nuqullo.

Tiradan Cutubyada Awooda Aurora ee socda waa qiyaas la habeyn karo. Tirada ugu yar waxay noqon kartaa hal ama eber (kiiskan, kaydku ma shaqeeyo haddii aysan jirin codsiyo).

Jidka loo maro xog ururin aan server lahayn - sida iyo sababta

Marka saldhiggu helo codsiyo, kooxda wakiillada ahi waxay kor u qaadaa Aurora CapacityUnits, iyada oo kordhinaysa agabka waxqabadka nidaamka. Awoodda kordhinta iyo dhimista kheyraadka waxay u oggolaaneysaa nidaamka inuu "ku-rogrogmo" kheyraadka: si toos ah u soo bandhigo ACU-yada shakhsi ahaaneed (ku beddelo kuwa cusub) oo soo rogo dhammaan cusbooneysiinta hadda ee kheyraadka la baxay.

Saldhigga Aurora Serverless wuxuu cabbiri karaa culeyska akhriska. Laakiin dukumeentigu si toos ah uma odhanayo tan. Waxa laga yaabaa inay dareemaan inay kor u qaadi karaan sayid badan. Sixir ma jiro.

Xog-ururintani aad bay ugu habboon tahay in laga fogaado in lacag aad u badan lagu kharash gareeyo nidaamyada aan la saadaalin karin. Tusaale ahaan, marka la abuurayo MVP ama goobaha kaararka ganacsiga suuq-geynta, inta badan ma fileyno culeys deggan. Sidaa darteed, haddii aysan jirin marin, ma bixinno kiisaska. Marka culeyska lama filaanka ah uu dhaco, tusaale ahaan ka dib olole shir ama olole xayaysiis ah, dad badan ayaa soo booqda goobta, culeyskuna si aad ah ayuu u kordhaa, Aurora Serverless waxay si toos ah u qaadataa culeyskan waxayna si deg deg ah isugu xirtaa kheyraadka maqan (ACU). Kadib shirku wuu dhaafaa, qof kastaa wuu iloobaa tusaalaha, adeegayaasha (ACU) mugdi bay galaan, kharashkuna wuxuu hoos ugu dhacaa eber - ku habboon.

Xalkani kuma habboona culeyska sare ee deggan sababtoo ah ma cabbirayo culeyska qoraalka. Dhammaan isku-xirnaantan iyo kala-goynta kheyraadka waxay ku dhacaan waxa loogu yeero "dhibcaha cabbirka" - dhibic waqti marka kaydinta xogta aan lagu taageerin wax kala iibsiga ama miisaska ku meel gaarka ah. Tusaale ahaan, usbuuc gudihiis dhibicda miisaanku ma dhici karto, saldhiguna wuxuu ku shaqeeyaa isla kheyraad oo si fudud uma ballaarin karo ama ma qandaraas karo.

Sixir ma jiro - waa PostgreSQL caadi ah. Laakiin habka lagu daro mishiinada iyo goynta iyaga ayaa qayb ahaan si toos ah u socda.

Server-la'aan qaab ahaan

Aurora Serverless waa kayd duug ah oo dib loo qoray daruuraha si ay uga faa'iidaystaan ​​qaar ka mid ah faa'iidooyinka Serverless. Oo hadda waxaan kuu sheegi doonaa saldhigga, kaas oo markii hore loo qoray daruuraha, ee habka server-la'aanta - Serverless-by-naqshad. Isla markiiba waxaa la sameeyay iyada oo aan loo maleyneynin in ay ku shaqeyn doonto server-yada jireed.

Saldhigan waxaa lagu magacaabaa Snowflake. Waxay leedahay saddex blocks oo muhiim ah.

Jidka loo maro xog ururin aan server lahayn - sida iyo sababta

Midka koowaad waa block metadata. Kani waa adeeg xusuusta gudaha ah oo degdeg ah oo xaliya arrimaha amniga, xogaha badan, wax kala iibsiga, iyo wanaajinta weydiinta (oo lagu muujiyey sawirka bidix).

Baloogga labaad waa koox ka kooban kombuyuutarada farsamada gacanta ee xisaabinta (sawirka waxaa ku yaal wareegyo buluug ah).

Qaybta saddexaad waa habka kaydinta xogta ee ku salaysan S3. S3 waa shay aan cabbir lahayn oo lagu kaydiyo AWS, oo ah sida Dropbox oo aan cabbir lahayn oo ganacsi ah.

Aynu aragno sida Snowflake u shaqeeyo, anagoo u malaynayna inuu qabow bilaabmay. Taasi waa, waxaa jira database, xogta waxaa lagu shubaa, ma jiraan wax su'aalo socda. Sidaa darteed, haddii aysan jirin codsiyo ku saabsan keydka macluumaadka, markaa waxaan kor u qaadnay adeegga Metadata ee degdegga ah ee xusuusta ah (boggii ugu horreeyay). Oo waxaan leenahay S3 kaydinta, halkaas oo xogta miiska lagu kaydiyo, qaybsan waxa loogu yeero micropartitions. Si fudud: haddii miiska uu ka kooban yahay macaamil ganacsi, markaa micropartitions waa maalmaha macaamilada. Maalin kasta waa qayb yar oo gooni ah, fayl gaar ah. Oo marka kaydku u shaqeeyo qaabkan, kaliya waxaad bixinaysaa booska ay ku jirto xogta. Waxaa intaa dheer, qiimaha kursi kasta aad ayuu u hooseeyaa (gaar ahaan iyada oo la tixgelinayo cadaadiska muhiimka ah). Adeegga metadata sidoo kale si joogto ah ayuu u shaqeeyaa, laakiin uma baahnid kheyraad badan si aad u wanaajiso weydiimaha, adeeggana waxaa loo tixgelin karaa shareware.

Hadda aan qiyaasno in isticmaale uu yimid xogtayada oo uu soo diray su'aal SQL ah. Weydiinta SQL isla markiiba waxaa loo diraa adeega Metadata si loo habeeyo. Sidaas awgeed, marka la helo codsiga, adeeggani wuxuu falanqeeyaa codsiga, xogta la heli karo, oggolaanshaha isticmaalaha iyo, haddii ay wax walba wanaagsan yihiin, waxay dejiyaan qorshe lagu socodsiinayo codsiga.

Marka xigta, adeeggu wuxuu bilaabaa bilaabista kooxda xisaabinta. Kutlada kombuyuutarada waa koox ka mid ah adeegayaasha sameeya xisaabinta. Taasi waa, tani waa koox ka kooban 1 server, 2 server, 4, 8, 16, 32 - inta aad rabto. Waxaad tuurtaa codsi iyo bilaabista kooxdan isla markaaba way bilaabmaysaa. Runtii waxay qaadataa ilbiriqsiyo

Jidka loo maro xog ururin aan server lahayn - sida iyo sababta

Marka xigta, ka dib marka kooxdu bilaabato, qayb-yaraanta loo baahan yahay si loo habeeyo codsigaaga ayaa bilaabmaya in laga koobiyo kooxda S3. Taasi waa, aan qiyaasno in si loo fuliyo su'aalaha SQL aad u baahan tahay laba qaybood oo ka mid ah miis iyo mid ka mid ah labaad. Xaaladdan oo kale, kaliya saddexda qaybood ee lagama maarmaanka ah ayaa lagu koobiyeynayaa kooxda, oo dhammaan miisaska maahan gebi ahaanba. Taasi waa sababta, iyo si sax ah sababtoo ah wax kasta oo ku yaala gudaha hal xarun xogta iyo ku xiran channels aad u degdeg ah, habka wareejinta oo dhan si degdeg ah u dhacdaa: in seconds, aad dhif u ah in daqiiqo, haddii aan ka hadlayno qaar ka mid ah codsiyada bahal . Sidaas awgeed, qayb-qayb-yara ayaa lagu koobiyeeyay kutlada xisaabinta, iyo, marka la dhammeeyo, weydiinta SQL waxa lagu fulinayaa kutladan xisaabinta. Natiijada codsigani waxay noqon kartaa hal sadar, dhowr sadar ama miis - waxaa dibadda loogu soo diraa isticmaalaha si uu u soo dejiyo, ugu muujiyo qalabkiisa BI, ama u isticmaalo si kale.

Weydiin kasta oo SQL ah kaliya ma akhrin karto isku-darka xogta hore loo raray, laakiin sidoo kale waxay soo rogi kartaa/ dhalin kartaa xog cusub kaydka. Taasi waa, waxay noqon kartaa su'aal, tusaale ahaan, geliso diiwaanno cusub miis kale, taas oo horseedaysa muuqaalka qayb cusub oo ku saabsan kooxda xisaabinta, taas oo, markaa, si toos ah loogu keydiyo hal kayd oo S3 ah.

Muuqaalka kor lagu sharaxay, laga soo bilaabo imaatinka isticmaalaha ilaa kor u qaadida kooxda, rarista xogta, fulinta su'aalaha, helitaanka natiijooyinka, waxaa lagu bixiyaa heerka daqiiqadaha isticmaalka kooxda xisaabinta farsamada ee kor loo qaaday, bakhaarka farsamada. Sicirku wuu kala duwan yahay iyadoo ku xidhan aagga AWS iyo cabbirka kooxda, laakiin celcelis ahaan waa dhawr doolar saacaddii. Kutlada afar mashiin ayaa labanlaab ka qaalisan kutlada laba mashiin, iyo koox siddeed mashiin ah ayaa weli labanlaab ka qaalisan. Ikhtiyaarada 16, 32 mishiin ayaa diyaar ah, iyadoo ku xidhan kakanaanta codsiyada. Laakiin waxaad bixineysaa oo kaliya daqiiqadahaas marka kooxdu ay dhab ahaantii socoto, sababtoo ah marka aysan jirin wax codsi ah, waxaad ka saartaa gacmahaaga, ka dib 5-10 daqiiqo oo sugitaanka (qiyaas la habeyn karo) wuxuu u bixi doonaa keligiis, xoreeya kheyraadka oo noqda xor.

Dhacdo dhab ah oo dhammaystiran waa marka aad dirto codsi, kooxdu way soo baxdaa, si xad dhaaf ah loo hadlo, hal daqiiqo gudaheed, waxay ku xisaabtamaysaa daqiiqad kale, dabadeed shan daqiiqo in la xidho, oo aad ku dhammaato inaad bixiso todobada daqiiqo ee hawlgalka kooxdan, iyo ma aha bilo iyo sanado.

Dhacdada koowaad ayaa lagu sifeeyay iyadoo la isticmaalayo Snowflake goob hal isticmaale ah. Hadda aan qiyaasno in ay jiraan isticmaaleyaal badan, taas oo u dhow xaaladda dhabta ah.

Aynu nidhaahno waxaan haynaa falanqeeyayaal badan iyo warbixino Tableau kuwaas oo si joogto ah u duqeeya xogtayada tiro badan oo su'aalo falanqayn ah oo SQL ah.

Intaa waxaa dheer, aan nidhaahno in aan haysano Saynisyahano Xog-hal-abuur ah oo isku dayaya in ay sameeyaan waxyaabo bahal ah oo xog ah, ku shaqeeya tobanaan Terabytes, falanqeeyaan balaayiin iyo trillion oo xog ah.

Labada nooc ee culeyska shaqada ee kor lagu sharraxay, Snowflake wuxuu kuu oggolaanayaa inaad kor u qaaddo dhowr kooxood oo kombuyuutar oo madaxbannaan oo awoodo kala duwan leh. Waxaa intaa dheer, kooxahan kombuyuutarada waxay u shaqeeyaan si madaxbannaan, laakiin leh xog joogto ah oo caadi ah.

Tiro badan oo weydiimo iftiin ah, waxaad kor u qaadi kartaa 2-3 rucubyo yaryar, qiyaas ahaan 2 mashiin midkiiba. Hab-dhaqankan waxa lagu fulin karaa, waxyaabo kale, iyadoo la isticmaalayo habayn toos ah. Markaa waxaad tidhaahdaa, “Qosol barafka, kor u qaad koox yar. Haddii rarka saarani uu ka kordho halbeeg gaar ah, kor u qaad ilbidhiqsi la mid ah, saddexaad. Marka rarka uu bilaabo inuu hoos u dhaco, dami inta ka badan." Si kasta oo ay falanqeeyayaashu yimaadaan oo ay u bilaabaan inay eegaan warbixinnada, qof kastaa wuxuu leeyahay ilo ku filan.

Isla mar ahaantaana, haddii falanqeeyayaasha ay seexdaan oo qofna uusan fiirin warbixinnada, kooxuhu waxaa laga yaabaa inay gebi ahaanba mugdi galaan, oo aad joojiso lacag bixinta.

Isla mar ahaantaana, su'aalaha culus (oo ka yimid Saynisyahanada Xogta), waxaad kor u qaadi kartaa hal koox oo aad u weyn 32 mashiin. Kooxdan waxa kale oo la bixin doonaa daqiiqadahaas iyo saacadahaas marka codsigaaga weyni halkaas ka socdo.

Fursadda kor lagu sharraxay waxay kuu oggolaanaysaa inaad u qaybiso 2 oo keliya, laakiin sidoo kale noocyo badan oo culeyska shaqada ah oo aad u kala qaybin karto kooxo (ETL, la socodka, soo-saarka warbixinta,...).

Aan soo koobno ​​Flake Snow. Saldhiggu wuxuu isku daraa fikrad qurux badan iyo hirgelin la shaqayn karo. ManyChat, waxaanu isticmaalnaa Snowflake si aanu u falanqayno dhammaan xogta aanu hayno. Ma hayno saddex rucubood, sida tusaale ahaan, laakiin laga bilaabo 5 ilaa 9, oo cabbirro kala duwan ah. Waxaan haynaa 16-mashiin, 2-mashiin, iyo sidoo kale kuwa 1-mashiin ee aadka u yar ee hawlaha qaarkood. Waxay si guul leh u qaybiyaan culeyska waxayna noo ogolaadaan inaan wax badan badbaadino.

Xog-ururinta ayaa si guul leh u miisaamaysa culayska akhriska iyo qoraalka. Tani waa farqi weyn iyo horumar weyn marka loo eego isla "Aurora", kaas oo kaliya qaaday culeyska akhriska. Barafka barafka waxa uu kuu ogolaanayaa in aad ku cabirto culayska shaqadaada ee qoraalada iyada oo la raacayo kooxahan xisaabinta. Taasi waa, sidaan soo sheegay, waxaan isticmaalnaa dhowr kooxood oo ManyChat ah, kooxo yaryar iyo kuwa aadka u yaryar ayaa inta badan loo isticmaalaa ETL, si loo soo raro xogta. Falanqeeyayaashuna waxay horeyba ugu nool yihiin kooxo dhexdhexaad ah, kuwaas oo aan gabi ahaanba saameyn ku yeelan culeyska ETL, si ay si dhakhso ah u shaqeeyaan.

Sidaas awgeed, kaydka xogta ayaa si fiican ugu habboon hawlaha OLAP. Si kastaba ha ahaatee, nasiib darro, weli laguma dabaqi karo culeysyada shaqada ee OLTP. Marka hore, xogtani waa tiir, oo leh dhammaan cawaaqibka soo socda. Marka labaad, habka laftiisa, marka codsi kasta, haddii loo baahdo, waxaad kor u qaadaysaa koox kombuyuutar ah oo aad ku daadisay xogta, nasiib darro, kuma filna culeysyada OLTP. Sugitaanka ilbiriqsiyo ee hawlaha OLAP waa caadi, laakiin hawlaha OLTP waa wax aan la aqbali karin; 100 ms ayaa ka fiicnaan lahayd, ama 10 ms ayaa ka sii fiicnaan lahayd.

Natiijada

Xogta xog-ururin-la'aanta ahi waxa ay suurtogal tahay in loo qaybiyo kaydka qaybo aan waddan iyo dawlad lahayn. Waxaa laga yaabaa inaad dareentay in dhammaan tusaalayaasha sare, qaybta Stateful ay tahay, si xad dhaaf ah loo hadlo, lagu kaydinayo qaybo-yar oo S3 ah, iyo Dawlad-la'aantu waa hagaajinta, la shaqaynta xogta badan, maaraynta arrimaha amniga ee loo soo qaadi karo sidii adeegyo aan Qaran lahayn oo fudud.

Fulinta su'aalaha SQL waxa kale oo loo aqoonsan karaa inay yihiin adeegyo iftiin dawladeed oo ku soo bixi kara qaab aan server lahayn, sida kooxaha xisaabinta ee Snowflake, soo dejiso kaliya xogta lagama maarmaanka ah, fuliya waydiinta oo "bax".

Xog-ururinta heerka wax-soo-saarka aan server-ka lahayn ayaa durba diyaar u ah isticmaalka, way shaqaynayaan. Xog-ururintan bilaa server ah ayaa durba diyaar u ah inay qabtaan hawlaha OLAP. Nasiib darro, hawlaha OLTP waxaa loo isticmaalaa... oo leh nuances, maadaama ay jiraan xaddidaadyo. Dhinaca kale, tani waa laga jaray. Laakiin, dhanka kale, tani waa fursad. Waxaa laga yaabaa in mid ka mid ah akhristayaasha uu heli doono hab lagu sameeyo xogta OLTP gabi ahaanba server-la'aan, iyada oo aan la xaddidin Aurora.

Waxaan rajeynayaa inaad ka heshay xiiso. Serverless waa mustaqbalka :)

Source: www.habr.com

Add a comment