Léim go dtí an príomhábhar
OpenAI

23 Deireadh Fómhair 2026

Innealtóireacht

Stóráil ar líne a scálú go tapa do bhreis agus 1 bhilliún úsáideoir ChatGPT (Cuid II)

Mar a bharrfheabhsaíomar Azure Cosmos DB inár n-ardán stórála feidhmchlár, Habitat, chun fás gan fasach a bhainistiú.

Le Jon Lee, Hrachya Hakobyan agus Chaomin Yu, baill den fhoireann theicniúil

Ag lódáil…

Teastaíonn rochtain thapa iontaofa ar shonraí ó gach táirge OpenAI. Cuireann ár n-ardán stórála, Habitat, an rochtain sin ar fáil. Caithfidh sé freagairt laistigh de mhilleasoicindí do bhreis agus 1 bhilliún úsáideoir thar 40 réigiún geografach. Bhí dúshlán as cuimse roimh ár mbonneagar: tacú le fás ollmhór tapa agus cásanna úsáide nua agus, san am céanna, leanúint d’iontaofacht, d’fheidhmíocht agus de luas oibre fhorbróirí táirgí a fheabhsú. Chun an dúshlán sin a réiteach, bhí orainn athmhachnamh a dhéanamh ar dhearadh agus ar oibriú ár n-ardáin stórála ar líne. Bhíomar i gcónaí ag meas comhréiteach, agus an patrún seo á leanúint againn: éirí iontaofa go leor do thrácht táirgí criticiúla ar dtús, ansin tapa go leor d’úsáideoirí domhanda, agus ar deireadh oibriú go cumasach ar scála ollmhór.

Míníonn an tsraith dhá chuid seo conas a d’fhorbraíomar Habitat ó leabharlann shimplí cliaint agus bunachar sonraí go hardán stórála dáilte ar fud an domhain a fhreastalaíonn ar bhreis agus 500 peitibheart sonraí. Dhírigh Cuid I ar fhorbairt Habitat ó chliant Python go seirbhís. Pléadh inti freisin na teicnící a lig dúinn seirbhís bunaithe ar Python a bhrú i bhfad thar an méid a mheasfadh go leor daoine a bheith praiticiúil.

Sa phostáil seo, Cuid II, mínímid conas a scálamar an chomhpháirt stórála bhunúsach: Azure Cosmos DB. Trí dhlúthchomhoibriú le foireann Azure, tháinig muid ar chur chuige inmharthana iltionóntachta le coimeádáin chomhbhainistithe, a thug feidhmíocht léitheoireachta den scoth ar scála ollmhór domhanda.

Fíor 01 · Cad é Habitat?

Ardán stórála ar líne

Is é Habitat an t-ardán stórála ar líne a thógamar ionas gur féidir le táirgí OpenAI teacht go tapa agus go hiontaofa ar an bhfaisnéis a theastaíonn uathu.

  • Iarratas
  • Freagra
  • Athruithe (CDC)

Cliaint

Ardán stórála ar líne

Acmhainní stórála

  • ChatGPT
  • API
  • Codex
  • Seirbhísí inmheánacha
  • Agus tuilleadh

Habitat

  • TaisceadhTaisceanna
  • Beartais ACLÚdarú
  • Socrúchán agus cónaitheacht sonraíCónaitheacht sonraí
  • CriptiúSlándáil sonraí
  • AonrúIlthionóntacht
  • Teorannú rátaMúnlú iarratais
  • RódúCuardach scéimre · Cónaitheacht sonraí
  • Azure Cosmos DBStóras ar líne
  • NanobaseStóras ar líne
  • ValkeyTaisceanna
  • Stóras blobannaAcmhainní stórála
Seirbhísí CDCGabháil sonraí athraithe
  • Databricks
  • Rockset
  • Kafka
  • Agus tuilleadh

Iltionóntacht iontaofa a bhaint amach ar scála mór

De réir mar a fhásann cuideachtaí, is minic a aistríonn foirne bonneagair ó chórais aon-tionónta go córais iltionóntacha. Le tionóntacht aonair, coinníonn gach foireann atá freagrach as cuid de tháirge a córas féin. Laghdaíonn sé seo raon tionchair teipeanna agus soláthraíonn sé teorainneacha soiléire freagrachta agus leithlisiú ualaí oibre. De réir mar a fhásann foirne agus réimsí táirgí, éiríonn sé seo costasach le reáchtáil. Fágann tionóntacht aonair gach foireann táirge freagrach as pleanáil acmhainne agus is minic a sholáthraítear i bhfad an iomarca acmhainní dá bharr.

Os a choinne sin, tugann iltionóntacht an smacht d’fhoireann lárnach bunachair sonraí a bhfuil eolas agus taithí níos fearr aici ar acmhainní a sholáthar. Ach cruthaíonn iltionóntacht a fadhbanna féin, amhail comharsana torannacha: tionónta amháin a úsáideann sciar neamhghnách mór de na hacmhainní chun dochair do na tionóntaí eile.

