Վերադառնալ
Cloudflare-ը Logpush-ի արտահանման ուղում SQL Transformers ավելացրեց
SiTech AI Team3 րոպե ընթերցում

Cloudflare-ը Logpush-ի արտահանման ուղում SQL Transformers ավելացրեց

Cloudflare-ի Logpush-ը արտահանումից առաջ տեղեկամատյանները SQL Transformers-ով զտում է, ծածկում զգային տվյալները և փոխում դաշտերը: Թիմերը հարցումներ են գրում տվյալների հավաքածուների համար և պահպանված տարբերակը կցում համապատասխան NDJSON Logpush առաջադրանքին:

Ինչ են անում Transformers-ները

Cloudflare-ը Logpush-ը հասանելի դարձրեց բոլոր պլաների համար և միևնույն արտահանման աշխատանքային գործընթացի համար ընդհանրապես թողարկեց Transformers-ները: Հսկողության թիմերին այժմ հնարավոր է զտել գրառումները, ծածկել զգային արժեքները և վերամշակել դաշտերը՝ մինչև լոգերը Logpush-ին հանձնվեն SIEM-ներին, վերլուծական հարթակներին կամ օբյեկտային պահեստին: Մատուցումից առաջ զտումը կարող է նվազեցնել հետագա տվյալների ծավալը և ծախսերը, քանի որ թիմերին այլևս պետք չէ արտահանել, ստանալ և պահել այն գրառումները, որոնք իջեցման հետո ջնջվում են:

Transformer-ը SQL հարցում է, որը գրվում է Logpush-ի տվյալների հավաքածուի համար: Logpush-ը արտահանումից առաջ այս հարցումը կատարում է ցանկացած մասում, ջնջում է այն գրառումները, որոնք չեն բավարարում WHERE պայմանը, և SELECT-ի արդյունքը օգտագործում է որպես արտահանված NDJSON գրառում: Թիմերին հնարավոր է ավելացնել, վերանվանել, ջնջել կամ տեղադրել դաշտեր, այդ թվում՝ ավելացնել ստատիկ provider դաշտը, որպեսզի մի քանի CDN-ից եկած գրառումները նորմալացվեն:

Ինչպես է աշխատում իրականացումը

Օգտատերերը ստեղծում, նախապես դիտում և կառավարում են Transformers-ները Transformer Studio-ում կամ API-ի միջոցով, այնուհետև պահպանված տարբերակը կցում են համատեղելի NDJSON Logpush առաջադրանքին, որն օգտագործում է նույն տվյալների հավաքածուն: Ցանկացած թարմացում ստեղծում է նոր տարբերակ: Cloudflare-ը SQL հարցումը պահում է R2-ում, իսկ Bufstream-ը ստանում է այն բազմաշերտ քեշի միջոցով, առաջադրանքի ժամանակավոր ժամանակահատվածի համար մեկ անգամ պատրաստում է նորից կիրառելի DataFusion տրամաբանական ծրագիրը և նույն ժամանակահատվածի յուրաքանչյուր Arrow մասում նորից օգտագործում է այն:

Bufstream-ը Buftee-ից ստանում է փոքրացված Cap'n Proto մասեր, ապասեղմում դրանք, համապատասխան լոգերը վերծանում է և իրականացման պահին ստեղծում է տիպավորված Apache Arrow RecordBatch: Apache DataFusion-ը և Arrow-ը ընտրվել են այն պատճառով, որ DataFusion-ը արդեն մշակում է Cloudflare Basin-ը: Go ծառայությունը Arrow IPC բուֆերները փոխանցում է Rust շարժիչին FFI սահմանի միջոցով, որը արտահանված է C ABI-ի միջոցով և կանչվում է cgo-ով: Go-ի մուտքային բուֆերի ցուցիչը միայն cgo կանչերի համար փոխանցում է, ելքային բուֆերը պատկանում է Rust-ին, իսկ Go-ն այդ արդյունքը պատճենում է Go-ի կառավարվող հիշողության մեջ՝ մինչև Rust-ի ալոկացիան ազատում է:

Մատուցում, առողջություն և վերլուծություն

Transformers-ները նախատեսված են աշխատելու fail closed սկզբունքով: Եթե տրանսֆորմացիան չի կատարվում, Bufstream-ը ոչ միայն չի առաջ տանում առաջադրանքի մատուցման օֆսետը, այլ ոչ էլ ուղարկում է չտրանսֆորմված մասը՝ հետհետև նորից փորձելով ձախողված տրանսֆորմացիաները: Նա ժամանակակից է նորից փորձում, ֆիքսում է սխալները առաջադրանքի վրա և դադարեցնում է այն առաջադրանքները, որոնք երկար ժամանակ մնում են ձախողված վիճակում: Transformer Health-ի տեսքը ցույց է տալիս հաջողված և ձախողված տրանսֆորմացիաները, տվյալների ծավալը տրանսֆորմացյանց առաջ և հետո, ինչպես նաև տրանսֆորմացյան տևողությունը:

Կատարումից հետո Bufstream-ը Arrow-ի արդյունքը դարձնում է NDJSON, լոգերը խմբավորում է մասերի մեջ և սեղմում gzip-ով, այնուհետև բեռնում է կազմաձևված նախատեսված վայրում և կանոնավորում է բեռնման goroutine-ները նախատեսված վայրի մրցակցության սահմանափակումների ներսում: Ընկերությունը ասել է, որ ավելի լայն տվյալների ուղին մեկ վայրկյանում մեկ միլիարդից ավելի իրադարձություն է մշակում, իսկ Bufstream-ը մեկ վայրկյանում 110 միլիոնից ավելի Logpush գրառում է մատուցում: Transformers-ները հասանելի են Free, Pro, Business և Enterprise պլաների համար:

Աղբյուրներ: The Cloudflare Blog

SSiTech

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

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