Air an t-slighe gu stòran-dàta gun fhrithealaiche - ciamar agus carson

Hi uile! Is e m ’ainm Golov Nikolay. Roimhe sin, bha mi ag obair aig Avito agus a’ riaghladh an Àrd-ùrlar Dàta airson sia bliadhna, is e sin, bha mi ag obair air a h-uile stòr-dàta: anailis (Vertica, ClickHouse), sruthadh agus OLTP (Redis, Tarantool, VoltDB, MongoDB, PostgreSQL). Rè na h-ùine seo, dhèilig mi ri àireamh mhòr de stòran-dàta - glè eadar-dhealaichte agus neo-àbhaisteach, agus le cùisean neo-àbhaisteach den cleachdadh.

Tha mi ag obair aig ManyChat an-dràsta. Gu dearbh, is e toiseach tòiseachaidh a tha seo - ùr, àrd-amasach agus a’ fàs gu luath. Agus nuair a chaidh mi a-steach don chompanaidh an toiseach, dh’ èirich ceist chlasaigeach: “Dè a bu chòir do neach-tòiseachaidh òg a-nis a thoirt bhon mhargaidh DBMS agus stòr-dàta?”

San artaigil seo, stèidhichte air an aithisg agam aig fèis air-loidhne RIT++2020, freagraidh mi a' cheist so. Tha dreach bhidio den aithisg ri fhaighinn aig YouTube.

Air an t-slighe gu stòran-dàta gun fhrithealaiche - ciamar agus carson

Stòran-dàta aithnichte 2020

Is e 2020 a th’ ann, choimhead mi timcheall agus chunnaic mi trì seòrsaichean de stòran-dàta.

A' chiad sheòrsa - Stòr-dàta OLTP clasaigeach: PostgreSQL, SQL Server, Oracle, MySQL. Chaidh an sgrìobhadh o chionn fhada, ach tha iad fhathast buntainneach leis gu bheil iad cho eòlach air a’ choimhearsnachd leasaiche.

Tha an dàrna seòrsa bunaitean bho "zero". Dh’ fheuch iad ri gluasad air falbh bho phàtranan clasaigeach le bhith a’ trèigsinn SQL, structaran traidiseanta agus ACID, le bhith a’ cur sharding togte agus feartan tarraingeach eile ris. Mar eisimpleir, is e seo Cassandra, MongoDB, Redis no Tarantool. Bha na fuasglaidhean sin uile ag iarraidh rudeigin bunaiteach ùr a thabhann don mhargaidh agus ghabh iad thairis an àite sònraichte oir bha iad air leth goireasach airson gnìomhan sònraichte. Comharraichidh mi na stòran-dàta sin leis an teirm sgàile NOSQL.

Tha na “neoni” seachad, fhuair sinn cleachdte ri stòran-dàta NOSQL, agus ghabh an saoghal, bho mo shealladh, an ath cheum - gu stòran-dàta fo stiùir. Tha an aon bhunait aig na stòran-dàta sin ri stòran-dàta clasaigeach OLTP no feadhainn ùra NoSQL. Ach chan eil feum aca air DBA agus DevOps agus bidh iad a’ ruith air bathar-cruaidh fo stiùir anns na sgòthan. Airson leasaiche, is e “dìreach bunait” a tha seo a bhios ag obair am badeigin, ach chan eil dragh air duine ciamar a tha e air a chuir a-steach air an fhrithealaiche, cò a shuidhich am frithealaiche agus cò a dh’ ùraicheas e.

Eisimpleirean de stòran-dàta mar seo:

  • Tha AWS RDS na phasgan stiĂširichte airson PostgreSQL / MySQL.
  • Tha DynamoDB na analog AWS de stòr-dĂ ta stèidhichte air sgrĂŹobhainnean, coltach ri Redis agus MongoDB.
  • Tha Amazon Redshift na stòr-dĂ ta anailis air a riaghladh.

Is e seann stòran-dàta a tha seo gu bunaiteach, ach air an togail ann an àrainneachd stiÚirichte, gun fheum a bhith ag obair le bathar-cruaidh.

Thoir an aire. Tha na h-eisimpleirean air an toirt airson Ă rainneachd AWS, ach tha na h-eadar-dhealachaidhean aca ann am Microsoft Azure, Google Cloud, no Yandex.Cloud cuideachd.

Air an t-slighe gu stòran-dàta gun fhrithealaiche - ciamar agus carson

Dè tha Úr mu dheidhinn seo? Ann an 2020, cha robh gin de seo.

Bun-bheachd gun fhrithealaiche