In Habitat, bhí orainn na comhréitigh seo ar fad a mheas chun córas stórála iontaofa éifeachtúil a dhearadh ar scála mór. Sa lá atá inniu ann, is ciseal bunachair sonraí iltionóntach é Habitat do go leor táirgí OpenAI. Ach chuamar i gciorcal: ó choimeádán iltionóntach amháin Azure Cosmos DB, go coimeádáin tacaíochta aon-tionónta a sholáthar, agus ar ais chuig coimeádán iltionóntach mar réamhshocrú. Táimid fós ag tús ár dturais iltionóntachta in Habitat: tacaímid le raon leathan cásanna úsáide, ach d’éirigh linn infheistíocht sa réimse seo a chur siar trí úsáid a bhaint as bunfheidhmeanna ionsuite Azure Cosmos DB nuair ab fhéidir.

Bunmhíniú simplí ar choimeádáin Azure Cosmos DB

Sula mínímid ár dturas le Azure Cosmos DB, seo roinnt eolais bhunúsach:

  • Sainíonn cuntas Azure Cosmos DB tacar coimeádán agus beartas macasamhlaithe

  • Soláthraítear méid áirithe tréchuir do gach coimeádán, in aonaid iarratais sa soicind (RU/s)

  • Stóráiltear sonraí i ngach coimeádán ar an ngnáthbhealach, ina smutáin de réir eochair shonraithe laindéil loighciúil, le teorainneacha doiciméadaithe ar stóráil agus ar thréchur in aghaidh na heochrach

  • Dáileann Azure Cosmos DB eochracha laindéal loighciúil ar líon níos lú laindéal fisiciúil tacaíochta. Scoilteann sé iad ina laindéil fhisiciúla iolracha nuair a sháraíonn stóráil tairseach nó nuair a theastaíonn níos mó laindéal fisiciúil ón gcoimeádán chun an tréchur soláthraithe a choinneáil

Céim I: Ag brath ar bhunfheidhmeanna Azure Cosmos DB

Ar dtús, ligeamar aon ualach cliaint tríd, agus sinn ag brath ar an teorainn luaite 10K RU/s in aghaidh na heochrach laindéil loighciúil chun frithbhrú a sholáthar. Ag an tús, níor úsáideamar ach coimeádán réamhshocraithe amháin Azure Cosmos DB i ngach cuntas freisin. D’oibrigh sé seo sách maith, ach tháinig fadhbanna chun cinn ar chúpla cúis:

Teorainneacha eochracha laindéal loighciúil

Mar gheall ar roghanna luatha API, thugamar cead do chliaint eochracha laindéal loighciúil a roghnú go díreach. Dá bharr sin, bíonn imbhuailtí go minic ar eochracha laindéil coitianta, amhail user_id nó workspace_id, thar chásanna úsáide éagsúla táirgí. Ós rud é gur roinn na cásanna úsáide seo teorainneacha Azure Cosmos DB ar na heochracha laindéal loighciúil céanna, chuir an dearadh srian ar thréchur iomlán úsáideora ar leith.

Fadhb choitianta agus Postgres á scálú againn, sular aistríomar go Habitat agus Azure Cosmos DB, ná go bhféadfadh líon mór iarratas ó eagraíocht nó eochair an-ghníomhach — tionónta amháin a ghin ualach díréireach ard — an bunachar sonraí iomlán a chur as feidhm. Rinneadh comhiarracht mhór na heochracha sin a thaisceadh agus léasanna a chur i bhfeidhm ar theipeanna aimsithe sa taisce, ionas nach sáródh an t-ualach dá mbarr acmhainn an bhunachair sonraí bhunúsaigh.

Figure 02a · Logical partition key limits

Different clients, the same partition key

Cosmos DB containerPhysical partitionPK: user-id-28104CapacityMemory / dreaming : capacity usedMemory / dreaming : capacity usedMemory / dreaming : capacity usedMemory / dreaming : capacity usedMemory / dreaming : capacity usedMemory / dreaming : capacity usedMemory / dreaming : capacity usedMemory / dreaming : capacity usedMemory / dreaming : capacity usedMemory / dreaming : capacity usedConversationsSuccess rateResponses returned in this animation loop—AuthSuccess rateResponses returned in this animation loop—Memory / dreamingSuccess rateResponses returned in this animation loop—

Comharsana torannacha

Cé go mbaineann na teorainneacha doiciméadaithe ar mhéid sonraí agus ar thréchur le heochracha laindéal loighciúil, is ag leibhéal an laindéil fhisiciúil a chuirtear na teorainneacha i bhfeidhm. Go praiticiúil, ciallaíonn sé seo nach féidir le laindéil loighciúla 10,000 RU/s a bhaint amach. Ina ionad sin, roinneann siad teorainneacha an laindéil fhisiciúil le gach eochair laindéil loighciúil eile atá comhlonnaithe ann.

D’fhág sé seo go bhféadfadh comharsana torannacha dul i bhfeidhm ar go leor eochracha laindéal loighciúil nach raibh baint acu lena chéile: chuir ualaí oibre ar shonraí sainghnéithe táirgí isteach ar phríomhshreafaí logála isteach agus clárúcháin.

