Վերադառնալ
Ինչպես մասշտաբավորվում է Cloudflare-ի D1-ը միլիոնավոր տվյալների բազաների չափ
SiTech AI Team3 րոպե ընթերցում

Ինչպես մասշտաբավորվում է Cloudflare-ի D1-ը միլիոնավոր տվյալների բազաների չափ

Cloudflare-ի սերվերլես SQLite բազան D1-ը գերազանցել է 5,5 միլիոն բազաները: Նոր գրառումում նկարագրվում է մասշտաբի կառավարման հարթակի ճարտարագիտությունը՝ Durable Objects-ից Workers KV-ի ուղորդման և ինքնաշտկելու heartbeat-ները:

AI-ի օգնությամբ ստեղծված ապերի աճի ծախսերի վրա

Cloudflare-ի D1-ը, SQLite-ի վրա հիմնված կառավարվող սերվերլես տվյալների բազան, գերազանցել է 5,5 միլիոն տվյալների բազաները: 2026 թվականի հոկտեմբերի 8-ի դրությամբ կենդանի, անջատված բազաների թիվը տարվա ընթացքում 15 անգամ, երկու տարվա ընթացքում ՝ 65 անգամ ավելացել է: Ամենօրյա ակտիվ բազաների թիվը նույն ժամանակահատվածում ավելացել է 18 անգամ: Ընկերությունը այս աճը կապում է AI-ի միջոցով ծրագրավորման և vibe coding հարթակների հետ, որոնք առաջնորդում են ավելի շատ փոքր բազաների՝ յուրաքանչյուր օգտատիրոջ, ապի, դիտման միջավայրի կամ տենանտի համար: OpenAI-ի ChatGPT Sites-ը այդ հարթակների թվում է, որոնք D1-ի վրա են հիմնված: ChatGPT Sites-ի Ջոն Աբրամսի խստտով, D1-ը օգտատերերին տալիս է «պարզ և մասշտաբային ճանապարհ» ՝ ավելացնելու իրենց էջերին, խաղերին և գործիքներին այդպիսի ֆունկցիաներ, ինչպիսիք են ընդհանուր չափորոշիչները, առաջատարների ցուցակները և մեկնաբանությունները:

Ճարտարագիտությունը՝ Durable Objects, Workers KV և Hyperdrive

Յուրաքանչյուր D1 բազան աջակցվում է մեկ SQLite Durable Object-ով, ինչը հնարավորություն է տալիս դրանց միլիոնավոր ստեղծել: API հարցումները մտնում են D1 Edge API Worker-ում, Eyeball Worker-ը՝ ուղղորդում է ամբողջ տրաֆիկը դեպի տվյալների ներկառուցված Durable Objects-ները և ապահովում է դիտելիությունը, ինքնաշտկումը, փորձերի կրկնությունը և սխալների մշակումը: Workers KV-ը ծանր կարդալու ուղորդման համար մետատվյալների edge-քեշավորման փուլերում հանդիսանում է մետատվյալների փուլ, Hyperdrive-ը՝ առաջարկում է կապնել, քեշավորել և օպտիմալացնել ուղորդումը Cloudflare-ի հիմնական տվյալների կենտրոններում գտնվող կենտրոնական Postgres կլաստերի հետ: Թիմը գործողությունները բաժանում է երեք մասի՝ տվյալների հարթակ (data plane) հարցումների համար, կառավարման հարթակ (control plane) API գործողությունների համար և ֆոնային ասինխրոն հարթակ վերլուծականության և բիլինգի համար:

Արագ ստեղծում և ինքնաշտկելի heartbeat-ներ

Բազայի ստեղծման ժամանակ ստուգվում է հաշվի սահմանափակումները, գեներացվում է յուրահատուկ բազայի UUID-ն և Durable Object-ի ID-ն, ինիցիալիզացվում է Durable Object-ը, մետատվյալները պահվում են Postgres-ում և ID-ների կապող գրառումը գրվում է Workers KV-ում: Postgres-ում գրելը ստեղծման վերահսկվող կետով է գործում, KV-ի վերջնական թարմացումը՝ կատարվում է waitUntil() կանչում, որը կարող է ընդհատվել: Յուրաքանչյուր 30 վայրկյանը՝ առանձին ժիթերով յուրաքանչյուր բազայի համար, յուրաքանչյուր Durable Object-ը կառավարման հարթակին ուղարկում է heartbeat, որպեսզի գիտենա՝ ակտիվ վիճակում է թե ջնջվածում: Այս որբ Durable Objects-ներին տալիս է իրենց սեփական ջնջելու հնարավորություն և համոզվում է, որ Workers KV-ը վերջնապես արտացոլի իրականությունը; դրա հետ մեկտեղ KV-ում գրառումների սերիալիզացիայի կետում հենց Durable Object-ն է կապվում:

query-ների հեռացում կենտրոնական բազայից

HTTP-ով ուղարկված query հարցումները ամուրորեն խուսափում են Postgres-ից: Edge API Worker-ը բեռնում է կապող գրառումը Workers KV-ից և հանդիպում է միայն հազվադեպ քեշ-բացակայման դեպքում Hyperdrive-ին և Postgres-ի ռեպլիկաներին, հետո՝ փոխանցում է query-ն Eyeball Worker-ի միջոցով Durable Object-ին: Worker-ի binding-ները կրում են գաղտնագրված լիազորում, ուստի օգտատիրոջ Worker-ներից հետո հարցումները բաց թողնում են կապող գրառումի որոնումը: Պահեստի օգտագործման թարմացումները անցնում են Kafka-ի նման հաջորդականությամբ, որովհետև Postgres-ում գրառումները խմբավորվում են, իսկ incremental view maintenance-ը յուրաքանչյուր հաշվի համագումարները առաջին գնահատում է account_database_stats աղյուսակում, որպեսզի սահմանափակումների ստուգումը շարունակվի միլիոնավոր բազա ունեցող հաշիվների համար նաեւ:

Հղումներ՝ Cloudflare

SSiTech

SiTech — AI-ով հզորացված վեբ մշակում

Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։