Is e an rud a tha dha-rìribh ùr air a’ mhargaidh ann an 2020 fuasglaidhean gun fhrithealaiche no gun fhrithealaiche.

Feuchaidh mi ri mìneachadh dè tha seo a’ ciallachadh a’ cleachdadh an eisimpleir de sheirbheis cunbhalach no tagradh backend.
Gus tagradh backend cunbhalach a chuir a-steach, bidh sinn a’ ceannach no a ’toirt air màl frithealaiche, a’ dèanamh lethbhreac den chòd air, a ’foillseachadh a’ phuing crìochnachaidh taobh a-muigh agus a ’pàigheadh ​​​​gu cunbhalach airson màl, dealan agus seirbheisean ionad dàta. Is e seo an sgeama àbhaisteach.

A bheil dòigh sam bith eile ann? Le seirbheisean gun fhrithealaiche faodaidh tu.

Dè am fòcas a tha san dòigh-obrach seo: chan eil frithealaiche ann, chan eil eadhon eisimpleir brìgheil air màl san sgòth. Gus an t-seirbheis a chleachdadh, dèan lethbhreac den chòd (gnìomhan) chun an stòr agus foillsich e chun phuing crìochnachaidh. An uairsin bidh sinn dìreach a’ pàigheadh ​​​​airson gach gairm chun ghnìomh seo, a ’seachnadh gu tur am bathar-cruaidh far a bheil e air a chuir gu bàs.

Feuchaidh mi ris an dòigh-obrach seo a nochdadh le dealbhan.
Air an t-slighe gu stòran-dàta gun fhrithealaiche - ciamar agus carson

Cleachdadh clasaigeach. Tha seirbheis againn le luchd sònraichte. Bidh sinn a’ togail dà chùis: frithealaichean corporra no eisimpleirean ann an AWS. Bithear a’ cur iarrtasan bhon taobh a-muigh gu na suidheachaidhean sin agus gan làimhseachadh an sin.

Mar a chì thu san dealbh, chan eilear a’ faighinn cuidhteas na frithealaichean gu co-ionann. Tha aon dhiubh 100% air a chleachdadh, tha dà iarrtas ann, agus chan eil aon ann ach 50% - gu ìre leisg. Mura ruig trì iarrtasan, ach 30, cha bhith e comasach don t-siostam gu lèir dèiligeadh ris an luchd agus tòisichidh e a’ fàs nas slaodaiche.

Air an t-slighe gu stòran-dàta gun fhrithealaiche - ciamar agus carson

Cleachdadh gun fhrithealaiche. Ann an àrainneachd gun fhrithealaiche, chan eil suidheachaidhean no frithealaichean aig a leithid de sheirbheis. Tha cruinneachadh sònraichte de ghoireasan teasachaidh ann - soithichean beaga Docker ullaichte le còd gnìomh air a chleachdadh. Bidh an siostam a’ faighinn iarrtasan bhon taobh a-muigh agus airson gach fear dhiubh bidh am frèam gun fhrithealaiche a’ togail soitheach beag le còd: bidh e a’ pròiseasadh an iarrtais shònraichte seo agus a’ marbhadh an t-soithich.

Aon iarrtas - aon soitheach air a thogail, 1000 iarrtas - 1000 inneal. Agus tha cleachdadh air frithealaichean bathar-cruaidh mar-thà mar obair an t-solaraiche sgòthan. Tha e gu tur falaichte leis an fhrèam gun fhrithealaiche. Anns a 'bhun-bheachd seo bidh sinn a' pàigheadh ​​​​airson a h-uile gairm. Mar eisimpleir, thàinig aon ghairm san latha - phàigh sinn airson aon ghairm, thàinig millean sa mhionaid - phàigh sinn millean. No ann an diog, bidh seo a’ tachairt cuideachd.

Tha bun-bheachd foillseachadh gnÏomh gun fhrithealaiche freagarrach airson seirbheis gun stàit. Agus ma tha feum agad air seirbheis stàiteil (stàite), cuiridh sinn stòr-dàta ris an t-seirbheis. Anns a 'chÚis seo, nuair a thig e gu bhith ag obair le stàite, bidh gach gnÏomh stàiteil dÏreach a' sgrÏobhadh agus a 'leughadh bhon stòr-dàta. A bharrachd air an sin, bho stòr-dàta de gin de na trÏ seòrsaichean a chaidh a mhÏneachadh aig toiseach an artaigil.

