- PVSM.RU - https://www.pvsm.ru -

Привет! Меня зовут Александр Гришин, я менеджер продуктов и отвечаю за развитие облачных баз данных и объектного хранилища в Selectel. Считаю, что новый год — отличное время, чтобы взглянуть на технологии по-новому. Например… через призму Top Gear.
Предлагаю вам немного развлечь себя разными аналогиями между миром транспорта и инструментами хранения данных. Ведь в мире облачных технологий, как и в программе Top Gear, для каждой задачи есть свой «транспорт».
Только представьте: выбирая подходящий инструмент хранения данных в облаке, вы словно решаете, какой вид транспорта использовать для своей задачи — от мощного корабля-контейнеровоза до стремительного гоночного болида. Давайте же погрузимся в экосистему облачных хранилищ [1] и найдем, что подходит именно вам. Подробности под катом!
Что такое объектное хранилище? По сути, это универсальное решение для больших объемов данных, которое идеально подходит для хранения мультимедиа, архивов, ML-моделей, записей с камер видеонаблюдения, резервных копий и т. д. А еще позволяет хранить объекты (они же файлы) любого размера и обеспечивает простой доступ к ним из любой точки мира через интернет.
В мире Top Gear объектное хранилище (S3-хранилище) — это огромный корабль-контейнеровоз. Его стихия — надежность, масштабируемость, практически неограниченные размеры, низкая цена и при этом доступность из любой точки мира. Пусть он не самый быстрый, зато доставит груз в целости и сохранности, куда бы вы его не отправили. И если вы думаете, что мы это придумали, то ошибаетесь. Именно так S3 видит нейросеть:

Как нейросеть видит корабль-контейнеровоз S3.
Одно из главных преимуществ заключается в том, что объектное хранилище можно использовать через браузер — из любой точки мира. Для этого даже не обязательно быть клиентом облачного провайдера. Но это не все.
С объектными хранилищами удобно взаимодействовать. Например, можно легко работать через интерфейс панели управления Selectel. Или использовать привычное клиентское ПО вроде Cyberduck, Rclone, Veeam и т. д. Кроме того, вы можете монтировать S3-хранилище в файловую систему своей ОС, например, при помощи Mountpoint-s3, s3fs или GeeseFS. Тогда процесс загрузки объектов (файлов) будет мало отличаться от работы с простой директорией.
Для работы с объектными хранилищами есть удобные API. Это особенно актуально, если вы разрабатываете веб-проект, когда доступ к объектам инфраструктуры нужен прямо из кода. Например, вы можете использовать S3 API [2], Swift API [3] и Selectel Storage API [4]. Кроме того, не обязательно работать с веб-запросами API напрямую — можно использовать готовые библиотеки.
Главное: объектные хранилища позволяют хранить десятки или даже сотни петабайт данных. Пока что для хранения и доставки больших данных в любую точку мира индустрия не придумала инструмента лучше, чем контейнеровоз объектное S3-хранилище.

Файловое хранилище — это сетевое хранилище, которое позволяет подключать одну или несколько виртуальных машин к общему пространству (блочному устройству) для хранения. При этом оно монтируется на уровне файловой системы виртуальной машины с использованием стандартных протоколов NFS (Network File System) или CIFS/SMB (Common Internet File System/Server Message Block). Файлы в нем будут доступны так же, если бы они хранились в папке на локальном диске.
Решение хорошо подходит для рабочих сред и проектов в облаке, когда нужны быстрая работа с общими файлами, папки для команды, хранение образов виртуальных машин или Persistent Volume для систем оркестрации контейнеров K8s.
В мире Top Gear файловое хранилище — это поезд для задач хранения данных внутри облака. Он может быть медленнее самолета, но чаще всего будет быстрее контейнеровоза. Такой «поезд» прекрасно справляется с хранением локальных резервных копий, совместным доступом к файлам или хранением образов виртуальных машин.

