{"id":91635,"date":"2020-08-15T19:42:23","date_gmt":"2020-08-15T17:42:23","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/na-puti-k-besservernym-bazam-dannyh-kak-i-zachem"},"modified":"2020-08-15T19:42:23","modified_gmt":"2020-08-15T17:42:23","slug":"na-puti-k-besservernym-bazam-dannyh-kak-i-zachem","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/na-puti-k-besservernym-bazam-dannyh-kak-i-zachem","title":{"rendered":"Teekonnal serverivabade andmebaaside suunas \u2014 kuidas ja miks","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tere k\u00f5igile! Minu nimi on Nikolai Golov. Varem t\u00f6\u00f6tasin Avitos ja juhtisin kuus aastat Data Platformi, tegeledes k\u00f5igi andmebaasidega: anal\u00fc\u00fctiliste (Vertica, ClickHouse), voogedastuse ning OLTP (Redis, Tarantool, VoltDB, MongoDB, PostgreSQL). Selle aja jooksul sain tuttavaks suure hulga andmebaasidega \u2014 igasuguste ja ebatavaliste ning nende mitte-standardsete kasutusjuhtumitega.<\/p>\n<p>Praegu t\u00f6\u00f6tan ManyChats. Tegelikult on see idufirma \u2014 uus, ambitsioonikas ja kiiresti kasvav. Ja kui ma alles ettev\u00f5ttesse tulin, t\u00f5usis klassikaline k\u00fcsimus: \"Mida peaks noor idufirma praegu andmebaaside ja andmebaasis\u00fcsteemide turult valima?\". <\/p>\n<p>Selles artiklis, mis p\u00f5hineb minu ettekandel <noindex><a rel=\"nofollow\" href=\"https:\/\/ritfest.ru\/2020\/\">veebi festivalil RIT++2020<\/a><\/noindex>, vastan sellele k\u00fcsimusele. Ettekande videosilmus on saadaval <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/H23f_z13ro4\">YouTube<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Teekonnal serverivabade andmebaaside suunas \u2014 kuidas ja miks\" src=\"\/wp-content\/uploads\/2020\/08\/6a5df9b75ad435ebe88adf920ab9ea8b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Tuntud andmebaasid 2020. aastal<\/h2>\n<p>\nAastal 2020 vaatasin ringi ja m\u00e4rkasin kolme t\u00fc\u00fcpi andmebaase. <\/p>\n<p>Esimene t\u00fc\u00fcp \u2014 <b>klassikalised OLTP andmebaasid<\/b>: PostgreSQL, SQL Server, Oracle, MySQL. Need on kirjutatud ammu, kuid on endiselt asjakohased, kuna on arendajate seas h\u00e4sti tuntud.<\/p>\n<p>Teine t\u00fc\u00fcp \u2014 <b>andmebaasid 2000ndatest<\/b>. Nad \u00fcritasid k\u00f5rvale hiilida klassikalistest lahendustest, loobudes SQL-st, traditsioonilistest struktuuridest ja ACID-ist, lisades samas sisseehitatud jagamisfunktsioone ja muid atraktiivseid omadusi. N\u00e4iteks Cassandra, MongoDB, Redis v\u00f5i Tarantool. K\u00f5ik need lahendused soovisid turule pakkuda midagi p\u00f5him\u00f5tteliselt uut ja leidsid oma nishi, kuna need osutusid teatud \u00fclesannete puhul \u00e4\u00e4rmiselt mugavaks. Nende andmebaase v\u00f5ib nimetada katuseterminiks NOSQL.<\/p>\n<p>\u00abNullaastad\u00bb on m\u00f6\u00f6das, NOSQL andmebaasidega on harjutud, ja maailm, minu arvates, tegi j\u00e4rgmise sammu \u2014 <b>managed andmebaasid<\/b>. Nende andmebaaside tuum on sama, mis klassikalistel OLTP andmebaasidel v\u00f5i uutel NoSQL lahendustel. Kuid neil puudub vajadus DBA ja DevOps-i j\u00e4rele ning nad t\u00f6\u00f6tavad hallatavates serverites pilves. Arendaja jaoks on see \u00ablihtsalt andmebaas\u00bb, mis kuskil t\u00f6\u00f6tab, ja nagu see serveris paigaldatud on, kes serverit seadistab ja seda uuendab, ei huvita kedagi.<\/p>\n<p>N\u00e4ited sellistest andmebaasidest:<\/p>\n<ul>\n<li>AWS RDS \u2014 hallatav kattekiht PostgreSQL\/i \u00fcle.<\/li>\n<li>DynamoDB \u2014 AWS-i analoog dokumentide p\u00f5hist andmebaasi, sarnane Redis-i ja MongoDB-ga.<\/li>\n<li>Amazon Redshift \u2014 hallatav anal\u00fc\u00fctiline andmebaas.<\/li>\n<\/ul>\n<p>\nP\u00f5hjaks on need vanad andmebaasid, kuid proovitud hallatavas keskkonnas, ilma vajaduseta riistvaraga tegeleda. <\/p>\n<p><i>M\u00e4rkus. N\u00e4idised on v\u00f5etud AWS keskkonnast, kuid need on saadaval ka Microsoft Azure'is, Google Cloud'is v\u00f5i Yandex.Cloud'is.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Teekonnal serverivabade andmebaaside suunas \u2014 kuidas ja miks\" src=\"\/wp-content\/uploads\/2020\/08\/06e50904f795b3b5dc62ca45622b2dd7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMis selles uut on? 2020. aastal polnud sellest midagi uut.<\/p>\n<h2>Serverless kontseptsioon<\/h2>\n<p>\nT\u00f5eliselt uus asi turul 2020. aastal on serverless v\u00f5i serveriteta lahendused.<\/p>\n<p>P\u00fc\u00fcan selgitada, mida see t\u00e4hendab tavalise teenuse v\u00f5i tagaplaanirakenduse n\u00e4ite kaudu.<br \/>\nTavalise tagaplaanirakenduse juurutamiseks ostame v\u00f5i rentime serveri, kopeerime koodi sellele, avaldame v\u00e4lisele endpoint'ile ja maksame regulaarselt renti, elektrit ja andmekeskuse teenuseid. See on standardne skeem.<\/p>\n<p>Kas on v\u00f5imalik kuidagi teisiti? Serveriteta teenustega on see v\u00f5imalik.<\/p>\n<p>Mis on selle l\u00e4henemise fookus: ei ole serverit, isegi mitte virtuaalse instantsi rendile v\u00f5tmist pilves. Teenuse juurutamiseks kopeerime koodi (funktsioonid) repertuaari ja avaldame v\u00e4lisele endpoint'ile. Edasi maksame lihtsalt iga selle funktsiooni kutsumise eest, t\u00e4ielikult ignoreerides riistvara, kus see t\u00e4idetakse.<\/p>\n<p>P\u00fc\u00fcan seda l\u00e4henemist illustreerida piltide kaudu.<br \/>\n<img decoding=\"async\" alt=\"Teekonnal serverivabade andmebaaside suunas \u2014 kuidas ja miks\" src=\"\/wp-content\/uploads\/2020\/08\/705cf89c51b8166da772b1d877262b44.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Klassikaline juurutamine<\/b>. Meil on teenus, millel on teatud koormus. K\u00e4ivitame kaks instantsi: f\u00fc\u00fcsilised serverid v\u00f5i instantsid AWS-is. Nendele instantsidele suunatakse v\u00e4lised p\u00e4ringud, mida seal t\u00f6\u00f6deldakse. <\/p>\n<p>Nagu pildilt n\u00e4ha, on serverid erinevalt \u00e4ra kasutatud. \u00dcks on kasutatud 100% ulatuses, seal on kaks p\u00e4ringut, ja \u00fcks ainult 50% ulatuses \u2014 osaliselt seiskunud. Kui tuleb mitte kolm p\u00e4ringut, vaid 30, siis kogu s\u00fcsteem ei suuda koormust taluda ja hakkab aeglustuma.<\/p>\n<p><img decoding=\"async\" alt=\"Teekonnal serverivabade andmebaaside suunas \u2014 kuidas ja miks\" src=\"\/wp-content\/uploads\/2020\/08\/005b1f91ced2f2b29363cf975ed085e3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Serverivaba juurutus<\/b>. Serverivabas keskkonnas ei ole sellisel teenusel instantsid ega servereid. On m\u00f5ningane kuumendatud ressursside hulk \u2014 v\u00e4ikesed ettevalmistatud Docker-konteinerid koos funktsiooni koodiga. S\u00fcsteem saab v\u00e4lised p\u00e4ringud ja iga\u00fche jaoks serverivaba raamistik t\u00f5stab v\u00e4ikese konteineri koodiga: t\u00f6\u00f6tleb just selle p\u00e4ringu ja l\u00f5petab konteineri.<\/p>\n<p>\u00dcks p\u00e4ring \u2014 \u00fcks k\u00e4ivitatud konteiner, 1000 p\u00e4ringut \u2014 1000 konteinerit. Ja juurutamine raua serverites on juba pilveteenuse pakkuja t\u00f6\u00f6. See on t\u00e4ielikult peidetud serverivaba raamistikuga. Selle kontseptsiooni raames maksame iga v\u00e4ljakutse eest. N\u00e4iteks, kui tuleb \u00fcks v\u00e4ljakutse p\u00e4evas \u2014 maksame \u00fche v\u00e4ljakutse eest, tuleb miljon minutis \u2014 maksame miljoni eest. V\u00f5i sekundis, nii ka juhtub.<\/p>\n<p>Serverivaba funktsiooni avaldamise kontseptsioon sobib stateeless teenusele. Aga kui vajate (state) statefull teenust, siis lisame teenusele andmebaasi. Sellisel juhul, kui j\u00f5uame state'iga t\u00f6\u00f6tamiseni, kirjutab iga statefull funktsioon lihtsalt andmebaasi ja loeb sealt. Ja seejuures v\u00f5ib olla \u00fche kolmest t\u00fc\u00fcbi andmebaasist, millest me artikli alguses r\u00e4\u00e4kisime.<\/p>\n<p>Milline on k\u00f5igi nende andmebaaside \u00fcldine piirang? See on pidevalt kasutatava pilve- v\u00f5i riistvaraserveri (v\u00f5i mitme serveri) kulud. Olgu need klassikalised andmebaasid v\u00f5i hallatud, olgu DevOps ja administraator olemas v\u00f5i mitte, maksame ikkagi 24\/7 riistvara, elektri ja andmekeskuse \u00fc\u00fcri eest. Kui meil on klassikaline andmebaas, maksame masteri ja slave'i eest. Kui meil on k\u00f5rgelt koormatud jagatud andmebaas, maksame 10, 20 v\u00f5i 30 serveri eest ning maksame pidevalt.<\/p>\n<p>Pidevalt reserveeritud serverite olemasolu kulustruktuuris peeti varem v\u00e4ltimatuks kurjuseks. Tavalistel andmebaasidel on ka muid raskusi, nagu \u00fchenduste piirangud, skaleerimise piirangud ja geograafiline konsensus \u2014 neid saab teatud andmebaasides lahendada, kuid mitte k\u00f5iki korraga ja mitte ideaalselt.<\/p>\n<h2>Serverless andmebaas \u2014 teooria<\/h2>\n<p>\nK\u00fcsimus 2020. aastast: kas andmebaas v\u00f5idakse ka serverless'iks muuta? K\u00f5ik on kuulnud serverless'ist tagaplaanist ... aga proovime ka andmebaasi serverless'iks muuta?<\/p>\n<p>See k\u00f5lab kummaliselt, sest andmebaas on stateful teenus, mis ei sobi eriti serveriteta infrastruktuuri. Samuti on andmebaasi olek v\u00e4ga suur: gigabaitidest, terabaitidest, kuni anal\u00fc\u00fcsibaasides isegi petabaitideni. Sellist ei saa lihtsalt kergetesse Docker-konteineritesse t\u00f5sta.<\/p>\n<p>Teiselt poolt on peaaegu k\u00f5ik kaasaegsed andmebaasid tohutu hulga loogikast ja komponentidest: tehingud, konsistentsi tagamine, protseduurid, suhtelised s\u00f5ltuvused ja palju loogikat. Suure osa andmebaasi loogikast vajab suhteliselt v\u00e4ikest olekut. Gigabaitidest ja terabaitidest kasutatakse otse ainult v\u00e4hest osa andmebaasi loogikast, mis on seotud p\u00e4ringute otse t\u00e4itmisega.<\/p>\n<p>Seega on idee, et kui osa loogikast lubab stateless t\u00e4itmist, miks mitte jagada andmebaasi stateful ja stateless osadeks.<\/p>\n<h2>Serveriteta lahendused OLAP-i jaoks<\/h2>\n<p>\nVaadakem, milline v\u00f5iks v\u00e4lja n\u00e4ha andmebaaside jagamine stateful ja stateless osadeks praktiliste n\u00e4idete kaudu.<\/p>\n<p><img decoding=\"async\" alt=\"Teekonnal serverivabade andmebaaside suunas \u2014 kuidas ja miks\" src=\"\/wp-content\/uploads\/2020\/08\/51793a5649e68dafc9e7ce395da9e065.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>N\u00e4iteks meil on anal\u00fc\u00fcsibaas<\/b>: v\u00e4lised andmed (punane silindril vasakul), ETL-protsess, mis laadib andmed andmebaasi, ja anal\u00fc\u00fctik, kes esitab andmebaasile SQL-k\u00fcsitlusi. See on klassikaline andmehoidla t\u00f6\u00f6 skeem. <\/p>\n<p>Selles skeemis, tinglikult, t\u00e4idetakse ETL \u00fcks kord. Edasi tuleb pidevalt maksta serverite eest, kus andmebaas t\u00f6\u00f6tab, kuhu on ETL-iga andmeid laaditud, et oleks, kuhu k\u00fcsitlusi esitada. <\/p>\n<p>Vaatame alternatiivset l\u00e4henemist, mida rakendab AWS Athena Serverless andmebaas. Siin pole pidevalt m\u00e4\u00e4ratud riistvara, millel andmed on salvestatud. Selle asemel:<\/p>\n<ul>\n<li>Kasutaja esitab SQL-k\u00fcsitluse Athendale. Athena optimeerija anal\u00fc\u00fcsib SQL-k\u00fcsitlust ja otsib metainformatsiooni (Metadata) salvestusest konkreetseid andmeid, mis on vajalikud k\u00fcsitluse t\u00e4itmiseks.<\/li>\n<li>Optimeerija, tuginedes kogutud andmetele, laadib vajalikud andmed v\u00e4lisest allikast ajutisse ladustamisse (ajutisse andmebaasi).<\/li>\n<li>Ajutises ladustamises t\u00e4idetakse kasutaja SQL-k\u00fcsitlus, tulemused tagastatakse kasutajale. <\/li>\n<li>Ajutine ladustamine t\u00fchjendatakse, ressursid vabastatakse.<\/li>\n<\/ul>\n<p>Selles arhitektuuris maksame ainult k\u00fcsitluse t\u00e4itmise protsessi eest. Pole k\u00fcsitlusi \u2014 pole kulusid.<\/p>\n<p><img decoding=\"async\" alt=\"Teekonnal serverivabade andmebaaside suunas \u2014 kuidas ja miks\" src=\"\/wp-content\/uploads\/2020\/08\/0e21282b66e3120524c2324811cb04a8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSee on t\u00f6\u00f6meetod, mis rakendub mitte ainult Athena Serverlessis, vaid ka Redshift Spectrumis (AWS-is).<\/p>\n<p>Athena n\u00e4ite p\u00f5hjal on Serverless andmebaas t\u00f5eliselt t\u00f6\u00f6delda p\u00e4ringuid, mis sisaldavad k\u00fcmneid ja sadu terabaitide suuruseid andmeid. Sada terabaiti andmeid vajab sadu serveereid, kuid me ei pea nende eest maksma \u2014 me maksame p\u00e4ringute eest. Iga p\u00e4ringu kiirus on v\u00f5rreldamatult madalam spetsialiseeritud anal\u00fc\u00fctiliste andmebaaside, nagu Vertica, seas, ent me ei maksa ka seisakute eest.<\/p>\n<p>Selline andmebaas sobib haruldaste anal\u00fc\u00fctiliste ad-hoc p\u00e4ringute jaoks. N\u00e4iteks, kui otsustame spontaanselt kontrollida h\u00fcpoteesi m\u00f5ne hiiglasliku andmemahu kohta. Nendes olukordades sobib Athena ideaalselt. Regulaarsete p\u00e4ringute puhul on see s\u00fcsteem kallis. Sellisel juhul salvestage andmed m\u00f5nes spetsialiseeritud lahenduses. <\/p>\n<h2>Serverless OLTP lahenduste jaoks<\/h2>\n<p>\nEelnevas n\u00e4ites k\u00e4sitlesime OLAP-\u00fclesandeid (anal\u00fc\u00fctilised). N\u00fc\u00fcd vaatleme OLTP-\u00fclesandeid.<\/p>\n<p>Esitame skaleeritavat PostgreSQL v\u00f5i MySQL. Alustame tavalise hallatava PostgreSQL v\u00f5i MySQL instantsi seadistamisega minimaalsete ressursside abil. Kui instantsile tuleb suurem koormus, \u00fchendame t\u00e4iendavad koopiad, millele jagame osa lugemisekoormusest. Kui p\u00e4ringute ja koormuse ei ole, l\u00fclitame koopiad v\u00e4lja. Esimene instants on meister ja \u00fclej\u00e4\u00e4nud on koopiad.<\/p>\n<p>Seda ideed ellu viib andmebaas nimega Aurora Serverless AWS. P\u00f5him\u00f5te on lihtne: v\u00e4listest rakendustest tulevad p\u00e4ringud v\u00f5tab vastu proxy fleet. N\u00e4ha koormuse suurenemist, eraldab ta arvutusressursse eelsoojendatud minimaalsetest instantsidest \u2014 \u00fchendamine toimub maksimaalselt kiiresti. Instantside v\u00e4ljal\u00fclitamine toimub samuti.<\/p>\n<p>Aurora raames on m\u00f5isted Aurora Capacity Unit, ACU. See on (tinglikult) instants (server). Iga konkreetselt ACU v\u00f5ib olla meister v\u00f5i orjand. Igal Capacity Unit'il on oma t\u00f6\u00f6m\u00e4lu, protsessor ja minimaalne ketas. Seega on \u00fcks meister ja \u00fclej\u00e4\u00e4nud on ainult lugemiseks m\u00f5eldud koopiad.<\/p>\n<p>Needlike t\u00f6\u00f6tavate Aurora mahtuvuse \u00fcksuste arv on kohandatav parameeter. Miinimum v\u00f5ib olla \u00fcks v\u00f5i null (siis andmebaas ei t\u00f6\u00f6ta, kui p\u00e4ringuid pole).<\/p>\n<p><img decoding=\"async\" alt=\"Teekonnal serverivabade andmebaaside suunas \u2014 kuidas ja miks\" src=\"\/wp-content\/uploads\/2020\/08\/ab034e66fbd8874f062a656afa7044c5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui andmebaas saab p\u00e4ringud, t\u00f5stab proxy fleet Aurora mahtuvuse \u00fcksusi, suurendades s\u00fcsteemi tootmisressursse. Ressursside suurendamise ja v\u00e4hendamise v\u00f5imalus v\u00f5imaldab s\u00fcsteemil ressursse 'p\u00f6\u00f6rlevat' \u2014 automaatselt v\u00e4lja l\u00fclitada \u00fcksikud ACU-d (asendades need uutega) ja rakendada v\u00e4lja l\u00fclitatud ressurssidele k\u00f5ik aktuaalsed uuendused.<\/p>\n<p>Aurora Serverless andmebaas suudab skaleerida lugemise koormust. Kuid selles ei ole dokumentatsioonis otseselt \u00f6eldud. V\u00f5ib tekkida tunne, et nad saavad t\u00f5sta multi-masteri. Kuid mingit imet ei ole. <\/p>\n<p>See andmeid sobivad h\u00e4sti, et mitte investeerida suuri summasid s\u00fcsteemidesse, mille k\u00e4ttesaadavus on ettearvamatu. N\u00e4iteks MVP v\u00f5i turunduslike visiitkaartide loomisel ei oota me tavaliselt stabiilset koormust. Vastavalt sellele, kui juurdep\u00e4\u00e4s puudub, ei maksa me instantside eest. Kui ootamatult tekib koormus, n\u00e4iteks p\u00e4rast konverentsi v\u00f5i reklaamikampaaniat, voolab suures koguses inimesi veebisaidile ja koormus t\u00f5useb j\u00e4rsult, siis Aurora Serverless v\u00f5tab selle koormuse automaatselt \u00fcle ja kiiresti liidab vajalikke ressursse (ACU). P\u00e4rast konverentsi unustatakse protot\u00fc\u00fcp ja serverid (ACU) kustutatakse, kulud langevad nulli \u2014 mugav.<\/p>\n<p>See lahendus ei sobi stabiilsete k\u00f5rge koormusega olukordade jaoks, kuna see ei oska skaleerida kirjutamiskoormust. K\u00f5ik need ressursside \u00fchendamised ja lahutamised toimuvad nn 'scale point'-i hetkel \u2014 ajal, mil andmebaasi ei hoia tehing ega ajutised tabelid. N\u00e4iteks v\u00f5ib scale point'i n\u00e4dalas mitte toimuda, ja andmebaas t\u00f6\u00f6tab \u00fchel ja samal ressursil ning ei suuda ei laieneda ega kokku t\u00f5mbuda. <\/p>\n<p>Minge pole, see on tavaline PostgreSQL. Kuid masinate lisamise ja eemaldamise protsess on osaliselt automatiseeritud.<\/p>\n<h2>Serverless disainiga<\/h2>\n<p>\nAurora Serverless on vana andmebaas, \u00fcmber kirjutatud pilvetoetamiseks, et kasutada serverless l\u00e4henemise erip\u00e4ra. R\u00e4\u00e4gin n\u00fc\u00fcd andmebaasist, mis on algselt loodud pilve jaoks, serverless l\u00e4henemist silmas pidades \u2014 Serverless-by-design. Seda arendati kohe, arvestamata, et see t\u00f6\u00f6tab f\u00fc\u00fcsilistel serveritel.<\/p>\n<p>See andmebaas on nimega Snowflake. Selles on kolm olulist komponenti.<\/p>\n<p><img decoding=\"async\" alt=\"Teekonnal serverivabade andmebaaside suunas \u2014 kuidas ja miks\" src=\"\/wp-content\/uploads\/2020\/08\/15f9f07ed0281686e509ca6ced387db3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEsimene on metaandmete plokk. See on kiire in-memory teenus, mis lahendab turvalisuse, metaandmete, tehingute ja p\u00e4ringute optimeerimise k\u00fcsimusi (vasakul illustratsioonil).<\/p>\n<p>Teine plokk on hulk virtuaalseid arvutusklastreid arvutuste jaoks (illustratsioonil \u2014 rida siniseid ringe).<\/p>\n<p>Kolmas plokk on andmete salvestamise s\u00fcsteem S3 p\u00f5hjal. S3 on AWS-is paisumatu objektipank, midagi nagu piiramatud Dropboxi lahendused ettev\u00f5tetele.<\/p>\n<p>Vaatame, kuidas Snowflake t\u00f6\u00f6tab, eeldades k\u00fclma k\u00e4ivitust. See t\u00e4hendab, et baas on olemas, andmed on laaditud, kuid t\u00f6\u00f6valmiduse p\u00e4ringud puuduvad. Seega, kui andmebaasile p\u00e4ringuid ei ole, t\u00f5stame kiire in-memory metadata teenuse (esimene plokk). Meil on ka S3 salvestus, kuhu on salvestatud tabeli andmed, jagatud nn mikropartiidesse. Lihtsuse huvides: kui tabelis on tehingud, siis mikropartiid on tehingute p\u00e4evad. Iga p\u00e4ev on eraldi mikropartii, eraldi fail. Ja kui andmebaas t\u00f6\u00f6tab sellises re\u017eiimis, maksate ainult andmete ocuparitud koha eest. Samuti on koha hind v\u00e4ga madal (eriti arvestades suurt tihendust). Metadata teenus t\u00f6\u00f6tab pidevalt, kuid p\u00e4ringute optimeerimiseks ei ole palju ressursse vaja, seega v\u00f5ib teenust pidada tingimuslikult tasuta. <\/p>\n<p>Kujutame n\u00fc\u00fcd ette, et meie andmebaasi tuli kasutaja ja esitas SQL p\u00e4ringu. SQL p\u00e4ring saadetakse kohe t\u00f6\u00f6tlemiseks metadata teenusele. Seega, p\u00e4rast p\u00e4ringu saamist anal\u00fc\u00fcsib see teenus p\u00e4ringut, saadaval olevaid andmeid, kasutaja \u00f5igusi ja kui k\u00f5ik on korras, koostab p\u00e4ringut\u00f6\u00f6tluse plaani.<\/p>\n<p>Seej\u00e4rel teenus k\u00e4ivitab arvutuskl\u00f6t\u0161i. Arvutuskl\u00f6ts koosneb serveritest, mis teostavad arvutusi. See t\u00e4hendab, et kl\u00f6ts v\u00f5ib sisaldada 1 serverit, 2 serverit, 4, 8, 16, 32 \u2014 palju iganes soovite. Te esitate p\u00e4ringu ja selle alusel algab koheselt kl\u00f6tsi k\u00e4ivitamine. See t\u00f5esti v\u00f5tab sekundeid.<\/p>\n<p><img decoding=\"async\" alt=\"Teekonnal serverivabade andmebaaside suunas \u2014 kuidas ja miks\" src=\"\/wp-content\/uploads\/2020\/08\/51b11aee0b0868681c4978f5becd1f1d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00e4rast klastrite k\u00e4ivitamist hakkavad S3-st klastrisse kopeerima mikropartiid, mis on vajalikud just teie p\u00e4ringu t\u00f6\u00f6tlemiseks. Oletame, et SQL-p\u00e4ringu t\u00e4itmiseks on vaja kahte partiid \u00fchest tabelist ja \u00fchte teiselt. Sellisel juhul kopeeritakse klastrisse vaid need kolm vajalikku partiid, mitte k\u00f5ik tabelid tervikuna. Just seet\u00f5ttu, et k\u00f5ik asub \u00fches andmekeskuses ja on \u00fchendatud v\u00e4ga kiirete kanalitega, toimub kogu \u00fclekandeprotsess v\u00e4ga kiiresti: sekundi jooksul, harva \u2014 minutitega, kui tegemist ei ole m\u00f5ningate tohutute p\u00e4ringutega. Seega kopeeritakse mikropartiid arvutusklastrisse ja p\u00e4rast selle l\u00f5petamist t\u00e4idetakse SQL-p\u00e4ring selles arvutusklastris. Selle p\u00e4ringu tulemuseks v\u00f5ib olla \u00fcks rida, mitu rida v\u00f5i tabel \u2014 need saadetakse kasutajale, et ta saaks need alla laadida, kuvada oma BI-otsingus v\u00f5i muul moel kasutada.<\/p>\n<p>Iga SQL p\u00e4ring suudab mitte ainult arvutada aggregaatandmeid varasemalt laaditud andmetest, vaid ka laadida ja\/v\u00f5i luua uusi andmeid andmebaasis. See t\u00e4hendab, et tegemist v\u00f5ib olla p\u00e4ringuga, mis n\u00e4iteks sisestab teise tabelisse uusi kirjeid, mis toob kaasa uue pariti moodustumise arvutusklastris, mis omakorda salvestatakse automaatselt \u00fchte S3 salvestusse.<\/p>\n<p>\u00dclaltoodud stsenaarium, alates kasutaja sisenemisest kuni klastrite loomise, andmete laadimise, p\u00e4ringute t\u00e4itmise ja tulemuste saamiseni, arvestatakse virtuaalse arvutusklaastri, virtuaalse andmehoidla tunnitasu alusel. Tasu varieerub vastavalt AWS tsoonile ja klastrite suurusele, kuid keskmiselt on see paar dollarit tunnis. Neli masinat maksab kaks korda rohkem kui kaks masinat, kaheksa masinat maksab veel kaks korda rohkem. Saadaval on ka variandid 16 ja 32 masinat, olenevalt p\u00e4ringute keerukusest. Kuid maksate ainult nende minutite eest, mil klaster t\u00f5eliselt t\u00f6\u00f6tab, kuna p\u00e4ringute puudumisel eemaldatakse k\u00e4ed ja p\u00e4rast 5-10 minutit ootamist (kohandatav parameeter) l\u00fclitub see ise v\u00e4lja, vabastab ressursid ja muutub tasuta.<\/p>\n<p>On t\u00e4iesti reaalne stsenaarium, kus teete p\u00e4ringu, klaster t\u00f5useb, \u00fctleme, minutiga, veel minut kalkuleerib, seej\u00e4rel viis minutit v\u00e4ljal\u00fclitamiseks, ja kokku maksate seitsme minuti t\u00f6\u00f6 eest, mitte kuude ja aastate eest.<\/p>\n<p>Esimene stsenaarium kirjeldas Snowflake'i kasutamist \u00fche kasutaja variandina. N\u00fc\u00fcd kujutame ette, et kasutajaid on palju, mis on l\u00e4hemal reaalsele stsenaariumile.<\/p>\n<p>Oletame, et meil on palju anal\u00fc\u00fctikuid ja Tableau aruandeid, mis pidevalt pommitavad meie andmebaasi suure hulga lihtsate anal\u00fc\u00fctiliste SQL-p\u00e4ringutega.<\/p>\n<p>Lisaks eeldame, et meil on leidlikud and teadlased, kes p\u00fc\u00fcavad andmetega teha keerulisi asju, hallates k\u00fcmneid terabaiti, anal\u00fc\u00fcsides miljardeid ja triljoneid andmerekke. <\/p>\n<p>\u00dclaltoodud kahe koormuse t\u00fc\u00fcbi jaoks v\u00f5imaldab Snowflake t\u00f5sta mitmeid s\u00f5ltumatuid arvutusklastreid erineva j\u00f5udlusega. Need arvutusklastrid t\u00f6\u00f6tavad iseseisvalt, kuid jagavad \u00fchte ja sama koosk\u00f5lastatud andmebaasi.<\/p>\n<p>Palju lihtsate p\u00e4ringute jaoks on v\u00f5imalik luua 2-3 v\u00e4ikest klastrit, iga\u00fches umbes 2 seadet. Selline toimimine on teostatav ka automaatsete seadistuste kaudu. Toimimiseks v\u00f5ite \u00f6elda: \"Snowflake, t\u00f5sta \u00fcles v\u00e4ike klaster. Kui koormus sellele \u00fcletab teatud v\u00e4\u00e4rtuse, t\u00f5sta \u00fcles sarnane teine v\u00f5i kolmas klaster. Kui koormus hakkab langema, l\u00fclita liigne v\u00e4lja.\" Nii tagate, et olenemata sellest, kui palju anal\u00fc\u00fctikuid tuleb ja alustab aruannete vaatamist, j\u00e4tkub k\u00f5igile piisavalt ressursse.<\/p>\n<p>Kui aga anal\u00fc\u00fctikud magavad ja keegi ei vaata aruandeid, v\u00f5ivad klastrid t\u00e4ielikult v\u00e4lja l\u00fclituda ning te l\u00f5petate nende eest maksmise.<\/p>\n<p>Raskete p\u00e4ringute korral (andmete teadlased) v\u00f5ite t\u00f5sta \u00fcles \u00fche v\u00e4ga suure klastrit, kus on tinglikult 32 seadet. Ka selle klastriga maksate ainult nende minutite ja tundide eest, mil teie tohutu p\u00e4ring seal t\u00f6\u00f6tab.<\/p>\n<p>\u00dclaltoodud v\u00f5imalus v\u00f5imaldab jagada klastreid mitte ainult kahe, vaid ka rohkemate koormust\u00fc\u00fcpide vahel (ETL, j\u00e4lgimine, aruannete materialiseerimine,\u2026).<\/p>\n<p>Teeme kokkuv\u00f5tte Snowflake'ist. Platvorm \u00fchendab kauni idee ja toimiva rakenduse. Meie ManyChat'is kasutame Snowflake'i k\u00f5igi olemasolevate andmete anal\u00fc\u00fcsiks. Meil on klastreid mitte kolm, nagu n\u00e4ites, vaid viiest kuni \u00fcheksast, erineva suurusega. Meil on kuue masinaga, kaheteist masinaga ja superv\u00e4ikse \u00fche masinaga teatud \u00fclesannete jaoks. Need jagavad koormust edukalt ja v\u00f5imaldavad meil palju s\u00e4\u00e4sta.<\/p>\n<p>Platvorm suudab edukalt skaleerida lugemis- ja kirjutamiskoormust. See on tohutu erinevus ja suur l\u00e4bimurre v\u00f5rreldes n\u00e4iteks 'Aurora'ga, mis said vaid lugemisekoormust hoidma. Snowflake v\u00f5imaldab nende arvutusklastrite abil skaleerida ka kirjutamiskoormust. Nagu ma mainisin, kasutatakse ManyChat's mitmeid klastreid, v\u00e4ikseid ja superv\u00e4ikseid klastreid, peamiselt ETL-ide jaoks, andmete laadimiseks. Anal\u00fc\u00fctikud t\u00f6\u00f6tavad juba keskmistes klastrites, mis ei ole ETL-koormusest m\u00f5jutatud, seega t\u00f6\u00f6tavad nad v\u00e4ga kiiresti. <\/p>\n<p>Seega sobib andmebaas h\u00e4sti OLAP \u00fclesannete jaoks. Kahjuks ei ole see siiski veel rakendatav OLTP koormustele. Esiteks on see kolonniline andmebaas, koos k\u00f5ikide sellest tulenevate tagaj\u00e4rgedega. Teiseks, l\u00e4henemine, kus t\u00f5state iga p\u00e4ringu korral vajadusel \u00fcles arvutusklastri ja voolutate sinna andmed, ei ole kahjuks OLTP koormuste jaoks piisavalt kiire. Sekundite ootamine OLAP \u00fclesannete puhul on normaalne, aga OLTP koormuste puhul on see vastuv\u00f5etamatu, pigem peaks olema 100 ms, veel parem \u2014 10 ms.<\/p>\n<h2>Kokkuv\u00f5te<\/h2>\n<p>\nServerless andmebaas on v\u00f5imalik t\u00e4nu andmebaasi jagamisele venituseta ja olekuga osadeks. Olete kindlasti m\u00e4rganud, et k\u00f5ikides toodud n\u00e4idetes on olekuga osa \u2014 tinglikult \u00f6eldes, mikropartiide s\u00e4ilitamine S3-s, samas kui venituseta on optimeerija, t\u00f6\u00f6 metaandmetega, turvak\u00fcsimuste k\u00e4sitlemine, mida saab t\u00f5sta iseseisvate kergete venituseta teenustena.<\/p>\n<p>SQL-p\u00e4ringute t\u00e4itmist v\u00f5ib samuti m\u00f5ista kui kerge olekuga teenuseid, mis v\u00f5ivad ilmuda serverivabas re\u017eiimis, nagu Snowflake arvutusklastrid, laadides alla ainult vajalikud andmed, tehes p\u00e4ringu ja \"sammutades\" end.<\/p>\n<p>Serverless tootetase on n\u00fc\u00fcd saadaval ja t\u00f6\u00f6tab. Need serverless andmebaasid on juba valmis OLAP-\u00fclesannete t\u00e4itmiseks. Kahjuks kasutatakse neid OLTP-\u00fclesannete jaoks\u2026 teatud piirangutega, mis on keeruline teema. \u00dchest k\u00fcljest on see miinus. Kuid teiselt poolt on see v\u00f5imalus. V\u00f5ib-olla leiab m\u00f5ni lugeja viisi, kuidas teha OLTP-andmebaas t\u00e4iesti serverless, ilma piiranguteta Aurora.<\/p>\n<p>Loodan, et see oli teile huvitav. Serverless tuleviku nimel \ud83d\ude42<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/blog\/514298\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0413\u043e\u043b\u043e\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\u0439. \u0420\u0430\u043d\u044c\u0448\u0435 \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0432 \u0410\u0432\u0438\u0442\u043e \u0438 \u0448\u0435\u0441\u0442\u044c \u043b\u0435\u0442 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u043b Data Platform, \u0442\u043e \u0435\u0441\u0442\u044c \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0441\u044f \u0432\u0441\u0435\u043c\u0438 \u0431\u0430\u0437\u0430\u043c\u0438: \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 (Vertica, ClickHouse), \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u044b\u043c\u0438 \u0438 OLTP (Redis, Tarantool, VoltDB, MongoDB, PostgreSQL). \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u044f \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0441\u044f \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0445, \u0438 \u0441 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c\u0438 \u043a\u0435\u0439\u0441\u0430\u043c\u0438 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u0421\u0435\u0439\u0447\u0430\u0441 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":91636,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-91635","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0413\u043e\u043b\u043e\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\u0439. \u0420\u0430\u043d\u044c\u0448\u0435 \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0432 \u0410\u0432\u0438\u0442\u043e \u0438 \u0448\u0435\u0441\u0442\u044c \u043b\u0435\u0442 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u043b Data Platform, \u0442\u043e \u0435\u0441\u0442\u044c \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0441\u044f \u0432\u0441\u0435\u043c\u0438 \u0431\u0430\u0437\u0430\u043c\u0438: \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 (Vertica, ClickHouse), \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u044b\u043c\u0438 \u0438 OLTP (Redis, Tarantool, VoltDB, MongoDB, PostgreSQL). \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u044f \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0441\u044f \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0445, \u0438 \u0441 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c\u0438 \u043a\u0435\u0439\u0441\u0430\u043c\u0438 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u0421\u0435\u0439\u0447\u0430\u0441\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/na-puti-k-besservernym-bazam-dannyh-kak-i-zachem\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041d\u0430 \u043f\u0443\u0442\u0438 \u043a \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u043c \u0431\u0430\u0437\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u043a\u0430\u043a \u0438 \u0437\u0430\u0447\u0435\u043c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0413\u043e\u043b\u043e\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\u0439. \u0420\u0430\u043d\u044c\u0448\u0435 \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0432 \u0410\u0432\u0438\u0442\u043e \u0438 \u0448\u0435\u0441\u0442\u044c \u043b\u0435\u0442 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u043b Data Platform, \u0442\u043e \u0435\u0441\u0442\u044c \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0441\u044f \u0432\u0441\u0435\u043c\u0438 \u0431\u0430\u0437\u0430\u043c\u0438: \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 (Vertica, ClickHouse), \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u044b\u043c\u0438 \u0438 OLTP (Redis, Tarantool, VoltDB, MongoDB, PostgreSQL). \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u044f \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0441\u044f \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0445, \u0438 \u0441 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c\u0438 \u043a\u0435\u0439\u0441\u0430\u043c\u0438 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u0421\u0435\u0439\u0447\u0430\u0441\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/na-puti-k-besservernym-bazam-dannyh-kak-i-zachem\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-08-15T17:42:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-08-15T17:42:23+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Teel serverless andmebaaside poole \u2014 kuidas ja miks | ProHoster","description":"Tere k\u00f5igile! Mina olen Nikolai Golov. Varem t\u00f6\u00f6tasin Avitos ja kuus aastat juhisin Data Platformi, mis t\u00e4hendab, et tegelesin k\u00f5igi andmebaasidega: anal\u00fc\u00fctiliste (Vertica, ClickHouse), voogedastuse ja OLTP (Redis, Tarantool, VoltDB, MongoDB, PostgreSQL). Selle aja jooksul olen tutvunud paljude andmebaasidega \u2014 erinevate ja ebatavaliste ning nende mittestandardsed kasutusjuhtumid. Praegu","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/na-puti-k-besservernym-bazam-dannyh-kak-i-zachem","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041d\u0430 \u043f\u0443\u0442\u0438 \u043a \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u043c \u0431\u0430\u0437\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u043a\u0430\u043a \u0438 \u0437\u0430\u0447\u0435\u043c | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0413\u043e\u043b\u043e\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\u0439. \u0420\u0430\u043d\u044c\u0448\u0435 \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0432 \u0410\u0432\u0438\u0442\u043e \u0438 \u0448\u0435\u0441\u0442\u044c \u043b\u0435\u0442 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u043b Data Platform, \u0442\u043e \u0435\u0441\u0442\u044c \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0441\u044f \u0432\u0441\u0435\u043c\u0438 \u0431\u0430\u0437\u0430\u043c\u0438: \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 (Vertica, ClickHouse), \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u044b\u043c\u0438 \u0438 OLTP (Redis, Tarantool, VoltDB, MongoDB, PostgreSQL). \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u044f \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0441\u044f \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0445, \u0438 \u0441 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c\u0438 \u043a\u0435\u0439\u0441\u0430\u043c\u0438 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u0421\u0435\u0439\u0447\u0430\u0441","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/na-puti-k-besservernym-bazam-dannyh-kak-i-zachem","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-08-15T17:42:23+00:00","article:modified_time":"2020-08-15T17:42:23+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"91635","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:23:25","updated":"2022-09-27 17:18:10"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/91635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=91635"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/91635\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/91636"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=91635"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=91635"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=91635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}