Dè an cuingealachadh cumanta a tha aig na stòran-dàta sin uile? Is iad sin cosgaisean frithealaiche sgòthan no bathar-cruaidh a thathas a’ cleachdadh gu cunbhalach (no grunn luchd-frithealaidh). Chan eil e gu diofar an cleachd sinn stòr-dàta clasaigeach no stiùirichte, ge bith a bheil Devops agus rianadair againn no nach eil, bidh sinn fhathast a’ pàigheadh ​​airson bathar-cruaidh, dealan agus màl ionad dàta 24/7. Ma tha bunait clasaigeach againn, bidh sinn a 'pàigheadh ​​​​airson maighstir agus tràill. Mas e stòr-dàta làn luchdaichte a th’ ann, bidh sinn a’ pàigheadh ​​airson frithealaichean 10, 20 no 30, agus bidh sinn a’ pàigheadh ​​an-còmhnaidh.

Bha làthaireachd luchd-frithealaidh maireannach anns an structar cosgais air a mheas roimhe seo mar olc riatanach. Tha duilgheadasan eile aig stòran-dàta gnàthach cuideachd, leithid crÏochan air an àireamh de cheanglaichean, cuingealachaidhean sgèileadh, co-aontachd geo-sgaoileadh - faodaidh iad dòigh air choireigin fhuasgladh ann an stòran-dàta sònraichte, ach chan eil iad uile aig an aon àm agus chan ann gu h-iomchaidh.

Stòr-dàta Serverless - teòiridh

Ceist 2020: a bheil e comasach stòr-dàta a dhèanamh gun fhrithealaiche cuideachd? Tha a h-uile duine air cluinntinn mun backend gun fhrithealaiche... feuch an dèan sinn an stòr-dàta gun fhrithealaiche?

Tha seo neònach, oir tha an stòr-dàta na sheirbheis stàiteil, nach eil gu math freagarrach airson bun-structar gun fhrithealaiche. Aig an aon àm, tha staid an stòr-dàta glè mhòr: gigabytes, terabytes, agus ann an stòran-dàta anailis eadhon petabytes. Chan eil e cho furasta a thogail ann an soithichean aotrom Docker.

Air an làimh eile, tha cha mhòr a h-uile stòr-dàta ùr-nodha a 'toirt a-steach mòran loidsig agus co-phàirtean: gnothaichean, co-òrdanachadh iomlanachd, modhan-obrach, eisimeileachd dàimh agus mòran loidsig. Airson tòrr loidsig stòr-dàta, tha stàit bheag gu leòr. Tha Gigabytes agus Terabytes air an cleachdadh gu dìreach le dìreach cuibhreann bheag de loidsig an stòr-dàta a tha an sàs ann a bhith a’ coileanadh cheistean gu dìreach.

A rèir sin, is e am beachd: ma tha pàirt den loidsig a’ ceadachadh coileanadh gun stàit, carson nach roinn thu a’ bhunait gu pàirtean Stàite agus gun Stàite.

Gun fhrithealaiche airson fuasglaidhean OLAP

Chì sinn cò ris a bhiodh e coltach a bhith a’ gearradh stòr-dàta ann am pàirtean Stàite is Neo-stàite a’ cleachdadh eisimpleirean practaigeach.

Air an t-slighe gu stòran-dàta gun fhrithealaiche - ciamar agus carson

Mar eisimpleir, tha stòr-dàta anailis againn: dàta taobh a-muigh (siolandair dearg air an taobh chlì), pròiseas ETL a bhios a’ luchdachadh dàta a-steach don stòr-dàta, agus anailisiche a chuireas ceistean SQL chun stòr-dàta. Is e sgeama obrachaidh taigh-bathair dàta clasaigeach a tha seo.

Anns an sgeama seo, tha ETL air a choileanadh le cumhachan aon uair. An uairsin feumaidh tu an-còmhnaidh pàigheadh ​​​​airson na frithealaichean air a bheil an stòr-dàta a ’ruith le dàta air a lìonadh le ETL, gus am bi rudeigin ann airson ceistean a chuir thuige.

Bheir sinn sÚil air dòigh-obrach eile a chaidh a chuir an gnÏomh ann an AWS Athena Serverless. Chan eil bathar-cruaidh sònraichte ann air a bheil dàta a chaidh a luchdachadh sÏos air a stòradh. An àite seo:

  • Bidh an neach-cleachdaidh a’ cur a-steach ceist SQL gu Athena. Bidh an Athena optimizer a’ dèanamh anailis air a’ cheist SQL agus a’ sgrĂšdadh stòr meata-dĂ ta (Metadata) airson an dĂ ta sònraichte a dh’ fheumar gus a’ cheist a chuir an gnĂŹomh.
  • Bidh an optimizer, stèidhichte air an dĂ ta a chaidh a chruinneachadh, a’ luchdachadh sĂŹos an dĂ ta riatanach bho stòran taobh a-muigh gu stòradh sealach (stòr-dĂ ta sealach).
  • Thèid ceist SQL bhon neach-cleachdaidh a chuir gu bĂ s ann an stòradh sealach agus thèid an toradh a thilleadh chun neach-cleachdaidh.
  • Tha stòradh sealach air a ghlanadh agus goireasan air an leigeil ma sgaoil.

