Ha u le tseleng ea ho ea ho database tse se nang seva - joang le hobaneng

Lumelang bohle! Lebitso la ka ke Golov Nikolay. Nakong e fetileng, ke ne ke sebetsa Avito mme ke laola Data Platform ka lilemo tse tšeletseng, ke hore, ke sebelitse lits'ebetsong tsohle: analytical (Vertica, ClickHouse), phallela le OLTP (Redis, Tarantool, VoltDB, MongoDB, PostgreSQL). Nakong ena, ke ile ka sebetsana le palo e kholo ea li-database - tse fapaneng haholo le tse sa tloaelehang, le ka linyeoe tse sa tloaelehang tsa tšebeliso ea tsona.

Hajoale ke sebetsa ManyChat. Ha e le hantle, ena ke qalo - e ncha, e nang le takatso e matla le e hōlang ka potlako. 'Me ha ke qala ho kena k'hamphaning, ho ile ha hlaha potso ea khale: "Mocha e monyenyane o lokela ho nka eng ho tloha DBMS le marakeng oa database?"

Sehloohong sena, ho latela tlaleho ea ka ho mokete oa inthaneteng RIT++2020, ke tla araba potso ena. Beshene ea video ea tlaleho e fumaneha ho YouTube.

Ha u le tseleng ea ho ea ho database tse se nang seva - joang le hobaneng

Li-database tse tsebahalang haholo tsa 2020

Ke 2020, ke ile ka qamaka mme ka bona mefuta e meraro ea database.

Mofuta oa pele - li-database tsa khale tsa OLTP: PostgreSQL, SQL Server, Oracle, MySQL. Li ngotsoe khale, empa li ntse li le bohlokoa hobane li tloaelehile ho batho ba ntlafatsang.

Mofuta oa bobeli ke metheo ho tsoa ho "zero". Ba ile ba leka ho tloha ho mekhoa ea khale ka ho lahla SQL, mehaho ea setso le ACID, ka ho eketsa sharding e hahiloeng le likarolo tse ling tse khahlehang. Ka mohlala, sena ke Cassandra, MongoDB, Redis kapa Tarantool. Litharollo tsena kaofela li ne li batla ho fa 'maraka ntho e ncha e ncha le ho nka sebaka sa bona sa marang-rang hobane ho ile ha fumaneha hore se loketse haholo mesebetsing e itseng. Ke tla supa li-database tsena ka sekhele sa NOSQL.

"Li-zero" li felile, re se re tloaetse marang-rang a NOSQL, 'me lefats'e, ho ea ka pono ea ka, le nkile mohato o latelang - ho li-database tse laoloang. Mananeo ana a na le mantlha a tšoanang le a li-database tsa khale tsa OLTP kapa tse ncha tsa NoSQL. Empa ha ba hloke DBA le DevOps mme ba tsamaisa lisebelisoa tse laoloang marung. Bakeng sa moqapi, sena ke "setsi feela" se sebetsang kae-kae, empa ha ho motho ea tsotellang hore na e kenngoa joang ho seva, ea lokiselitseng seva le ea e ntlafatsang.

Mehlala ea li-database tse joalo:

  • AWS RDS ke sephutheloana se laoloang sa PostgreSQL/MySQL.
  • DynamoDB ke analogue ea AWS ea database e thehiloeng ho tokomane, e ts'oanang le Redis le MongoDB.
  • Amazon Redshift ke database e laoloang ea tlhahlobo.

Tsena ke li-database tsa khale, empa li holisitsoe sebakeng se laoloang, ntle le tlhoko ea ho sebetsa ka Hardware.

Hlokomela. Mehlala e nkiloe bakeng sa tikoloho ea AWS, empa li-analogue tsa tsona li teng ho Microsoft Azure, Google Cloud, kapa Yandex.Cloud.

Ha u le tseleng ea ho ea ho database tse se nang seva - joang le hobaneng

Ke eng e ncha ka see? Ka 2020, ha ho le e 'ngoe ea tsena.

Khopolo e se nang seva

