Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба10.docx
Скачиваний:
5
Добавлен:
28.05.2023
Размер:
1.11 Mб
Скачать

Часть 2

Файловые хранилища Среди плюсов файловых хранилищ выделяют простоту. Файлу присваивается имя, он получает метаданные, а затем «находит» себе место в каталогах и подкаталогах. Файловые хранилища обычно дешевле по сравнению с блочными системами, а иерархическая топология удобна при обработке небольших объемов данных. Поэтому с их помощью организуются системы совместного использования файлов и системы локального архивирования. Пожалуй, основной недостаток файлового хранилища — его «ограниченность». Трудности возникают по мере накопления большого количества данных — находить нужную информацию в куче папок и вложений становится трудно.

Объектные хранилища Что касается объектных хранилищ, то они хорошо масштабируются, поэтому способны работать с петабайтами информации. По статистике, объем неструктурированных данных во всем мире достигнет 44 зеттабайт к 2020 году — это в 10 раз больше, чем было в 2013. Объектные хранилища, благодаря своей возможности работать с растущими объемами данных, стали стандартом для большинства из самых популярных сервисов в облаке: от Facebook до DropBox.

Обзор хранилищ данных

JDBC

Первое хранилище данных для Java, которое мы рассмотрим, является основой для большинства хранилищ данных: JDBC, API подключения к базе данных Java. Это в основном механизм, с помощью которого приложения Java могут выдавать SQL, через который можно получить доступ к реляционной базе данных.

Большинство взаимодействий с JDBC являются потоковыми, что означает, что с точки зрения приложения набор записей, возвращаемых из запроса SQL, хранится в памяти по одной строке за раз. Это на самом деле очень хорошо, потому что это означает, что ваше приложение может начать обработку данных, как только они поступят из базы данных, в отличие от ожидания, пока весь набор данных не будет готов.

Хорошей новостью является то, что JDBC довольно прост (хотя и немного многословен), а реляционные базы данных довольно распространены. Плохая новость заключается в том, что JDBC довольно многословен, а реляционные базы данных, как правило, хороши при поиске данных и не так хороши при транзакциях обновления.

У JDBC также есть недостаток типов данных. На самом деле это звучит не так уж плохо, за исключением того, что вам — программисту — приходится создавать преобразования или проверки самостоятельно, даже если базовая база данных поддерживает пользовательские типы данных.

Openstack Swift

OpenStack Swift — одна из первых крупных реализаций объектного хранилища корпоративного уровня с открытым исходным кодом. Это то, что сегодня стоит за многими частными облаками. Но поскольку хранилище писали давно, в его архитектуре много неоптимальных решений:

Swift хранит объекты в блочных файловых системах, таких как ext3. И для хранения метаданных полагается на функции файловой системы, в частности xattrs.

Его внутренняя база данных сопоставлений объектов и местоположений хранится в файлах .gz, которые реплицируются на все хранилища и прокси-узлы.

Серверы контейнеров и учетных записей хранят подмножество метаданных объектов (атрибуты контейнера и учетной записи) в реплицированных базах данных sqlite.

Отсутствуют важные функции, например, кодирование со стиранием.

Min.IO – это популярное программное обеспечение с открытым исходным кодом для распределенного хранения объектов, совместимое с S3. Выпускается под лицензией Apache v2. Он известен своей высокой производительностью.Вы можете использовать MinIO для простого веб-приложения до больших рабочих нагрузок распределения данных для приложений аналитики и машинного обучения.

MinIO создано для размещения неструктурированных данных, таких как фотографии, видеозаписи, файлы журналов, резервные копии, а также образы виртуальных машин и контейнеров. Небольшой размер позволяет включать его в состав стека приложений. В MinIO также поддерживается распределённый режим (Distributed mode), который предоставляет возможность подключения к одному серверу хранения объектов множества дисков, в том числе расположенных на разных машинах.

В MinIO используется внутренний механизм избыточного кодирования (Erasure coding), обеспечивающий системе достаточную устойчивость, чтобы она оставалась работоспособной даже при отказе половины дисков. Также хранилище управляет целостностью и безопасностью данных, используя собственное хеширование и шифрование на стороне сервера.

Плюсы использования:

  • MinIO – самый быстрый в мире сервер хранения объектов. Со скоростью чтения / записи 183 ГБ / с и 171 ГБ / с на стандартном оборудовании объектное хранилище может работать в качестве основного уровня хранилища для разнообразного набора рабочих нагрузок

  • В MinIO масштабирование начинается с одного кластера, который может быть объединен с другими кластерами MinIO для создания глобального пространства имен, охватывающего несколько центров обработки данных, если это необходимо

  • MinIO является полностью открытым исходным кодом под лицензией Apache V2 и Стандартной общественной лицензией Affero версии 3 (AGPLv3). Это означает, что клиенты MinIO свободны от замков, свободны проверять, свободны вводить новшества, свободны изменять и свободно распространять

  • API Amazon S3 является стандартом де-факто в мире объектных хранилищ. MinIO – это де-факто стандарт совместимости с S3, он был одним из первых, кто принял API, и первым, кто добавил поддержку S3 Select.

Для демонстрации работы было выбрано хранилище MinIO

Установка

Рисунок 11 установка

Рисунок 12 запуск

Рисунок 13 создание хранилища

Рисунок 14 просмотр добавленных файлов

Выводы

В ходе выполнения данной лабораторной работы мы ознакомились с NoSQL СУБД такими как Orientdb, Cassandra и MinIO. Изучили процесс их развертывания, их особенности, синтаксис их команд, создали первые объекты. Также ознакомились с хранилищами данных и объектными хранилищ, изучили их особенности, развернули 1 из них на виртуальной машине.

Соседние файлы в предмете Базы данных