Anns an ailtireachd seo, cha bhith sinn a’ pàigheadh ​​ach airson a’ phròiseas airson an t-iarrtas a choileanadh. Gun iarrtasan - gun chosgais.

Air an t-slighe gu stòran-dàta gun fhrithealaiche - ciamar agus carson

Is e dòigh-obrach obrach a tha seo agus tha e air a bhuileachadh chan ann a-mhàin ann an Athena Serverless, ach cuideachd ann an Redshift Spectrum (ann an AWS).

Tha eisimpleir Athena a’ sealltainn gu bheil an stòr-dàta Serverless ag obair air fìor cheistean le deichean is ceudan de Terabytes de dhàta. Feumaidh na ceudan de Terabytes ceudan de luchd-frithealaidh, ach chan fheum sinn pàigheadh ​​​​air an son - bidh sinn a’ pàigheadh ​​​​airson na h-iarrtasan. Tha astar gach iarrtas (glè) ìosal an taca ri stòran-dàta mion-sgrùdaidh sònraichte leithid Vertica, ach cha bhith sinn a’ pàigheadh ​​airson amannan downt.

Tha stòr-dàta mar seo iomchaidh airson ceistean anailis ad-hoc tearc. Mar eisimpleir, nuair a cho-dhÚnas sinn gu neo-eisimeileach deuchainn a dhèanamh air beachd-bharail air tomhas mòr de dhàta. Tha Athena foirfe airson na cÚisean sin. Airson iarrtasan cunbhalach, tha siostam mar seo daor. Anns a 'chÚis seo, cuir an dàta ann am fuasgladh sònraichte.

Gun fhrithealaiche airson fuasglaidhean OLTP

Thug an eisimpleir roimhe seo sĂšil air gnĂŹomhan OLAP (anailis). A-nis leig dhuinn sĂšil a thoirt air gnĂŹomhan OLTP.

Smaoinichidh sinn air PostgreSQL no MySQL scalable. Nach tog sinn eisimpleir air a riaghladh gu cunbhalach PostgreSQL no MySQL le glè bheag de ghoireasan. Nuair a gheibh an t-eisimpleir barrachd luchd, ceangailidh sinn mac-samhail a bharrachd ris an sgaoil sinn pàirt den luchd leughaidh. Mura h-eil iarrtas no luchd ann, cuiridh sinn dheth na mac-samhail. Is e a’ chiad eisimpleir am maighstir, agus tha an còrr nan mac-samhail.

Tha am beachd seo air a bhuileachadh ann an stòr-dàta ris an canar Aurora Serverless AWS. Tha am prionnsapal sìmplidh: tha an luchd-ionaid a’ gabhail ri iarrtasan bho thagraidhean bhon taobh a-muigh. A’ faicinn àrdachadh an luchd, bidh e a’ riarachadh ghoireasan coimpiutaireachd bho shuidheachaidhean ro-bhlàthaichte - tha an ceangal air a dhèanamh cho luath ‘s a ghabhas. Bidh cùisean ciorramach a’ tachairt san aon dòigh.

Taobh a-staigh Aurora tha bun-bheachd Aonad Comas Aurora, ACU. Is e seo (gu cumhach) eisimpleir (frithealaiche). Faodaidh gach ACU sònraichte a bhith na mhaighstir no na thràill. Tha a RAM fhèin, pròiseasar agus glè bheag de dhiosg aig gach Aonad Comas. Mar sin, tha aon na mhaighstir, tha an còrr air an leughadh a-mhàin mac-samhail.

Tha an àireamh de na h-Aonadan Comas Aurora sin a tha a’ ruith mar pharameter rèiteachaidh. Faodaidh an àireamh as lugha a bhith aon no neoni (sa chùis seo, chan obraich an stòr-dàta mura h-eil iarrtasan ann).

Air an t-slighe gu stòran-dàta gun fhrithealaiche - ciamar agus carson

