Օբյեկտների պահպանման նոր չափումներ

Օբյեկտների պահպանման նոր չափումներՆելե-Դիելի «Թռչող ամրոց»

S3 օբյեկտների պահեստավորման թիմ Mail.ru ամպային պահեստ թարգմանել է հոդված այն մասին, թե որ չափանիշներն են կարևոր օբյեկտի պահեստ ընտրելիս։ Հետագա տեքստը՝ հեղինակի անունից։

Երբ խոսքը վերաբերում է օբյեկտների պահեստավորմանը, մարդիկ հակված են մտածել միայն մեկ չափանիշի մասին՝ արժեքը մեկ ՏԲ/ԳԲ-ի համար: Չնայած այս չափանիշը կարևոր է, այն նաև մոտեցումը դարձնում է միակողմանի և օբյեկտների պահեստավորումը համեմատում է արխիվային պահեստավորման գործիքի հետ: Բացի այդ, այս մոտեցումը նվազեցնում է օբյեկտների պահեստավորման կարևորությունը ձեռնարկության տեխնոլոգիական փաթեթի համար:

Օբյեկտների պահեստ ընտրելիս հաշվի առնելու հինգ բնութագիր կա.

  • կատարումը
  • մասշտաբայնություն;
  • S3 համատեղելի;
  • արձագանք ձախողումներին;
  • ամբողջականություն

Այս հինգ բնութագրերը, ինչպես նաև արժեքը, օբյեկտների պահեստավորման նոր չափանիշներն են։ Եկեք նայենք դրանցից յուրաքանչյուրին։

Արտադրողականություն

Ավանդական օբյեկտների պահեստավորումը հայտնի չէ իր արդյունավետությամբ։ Ծառայություն մատուցողները միշտ զոհաբերել են այն՝ ցածր գների հետապնդման համար։ Սակայն, ժամանակակից օբյեկտների պահեստավորման դեպքում ամեն ինչ այլ է։

Տարբեր կրիչների արագությունը մոտենում կամ նույնիսկ գերազանցում է Hadoop-ին։ Կարդալու և գրելու արագությունների ժամանակակից պահանջները՝ կոշտ սկավառակների համար 10 ԳԲ/վ-ից մինչև NVMe-ի համար 35 ԳԲ/վ։ 

Այս թողունակությունը բավարար է Spark, Presto, Tensorflow, Teradata, Vertica, Splunk և վերլուծական փաթեթի այլ ժամանակակից հաշվողական շրջանակների համար: Այն փաստը, որ MPP տվյալների բազաները կարգավորված են օբյեկտների պահեստավորման համար, ցույց է տալիս, որ այն ավելի ու ավելի է օգտագործվում որպես հիմնական պահեստ:

Եթե ​​ձեր պահեստավորման համակարգը բավականաչափ արագ չէ, դուք չեք կարող օգտագործել տվյալները և դրանցից արժեք արդյունահանել։ Նույնիսկ եթե դուք տվյալներ արդյունահանեք օբյեկտային պահեստից հիշողության մեջ գտնվող մշակման կառուցվածք, ձեզ դեռևս անհրաժեշտ է թողունակություն՝ տվյալները հիշողությունից ներս և դուրս փոխանցելու համար։ Հին օբյեկտային պահեստավորման համակարգերը բավարար թողունակություն չունեն։

Սա է գլխավոր կետը. նոր կատարողականի չափանիշը թողունակությունն է, այլ ոչ թե լատենտությունը։ Այն անհրաժեշտ է մասշտաբային տվյալների համար և նորմ է ժամանակակից տվյալների ենթակառուցվածքներում։

Եվ չնայած չափորոշիչները արդյունավետությունը որոշելու լավ միջոց են, անհնար է այն ճշգրիտ չափել, քանի դեռ ծրագիրը չի աշխատում միջավայրում: Միայն այդ դեպքում կարող եք ասել, թե արդյոք խոչընդոտը ծրագրային ապահովման, սկավառակների, ցանցի, թե՞ հաշվողական համակարգի մեջ է:

Մասշտաբայնություն

Մասշտաբայնությունը սահմանվում է որպես մեկ անվանատարածքում տեղավորվող պետաբայթերի քանակ։ Վաճառողները պնդում են, որ մասշտաբայնությունը հեշտ է, բայց նրանք չեն ասում, որ մասշտաբավորմանը զուգընթաց հսկայական մոնոլիտ համակարգերը դառնում են փխրուն, բարդ, անկայուն և թանկ։

Նոր մասշտաբայնության չափանիշը անվանատարածքների կամ վարձակալների քանակն է, որոնք դուք կարող եք սպասարկել: Չափանիշը վերցված է անմիջապես հիպերսկալյատորներից, որտեղ պահեստավորման կառուցվածքային բլոկները փոքր են, բայց մասշտաբավորվում են միլիարդավոր միավորներով: Ըստ էության, դա ամպային չափանիշ է:

Երբ կառուցվածքային բլոկները փոքր են, դրանք ավելի հեշտ է օպտիմալացնել, այսինքն՝ ապահովել անվտանգություն, մուտքի վերահսկողություն, քաղաքականության կառավարում, կյանքի ցիկլի կառավարում և չխափանող թարմացումներ: Եվ, վերջապես, արդյունավետություն: Կառուցողական բլոկի չափը կախված է ձախողման տիրույթի կառավարելիությունից, և այսպես են կառուցվում բարձր դիմացկունության համակարգերը:

Բազմավարձակալությունն ունի բազմաթիվ բնութագրեր։ Թեև պարամետրը վերաբերում է նրան, թե ինչպես են կազմակերպությունները հասանելիություն ապահովում տվյալներին և հավելվածներին, այն նաև վերաբերում է հենց հավելվածներին և դրանք միմյանցից մեկուսացնելու տրամաբանությանը։

Բազմահաճախորդ կառավարման ժամանակակից մոտեցման բնութագրերը.

  • Կարճ ժամանակում հաճախորդների թիվը կարող է աճել մի քանի հարյուրից մինչև մի քանի միլիոն։
  • Հաճախորդները լիովին մեկուսացված են միմյանցից։ Սա թույլ է տալիս նրանց գործարկել նույն ծրագրի տարբեր տարբերակներ և պահպանել օբյեկտներ՝ տարբեր կոնֆիգուրացիաներով, թույլտվություններով, գործառույթներով, անվտանգության մակարդակներով և սպասարկման մակարդակներով։ Սա անհրաժեշտ է նոր սերվերների, թարմացումների և աշխարհագրական տարածքների մասշտաբավորման ժամանակ։
  • Պահեստը առաձգականորեն մասշտաբային է, ռեսուրսները տրամադրվում են պահանջարկի դեպքում։
  • Յուրաքանչյուր գործողություն API-ի միջոցով է կառավարվում և ավտոմատացված է՝ առանց մարդու միջամտության։
  • Ծրագիրը կարող է տեղադրվել տարաների մեջ և օգտագործել ստանդարտ նվագախմբային համակարգեր, ինչպիսիք են Kubernetes-ը։

Համատեղելիություն S3-ի հետ

Amazon S3 API-ը օբյեկտների պահպանման դե ֆակտո ստանդարտն է։ Օբյեկտների պահպանման յուրաքանչյուր ծրագրային ապահովման մատակարար պնդում է դրա հետ համատեղելիության մասին։ S3 համատեղելիությունը երկուական է. կամ այն ​​ամբողջությամբ իրականացված է, կամ՝ ոչ։

Գործնականում կան հարյուրավոր կամ հազարավոր ծայրահեղ դեպքեր, երբ օբյեկտների պահեստավորման ժամանակ ինչ-որ բան այնպես չէ ընթանում, հատկապես սեփական ծրագրային ապահովման և ծառայություն մատուցողների դեպքում։ Դրա հիմնական օգտագործման դեպքերը ուղղակի արխիվացումն ու պահուստավորումն են, ուստի API-ը կանչելու քիչ պատճառներ կան, օգտագործման դեպքերը միատարր են։

Բաց կոդով ծրագրային ապահովումն ունի զգալի առավելություններ։ Այն ընդգրկում է ծայրամասային սցենարների մեծ մասը՝ հաշվի առնելով ծրագրերի, օպերացիոն համակարգերի և սարքավորումների ճարտարապետության չափը և բազմազանությունը։

Այս ամենը կարևոր է հավելվածների մշակողների համար, ուստի արժե ստուգել ձեր հավելվածի աշխատանքը պահեստավորման մատակարարների հետ: Բաց կոդը պարզեցնում է գործընթացը՝ ավելի հեշտ է հասկանալ, թե որ հարթակն է ճիշտ ձեր հավելվածի համար: Մատակարարը կարող է օգտագործվել որպես պահեստավորման միակ մուտքի կետ, ինչը նշանակում է, որ այն կբավարարի ձեր կարիքները: 

Բաց կոդով տարբերակը նշանակում է, որ հավելվածները կապված չեն որևէ մատակարարի հետ և ավելի թափանցիկ են։ Սա ապահովում է հավելվածի երկարատև կյանքի ցիկլը։

Եվս մի քանի նշումներ բաց կոդի և S3-ի մասին։ 

Եթե ​​դուք գործարկում եք մեծ տվյալների հավելված, S3 SELECT-ը զգալիորեն բարելավում է կատարողականությունն ու արդյունավետությունը՝ օգտագործելով SQL՝ պահեստից միայն անհրաժեշտ օբյեկտները վերականգնելու համար։

Հիմնականը «դյույթային» ծանուցումների աջակցությունն է: «Դյույթային» ծանուցումները հեշտացնում են սերվերից զուրկ հաշվարկները, որոնք ցանկացած միկրոսպասարկման ճարտարապետության կարևոր բաղադրիչ են, որը մատուցվում է որպես ծառայություն: Հաշվի առնելով, որ օբյեկտների պահեստավորումը արդյունավետորեն ամպային պահեստավորում է, այս հնարավորությունը դառնում է կարևորագույն, երբ ամպային ծրագրերն օգտագործում են օբյեկտների պահեստավորում:

Վերջապես, S3 իրականացումը պետք է աջակցի Amazon S3 սերվերի կողմից կոդավորման API-ներին՝ SSE-C, SSE-S3, SSE-KMS: Ավելի լավ է, որ S3-ը պետք է աջակցի իսկապես անվտանգ կեղծումից պաշտպանություն: 

Արձագանք ձախողումներին

Հաճախ անտեսվող չափանիշ է, թե ինչպես է համակարգը կարգավորում ձախողումները։ Ձախողումները տեղի են ունենում տարբեր պատճառներով, և օբյեկտների պահեստը պետք է կարգավորի դրանք բոլորը։

Օրինակ, եթե կա ձախողման մեկ կետ, դրա չափանիշը զրո է։

Դժբախտաբար, շատ օբյեկտների պահպանման համակարգեր օգտագործում են հատուկ հանգույցներ, որոնք պետք է միացված լինեն կլաստերի պատշաճ գործունեության համար, ինչպիսիք են անվանման հանգույցները կամ մետատվյալների սերվերները, ինչը ստեղծում է ձախողման մեկ կետ։

Նույնիսկ այն դեպքերում, երբ նախատեսված են բազմաթիվ խափանումների կետեր, աղետալի խափանումներին դիմակայելու ունակությունը գերակա է: Սկավառակները խափանվում են, սերվերները խափանվում են: Հիմնականը այնպիսի ծրագրային ապահովում ստեղծելն է, որը նախատեսված է խափանումները նորմալ վիճակում կառավարելու համար: Եթե սկավառակը կամ հանգույցը խափանվի, ծրագրային ապահովումը կշարունակի գործել առանց փոփոխությունների:

Ջնջման և տվյալների քայքայման դեմ ներկառուցված պաշտպանությունը ապահովում է, որ դուք կարող եք կորցնել այնքան սկավառակներ կամ հանգույցներ, որքան ունեք պարիտետային բլոկներ՝ սովորաբար սկավառակների կեսը, և միայն այդ դեպքում ծրագիրը չի կարողանա վերականգնել տվյալները։

Բեռնվածության տակ խափանումը հազվադեպ է ստուգվում, բայց դա պարտադիր է: Բեռնվածության տակ խափանման մոդելավորումը կցույց տա խափանումից հետո առաջացած կուտակային ծախսերը:

Հետևողականություն

100% համապատասխանության գնահատականը կոչվում է նաև խիստ համապատասխանություն: Համապատասխանությունը ցանկացած պահեստավորման համակարգի հիմնական բաղադրիչն է, բայց խիստ համապատասխանությունը բավականին հազվադեպ է հանդիպում: Օրինակ, Amazon S3 ListObject-ը խիստ համապատասխան չէ, այն համապատասխան է միայն վերջում:

Ի՞նչ է նշանակում խիստ հետևողականություն։ Հաստատված PUT գործողությունից հետո բոլոր գործողությունների համար պետք է ճիշտ լինի հետևյալը.

  • Թարմացված արժեքը տեսանելի է ցանկացած հանգույցից կարդալիս։
  • Թարմացումը պաշտպանված է հանգույցի ձախողումից՝ ավելորդության միջոցով։

Սա նշանակում է, որ եթե գրառման ընթացքում անջատեք վարդակիցը, ոչինչ չի կորչի: Համակարգը երբեք չի վերադարձնի վնասված կամ հնացած տվյալներ: Սա բարձր նշաձող է, որը կարևոր է բազմաթիվ սցենարների համար՝ սկսած գործարքային ծրագրերից մինչև պահուստավորում և վերականգնում:

Ամփոփում

Սրանք օբյեկտների պահեստավորման նոր չափանիշներ են, որոնք արտացոլում են ժամանակակից կազմակերպություններում օգտագործման օրինաչափությունները, որտեղ կատարողականությունը, հետևողականությունը, մասշտաբայնությունը, սխալների տիրույթները և S3 համատեղելիությունը ամպային ծրագրերի և մեծ տվյալների վերլուծության հիմնաքարերն են: Ժամանակակից տվյալների կույտեր կառուցելիս խորհուրդ եմ տալիս օգտագործել այս ցանկը՝ գնի հետ մեկտեղ: 

Mail.ru Cloud Solutions օբյեկտների պահեստավորման մասին. S3 ճարտարապետություն։ Mail.ru ամպային պահեստի էվոլյուցիայի 3 տարի.

Էլ ի՞նչ կարդալ.

  1. Իրադարձությունների վրա հիմնված հավելվածի օրինակ, որը հիմնված է վեբկեռիկների վրա S3 օբյեկտների պահեստում Mail.ru Cloud Solutions-ում.
  2. Ավելի քան Ceph. MCS ամպային բլոկի պահեստավորում 
  3. Աշխատեք Mail.ru Cloud Solutions S3 օբյեկտների պահեստավորման հետ որպես ֆայլային համակարգ.
  4. Մեր Telegram ալիքը՝ S3 պահեստավորման և այլ ապրանքների թարմացումների մասին նորություններով

Source: www.habr.com