Новыя метрыкі аб'ектных сховішчаў

Новыя метрыкі аб'ектных сховішчаўFlying Fortress by Nele-Diel

Каманда аб'ектнага S3-сховішча Mail.ru Cloud Storage пераклала артыкул аб тым, якія крытэры важныя пры выбары аб'ектнага сховішча. Далей тэкст ад асобы аўтара.

Калі заходзіць гаворка пра аб'ектнае сховішча, як правіла, людзі думаюць толькі аб адной характарыстыцы - кошце за ТБ/ГБ. Вядома, гэтая метрыка важная, але яна робіць падыход аднабокім і прыраўноўвае аб'ектнае сховішча да прылады для захоўвання архіваў. Плюс такі падыход змяншае важнасць аб'ектнага сховішча для тэхналагічнага стэка прадпрыемства.

Выбіраючы аб'ектнае сховішча, варта зважаць на пяць характарыстык:

  • прадукцыйнасць;
  • маштабаванасць;
  • сумяшчальнасць з S3;
  • рэакцыя на збоі;
  • цэласнасць.

Гэтыя пяць характарыстык - новыя метрыкі аб'ектнага сховішча, нароўні з коштам. Разгледзім іх усё.

Proizvoditelnost

Традыцыйныя аб'ектныя сховішчы не адрозніваюцца прадукцыйнасцю. Пастаўшчыкі паслуг увесь час ахвяравалі ёй у пагоні за нізкімі коштамі. Аднак з сучаснымі аб'ектнымі сховішчамі ўсё інакш.

Хуткасць розных сховішчаў набліжаецца да Hadoop ці нават пераўзыходзіць яе. Сучасныя патрабаванні да хуткасці чытання і запісы: ад 10 ГБ/з – для цвёрдых дыскаў, да 35 ГБ/с – для NVMe. 

Такі прапускной здольнасці дастаткова для 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. 3 гады эвалюцыі Mail.ru Cloud Storage.

Што яшчэ пачытаць:

  1. Прыклад event-driven прыкладанні на аснове вэбхукаў у аб'ектным S3-сховішча Mail.ru Cloud Solutions.
  2. Больш чым Ceph: блокавае сховішча аблокі MCS 
  3. Праца з аб'ектным S3-сховішчам Mail.ru Cloud Solutions як з файлавай сістэмай.
  4. Наш канал у Тэлеграме з навінамі аб абнаўленнях S3-сховішчы і іншых прадуктаў

Крыніца: habr.com

Дадаць каментар