Nuair a bhios am bonn a 'faighinn iarrtasan, bidh an cabhlach proxy a' togail Aurora CapacityUnits, a 'meudachadh goireasan coileanaidh an t-siostaim. Tha an comas air goireasan àrdachadh is ìsleachadh a’ leigeil leis an t-siostam goireasan “juggle” a dhèanamh: ACU fa leth a thaisbeanadh gu fèin-ghluasadach (cuir feadhainn ùra nan àite) agus gach ùrachadh gnàthach a sgaoileadh air na goireasan a chaidh a tharraing air ais.

Faodaidh bunait Aurora Serverless an luchd leughaidh a sgèile. Ach chan eil na sgrìobhainnean ag ràdh seo gu dìreach. Is dòcha gum bi e a’ faireachdainn gun urrainn dhaibh ioma-mhaighstir a thogail. Chan eil draoidheachd ann.

Tha an stòr-dàta seo gu math freagarrach gus airgead mòr a sheachnadh air siostaman le ruigsinneachd nach gabh a thuigsinn. Mar eisimpleir, nuair a bhios sinn a’ cruthachadh làraich cairt gnìomhachais MVP no margaidheachd, mar as trice cha bhith sinn a’ dùileachadh eallach seasmhach. Mar sin, mura h-eil ruigsinneachd ann, cha bhith sinn a’ pàigheadh ​​airson suidheachaidhean. Nuair a thachras luchd ris nach robh dùil, mar eisimpleir às deidh co-labhairt no iomairt sanasachd, bidh sluagh mòr a’ tadhal air an làrach agus bidh an luchd a’ dol suas gu mòr, bidh Aurora Serverless a’ gabhail an luchd seo gu fèin-ghluasadach agus a’ ceangal nan goireasan a tha a dhìth (ACU) gu sgiobalta. An uairsin bidh a ’cho-labhairt seachad, bidh a h-uile duine a’ dìochuimhneachadh mun prototype, bidh na frithealaichean (ACU) a ’dol dorcha, agus bidh cosgaisean a’ tuiteam gu neoni - goireasach.

Chan eil am fuasgladh seo freagarrach airson luchdan seasmhach oir chan eil e a’ sgèile an luchd sgrìobhaidh. Bidh na ceanglaichean agus an dì-cheangal ghoireasan sin uile a’ tachairt aig an “ìre sgèile” ris an canar - àm nuair nach eil malairt no clàran sealach a’ toirt taic don stòr-dàta. Mar eisimpleir, taobh a-staigh seachdain is dòcha nach tachair a’ phuing-sgèile, agus bidh am bonn ag obair air na h-aon ghoireasan agus gu sìmplidh chan urrainn dha leudachadh no cùmhnant.

Chan eil draoidheachd ann - is e PostgreSQL cunbhalach a th 'ann. Ach tha am pròiseas airson innealan a chuir ris agus an dÏ-cheangal gu Ïre fèin-ghluasadach.

Gun seirbheis le dealbhadh

Tha Aurora Serverless na sheann stòr-dàta air ath-sgrìobhadh airson an sgòth gus brath a ghabhail air cuid de na buannachdan bho Serverless. Agus a-nis innsidh mi dhut mun bhunait, a chaidh a sgrìobhadh an toiseach airson an sgòth, airson an dòigh-obrach gun fhrithealaiche - Serverless-by-design. Chaidh a leasachadh sa bhad às aonais a’ bharail gum biodh e a’ ruith air frithealaichean fiosaigeach.

Canar Snowflake ris a’ bhunait seo. Tha trì prìomh bhlocaichean ann.

Air an t-slighe gu stòran-dàta gun fhrithealaiche - ciamar agus carson

Is e bloc meata-dàta a’ chiad fhear. Is e seirbheis cuimhne luath a tha seo a dh’ fhuasglas cùisean le tèarainteachd, meata-dàta, gnothaichean, agus optimization ceist (ri fhaicinn san dealbh air an taobh chlì).

Is e an dĂ rna bloc seata de chlĂ ran coimpiutaireachd brĂŹgheil airson Ă ireamhachadh (anns an dealbh tha seata de chearcaill ghorm).

Tha an treas bloc na shiostam stòraidh dàta stèidhichte air S3. Tha S3 na stòradh stuth gun tomhas ann an AWS, seòrsa de Dropbox gun tomhas airson gnÏomhachas.