Ntho e ncha e hlileng e leng ncha 'marakeng ka 2020 ke tharollo e se nang seva kapa e se nang seva.

Ke tla leka ho hlalosa hore na sena se bolela eng ho sebelisa mohlala oa ts'ebeletso e tloaelehileng kapa ts'ebeliso ea morao-rao.
Ho kenya kopo e tloaelehileng ea backend, re reka kapa re hira seva, re kopitsa khoutu ho eona, re phatlalatsa ntlha ea ho qetela ka ntle 'me kamehla re lefa rente, motlakase le lits'ebeletso tsa setsi sa data. Ena ke morero o tloaelehileng.

Na ho na le tsela e 'ngoe? Ka litšebeletso tse se nang seva u ka khona.

Sepheo sa mokhoa ona ke sefe: ha ho na seva, ha ho na ho hira mohlala oa sebele marung. Ho tsamaisa ts'ebeletso, kopitsa khoutu (mesebetsi) sebakeng sa polokelo ebe u e phatlalatsa ho fihlela qetellong. Ebe re lefa feela pitso e 'ngoe le e' ngoe mosebetsing ona, re hlokomoloha ka ho feletseng hardware moo e etsoang teng.

Ke tla leka ho hlalosa mokhoa ona ka litšoantšo.
Ha u le tseleng ea ho ea ho database tse se nang seva - joang le hobaneng

Tšebeliso ea khale. Re na le tšebeletso e nang le mojaro o itseng. Re hlahisa maemo a mabeli: li-server kapa maemo ho AWS. Likopo tsa kantle li romelloa liketsahalong tsena 'me li sebetsoa moo.

Joalokaha u bona setšoantšong, li-server ha li lahloe ka ho lekana. E 'ngoe e sebelisoa ka 100%, ho na le likopo tse peli,' me e 'ngoe ke 50% feela - e sa sebetse ka mokhoa o itseng. Haeba ho se likopo tse tharo tse fihlang, empa 30, joale tsamaiso eohle e ke ke ea khona ho sebetsana ka katleho le mojaro 'me e tla qala ho fokotseha.

Ha u le tseleng ea ho ea ho database tse se nang seva - joang le hobaneng

Tšebeliso e se nang seva. Sebakeng se se nang seva, ts'ebeletso e joalo ha e na maemo kapa li-server. Ho na le letamo le itseng la lisebelisoa tse futhumetseng - lijana tse nyane tse lokiselitsoeng tsa Docker tse nang le khoutu ea ts'ebetso e kentsoeng. Sistimi e amohela likopo tsa kantle mme bakeng sa e 'ngoe le e' ngoe ea tsona moralo o se nang seva o phahamisa setshelo se senyenyane se nang le khoutu: e sebetsana le kopo ena mme e bolaea setshelo.

Kopo e le 'ngoe - setshelo se le seng se phahamisitsoe, likopo tse 1000 - lijana tse 1000. 'Me ho romelloa ho li-server tsa hardware e se e ntse e le mosebetsi oa mofani oa maru. E patiloe ka ho feletseng ke moralo o se nang seva. Mohopolong ona re lefella mohala o mong le o mong. Mohlala, mohala o le mong o ile oa tla ka letsatsi - re lefile mohala o le mong, milione e ile ea tla ka motsotso - re lefile milione. Kapa ka motsotsoana, sena le sona sea etsahala.

Khopolo ea ho phatlalatsa mosebetsi o se nang seva e loketse tšebeletso e se nang naha. 'Me haeba u hloka (boemo) tšebeletso e feletseng, joale re eketsa database ho tšebeletso. Tabeng ena, ha ho tluoa tabeng ea ho sebetsa le mmuso, mosebetsi o mong le o mong oa statefull o ngola feela le ho bala ho tsoa ho database. Ho feta moo, ho tsoa ho database ea mofuta ofe kapa ofe oa mefuta e meraro e hlalositsoeng qalong ea sengoloa.