Как нейросеть видит скоростной поезд NFS.
Однако файловое хранилище эффективно работает только в пределах инфраструктуры облачного провайдера. Здесь отлично прослеживается аналогия с поездом, ведь он может передвигаться только по железнодорожным путям. Если вам нужно доставить данные за пределы «сети железнодорожного полотна», возможно, стоит рассмотреть другой инструмент.
Файловые хранилища можно использовать прямо через операционную систему в виртуальном сервере или контейнере, который нужно заранее заказать у своего облачного провайдера — обычно в этом же регионе и пуле. Однако это не единственное решение.
К файловым хранилищам можно организовать доступ через клиентское приложение, если оно умеет взаимодействовать с протоколами NFS/CIFS/SMB. Аналогичным образом поддерживается работа из собственного кода. На GitHub есть даже готовые клиенты для Python вроде NfsClient [5].
При этом файловые хранилища отмечаются своей вместительностью. Хоть она и не такая, как у объектных S3-хранилищ, но измеряется десятками и даже сотнями терабайт. Так что если вашему серверу не хватает места на диске или нужно быстро передать внушительный объем данных внутри облака, файловое хранилище — это тот самый вагон, который решит проблему быстро и надежно.
Аппаратная СХД — это физическое оборудование, специально созданное для централизованного хранения данных. Оно представляет собой массивы жестких дисков и специализированные контроллеры, которые управляют этими дисками.
Аппаратные СХД обеспечивают высокую производительность, надежность и отказоустойчивость, что делает их популярными в корпоративных средах для работы с критически важными данными.
В мире Top Gear аппаратная СХД напоминает грузовой самолет, созданный для скорости и надежности. Это дорогое и мощное решение, которое обеспечивает высокую производительность и минимальные задержки при работе с данными.

Аппаратная СХД в виде самолета, взгляд нейросети.
Как и в случае с самолетом, вам понадобится заранее подготовить «аэропорт» — специализированную инфраструктуру. Для работы СХД нужна выделенная сеть (обычно на базе технологий Fiber Channel или InfiniBand), обеспечивающая сверхбыструю передачу данных.
Кроме того, специализированная инфраструктура включает использование отдельных коммутаторов, специальных адаптеров (HBA, Host Bus Adapter), которые подключаются к серверам, и качественной оптики для соединения всех компонентов.
Вместе с этим потребуется настройка LUN-ов (Logical Unit Numbers) — логических разделов, которые предоставляют доступ к хранилищу, как если бы это были локальные диски на сервере. А еще для организации «аэропорта» нужно правильно настроить доступ, разделение ресурсов и RAID.
Иными словами, для работы «самолета» потребуется целый авиационный комплекс, который должен включать профессиональный подход и квалифицированную команду. Только тогда все заработает как часы. Зато, как только все настроите, ваши данные «взлетят» с невероятной скоростью и прибудут туда, куда нужно, с максимальной надежностью.
Важно: аппаратные СХД обычно используют в пределах FC-сети в рамках ЦОД. Однако технически возможно использование поверх TCP/IP — в том числе через сеть интернет.
Объем хранения в аппаратных СХД обычно больше, чем в файловых хранилищах. Это может быть порядка сотен терабайт или даже десятка петабайт. При этом, возможно, аппаратные СХД — самые производительные системы хранения данных, созданные индустрией.
Облачные базы данных — это автомобили мира данных. Они бывают самыми разными: от экономичных гибридов для CMS до мощных болидов для DWH. При этом базы данных могут хранить от сотен гигабайт до десятков терабайт данных.
Выбирайте машину разумно, ориентируйтесь на свои задачи. Давайте рассмотрим основные модели.

MySQL глазами нейросети.
Это одна из самых популярных систем управления реляционными базами данных (СУБД) с открытым исходным кодом. Она разработана для хранения, управления и работы с данными, организованными в таблицы, строки и столбцы. Это делает ее удобной для множества приложений — от веб-сайтов до корпоративных систем.
В мире Top Gear MySQL как Toyota Prius: надежный, проверенный временем, простой в использовании вариант, который идеально подходит для базовых задач. Он экономичен и обеспечивает стабильную работу при умеренных нагрузках. Для начинающих — идеальное решение, которое «просто работает». Возможно, у MySQL не самая высокая мощность, но зато отличная оптимизация.

PostgreSQL в виде кастомного Ford.
Это мощная, надежная и широко используемая система управления реляционными базами данных (СУБД) с открытым исходным кодом. PostgreSQL известна своей гибкостью, расширяемостью и богатым набором функций. А еще она идеально подходит как для традиционных реляционных задач, так и для современных приложений, требующих работы с нереляционными данными.
В мире Top Gear PostgreSQL — это автомобиль, собранный под конкретные задачи. Это кастом, в котором можно выбрать любые параметры: мощность, колеса, тип кузова и даже использовать экстремальные модификации. Под капотом — мощный движок, который позволяет работать практически с любыми нагрузками.
Это выбор тех, кто хочет гибкости и готов вложиться в настройку, чтобы получить максимум от своей машины. В зависимости от вашего проекта, PostgreSQL может быть представлен и как гоночный Ford Mustang, и как грузовая фура из фильма «Безумный Макс».