Chì sinn mar a tha Snowflake ag obair, a 'gabhail ris gu bheil toiseach fuar ann. Is e sin, tha stòr-dàta ann, tha an dàta air a luchdachadh a-steach ann, chan eil ceistean ruith ann. A rèir sin, mura h-eil iarrtasan air an stòr-dàta, tha sinn air an t-seirbheis Metadata luath ann an cuimhne a thogail (a ’chiad bhloc). Agus tha stòradh S3 againn, far a bheil dàta bùird air a stòradh, air a roinn ann am micropartitions ris an canar. Airson sìmplidh: ma tha gnothaichean anns a 'chlàr, is e micropartitions na làithean de ghnothaichean. Tha a h-uile latha na micropartition air leth, faidhle air leth. Agus nuair a bhios an stòr-dàta ag obair sa mhodh seo, cha phàigh thu ach airson an àite anns a bheil an dàta. A bharrachd air an sin, tha an ìre gach suidheachan gu math ìosal (gu sònraichte a’ toirt aire don teannachadh mòr). Bidh an t-seirbheis meata-dàta cuideachd ag obair gu cunbhalach, ach chan fheum thu mòran ghoireasan gus ceistean a mheudachadh, agus faodar beachdachadh air an t-seirbheis shareware.

A-nis smaoinichidh sinn gun tàinig neach-cleachdaidh chun stòr-dàta againn agus chuir e ceist SQL. Thèid a’ cheist SQL a chuir sa bhad chun t-seirbheis Metadata airson a ghiullachd. A rèir sin, nuair a gheibhear iarrtas, bidh an t-seirbheis seo a’ dèanamh mion-sgrùdadh air an iarrtas, an dàta a tha ri fhaighinn, ceadan luchd-cleachdaidh agus, ma tha a h-uile càil gu math, a’ cruthachadh plana airson an t-iarrtas a ghiullachd.

An ath rud, bidh an t-seirbheis a’ tòiseachadh air a’ bhuidheann coimpiutaireachd a chuir air bhog. Is e cruinneachadh de luchd-frithealaidh a th’ ann an cruinneachadh coimpiutaireachd a bhios a’ dèanamh àireamhachadh. Is e sin, is e cruinneachadh a tha seo anns am faod 1 frithealaiche, 2 fhrithealaiche, 4, 8, 16, 32 a bhith ann - nas urrainn dhut. Bidh thu a’ tilgeil iarrtas agus tòisichidh cur air bhog a’ bhuidheann seo sa bhad. Tha e dha-rìribh a’ toirt diogan.

Air an t-slighe gu stòran-dàta gun fhrithealaiche - ciamar agus carson

An uairsin, às deidh don bhuidheann tòiseachadh, tòisichidh na meanbh-roinnean a dh’ fheumar gus an t-iarrtas agad a phròiseasadh a chopaigeadh a-steach don bhuidheann bho S3. Is e sin, smaoinichidh sinn gus ceist SQL a chuir an gnìomh gu feum thu dà sgaradh bho aon chlàr agus aon bhon dàrna fear. Anns a 'chùis seo, cha tèid ach na trì pàirtean riatanach a chopaigeadh chun bhuidheann, agus chan eil a h-uile clàr gu tur. Sin as coireach, agus dìreach leis gu bheil a h-uile dad suidhichte taobh a-staigh aon ionad dàta agus ceangailte le seanalan gu math luath, bidh am pròiseas gluasaid gu lèir a ’tachairt gu math luath: ann an diogan, glè ainneamh ann am mionaidean, mura h-eil sinn a’ bruidhinn mu chuid de dh ’iarrtasan monstrous. Mar sin, thèid micropartitions a chopaigeadh chun bhuidheann coimpiutaireachd, agus, nuair a bhios e deiseil, thèid a’ cheist SQL a chuir gu bàs air a’ bhuidheann coimpiutaireachd seo. Faodaidh toradh an iarrtais seo a bhith mar aon loidhne, grunn loidhnichean no clàr - thèid an cur air an taobh a-muigh chun neach-cleachdaidh gus an urrainn dha a luchdachadh sìos, a thaisbeanadh san inneal BI aige, no a chleachdadh ann an dòigh air choreigin eile.

Faodaidh gach ceist SQL chan e a-mhàin co-chruinneachaidhean bho dhàta a chaidh a luchdachadh roimhe a leughadh, ach cuideachd dàta ùr a luchdachadh/gineadh san stòr-dàta. Is e sin, faodaidh e a bhith na cheist a tha, mar eisimpleir, a’ cuir a-steach clàran ùra ann an clàr eile, a tha a’ leantainn gu coltas sgaradh ùr air a’ bhuidheann coimpiutaireachd, a tha, an uair sin, air a shàbhaladh gu fèin-ghluasadach ann an aon stòradh S3.

