Tha Facebook (toirmisgte san Ruis) air siostam riaghlaidh còd stòr Sapling fhoillseachadh a chaidh a chleachdadh ann an leasachadh phròiseactan taobh a-staigh na companaidh. Tha an siostam ag amas air eadar-aghaidh tionndaidh eòlach a thoirt seachad a dhâ fhaodas sgèile gu stòran fĂŹor mhòr a âspangachadh deichean de mhilleanan de fhaidhlichean, gheallaidhean agus gheugan. Tha an còd teachdaiche sgrĂŹobhte ann am Python agus Rust, agus tha e fosgailte fo chead GPLv2.
Chaidh pĂ irt frithealaiche air leth a leasachadh airson obair èifeachdach iomallach le stòran-tasgaidh agus siostam faidhle brĂŹgheil airson obrachadh le sliseag ionadail de stòr-tasgaidh mar gum biodh e na stòr-tasgaidh slĂ n (chĂŹ an leasaiche an stòr-tasgaidh gu lèir, ach chan eil ach an dĂ ta a chaidh iarraidh air a chopaigeadh chun t-siostam ionadail). Chan eil còd nan co-phĂ irtean sin a thathas aâ cleachdadh ann am bun-structar Facebook fosgailte fhathast, ach tha aâ chompanaidh air gealltainn fhoillseachadh san Ă m ri teachd. Ach, gheibhear prototypes mu thrĂ th ann an stòr-tasgaidh Sapling. frithealaiche Mononoke (sgrĂŹobhte ann an Rust) agus VFS EdenFS (sgrĂŹobhte ann an C++). Tha na co-phĂ irtean seo roghainneil, agus an neach-dèiligidh Sapling, a tha aâ toirt taic do chlònadh stòran-dĂ ta Git agus eadar-obrachadh le frithealaichean stèidhichte air Git LFS agus ag obair le seirbheisean aoigheachd git leithid GitHub.
Is e prĂŹomh bheachd an t-siostaim, nuair a bhios tu ag eadar-obrachadh le pĂ irt frithealaiche sònraichte a bheir seachad stòradh an stòrais, gu bheil a h-uile gnĂŹomhachd air a sgèile a rèir an Ă ireamh de fhaidhlichean a chaidh a chleachdadh sa chòd a tha an leasaiche ag obair air, agus nach eil an urra ris. meud iomlan an stòrais gu lèir. Mar eisimpleir, chan fhaod leasaiche ach cuibhreann bheag de chòd a chleachdadh bho stòr glè mhòr, agus cha tèid ach aâ chuibhreann bheag seo, seach an stòr gu lèir, a ghluasad chun t-siostam aige. Tha an eòlaire obrach air a lĂŹonadh gu dinamach, leis gu bheilear aâ faighinn cothrom air faidhlichean bhon stòr, a leigeas leat, air an aon lĂ imh, obair a dhèanamh nas luaithe leis aâ phĂ irt agad den chòd, ach air an lĂ imh eile, aâ leantainn gu slaodachadh nuair a ruigeas tu an toiseach. faidhlichean Ăšra agus feumach air ruigsinneachd cunbhalach air an lĂŹonra (air a sholarachadh air leth agus modh ullachaidh gealltanasan far-loidhne).
A bharrachd air luchdachadh dĂ ta atharrachail, bidh Sapling cuideachd aâ cur an gnĂŹomh leasachaidhean a tha ag amas air luchdachadh fiosrachaidh le eachdraidh atharrachaidh a lughdachadh (mar eisimpleir, 3/4 den dĂ ta anns an stòr-dĂ ta leis aâ chridhe Linux (Tha seo aâ toirt iomradh air eachdraidh an atharrachaidh). Gus obrachadh gu h-èifeachdach leis an eachdraidh atharrachaidh, tha an dĂ ta co-cheangailte air a stòradh ann an riochdachadh roinnte, aâ leigeil le pĂ irtean fa leth den ghraf gealltanas a bhith air an luchdachadh sĂŹos bhon fhrithealaiche. Faodaidh an neach-dèiligidh fiosrachadh iarraidh mun dĂ imh eadar grunn gheallaidhean bhon fhrithealaiche agus dĂŹreach am pĂ irt a tha a dhĂŹth den ghraf a luchdachadh sĂŹos.
Chaidh am pròiseact a leasachadh thar nan 10 bliadhna a dhâ fhalbh agus chaidh a chruthachadh gus fuasgladh fhaighinn air duilgheadasan nuair a chuirear air dòigh ruigsinneachd gu stòran monolithic glè mhòr le aon phrĂŹomh mheur, anns an deach cleachdadh gnĂŹomhachd ârebaseâ a chleachdadh an Ă ite âaonadhâ. Aig an Ă m sin, cha robh fuasglaidhean fosgailte ann airson a bhith ag obair le leithid de stòran, agus cho-dhĂšin innleadairean Facebook siostam smachd dreach Ăšr a chruthachadh a choinnicheas ri feumalachdan na companaidh, an Ă ite pròiseactan a roinn ann an stòran beaga, a bheireadh gu riaghladh eisimeileachd nas iom-fhillte. (aig aon Ă m, gus fuasgladh fhaighinn air duilgheadas coltach ris, chruthaich Microsoft còmhdach GVFS). An toiseach, chleachd Facebook an siostam Mercurial agus chaidh am pròiseact Sapling a leasachadh an toiseach mar chur-ris ri Mercurial. Thar Ăšine, dhâ atharraich an siostam gu bhith na phròiseact neo-eisimeileach leis aâ phròtacal aige fhèin, an cruth stòraidh agus na h-algorithms, a chaidh a leudachadh cuideachd leis aâ chomas eadar-obrachadh le tasgaidhean Git.
Airson obair, thathas aâ moladh goireas loidhne-Ă ithne âslâ, a chuireas an gnĂŹomh bun-bheachdan Ă bhaisteach, sruthan-obrach, agus eadar-aghaidh air a bheil luchd-leasachaidh eòlach air Git agus Mercurial. Tha am briathrachas agus na h-òrdughan ann an Sapling beagan eadar-dhealaichte bho Git agus nas fhaisge air Mercurial. Mar eisimpleir, thathas aâ cleachdadh âcomharran leabhraicheanâ an Ă ite gheugan (chan eil taic ri meuran ainmichte), gu bunaiteach, nuair a bhios tu aâ coileanadh clone / slaodadh, chan eil an stòr gu lèir air a luchdachadh, ach dĂŹreach am prĂŹomh mheur, chan eil ro-tagadh ann de gheallaidhean ( Ă ite stèidse), an Ă ite âgit fetchâ tha an Ă ithne âslâ air a chleachdadh pullâ, an Ă ite âgit pullâ - âsl pull --rebaseâ, an Ă ite âgit checkout COMMITâ - âsl goto COMMITâ, an Ă ite sin Ă "git reflog" - "sl journal", gus an t-atharrachadh a thilleadh an Ă ite "git checkout - FILE" tha "sl revert FILE" air a shònrachadh, agus "." air a chleachdadh gus am meur "HEAD" aithneachadh. Ach san fharsaingeachd, tha na bun-bheachdan coitcheann mu mheuran agus obair clone / tarraing / putadh / gealltanas / ath-shuidheachadh air an gleidheadh.
Am measg nam feartan a bharrachd den inneal Sapling, tha taic airson âlog smartâ (smartlog) aâ seasamh a-mach, a leigeas leat measadh lèirsinneach a dhèanamh air staid an stòrais agad, cuideam a chuir air an fhiosrachadh as cudromaiche agus mion-fhiosrachadh a shĂŹoladh a-mach. Mar eisimpleir, nuair a ruitheas tu an sl utility gun argamaidean, chan eil ach na h-atharrachaidhean ionadail agad fhèin air an taisbeanadh (tha feadhainn cèin air an tuiteam), tha inbhe meuran taobh a-muigh, faidhlichean atharraichte, agus dreachan Ăšra de ghealltanas air an sealltainn. A bharrachd air an sin, tha eadar-aghaidh lĂŹn eadar-ghnĂŹomhach air a thabhann, a leigeas leat seòladh gu sgiobalta tron ââââlog smart, craobh atharrachadh agus geallaidhean.

Is e leasachadh sònraichte eile ann an Sapling a bhith aâ sĂŹmpleachadh aâ phròiseas airson a bhith aâ ceartachadh agus aâ parsadh mhearachdan, agus aâ tilleadh gu staid roimhe. Mar eisimpleir, thathas aâ tabhann na h-òrdughan âsl undoâ, âsl redoâ, âsl uncommitâ agus âsl unamendâ gus mòran obrachaidhean a thoirt air ais, òrdughan âsl hideâ agus âsl unhideâ gus geallaidhean fhalach airson Ăšine, agus seòladh eadar-ghnĂŹomhach tro seann stĂ itean agus till air ais chun phuing ainmichte an Ă ithne âsl undo -i commandâ. Bidh sapling cuideachd aâ toirt taic don bhun-bheachd de chruach gealltanas, a leigeas leat lèirmheas ceum air cheum a chuir air dòigh le bhith aâ briseadh sĂŹos gnĂŹomhachd iom-fhillte gu seata de dhâ atharrachaidhean mean air mhean nas lugha agus nas so-thuigsinn (bho fhrèam bunaiteach gu feart crĂŹochnaichte).
Chaidh grunn thuilleadan ullachadh airson Sapling, aâ gabhail a-steach an eadar-aghaidh ReviewStack airson ath-sgrĂšdadh a dhèanamh air atharrachaidhean (còd fo GPLv2), a leigeas leat iarrtasan tarraing air GitHub a phròiseasadh agus sealladh stac de dhâ atharrachaidhean a chleachdadh. A bharrachd air an sin, chaidh cur-ris fhoillseachadh airson amalachadh le luchd-deasachaidh VSCode agus TextMate, a bharrachd air buileachadh eadar-aghaidh agus frithealaiche ISL (Interactive SmartLog).
Source: fosgailtenet.ru