Figure 02b · Noisy neighbors

Different users, the same physical partition

Cosmos DB containerPhysical partitionPKs: user-id-28104, user-id-10384Conversations user-id-28104: capacity usedConversations user-id-28104: capacity usedConversations user-id-28104: capacity usedConversations user-id-28104: capacity usedConversations user-id-28104: capacity usedConversations user-id-28104: capacity usedConversations user-id-28104: capacity usedConversations user-id-28104: capacity usedConversations user-id-28104: capacity usedConversations user-id-28104: capacity usedConversationsuser-id-28104Success rateResponses returned in this animation loop—Conversationsuser-id-10384Success rateResponses returned in this animation loop—

Laindéil laga

Tá teorainn tréchuir aon laindéil fhisiciúil athraitheach freisin, ag brath ar an tréchur iomlán a shanntar don choimeádán Azure Cosmos DB. Dáiltear tréchur soláthraithe an choimeádáin go measartha cothrom ar a laindéil fhisiciúla.

De réir mar a fhásann méid na sonraí, scoiltear laindéil fhisiciúla. Méadaíonn líon iomlán na laindéal ach fanann an tréchur soláthraithe iomlán mar a bhí. Mar thoradh air sin, laghdaíonn an teorainn éifeachtach tréchuir in aghaidh an laindéil de réir mar a fhásann méid na sonraí.

I gcás na n-úsáidí is troime stórála againn, atá cosúil le blobanna, cruthaíonn sé seo modh teipe ina laghdaíonn fás stórála amháin acmhainn tréchuir d’ualaí oibre gníomhacha, fiú agus rátaí iarratas agus úsáid cobhsaí.

Figure 02C · Weak partitions

The limit falls below demand

A partition splits when it reaches its storage limit. Each child receives half the throughput capacity.

Before split: 10K RU/s capacity

After split: 5K RU/s capacity × 2 partitions

RU/s05K6K10K200200429

Céim II: Triail a bhaint as leithlisiú ualaí oibre agus tionóntacht aonair

Cabhraíonn coimeádáin ar leith le cuid de na fadhbanna a bhaineann le teorainneacha eochracha laindéil agus comharsana torannacha a réiteach. Le coimeádáin ar leith, is féidir laindéil fhisiciúla neamhspleácha a shannadh do gach ceann. Ní fhéadfadh ach ualaí oibre laistigh den choimeádán céanna a bheith ina gcomharsana torannacha nó forluí a dhéanamh i spás eochracha laindéil. Ar an taobh diúltach, tá forchostas ag baint le coimeádáin nua a sholáthar: teastaíonn pleanáil acmhainne ar leith do gach ceann. Mar sin, ní theastaíonn uainn coimeádáin a chruthú ach ag teorainn seirbhíse nó cáis úsáide a bhfuil ciall léi.

Thosaíomar ag úsáid coimeádáin Azure Cosmos DB ar leith do na cásanna úsáide nua ba chriticiúla a raibh leithlisiú láidir ag teastáil uathu. In éineacht le script chun laindéil laga a bhainistiú trí thréchur soláthraithe iomlán gach coimeádáin a choinneáil i gcomhréir le líon a laindéal fisiciúil, sheachnaíomar formhór na bhfadhbanna a bhí againn.

Ó thosaíomar le coimeádán réamhshocraithe, áfach, bhí go leor seanchásanna úsáide criticiúla sáinnithe ann gan aistriú sonraí. Chun seirbhísí criticiúla a bhí fós ag brath ar shonraí sa choimeádán comhroinnte réamhshocraithe a chosaint, ba mhinic a mholamar d’fhoirne coimeádáin ar leith a chruthú do sheirbhísí nua nó do mhórghnéithe táirgí. De réir mar a mhéadaíomar an scála, d’fhás an brú ar an gcoimeádán réamhshocraithe agus tháinig méadú ar theagmhais táirgthe freisin. Thosaíomar ag soláthar coimeádán d’aon seirbhís nua nó mórghné táirge, díreach chun an coimeádán réamhshocraithe a chosaint ar ualach breise.

Chosain sé seo sinn ar go leor bristí ar fud an tsuímh, agus ní raibh tionchar na dteagmhas teoranta ach do mheath ar ghné nó ar sheirbhís. Faoi dheireadh, áfach, d’éirigh an forchostas a bhain le coimeádáin nua a sholáthar ina fhadhb:

Easpa fáis chomhiomláin chobhsaí

Sa seanchoimeádán comhroinnte réamhshocraithe, ní dócha go n-athródh cás úsáide nua ar bith an úsáid chomhiomlán iomlán go suntasach dá bhfásfadh sé ó 0 QPS go 1 mhilliún QPS. Ar choimeádán leithlisithe, áfach, d’fhéadfadh cás úsáide nua a d’fhás ó 0 go 1 mhilliún QPS ualach 1,000 uair níos mó a chruthú ná an bhunlíne a bhain le triail inmheánach amháin.