Tha an suidheachadh a tha air a mhìneachadh gu h-àrd, bho ruighinn an neach-cleachdaidh gu bhith a’ togail a’ bhuidheann, a’ luchdachadh dàta, a’ cur an gnìomh cheistean, a’ faighinn thoraidhean, air a phàigheadh ​​aig an ìre airson mionaidean de bhith a’ cleachdadh a’ bhuidheann coimpiutaireachd brìgheil àrdaichte, taigh-bathair brìgheil. Bidh an ìre ag atharrachadh a rèir sòn AWS agus meud cnuasachaidh, ach gu cuibheasach tha e beagan dholairean san uair. Tha cruinneachadh de cheithir innealan dà uair nas daoire na cruinneachadh de dhà inneal, agus tha cruinneachadh de ochd innealan fhathast dà uair nas daoire. Tha roghainnean de 16, 32 inneal rim faighinn, a rèir iom-fhillteachd nan iarrtasan. Ach cha phàigh thu ach airson na geàrr-chunntasan sin nuair a tha an cruinneachadh a’ ruith, oir nuair nach eil iarrtasan ann, bheir thu air falbh do làmhan dheth, agus às deidh 5-10 mionaidean de dh’fheitheamh (paramadair a ghabhas rèiteachadh) falbhaidh e leis fhèin, saor goireasan agus bi saor.

Is e suidheachadh gu tur reusanta nuair a chuireas tu iarrtas a-steach, bidh an cruinneachadh a’ nochdadh, an ìre mhath a ’bruidhinn, ann am mionaid, bidh e a’ cunntadh mionaid eile, an uairsin còig mionaidean airson dùnadh sìos, agus bidh thu a ’pàigheadh ​​​​airson seachd mionaidean de dh’ obair a’ bhuidheann seo, agus chan ann airson mìosan agus bliadhnaichean.

Chaidh a’ chiad suidheachadh a mhìneachadh le bhith a’ cleachdadh Snowflake ann an suidheachadh aon neach-cleachdaidh. A-nis smaoinichidh sinn gu bheil mòran luchd-cleachdaidh ann, a tha nas fhaisge air an fhìor shuidheachadh.

Canaidh sinn gu bheil tòrr sgrùdairean againn agus aithisgean Tableau a bhios an-còmhnaidh a’ toirt ionnsaigh air an stòr-dàta againn le àireamh mhòr de cheistean mion-sgrùdaidh SQL sìmplidh.

A bharrachd air an sin, canaidh sinn gu bheil luchd-saidheans dàta innleachdach againn a tha a’ feuchainn ri rudan iongantach a dhèanamh le dàta, ag obair le deichean de Terabytes, a’ dèanamh anailis air billeanan agus trilleanan de shreathan dàta.

Airson an dà sheòrsa eallach obrach a tha air a mhÏneachadh gu h-àrd, leigidh Snowflake leat grunn chlàran coimpiutaireachd neo-eisimeileach de dhiofar chomasan a thogail. A bharrachd air an sin, bidh na cruinneachaidhean coimpiutaireachd sin ag obair gu neo-eisimeileach, ach le dàta cunbhalach cumanta.

Airson àireamh mhòr de cheistean aotrom, faodaidh tu 2-3 cruinneachaidhean beaga a thogail, timcheall air 2 inneal gach fear. Faodar an giùlan seo a chuir an gnìomh, am measg rudan eile, a’ cleachdadh shuidheachaidhean fèin-ghluasadach. Mar sin tha thu ag ràdh, “Maoim-sneachda, tog buidheann bheag. Ma tha an t-uallach air a 'dol suas os cionn paramadair sònraichte, tog dàrna, an treas cuid. Nuair a thòisicheas an luchd a’ dol sìos, cuir às don chòrr.” Gus nach bi e gu diofar cia mheud neach-anailis a thig agus a thòisicheas a’ coimhead air aithisgean, tha goireasan gu leòr aig a h-uile duine.

Aig an aon àm, ma tha sgrùdaichean nan cadal agus nach eil duine a 'coimhead air na h-aithisgean, faodaidh na cruinneachaidhean a dhol dorcha gu tur, agus stadaidh tu a' pàigheadh ​​​​air an son.

Aig an aon àm, airson ceistean trom (bho Luchd-saidheans Dàta), faodaidh tu aon bhuidheann mòr a thogail airson 32 inneal. Cha tèid a’ bhuidheann seo a phàigheadh ​​ach airson na mionaidean agus na h-uairean sin nuair a bhios an t-iarrtas mòr agad a’ ruith an sin.

Leigidh an cothrom a tha air a mhÏneachadh gu h-àrd dhut chan e a-mhàin 2 a roinn, ach cuideachd barrachd sheòrsan obrach ann an cruinneachaidhean (ETL, sgrÚdadh, aithris toraidh, ...).

