Жаңа нысан сақтау көрсеткіштері

Жаңа нысан сақтау көрсеткіштеріНеле-Диелдің ұшатын бекінісі

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. Mail.ru Cloud Solutions S3 нысан қоймасындағы веб-хуктарға негізделген оқиғаға негізделген қолданбаның мысалы..
  2. Ceph-тен көп: MCS бұлттық блок қоймасы 
  3. Mail.ru Cloud Solutions S3 нысанды сақтау жүйесімен файлдық жүйе ретінде жұмыс істеу.
  4. Біздің Telegram арнамызда S3 сақтау және басқа да өнімдерді жаңарту туралы жаңалықтар бар

Ақпарат көзі: www.habr.com

пікір қалдыру