Le coimeádáin thiomnaithe, bhí ar fhoirne cuimhneamh anois ar thréchur a sholáthar roimh ré ag an leibhéal a mbeidís ag súil leis tráth seolta. Ba mhinic a chuir foirne táirgí a ngnéithe i dtáirgeadh agus a rinne siad dearmad an acmhainn a mhéadú roimh ré. Ansin bheimis i seomraí teagmhas SEV ar lá an tseolta ag iarraidh coimeádáin a mhéadú ag an nóiméad deireanach.

Is príomhbhuntáiste é seo a bhaineann le hualaí oibre a mheascadh i gcórais iltionóntacha, buntáiste a chaillimid ar mhaithe le leithlisiú níos fearr leis an straitéis coimeádán seo.

Figure 03 · Lack of stable aggregate growth

The same workload, different headroom

1K RU/s during load testing → 1M RU/s at launch

Shared container

100M RU/s capacity · 80% utilized

Load test

1K20M=

0.005%

of headroom

Launch

1M20M=

5%

of headroom

New dedicated container

10K RU/s capacity · no other workloads

Load test

1K10K=

10%

of headroom

Launch

1M10K=

10,000%

of headroom

Pleanáil acmhainne

Le himeacht ama, bhí eolas domhain ar tháirgí ag teastáil freisin chun monatóireacht a dhéanamh ar úsáid coimeádán tiomnaithe: cathain a d’athródh nó a d’fhásfadh an trácht.

Is féidir linn bunscript plána rialaithe a chur ar fáil chun tréchur soláthraithe gach coimeádáin a mhéadú de réir treochtaí fáis. Ach gan fás comhiomlán cobhsaí, bhí beagnach gach foireann táirge ag OpenAI páirteach i bpleanáil acmhainne chun iad a scálú i gceart.

Ní raibh an cur chuige seo inscálaithe ó thaobh na heagraíochta de: bhí éagsúlacht mhór sa chúram a thug foireann freagrach gach seirbhíse dá soláthar Azure Cosmos DB.

Céim III: Iltionóntacht mar réamhshocrú, le cumas sonraí a bhogadh

De réir mar a d’fhás an eagraíocht, d’éirigh sé deacair na fadhbanna oibríochtúla sin a láimhseáil ar scála níos mó. Gan aon fhoireann lárnach amháin i mbun pleanála, bhí go leor foirne ag pleanáil go dona. Dá bharr sin, d’aistríomar ar ais i dtreo réiteach iltionóntach agus d’oibríomar go dlúth le foireann Azure chun ár mbunfhadhbanna iltionóntachta a réiteach le dearadh tionóntachta comhroinnte:

Srianadh eochracha an-ghníomhacha

Trí na heochracha is gníomhaí a shrianadh ar dtús, cuirtear cosc ar chomharsana torannacha an tréchur ar fad atá ar fáil i laindéal fisiciúil a úsáid. Laghdaíonn sé seo éifeacht na gcomharsan torannach, áit a bhféadfadh eochair an-ghníomhach amháin dul i bhfeidhm ar an suíomh iomlán.

Cáilíocht Seirbhíse (QoS)

Ar an gcaoi chéanna, cuireann QoS trí iarratais a rangú i sraitheanna cosc ar ualaí oibre as líne, amhail bulcionchuir nó eastóscadh sonraí, tréchur iomlán laindéil fhisiciúil a úsáid. Trí thosaíocht níos ísle a shannadh d’iarratais na n-ualaí oibre seo, sriantar iad ar dtús. Seachnaítear dá bhrí sin srianadh ar iarratais idirghníomhacha ard-tosaíochta a fhreastalaíonn ar úsáideoirí deiridh.

Mód gan fhreastalaí

Bhí mód gan fhreastalaí ag Azure Cosmos DB cheana féin a réiteodh fadhb na laindéal lag a bhí againn leis an mód soláthraithe. Bhí míbhuntáiste mór ann, áfach: níor scálaigh sé ach de réir úsáid stórála agus chuir sé teorainn 5K RU/s le húsáid RU in aghaidh an laindéil fhisiciúil. Réiteodh sé seo fadhb na laindéal lag, ach chuirfeadh sé cosc orainn cásanna úsáide a ídíonn go leor RU a scálú.

Thóg foireann Azure Cosmos DB mód nua feabhsaithe gan fhreastalaí dúinn. Lig sé do gach laindéal fisiciúil scálú suas go 10K RU/s agus chuir sé scoilteanna bunaithe ar úsáid RU leis na scoilteanna bunaithe ar úsáid stórála. Dá bharr sin, ní raibh orainn monatóireacht a dhéanamh ar choimeádáin ná iad a mhéadú de láimh a thuilleadh.

Leis na hathruithe seo, d’éirigh linn filleadh ar choimeádán comhroinnte amháin. Rinne sé seo pleanáil acmhainne roimh ré agus go leanúnach i bhfad níos simplí d’fhoirne táirgí, agus an leithlisiú idir ualaí oibre á choinneáil. Ní raibh aon teagmhas soláthair ná comharsan torannach againn sna míonna ó shin, cé go bhfuil forbairt táirgí ag luasghéarú.