Bheir sinn geàrr-chunntas air Snowflake. Tha am bunait a’ cothlamadh beachd brèagha agus buileachadh obrachail. Aig ManyChat, bidh sinn a’ cleachdadh Snowflake gus an dàta gu lèir a th’ againn a mhion-sgrùdadh. Chan eil trì cruinneachaidhean againn, mar a tha san eisimpleir, ach bho 5 gu 9, de dhiofar mheudan. Tha 16-inneal àbhaisteach againn, 2-inneal, agus cuideachd feadhainn 1-inneal fìor-bheag airson cuid de ghnìomhan. Bidh iad gu soirbheachail a’ cuairteachadh an luchd agus a’ leigeil leinn tòrr a shàbhaladh.

Bidh an stòr-dàta gu soirbheachail a’ sgèile an luchd leughaidh is sgrìobhaidh. Is e eadar-dhealachadh mòr a tha seo agus adhartas mòr an taca ris an aon “Aurora”, anns nach robh ach an luchd leughaidh a’ giùlan. Leigidh maoim-sneachda leat an t-uallach obrach sgrìobhaidh agad a sgèileadh leis na cruinneachaidhean coimpiutaireachd sin. Is e sin, mar a thuirt mi, bidh sinn a’ cleachdadh grunn chlàran ann an ManyChat, tha cruinneachaidhean beaga is ro-bheag air an cleachdadh sa mhòr-chuid airson ETL, airson dàta a luchdachadh. Agus tha luchd-anailis mar-thà a 'fuireach air cruinneachaidhean meadhanach, nach eil a' toirt buaidh air an luchd ETL, agus mar sin bidh iad ag obair gu math luath.

Mar sin, tha an stòr-dàta gu math freagarrach airson gnìomhan OLAP. Ach, gu mì-fhortanach, chan eil e fhathast iomchaidh airson eallach obrach OLTP. An toiseach, tha an stòr-dàta seo colbh, leis a h-uile buaidh a thig às. San dàrna h-àite, tha an dòigh-obrach fhèin, nuair a bhios tu airson gach iarrtas, ma tha sin riatanach, a ’togail cruinneachadh coimpiutaireachd agus ga thuiltean le dàta, gu mì-fhortanach, chan eil e fhathast luath gu leòr airson luchdan OLTP. Tha feitheamh diogan airson gnìomhan OLAP àbhaisteach, ach airson gnìomhan OLTP chan eil e ceadaichte; bhiodh 100 ms na b’ fheàrr, no bhiodh 10 ms eadhon nas fheàrr.

An toradh

Tha e comasach stòr-dàta gun fhrithealaiche le bhith a’ roinn an stòr-dàta ann am pàirtean gun stàit agus gun stàit. Is dòcha gu bheil thu air mothachadh anns a h-uile h-eisimpleir gu h-àrd, gur e am pàirt Stàiteil, an ìre mhath a’ bruidhinn, a bhith a’ stòradh meanbh-earrannan ann an S3, agus gur e Stateless an optimizer, ag obair le meata-dàta, a’ làimhseachadh cùisean tèarainteachd a dh’ fhaodar a thogail mar sheirbheisean neo-eisimeileach gun stàite aotrom.

Faodar a bhith a’ coimhead air ceistean SQL cuideachd mar sheirbheisean aotrom-stàite a dh’ fhaodas nochdadh ann am modh gun fhrithealaiche, leithid cruinneachaidhean coimpiutaireachd Snowflake, luchdaich sìos dìreach an dàta riatanach, cuir an gnìomh a’ cheist agus “rach a-mach.”

Tha stòran-dàta Ïre toraidh gun fhrithealaiche rim faighinn mu thràth airson an cleachdadh, tha iad ag obair. Tha na stòran-dàta gun fhrithealaiche seo deiseil mu thràth airson gnÏomhan OLAP a làimhseachadh. Gu mÏ-fhortanach, airson gnÏomhan OLTP tha iad air an cleachdadh ... le nuances, leis gu bheil cuingealachaidhean ann. Air an aon làimh, is e seo minus. Ach, air an làimh eile, is e cothrom a tha seo. Is dòcha gun lorg aon de na leughadairean dòigh air stòr-dàta OLTP a dhèanamh gu tur gun fhrithealaiche, gun chuingealachaidhean Aurora.

Tha mi an dòchas gun robh e inntinneach dhut. Tha an àm ri teachd gun fhrithealaiche :)

Source: www.habr.com

Cuir beachd ann