Доставка Redis на мопеде.
Это быстрое хранилище данных в оперативной памяти с открытым исходным кодом, которое поддерживает различные структуры данных: строки, списки, множества, хеши и отсортированные множества.
Redis обычно используют для кэширования, управления сессиями, реализации очередей и обмена сообщениями, обеспечивая мгновенный доступ к данным. Кроме того, решение может работать как база данных с высокой производительностью, сохраняя данные в памяти и поддерживая различные методы сохранения на диск для долговечности. Благодаря своей скорости и гибкости Redis часто используют для оптимизации приложений и обработки больших данных в реальном времени.
В мире Top Gear Redis — это типичный курьерский мопед в большом азиатском городе, быстро доставляющий заказ на короткие дистанции. Он прост, легок и невероятно быстр. Да, у него нет большого кузова для длительного хранения данных, но если нужно оперативно доставить что-то не очень большое, Redis сделает это за миллисекунды. Идеален для кэширования и моментальной обработки.

Автопоезд Kafka, представление от нейросети.
Это распределенная платформа для обработки потоковых данных (часто используется термин шина данных), которая используется для создания, хранения и обработки потоков сообщений в реальном времени. Kafka позволяет эффективно передавать большие объемы данных между различными системами, обеспечивая высокую доступность, масштабируемость и устойчивость к сбоям.
В мире Top Gear Kafka будто скоростная фура-автопоезд для доставки сообщений, который беспрерывно перевозит данные с высокой скоростью. Подобно почтовому фургону, он может отправлять большие объемы информации в разные места и гарантирует, что ни одно сообщение не потеряется. Этот «автопоезд» создан для надежной и массовой доставки.

Навороченный внедорожник, вдохновленный OpenSearch.
Это открытая распределенная поисковая и аналитическая платформа, основанная на базе Elasticsearch, которая используется для полнотекстового поиска, анализа данных и мониторинга. OpenSearch предназначен для обработки больших объемов данных в реальном времени и широко применяется для логирования, анализа журналов, мониторинга и поисковых приложений.
В мире Top Gear OpenSearch напоминает мощный внедорожник, который может ездить по самым сложным дорогам и находить нужную информацию даже в труднодоступных местах. Благодаря умному бортовому компьютеру, продвинутой навигации и сенсорам (поисковым и аналитическим возможностям) он легко прокладывает путь через «пересеченные» массивы данных и находит нужные ключевые точки. OpenSearch — именно тот инструмент, про который говорят: «Эта машина умнее водителя».

ClickHouse в стиле Top Gear глазами нейросети.
Это высокоскоростная аналитическая реляционная колоночная база данных с открытым исходным кодом, предназначенная для обработки больших объемов данных в реальном времени. ClickHouse поддерживает SQL-подобный язык запросов и является мощным инструментом для анализа данных в реальном времени и построения аналитических систем. Также используется для логирования, мониторинга и обработки больших данных.
В мире Top Gear ClickHouse — это как высокотехнологичный гоночный болид. Он специально настроен на максимальную скорость при обработке аналитических запросов. Как болид на трассе, ClickHouse эффективно использует ресурсы для мгновенного анализа огромных массивов данных, но лучше всего работает на подготовленных трассах (оптимизированных данных).
Выбор облачного хранилища похож выбор транспорта для вашей задачи.
Напоминаю. «Модель мира», рассмотренная в статье, — шуточная. Она построена на моих ассоциациях, и я считаю ее довольно интересной. Модель не претендует на звание технически точного отражения реальности, но как первое знакомство с продуктами хранения данных в Selectel может оказаться полезной.
В Top Gear для каждой трассы есть подходящая машина. Желаю и вам в новом году найти наиболее подходящий инструмент хранения данных. С этим вам может помочь наш сайт [1].
Давайте попробуем дополнить мир Top Gear. Расскажите, с чем в рамках представленной модели у вас ассоциируется MongoDB?
Автор: GrishinAlex
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/oblachny-e-servisy/407695
Ссылки в тексте:
[1] в экосистему облачных хранилищ: https://selectel.ru/solutions/storage-services/?utm_source=habr.com&utm_medium=referral&utm_campaign=cloud_article_storage_010124_content
[2] S3 API: https://docs.selectel.ru/api/object-storage-s3/?utm_source=habr.com&utm_medium=referral&utm_campaign=cloud_article_storage_010124_docs
[3] Swift API: https://docs.selectel.ru/api/object-storage-swift/?utm_source=habr.com&utm_medium=referral&utm_campaign=cloud_article_storage_010124_docs
[4] Selectel Storage API: https://docs.selectel.ru/api/selectel-storage/?utm_source=habr.com&utm_medium=referral&utm_campaign=cloud_article_storage_010124_docs
[5] NfsClient: https://github.com/CharmingYang0/NfsClient
[6] Parquet S3 FDW: https://www.postgresql.org/about/news/parquet-s3-fdw-110-released-2768/
[7] Источник: https://habr.com/ru/companies/selectel/articles/873456/?utm_source=habrahabr&utm_medium=rss&utm_campaign=873456
Нажмите здесь для печати.