Khaello e tloaelehileng ea li-database tsee kaofela ke efe? Tsena ke litšenyehelo tsa leru le sebelisoang kamehla kapa seva sa hardware (kapa li-server tse 'maloa). Ho sa tsotellehe hore na re sebelisa database ea khale kapa e laoloang, ebang re na le Devops le admin kapa che, re ntse re lefella hardware, motlakase le khiriso ea data center 24/7. Haeba re na le motheo oa khale, re lefa monghali le lekhoba. Haeba e le database e laetsoeng haholo, re lefa li-server tse 10, 20 kapa tse 30, 'me re lefa kamehla.

Ho ba teng ha li-server tse bolokiloeng ka ho sa feleng mohahong oa litšenyehelo ho ne ho nkoa e le bobe bo hlokahalang. Li-database tse tloaelehileng le tsona li na le mathata a mang, joalo ka meeli ea palo ea likhokahano, lithibelo tsa ho lekanya, tumellano e abuoang ka geo - li ka rarolloa ka mokhoa o itseng litsing tse itseng, empa eseng ka nako e le 'ngoe mme eseng hantle.

Database e se nang seva - khopolo

Potso ea 2020: na hoa khoneha ho etsa hore database e se ke ea sebetsa? Motho e mong le e mong o utloile ka backend e se nang seva ... a re lekeng ho etsa hore database e se be seva?

Sena se utloahala se makatsa, hobane database ke ts'ebeletso e felletseng, ha e tšoanelehe haholo bakeng sa meaho e se nang seva. Ka nako e ts'oanang, boemo ba database bo boholo haholo: li-gigabytes, terabytes, le li-database tsa analytical esita le li-petabytes. Ha ho bonolo ho e phahamisa ka lijaneng tsa Docker tse bobebe.

Ka lehlakoreng le leng, hoo e batlang e le li-database tsa morao-rao li na le palo e kholo ea lintlha le likaroloana: litšebelisano, khokahanyo ea botšepehi, mekhoa ea mekhoa, ho itšetleha ka likamano le mabaka a mangata. Bakeng sa lintlha tse ngata tsa database, boemo bo nyane bo lekane. Li-Gigabyte le Terabyte li sebelisoa ka kotloloho ke karolo e nyane feela ea logic ea database e amehang ho etseng lipotso ka kotloloho.

Ka hona, mohopolo ke hore: haeba karolo ea mohopolo e lumella ho bolaoa ka mokhoa o sa reroang, hobaneng o sa arole motheo ka likarolo tsa Stateful le Stateless.

Ha e na seva bakeng sa tharollo ea OLAP

Ha re boneng hore na ho seha polokelong ea litaba hore e be likarolo tsa Stateful le Stateless ho ka shebahala joang ho sebelisa mehlala e sebetsang.

Ha u le tseleng ea ho ea ho database tse se nang seva - joang le hobaneng

Ka mohlala, re na le database ea analytical: data ea kantle (cylinder e khubelu ka letsohong le letšehali), ts'ebetso ea ETL e kenyang data ho database, le mohlahlobi ea romellang lipotso tsa SQL ho database. Ena ke leano la khale la ts'ebetso ea polokelo ea data.

Lenaneong lena, ETL e etsoa hang ka maemo. Ebe u hloka ho lula u lefa li-server tseo database e tsamaisang data e tlatsitsoeng ka ETL, e le hore ho be le ho hong ho romella lipotso ho eona.

Ha re shebeng mokhoa o mong o sebelisitsoeng ho AWS Athena Serverless. Ha ho na hardware e inehetseng ka ho sa feleng moo data e jarollotsoeng e bolokiloeng teng. Sebakeng sa sena:

  • Mosebelisi o fana ka potso ea SQL ho Athena. Athena optimizer e sekaseka potso ea SQL mme e batlisisa lebenkele la metadata (Metadata) bakeng sa lintlha tse hlokahalang ho phethahatsa potso.
  • optimizer, e ipapisitseng le data e bokelletsoeng, e khoasolla datha e hlokahalang ho tsoa mehloling e kantle ho polokelo ea nakoana (database ea nakoana).
  • Potso ea SQL ho tsoa ho mosebelisi e etsoa polokelong ea nakoana mme sephetho se khutlisetsoa ho mosebelisi.
  • Polokelo ea nakoana e hlakotsoe 'me lisebelisoa lia lokolloa.

Ka mohaho ona, re lefella feela mokhoa oa ho phethahatsa kopo. Ha ho likopo - ha ho litšenyehelo.

Ha u le tseleng ea ho ea ho database tse se nang seva - joang le hobaneng

Ena ke mokhoa o sebetsang 'me ha o sebelisoe feela ho Athena Serverless, empa hape le Redshift Spectrum (ka AWS).

Mohlala oa Athena o bontša hore database ea Serverless e sebetsa lipotsong tsa 'nete ka mashome le makholo a Terabyte ea data. Li-Terabyte tse makholo li tla hloka li-server tse makholo, empa ha ho hlokahale hore re li lefelle - re lefella likōpo. Lebelo la kopo e 'ngoe le e' ngoe le (haholo) le tlase ha le bapisoa le li-database tse khethehileng tsa tlhahlobo tse kang Vertica, empa ha re lefelle nako ea ho fokotsa nako.

Database e joalo e sebetsa bakeng sa lipotso tse sa tloaelehang tsa tlhahlobo ea ad-hoc. Ka mohlala, ha re etsa qeto ka boithaopo ho leka khopolo-taba ka bongata bo boholo ba data. Athena e nepahetse bakeng sa linyeoe tsena. Bakeng sa likopo tse tloaelehileng, tsamaiso e joalo e theko e boima. Tabeng ena, boloka data ka tharollo e khethehileng.

E se nang seva bakeng sa tharollo ea OLTP

Mohlala o fetileng o shebile mesebetsi ea OLAP (analytical). Joale ha re shebeng mesebetsi ea OLTP.

Ha re nahane ka PostgreSQL kapa MySQL e ka senyehang. Ha re hlahiseng mohlala o laoloang kamehla PostgreSQL kapa MySQL ka lisebelisoa tse fokolang. Ha mohlala o fumana mojaro o mongata, re tla hokahanya likopi tse ling tseo re tla aba karolo ea mojaro oa ho bala. Haeba ho se na likopo kapa mojaro, re tima likopi. Mohlala oa pele ke monghali, 'me tse ling kaofela ke likopi.

Mohopolo ona o kengoa ts'ebetsong polokelong ea polokelo e bitsoang Aurora Serverless AWS. Molao-motheo o bonolo: likopo tse tsoang lits'ebetsong tsa kantle li amoheloa ke likepe tsa proxy. Ha e bona mojaro o eketseha, e abela lisebelisoa tsa komporo ho tsoa maemong a fokolang a futhumetseng pele - khokahano e etsoa kapele kamoo ho ka khonehang. Liketsahalo tsa ho thibela li etsahala ka tsela e ts'oanang.

Ka hare ho Aurora ho na le mohopolo oa Aurora Capacity Unit, ACU. Sena ke (maemo) mohlala (seva). E 'ngoe le e' ngoe ea ACU e khethehileng e ka ba monghali kapa lekhoba. Setsi se seng le se seng sa Bokhoni se na le RAM ea sona, processor le disk e nyane. Ka hona, e 'ngoe ke master, tse ling kaofela li baloa likopi feela.

Palo ea likarolo tsena tsa Aurora Capacity tse sebetsang ke parameter e ka lokisoang. Palo e fokolang e ka ba e le 'ngoe kapa zero (tabeng ena, database ha e sebetse haeba ho se na likopo).

Ha u le tseleng ea ho ea ho database tse se nang seva - joang le hobaneng

Ha setsi se amohela likopo, likepe tsa proxy li phahamisa Aurora CapacityUnits, ho eketsa lisebelisoa tsa ts'ebetso ea sistimi. Bokhoni ba ho eketsa le ho fokotsa lisebelisoa bo lumella sistimi ho "juggle" lisebelisoa: e bonts'a li-ACU ka botsona (ho li nkela sebaka ka tse ncha) le ho fana ka lintlafatso tsohle tsa hajoale ho lisebelisoa tse tlositsoeng.

Setsi sa Aurora Serverless se ka lekanya mojaro oa ho bala. Empa litokomane ha li bue sena ka ho toba. E ka 'na ea ikutloa eka ba ka phahamisa li-multi-master. Ha ho na boselamose.

Database ena e loketse hantle ho qoba ho sebelisa chelete e ngata ho litsamaiso tse nang le phihlello e sa lebelloang. Ka mohlala, ha re theha MVP kapa libaka tsa likarete tsa khoebo tsa papatso, hangata ha rea ​​lebella mojaro o tsitsitseng. Ka hona, haeba ho se na phihlello, ha re lefelle linyeoe. Ha mojaro o sa lebelloang o etsahala, ka mohlala ka mor'a seboka kapa letšolo la papatso, matšoele a batho a etela sebaka seo 'me mojaro o eketseha haholo, Aurora Serverless e nka mojaro ona ka boomo 'me ka potlako e hokahanya lisebelisoa tse sieo (ACU). Ebe seboka se feta, motho e mong le e mong o lebala ka mohlala, li-server (ACU) lia fifala, 'me litšenyehelo li theohela ho zero - tse loketseng.

Tharollo ena ha e tšoanelehe bakeng sa maemo a phahameng a tsitsitseng hobane ha e lekanye moroalo oa ho ngola. Likhokahano tsena kaofela le ho khaoha ha lisebelisoa li etsahala sebakeng seo ho thoeng ke "scale point" - nako eo database e sa tšehetsoeng ke transaction kapa litafole tsa nakoana. Ka mohlala, ka mor'a beke tekanyo ea tekanyo e ka 'na ea se ke ea etsahala,' me motheo o sebetsa ho lisebelisoa tse tšoanang 'me ha o khone ho atolosa kapa ho fokotsa.

Ha ho na boselamose - ke PostgreSQL e tloaelehileng. Empa ts'ebetso ea ho eketsa mechini le ho e khaola e entsoe ka mokhoa o itseng.

E se nang seva ka moralo

Aurora Serverless ke database ea khale e ngotsoeng hape bakeng sa leru ho nka monyetla oa melemo e meng ea Serverless. 'Me joale ke tla u bolella ka setsi, se neng se ngotsoe qalong bakeng sa leru, bakeng sa mokhoa o se nang seva - Serverless-by-design. E ile ea ntlafatsoa hang-hang ntle le maikutlo a hore e tla sebetsa ho li-server tsa 'mele.

Setsi sena se bitsoa Snowflake. E na le liboloko tse tharo tsa linotlolo.

Ha u le tseleng ea ho ea ho database tse se nang seva - joang le hobaneng

Ea pele ke metadata block. Ena ke ts'ebeletso e potlakileng ea mohopolong e rarollang mathata ka ts'ireletso, metadata, transactions, le ho ntlafatsa lipotso (e bonts'itsoeng setšoantšong se ka letsohong le letšehali).

Sebaka sa bobeli ke sehlopha sa lihlopha tsa lik'homphieutha tsa sebele bakeng sa lipalo (setšoantšong ho na le lihlopha tsa li-circles tse putsoa).

Thibelo ea boraro ke mokhoa oa ho boloka data o thehiloeng ho S3. S3 ke polokelo ea lintho e se nang moeli ho AWS, e kang Dropbox e se nang moeli bakeng sa khoebo.

Ha re boneng hore na Snowflake e sebetsa joang, ho nka qalo e batang. Ke hore, ho na le database, data e kentsoe ho eona, ha ho na lipotso tse tsamaeang. Ka hona, haeba ho se na likopo ho database, joale re phahamisitse tšebeletso ea Metadata ea memori e potlakileng (block block). 'Me re na le polokelo ea S3, moo data ea tafole e bolokiloeng teng, e arotsoe ka seo ho thoeng ke li-micropartitions. Bakeng sa bonolo: haeba tafole e na le litšebelisano, joale li-micropartitions ke matsatsi a litšebelisano. Letsatsi le leng le le leng ke micropartition e arohaneng, faele e arohaneng. 'Me ha database e sebetsa ka mokhoa ona, u lefella feela sebaka se nkiloeng ke data. Ho feta moo, sekhahla ka setulo se tlaase haholo (haholo-holo ho nahanela khatello ea bohlokoa). Ts'ebeletso ea metadata le eona e sebetsa khafetsa, empa ha u hloke lisebelisoa tse ngata ho ntlafatsa lipotso, 'me tšebeletso e ka nkoa e le shareware.

Joale ha re nahane hore mosebelisi o ile a tla ho database ea rona mme a romella potso ea SQL. Potso ea SQL e romelloa hang-hang ho tšebeletso ea Metadata bakeng sa ho sebetsa. Ka hona, ha e fumana kopo, ts'ebeletso ena e sekaseka kopo, lintlha tse fumanehang, tumello ea basebelisi mme, haeba tsohle li lokile, e etsa moralo oa ho sebetsana le kopo.

Ka mor'a moo, tšebeletso e qala ho qalisoa ha sehlopha sa k'homphieutha. A computing cluster ke sehlopha sa li-server tse etsang lipalo. Ke hore, ena ke sehlopha se ka ba le seva se le seng, li-server tse 1, 2, 4, 8, 16 - tse ngata kamoo u batlang. U lahlela kopo mme ho qalisoa ha sehlopha sena hang-hang ho qala. E hlile e nka metsotsoana.

Ha u le tseleng ea ho ea ho database tse se nang seva - joang le hobaneng

Ka mor'a moo, ka mor'a hore sehlopha se qale, li-micropartitions tse hlokahalang ho sebetsana le kopo ea hau li qala ho kopitsoa ka har'a sehlopha ho tloha ho S3. Ke hore, ha re nahane hore ho etsa potso ea SQL o hloka likarolo tse peli ho tloha tafoleng e le 'ngoe le e' ngoe ho tloha ho ea bobeli. Tabeng ena, ke likarolo tse tharo feela tse hlokahalang tse tla kopitsoa sehlopheng, eseng litafole tsohle ka ho feletseng. Ke ka lebaka leo, 'me hantle hobane ntho e' ngoe le e 'ngoe e teng ka har'a setsi se le seng sa data mme se kopantsoe ke liteishene tse potlakileng haholo, ts'ebetso eohle ea phetisetso e etsahala ka potlako haholo: ka metsotsoana, ka seoelo haholo ka metsotso, ntle le haeba re bua ka likopo tse ling tse nyarosang. Ka hona, li-micropartitions li kopitsoa ho sehlopha sa likhomphutha, 'me, ha se phethiloe, potso ea SQL e etsoa sehlopheng sena sa komporo. Sephetho sa kopo ena e ka ba mohala o le mong, mela e 'maloa kapa tafole - e romelloa ka ntle ho mosebelisi e le hore a ka e jarolla, a e bonts'a sesebelisoa sa hae sa BI, kapa a e sebelise ka tsela e' ngoe.

Potso e 'ngoe le e' ngoe ea SQL ha e khone ho bala feela likakaretso ho tsoa ho data e kentsoeng pele, empa hape e kenya / hlahisa lintlha tse ncha sebakeng sa polokelo ea litaba. Ke hore, e ka ba potso eo, ka mohlala, e kenyang litlaleho tse ncha tafoleng e 'ngoe, e lebisang ponahalong ea karohano e ncha sehlopheng sa computing, eo, ka lehlakoreng le leng, e boloketsoeng ka mokhoa o le mong oa polokelo ea S3.

Boemo bo hlalositsoeng ka holimo, ho tloha ha mosebelisi a fihla ho fihlela ho phahamisoa ha sehlopha, ho kenya data, ho etsa lipotso, ho fumana liphetho, ho lefshoa ka sekhahla sa metsotso ea ho sebelisa sehlopha se phahamisitsoeng sa komporo, sebaka sa polokelo ea thepa. Sekhahla se fapana ho latela sebaka sa AWS le boholo ba sehlopha, empa ka karolelano ke lidolara tse 'maloa ka hora. Sehlopha sa mechine e mene se bitsa chelete e ngata habeli ho feta sehlopha sa mechine e ’meli, ’me sehlopha sa mechine e robeli se ntse se bitsa chelete e ngata ka makhetlo a mabeli. Khetho ea 16, mechini ea 32 e teng, ho latela ho rarahana ha likopo. Empa u lefella metsotso eo feela ha sehlopha se ntse se sebetsa, hobane ha ho se na likopo, u ka tlosa matsoho, 'me ka mor'a metsotso e 5-10 ea ho leta (parameter e ka lokisoang) e tla itsamaela, lokolla lisebelisoa 'me u be mahala.

Boemo bo utloahalang ka ho feletseng ke ha u romela kopo, sehlopha sea hlaha, ka motsotsoana, se bala motsotso o mong, ebe metsotso e mehlano ho koala, 'me u qetella u lefa metsotso e supileng ea ts'ebetso ea sehlopha sena,' eseng bakeng sa likhoeli le lilemo.

Boemo ba pele bo hlalositsoeng ho sebelisoa Snowflake sebakeng sa mosebelisi a le mong. Joale a re nahaneng hore ho na le basebelisi ba bangata, e leng haufi le boemo ba sebele.

Ha re re re na le bahlahlobisisi ba bangata le litlaleho tsa Tableau tse lulang li hlasela database ea rona ka palo e kholo ea lipotso tse bonolo tsa tlhahlobo ea SQL.

Ntle le moo, ha re re re na le bo-ramahlale ba data ba lekang ho etsa lintho tse nyarosang ka data, ba sebetsa ka li-Terabyte tse mashome, ba sekaseka mela e limilione tse likete le libilione tsa data.

Bakeng sa mefuta e 'meli ea mosebetsi o hlalositsoeng ka holimo, Snowflake e u lumella ho phahamisa lihlopha tse' maloa tse ikemetseng tsa lik'homphieutha tsa bokhoni bo fapaneng. Ho feta moo, lihlopha tsena tsa likhomphutha li sebetsa ka boikemelo, empa ka data e ts'oanang e ts'oanang.

Bakeng sa palo e kholo ea lipotso tse bobebe, o ka phahamisa lihlopha tse nyane tse 2-3, mochini o mong le o mong o ka bang 2. Boitšoaro bona bo ka kengoa tšebetsong, har'a tse ling, ho sebelisoa litlhophiso tsa othomathiki. Ka hona u re, “Lehloa la lehloa, phahamisa sehlopha se senyenyane. Haeba mojaro ho eona o eketseha ka holim'a parameter e itseng, phahamisa motsotsoana o tšoanang, oa boraro. Ha mojaro o qala ho kokobela, tima ho feteletseng.” E le hore ho sa tsotellehe hore na ke bahlahlobisisi ba bakae ba tlang 'me ba qale ho sheba litlaleho, bohle ba na le lisebelisoa tse lekaneng.

Ka nako e ts'oanang, haeba bahlahlobisisi ba robetse 'me ha ho motho ea shebang litlaleho, lihlopha li ka' na tsa fifala ka ho feletseng, 'me u khaotsa ho li lefa.

Ka nako e ts'oanang, bakeng sa lipotso tse boima (ho tloha ho Data Scientists), o ka phahamisa sehlopha se le seng se seholo haholo bakeng sa mechine e 32. Sehlopha sena se tla lefshoa feela bakeng sa metsotso le lihora tseo kopo ea hau e kholo e sebetsang moo.

Monyetla o hlalositsoeng ka holimo o u lumella ho arola 2 feela, empa hape le mefuta e mengata ea mosebetsi ka lihlopha (ETL, monitoring, report materialization,...).

A re ke re akaretsa Snowflake. Motheo o kopanya mohopolo o motle le ts'ebetsong e sebetsang. Ho ManyChat, re sebelisa Snowflake ho hlahloba lintlha tsohle tseo re nang le tsona. Ha re na lihlopha tse tharo, joalo ka mohlala, empa ho tloha ho 5 ho isa ho 9, tsa boholo bo fapaneng. Re na le mochini o tloaelehileng oa 16, mochini o 2, hape le mochini o le mong o monyane haholo bakeng sa mesebetsi e meng. Ba atleha ho aba mojaro 'me ba re lumella ho boloka chelete e ngata.

Database e atleha ho lekanya boima ba ho bala le ho ngola. Ena ke phapang e kholo le katleho e kholo ha e bapisoa le "Aurora" e tšoanang, e neng e jara feela mojaro oa ho bala. Snowflake e u lumella ho lekanya mosebetsi oa hau oa ho ngola ka lihlopha tsena tsa likhomphutha. Ke hore, joalokaha ke boletse, re sebelisa lihlopha tse 'maloa ho ManyChat, lihlopha tse nyenyane le tse nyenyane haholo li sebelisoa haholo bakeng sa ETL, bakeng sa ho kenya data. 'Me bahlahlobisisi ba se ba ntse ba phela ka lihlopha tse mahareng, tse sa angoeng ke mojaro oa ETL, kahoo li sebetsa ka potlako haholo.

Ka hona, database e loketse hantle mesebetsi ea OLAP. Leha ho le joalo, ka bomalimabe, ha e so sebetse bakeng sa mojaro oa mosebetsi oa OLTP. Taba ea pele, database ena ke columnar, ka litlamorao tsohle tse latelang. Taba ea bobeli, mokhoa ona ka boeona, ha kopo e 'ngoe le e' ngoe e hlokahala, ha ho hlokahala, o phahamisa sehlopha sa komporo ebe o e tšela ka data, ka bomalimabe, ha e so potlake ka ho lekana bakeng sa meroalo ea OLTP. Ho ema metsotsoana bakeng sa mesebetsi ea OLAP ho tloaelehile, empa bakeng sa mesebetsi ea OLTP ha hoa amoheleha; 100 ms e ka ba betere, kapa 10 ms e ka ba betere le ho feta.

Phello

Sebaka sa polokelo ea marang-rang se se nang seva sea khoneha ka ho arola database ka likarolo tse se nang Naha le tsa Stateful. E ka 'na eaba u hlokometse hore mehlaleng eohle e ka holimo, karolo ea Stateful, ha e le hantle, e boloka li-micro-partitions ho S3, le Stateless ke optimizer, e sebetsanang le metadata, e sebetsanang le litaba tsa ts'ireletso tse ka hlahisoang e le litšebeletso tse ikemetseng tse se nang naha.

Ho etsa lipotso tsa SQL ho ka boela ha nkoa e le lits'ebeletso tse bobebe tse ka hlahang ka mokhoa o se nang seva, joalo ka lihlopha tsa k'homphieutha tsa Snowflake, ho khoasolla lintlha tse hlokahalang feela, ho phethahatsa potso le ho "tsoa."

Li-database tsa boemo ba tlhahiso e se nang seva li se li fumaneha bakeng sa tšebeliso, lia sebetsa. Li-database tsena tse se nang seva li se li loketse ho sebetsana le mesebetsi ea OLAP. Ka bomalimabe, bakeng sa mesebetsi ea OLTP li sebelisoa ... ka li-nuances, kaha ho na le meeli. Ka lehlakoreng le leng, sena ke ho tlosa. Empa, ka lehlakoreng le leng, ona ke monyetla. Mohlomong e mong oa babali o tla fumana mokhoa oa ho etsa hore database ea OLTP e se ke ea sebetsa ka botlalo, ntle le meeli ea Aurora.

Ke tšepa hore u e fumane e thahasellisa. Serverless ke bokamoso :)

Source: www.habr.com

Eketsa ka tlhaloso