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
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.
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.
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.
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.
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.
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).
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.
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.
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