Нови показатели за съхранение на обекти

Нови показатели за съхранение на обектиЛетяща крепост от Nele-Diel

S3 команда за съхранение на обекти Облачно хранилище на Mail.ru преведе статия за това какви критерии са важни при избора на обект за съхранение. Следва текстът от гледна точка на автора.

Когато става въпрос за съхранение на обекти, хората обикновено мислят само за едно нещо: цена на TB/GB. Разбира се, този показател е важен, но прави подхода едностранен и приравнява съхранението на обекти с инструмент за архивно съхранение. Плюс това, този подход намалява значението на съхранението на обекти за корпоративния технологичен стек.

Когато избирате място за съхранение на обекти, трябва да обърнете внимание на пет характеристики:

  • производителност;
  • мащабируемост;
  • S3 съвместим;
  • реакция при неуспехи;
  • интегритет.

Тези пет характеристики са нови показатели за съхранение на обекти, заедно с разходите. Нека ги разгледаме всички.

продуктивност

Традиционните магазини за обекти нямат производителност. Доставчиците на услуги постоянно го жертваха в преследване на ниски цени. При съвременното съхранение на обекти обаче нещата стоят по друг начин.

Различни системи за съхранение се доближават или дори надвишават скоростта на Hadoop. Съвременни изисквания за скорост на четене и запис: от 10 GB/s за твърди дискове, до 35 GB/s за NVMe. 

Тази пропускателна способност е достатъчна за Spark, Presto, Tensorflow, Teradata, Vertica, Splunk и други съвременни изчислителни рамки в стека за анализ. Фактът, че MPP базите данни се конфигурират за съхранение на обекти, предполага, че те все повече се използват като основно хранилище.

Ако вашата система за съхранение не осигурява скоростта, от която се нуждаете, не можете да използвате данните и да извлечете стойност от тях. Дори ако извлечете данни от хранилище на обекти в структура за обработка в паметта, пак ще ви е необходима честотна лента, за да прехвърлите данните към и от паметта. Наследените хранилища на обекти нямат достатъчно от него.

Това е ключовият момент: новият показател за ефективност е пропускателна способност, а не латентност. Изисква се за данни в мащаб и е норма в съвременната инфраструктура за данни.

Въпреки че бенчмарковете са добър начин за определяне на производителността, тя не може да бъде точно измерена преди стартирането на приложението в средата. Едва след него можете да кажете къде точно е тясното място: в софтуера, дисковете, мрежата или на компютърно ниво.

Мащабируемост

Мащабируемостта се отнася до броя петабайти, които се побират в едно пространство от имена. Това, което продавачите твърдят, е лесна скалируемост, но това, което не казват, е, че с мащабирането си масивните монолитни системи стават крехки, сложни, нестабилни и скъпи.

Новият показател за мащабируемост е броят пространства от имена или клиенти, които можете да обслужвате. Метриката е взета директно от хиперскалерите, където градивните блокове за съхранение са малки, но се мащабират до милиарди единици. Като цяло това е облачна метрика.

Когато градивните елементи са малки, те са по-лесни за оптимизиране за сигурност, контрол на достъпа, управление на политики, управление на жизнения цикъл и актуализации без прекъсване. И в крайна сметка гарантира производителност. Размерът на градивния блок е функция на контролируемостта на района на повреда, което е начинът, по който се изграждат високоустойчиви системи.

Мултинаемането има много характеристики. Въпреки че измерението говори за това как организациите предоставят достъп до данни и приложения, то също се отнася до самите приложения и логиката зад изолирането им едно от друго.

Характеристики на модерен подход към мултиклиент:

  • За кратко време броят на клиентите може да нарасне от няколкостотин до няколко милиона.
  • Клиентите са напълно изолирани един от друг. Това им позволява да изпълняват различни версии на един и същ софтуер и да съхраняват обекти с различни конфигурации, разрешения, функции, нива на сигурност и поддръжка. Това е необходимо при мащабиране към нови сървъри, актуализации и географски области.
  • Съхранението е еластично мащабируемо, ресурсите се предоставят при поискване.
  • Всяка операция се контролира от API и е автоматизирана без човешка намеса.
  • Софтуерът може да се хоства в контейнери и да използва стандартни системи за оркестрация като Kubernetes.

S3 съвместим

API на Amazon S3 е де факто стандартът за съхранение на обекти. Всеки доставчик на софтуер за съхранение на обекти твърди, че е съвместим с него. Съвместимостта с S3 е двоична: или е напълно внедрена, или не.