Iontaofacht níos fearr le seirbhísí comhbhainistithe

Nuair a fhásann cuideachtaí go scála OpenAI, ní bhíonn seirbhísí bainistithe chomh maith sin “bainistithe” a thuilleadh. Éiríonn go leor ualaí oibre as an ngnáth i mbonneagar an tsoláthraí néil. De réir mar a d’éirigh OpenAI ar cheann de na húsáideoirí ba mhó de Azure Cosmos DB, bhí cur chuige eile ag teastáil chun é a oibriú go rathúil: tástálacha comhroinnte, deaiseanna comhroinnte, bealaí díreacha innealtóireachta, agus freagracht chomhpháirteach as modhanna teipe nach dtagann chun cinn ach ar ár scála féin. Sa lá atá inniu ann, stórálann ár gcuntas Azure Cosmos DB is mó na deicheanna peitibheart sonraí agus freastalaíonn sé ar bhreis agus 20M QPS. Go bhfios dúinn, is sinne an t-aon chuideachta a bhfuil Azure Cosmos DB imscartha aici ar an scála seo.

Go déanach in 2024, léirigh briseadh réigiúnach go soiléir cén fáth a raibh an comhoibriú seo riachtanach. Ag an am, bhuail cliseadh cumhachta príomhréigiún Azure do cheann dár gcuntais Azure Cosmos DB is mó. Sa phróiseas aistrithe teipe a lean é, thuigeamar go dtógfadh sé roinnt uaireanta an chloig ár gcuntais is mó a aistriú go réigiún tánaisteach. Ní raibh tástáil déanta air sin ag ár bhfoireann ná ag foireann Azure Cosmos DB ar ár scála féin.

Tuairim is mí ina dhiaidh sin, agus na cuntais sin á n-aistriú ar ais go dtí an bunréigiún, spreagamar briseadh tromchúiseach eile. Tháinig rabharta nasc chuig an mbunréigiún a sháraigh acmhainn a gheata Azure Cosmos DB. Mar gheall ar ghné neamhghnách den chaoi ar láimhseáil cliant Azure Cosmos DB i mód geata aistrithe teipe, bhunaigh gach cliant naisc láithreach agus sheol siad iarratais chuig an mbunréigiún, cé nach raibh ach fothacar de na laindéil fhisiciúla aistrithe ar ais ann.

Le linn gach briste, chuir OpenAI agus Azure araon a bpróisis bainistithe teagmhas i bhfeidhm, d’aithin siad roinnt bunchúiseanna agus d’imscar siad réitigh. Ach ba chomharthaí iad na bristí seo ar fhadhb shistéamach níos mó idir modhanna oibriúcháin agus tástála ár bhfoirne agus fhoireann Azure Cosmos DB. Ar dtús, lig seirbhísí bainistithe dúinn bogadh go tapa agus díriú ar spriocanna gnó. Ar scála mór, bíonn níos mó bainistíochta de dhíth orainn féin ar sheirbhísí bainistithe agus teastaíonn comhtháthú domhain leis an soláthraí seirbhíse ar gach leibhéal, ón dearadh go dtí an oibríocht.

Sa lá atá inniu ann, déanann foirne innealtóireachta Habitat agus Azure monatóireacht chomhpháirteach ar gach ciseal de Habitat, ónár gcisil seirbhíse síos go cisil stórála fisiciúla Azure Cosmos DB. Oibrímid agus tástálaimid athruithe ar chuntas Azure Cosmos DB atá ar mhéid cuntais táirgthe ach nach bhfuil i dtáirgeadh. Déanaimid SDKanna a thástáil agus a fheabhsú le chéile agus socraímid dea-chleachtais maidir le scálú agus méid ár gcuntas Azure Cosmos DB. Tá rochtain dhíreach ag ár bhfoirne innealtóireachta ar a chéile trí Teams. Tá bealaí curtha ar fáil againn fiú chun foláirimh phráinneacha a chur chuig a chéile go díreach, gan dul trí shraitheanna tacaíochta.

Le bliain anuas, rinneadh obair mhór i gcomhar le chéile chun inscálaitheacht phlána rialaithe agus gheata Azure Cosmos DB a fheabhsú. Cuireadh cosaint ar ualach agus taisceadh meiteashonraí éagsúla Azure Cosmos DB leis an ngeata chun laindéal na meiteashonraí a chosaint. Laghdaíodh an brú ónár bhflít próiseas Python habitat-service trí naisc a chomhthiomsú agus a athúsáid níos mó, cuireadh ualaí oibre le chéile san áit chéanna nuair ab fhéidir, agus leithlisíodh ualaí oibre criticiúla ó ualaí oibre as líne trí VPCanna éagsúla.

Bhí an leibhéal seo comhinnealtóireachta ríthábhachtach do chobhsaíocht Azure Cosmos DB againn le bliain anuas. Teastaíonn an cineál seo comhoibre ó aon chóras atá sách mór nó criticiúil: deireadh a chur le bacainní freagrachta agus oibriú thar theorainneacha eagraíochtúla.