На практика има стотици или хиляди крайни сценарии, при които нещо се обърка при използване на обектно съхранение. Особено от доставчици на патентован софтуер и услуги. Основните му случаи на употреба са директно архивиране или архивиране, така че има малко причини да се извика API, случаите на употреба са хомогенни.

Софтуерът с отворен код има значителни предимства. Той обхваща повечето крайни сценарии, предвид размера и разнообразието от приложения, операционни системи и хардуерни архитектури.

Всичко това е важно за разработчиците на приложения, така че си струва да тествате приложението с доставчици на съхранение. Отвореният код улеснява процеса – по-лесно е да разберете коя платформа е подходяща за вашето приложение. Доставчикът може да се използва като единична точка за влизане в хранилището, което означава, че ще отговори на вашите нужди. 

Отворен код означава: приложенията не са обвързани с доставчик и са по-прозрачни. Това гарантира дълъг жизнен цикъл на приложението.

И още няколко бележки относно отворения код и S3. 

Ако работите с приложение за големи данни, S3 SELECT подобрява производителността и ефективността с порядък. Той прави това, като използва SQL, за да извлече от хранилището само обектите, от които се нуждаете.

Ключовият момент е поддръжката на известия за кофи. Известията в кофата улесняват изчисленията без сървър, важен компонент от всяка архитектура на микроуслуга, която се доставя като услуга. Като се има предвид, че съхранението на обекти е ефективно съхранение в облак, тази възможност става критична, когато съхранението на обекти се използва от приложения, базирани на облак.

И накрая, внедряването на S3 трябва да поддържа API за криптиране от страна на сървъра на Amazon S3: SSE-C, SSE-S3, SSE-KMS. Още по-добре, S3 поддържа защита срещу фалшифициране, която е наистина сигурна. 

Отговор на неуспехи

Показател, който вероятно често се пренебрегва, е как системата се справя с грешките. Неизправности се случват по различни причини и обектното съхранение трябва да се справи с всички тях.

Например, има една точка на повреда, показателят за това е нула.

За съжаление много системи за съхранение на обекти използват специални възли, които трябва да бъдат активирани, за да може клъстерът да функционира правилно. Те включват възли на имена или сървъри за метаданни - това създава единична точка на повреда.

Дори когато има множество точки на повреда, способността да се издържи на катастрофална повреда е от първостепенно значение. Дисковете се провалят, сървърите се провалят. Ключът е да се създаде софтуер, предназначен да се справя с повредата като нормално състояние. Ако диск или възел се повреди, такъв софтуер ще продължи да работи без промени.

Вградената защита срещу изтриване и влошаване на данните гарантира, че можете да загубите толкова дискове или възли, колкото имате паритетни блокове - обикновено половината от дисковете. Само тогава софтуерът няма да може да върне данни.

Повредата рядко се тества при натоварване, но такова тестване е задължително. Симулирането на повреда на товара ще покаже общите разходи, направени след повредата.

Последователност

Резултатът за съгласуваност от 100% се нарича още строга консистенция. Съгласуваността е ключов компонент на всяка система за съхранение, но силната съгласуваност е рядкост. Например, Amazon S3 ListObject не е строго последователен, той е последователен само в края.

Какво се разбира под строга последователност? За всички операции след потвърдена PUT операция трябва да се случи следното:

  • Актуализираната стойност се вижда при четене от всеки възел.
  • Актуализацията е защитена срещу излишък при повреда на възел.

Това означава, че ако издърпате щепсела по средата на запис, нищо няма да бъде загубено. Системата никога не връща повредени или остарели данни. Това е висока летва, която има значение в много сценарии, от транзакционни приложения до архивиране и възстановяване.

Заключение

Това са нови показатели за съхранение на обекти, които отразяват моделите на използване в днешните организации, където производителността, последователността, скалируемостта, домейните на грешки и съвместимостта на S3 са градивните елементи за облачни приложения и анализ на големи данни. Препоръчвам да използвате този списък в допълнение към цената, когато създавате модерни стекове от данни. 

Относно съхранението на обекти на Mail.ru Cloud Solutions: S3 архитектура. 3 години еволюция на Mail.ru Cloud Storage.

Какво друго да прочетете:

  1. Пример за управлявано от събития приложение, базирано на уеб кукички в обектното хранилище S3 на Mail.ru Cloud Solutions.
  2. Повече от Ceph: MCS облачно блоково съхранение 
  3. Работа със съхранение на обекти Mail.ru Cloud Solutions S3 като файлова система.
  4. Нашият канал в Telegram с новини за актуализации на хранилището на S3 и други продукти

Източник: www.habr.com

Добавяне на нов коментар