Feidhmíocht a fheabhsú ar scála domhanda

Mar a luadh i gCuid I, is í ár mbunfhealsúnacht: cuir ag obair é, déan tapa é, déan saor é. Iontaofacht ar dtús, ansin feidhmíocht, ansin éifeachtúlacht. Bhí Habitat ina bhonneagar criticiúil ag OpenAI, mar sin ba í an chéad tosaíocht é a dhéanamh iontaofa. De réir mar a chobhsaigh an córas in 2025 agus a leathnaigh OpenAI ar fud an domhain, ba í an mhoill an chéad srian eile d’úsáideoirí agus d’fhoirne táirgí.

Ba mhinic an acmhainn ríomhaireachta agus stórála i réigiúin éagsúla, rud a d’fhág nach bhféadfaí iarratais idir réigiúin a sheachaint.

Figure 04 · Improving performance at a global scale

Global traffic

Compute and storage capacity were often located in different regions, making cross-region requests unavoidable.

ComputeStorageIllustrative routes · Longer journeys take more time

Is chun críocha léirithe amháin atá suíomhanna geografacha na ríomhaireachta agus na stórála.

Bhí éagsúlacht mhór sa mhoill ag brath ar an áit a raibh na sonraí stóráilte agus ar an áit a láimhseáladh an t-iarratas. Chun iarratais Habitat a dhéanamh tapa, bhraith forbróirí táirgí ar thaisceadh breise ar thaobh an chliaint, baisceáil iarratas, íoslaghdú léamha agus scríobhanna sa bhunachar sonraí, agus obair a bhaint den chonair chriticiúil nuair ab fhéidir. D’eascair dearaí spéisiúla táirgí as seo a bhí níos athléimní i leith fadhbanna bunachair sonraí. Ach rinne sé táirgí níos casta freisin agus mhoilligh sé a bhforbairt atriallach: níor baineadh amach sprioc Habitat forbairt thapa táirgí a éascú gan gá an bunachar sonraí a thuiscint.

Táimid ag díriú go mór air seo in 2026, agus tá straitéis ilchisealach forbartha againn chun feidhmíocht léitheoireachta a bharrfheabhsú. Is léamha iad breis agus 90% d’iarratais Habitat:

Sonraí a stóráil gar d’úsáideoirí nuair atá acmhainn ar fáil

Tá roinnt cuntas Azure Cosmos DB againn i réigiúin éagsúla Azure ar fud an domhain d’úsáideoirí a bhfuil ceanglais cónaitheachta sonraí acu. Fiú i gcás úsáideoirí nach bhfuil ceanglais dhiana cónaitheachta sonraí acu, feabhsaíonn stóráil sonraí gar dóibh a n-eispéireas trí mhoill níos ísle.

Go praiticiúil, ní féidir linn é seo a dhéanamh go forleathan lasmuigh de chásanna úsáide cónaitheachta sonraí, toisc go bhfuil suíomh na sonraí teoranta ag acmhainn fhisiciúil na néalríomhaireachta. Mar gheall ar mhéid ár dtacar sonraí, ní féidir le go leor réigiún freastal ar an spás ollmhór stórála a theastaíonn dá gcion comhréireach de thrácht úsáideoirí.

I réigiúin ina bhfuil acmhainn ionad sonraí, cumhacht nó fuarú teoranta, bíonn rogha dhíreach le déanamh againn uaireanta: acmhainn a chur i leataobh do stóráil chomhlonnaithe agus moill Habitat a ísliú, nó í a úsáid do ríomhaireacht bhreise chun iarratais a fhreastal agus iarratais stórála a ródú níos faide ar shiúl.

Dá bhrí sin, is minic gur comhréiteach táirge iad cinntí suímh idir: A) moill a bharrfheabhsú do tháirgí agus d’fhothacair úsáideoirí éagsúla, agus B) bunacmhainn stórála agus ríomhaireachta.

Na tacair sonraí is lú agus is íogaire do mhoill amháin a mhacasamhlú go forleathan

I gcás na n-ualaí oibre is íogaire do mhoill, amhail meiteashonraí fíordheimhnithe a theastaíonn le gach iarratas, laghdaímid RTT idir ríomhaireacht agus Habitat trí chuntais Azure Cosmos DB atá macasamhlaithe go forleathan thar go leor réigiún tánaisteach. Déantar roinnt cuntas a mhacasamhlú i ngach ceann de na 40 réigiún Azure ina bhfreastalaímid ar thrácht; déantar cinn eile a mhacasamhlú i réigiún amháin ar a laghad ar gach mór-roinn.

Bhí orainn ciseal trédhearcach aistrithe agus ródaithe sonraí a thógáil isteach in Habitat níos luaithe ná mar ba mhian linn, ionas gur féidir linn tacair sonraí a bhogadh idir cuntais a bhfuil toipeolaíochtaí éagsúla macasamhlaithe acu.

Tá an cur chuige seo faoi réir srianta acmhainne sa deireadh freisin, áfach, agus dá bhrí sin tá sé teoranta do chúpla tacar sonraí atá roghnaithe go cúramach.

Brath ar thaisceadh comhtháite do gach rud eile

Is léamha iad formhór mór ualaí oibre Habitat: bíonn feidhmchláir ag aisghabháil socruithe, staide agus airíonna eile i gcónaí. Baineann sciar díréireach den trácht le tacar oibre réasúnta beag de chineálacha a rochtaintear go minic. Fágann sé seo go bhfuil an córas an-oiriúnach do thaisceadh dáilte. Cé go bhfeabhsaíonn taisceadh feidhmíocht i mbonneagar aonréigiúin, méadaíonn na buntáistí thar réigiúin, áit ar féidir é a úsáid chun moill idir réigiúin a “cheilt”.

Tá ciseal dáilte taiscthe taoibh comhtháite againn in Habitat. Stórálann sé cóip de réada agus d’imill a rochtainíodh le déanaí ar fhreastalaithe Valkey inár mbonneagar, gar don áit a bpróiseáiltear iarratais úsáideoirí. De ghnáth, úsáideann taiscí den chineál seo TTL a dhéanann comhréiteach idir ráta aimsithe agus sonraí as dáta. Laghdaíonn TTLanna gearra sonraí as dáta ach maolaíonn siad buntáiste an taiscthe: téann míreanna as feidhm go tapa sa taisce agus caithfear iad a aisghabháil níos minice. Feabhsaíonn TTLanna níos faide rátaí aimsithe, ach soláthraíonn siad sonraí as dáta ar feadh tréimhsí fada, rud a chruthaíonn drocheispéiris úsáideora agus iompar dothuartha táirgí.

Cur chuige eile is ea oibríochtaí follasacha neamhbhailíochtaithe a dhéanamh nuair a bhíonn an feidhmchlár ag scríobh ar na sonraí bunúsacha céanna. Coinníonn sé seo sonraí taiscthe i bhfad níos cothroime le dáta, ach bíonn sé deacair é a chur i bhfeidhm i gceart. Tá sé fós faoi réir cásanna imeallacha freisin, amhail teipeanna páirteacha a fhágann an taisce as dáta. Cuireann imscaradh ilréigiúnach leis na fadhbanna seo: bíonn líonraí idir réigiúin níos lú iontaofa, agus bíonn an taisce agus macasamhlú na stórála bunúsaí i riocht rásaíochta lena chéile. Má chuirtear TTLanna leis seo, cuirtear teorainn leis an tréimhse ina mbíonn sonraí as dáta, ach fanann an comhréiteach bunúsach TTL a pléadh thuas.

Tá cur chuige níos forbartha glactha againn maidir le neamhbhailíochtú, ag leanúint shampla córais ar nós TAO de chuid Meta. Braitheann taisce chomhtháite Habitat ar ghabháil athruithe sonraí (CDC) trí fhotha athruithe Azure Cosmos DB chun neamhbhailíochtuithe a scaipeadh ar fud an domhain laistigh de shoicindí. Baintear rátaí arda aimsithe amach agus coinnítear sonraí réasúnta cothrom le dáta. Léann seirbhís inár mbonneagar an fotha athruithe seo agus déanann sí neamhbhailíochtuithe sna taiscí áitiúla nuair a nuashonraítear na sonraí bunúsacha. Mar sin, ní aimsítear na sonraí sa taisce an chéad uair eile a léitear iad, agus líontar an taisce leis an leagan is déanaí díobh.

Forchostas seachfhreastalaí a laghdú le Rust

Tá moill laghdaithe go suntasach againn freisin trí fhorchostas sa tseirbhís Habitat féin a bhaint. Rinneamar an cód a athscríobh in Rust, atá níos tapúla ná an bunchód Python.

Le chéile, laghdaigh na hathruithe seo ár p50 léitheoireachta domhanda foriomlán ó thart ar 120 ms go thart ar 10 ms: feabhas faoi fhachtóir 12 ó thosaíomar ag díriú ar fheidhmíocht níos luaithe i mbliana.

Figure 05 · Improving performance at a global scale

p50 latency for reads

Three major design changes improved read latency

roughly 120 ms → roughly 10 ms

12x improvement

Milliseconds020406080100120140160Am123
  1. critical data replicated into nearby geos
  2. in-region caching launched
  3. rust rewrite launched

Cé gur laghdaigh taisceadh an mhoill airmheánach go mór, bíonn ar na hiarratais is moille fós sonraí neamhthaiscthe a aisghabháil ón stóráil bhunúsach, go minic thar réigiúin i bhfad ó chéile. De réir mar a chuirtear níos mó acmhainne ar fáil agus a fheabhsaímid éifeachtúlacht stórála, tá sé beartaithe againn dul i ngleic le dúshlán níos bunúsaí: sonraí a chur níos gaire don áit a rochtainfear iad ón tús.

Gabháil Athruithe Sonraí a Scálú

Is comhpháirt chriticiúil í CDC iontaofa inscálaithe — athruithe bunachair sonraí a scaipeadh chuig córais iartheachtacha — agus ní i straitéis taiscthe Habitat amháin. Gabháiltear na milliúin athrú sa soicind thar na mílte coimeádán agus na milliúin laindéal coimeádáin. Sreabhann siad trí bhreis agus céad topaic Kafka chun tacú le hinnéacsanna tánaisteacha a éiríonn comhsheasmhach sa deireadh, píblínte aistrithe sonraí, anailísíocht as líne agus gnéithe táirgí fíor-ama eile. De réir mar a d’fhás ár mbonneagar tacaíochta ar fud an domhain, d’éirigh éisteacht le hathruithe rónna níos casta. Más mian le cliant aisghlao a chlárú a ritheann nuair a athraítear rónna dá chineál, caithfidh sé a fháil amach ar dtús cé na cuntais agus coimeádáin Cosmos ina bhfuil a shonraí, agus cén t-imscaradh seirbhíse CDC atá ag éisteacht leo sna réigiúin ábhartha. Caithfidh sé flít oibrithe na seirbhíse CDC, Kafka agus a thomhaltóir féin a scálú i gceart freisin. Tá sé mar aidhm ag ár n-ardán CDC an chastacht seo a cheilt ar fhorbróirí táirgí agus comhéadan simplí a sholáthar: cláraíonn cliaint feidhm le glaoch ar a rónna athraithe agus láimhseálaimid an nascadh agus an scálú ar fad.

Cinntíonn plána rialaithe inmheánach go leanúnach go ngabhtar athruithe ó gach coimeádán riachtanach. Roghnaíonn sé na réigiúin Cosmos le léamh uathu agus dáileann sé obair go héifeachtúil ar na mílte oibrí thar réigiúin gheografacha éagsúla. Cosnaíonn réigiúin mhacasamhla agus léamha fotha ar thosaíocht níos ísle trácht Habitat atá íogair do mhoill ar ualaí oibre gabhála sa chúlra. Tarlaíonn tuairteanna oibrithe, fadhbanna coimeádán, earráidí stór léasanna, cumraíocht neamhbhailí agus teipeanna cinn scríbe go leanúnach ar fhlít chomh mór sin. Rinneamar saolré oibrithe CDC agus láimhseáil léasanna níos láidre, leithlisíomar teipeanna idir sruthanna, agus chuireamar cosaintí i bhfeidhm d’athruithe cumraíochta agus do rolladh amach. Úsáidimid scuainí teachtaireachtaí marbha chun cosc a chur ar theipeanna buana seachadta bac a chur ar thús scuaine. Seasaimid le bristí réigiúnacha trí léitheoirí a aistriú go réigiúin mhalartacha Cosmos. Ar ár scála féin, bhí orainn fiú SDK CDC Azure a athrú chun a sheicphointeáil a dhéanamh níos éifeachtúla: seicphointí a bhaisceáil sa chuimhne agus gan iad a scríobh amach ach go tréimhsiúil.

Cé go bhfuil úsáid inmheánach Azure Cosmos DB in Habitat casta, ba é a phríomhluach i gcónaí sonraí an bhonneagair a cheilt ar fhorbróirí táirgí chun forbairt táirgí a bhrostú. Tá an cuspóir céanna ag ár n-ardán CDC.

Ag féachaint chun cinn

D’éirigh le foireann bheag tacú le hardán stórála a bhí ag fás go tapa trí API na stórála a choinneáil teoranta d’aon ghnó, leanúint den tseirbhís Python a scálú, agus tús áite a thabhairt do na dúshláin innealtóireachta ba phráinní. Dhíríomar ar iontaofacht do thrácht táirgí criticiúla ar dtús, ansin ar fheidhmíocht léitheoireachta d’úsáideoirí domhanda, agus ar deireadh ar éifeachtúlacht oibríochtúil ar scála mór. Chuir an cur chuige seo fás tapa agus cásanna úsáide nua ar fáil, agus d’fheabhsaigh sé iontaofacht, feidhmíocht agus luas forbartha táirgí.

Chun Habitat agus stóráil comhráite a scálú don chéad bhilliún úsáideoir eile, caithfimid dul i ngleic leis an deacracht a bhaineann lenár sonraí a mhacasamhlú thar ár mbonneagar ar scála níos mó fós. Mar ullmhúchán air seo, tá córas saincheaptha stórála ar líne á thógáil againn go hinmheánach ar scála eicsibheart, barrfheabhsaithe do chineálacha toirtiúla sonraí Habitat. Comhcheanglaíonn an córas seo atá á fhorbairt croí RocksDB Cloud ó Rockset le macasamhlú bunaithe ar Raft. Cuireann sé an tsamhail doiciméad chéanna le Azure Cosmos DB i bhfeidhm, ach úsáideann sé stóráil dhíchomhiomlánaithe agus macasamhlú fisiciúil chun an acmhainn splancchuimhne a theastaíonn a laghdú, ar chostas buaicráta qps níos ísle.

Má tá suim agat in obair den chineál seo ar bhonneagar sonraí ar scála ceannródaíoch, féach ar ár bpoist oscailte⁠.

Údar

OpenAI