Блогarrow-iconРелизыarrow-icon
Новый релиз: ЗАКРОМА.Хранение 2.0

Новый релиз: ЗАКРОМА.Хранение 2.0

ЗАКРОМА.Хранение 2.0 - Новое ядро, шардирование базы данных, ролевая модель доступа и многое другое.
Релизы
calendar
16 августа 2024
calendar
5 минут чтения

Мы следим за последними тенденциями в области хранения данных и стараемся соответствовать растущим требованиям наших клиентов. В новой версии ЗАКРОМА.Хранение мы полностью переработали ядро приложения и внедрили ряд новых функций, расширив возможности по масштабированию и управлению хранилищем.

Что нового?

ЗАКРОМА.Хранение 2.0 - представляет собой значительное обновление, направленное на улучшение масштабируемости, управляемости и безопасности объектного хранилища.

  • Мы реализовали шардирование базы данных - это обеспечивает высокую отказоустойчивость, улучшает производительность и позволяет эффективно масштабировать хранилище по мере роста данных.
  • Добавили локальных администраторов доступа, что позволяет реализовать модель “S3-хранилище как сервис”.
  • Добавили разграничение прав к разделам панели администрирования.
  • Добавили возможность политик доступа к S3 операциям и объектам.

Шардирование базы данных

Одним из преимуществ объектного хранилища ЗАКРОМА.Хранение изначально являлась лёгкость горизонтального масштабирования. Вы легко можете увеличить ёмкость хранилища по мере необходимости, просто добавив новые узлы в систему.

Однако, в предыдущей версии ЗАКРОМА.Хранение, была одна особенность, которая ограничивала возможности по масштабированию. Все данные об объектах: состояние объекта, размер, метаданные, хеш-сумма, политики хранения и другие характеристики хранились в единой базе данных. Такой подход не создаёт никаких сложностей, когда мы имеем дело с небольшим количеством объектов в бакете. Однако, когда речь идёт о миллиардах объектов в одном бакете и свыше 10000 запросов в секунду – наличие одной большой базы для хранения информации об объектах могло выступать ограничением для роста.

Для того, чтобы этого избежать, в ЗАКРОМА.Хранение 2.0 мы полностью переработали ядро приложения и внедрили функцию шардирования - разделение базы данных об объектах на несколько частей – шардов. Теперь нет необходимости хранить одну большую базу данных. Она может быть разделена на несколько шардов (баз данных) и размещаться на одном или нескольких серверах, в зависимости от потребностей. Для удобства управления данными, шарды также можно объединить в сабсеты.

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

За обеспечение логики разделения базы данных на шарды и логики распределения запросов к каждому шарду, отвечает специальный сервис - Composer.

Планирование шардов можно осуществлять из расчета 50 миллионов объектов на один шард и добавлять новые шарды по мере приближения к этой величине.

scheme20.png

Шардирование базы данных – необходимая функциональность, когда речь идёт о хранении больших объёмов данных.

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

«Хранилище – как сервис»

Управление ролями пользователей в рабочей области/бакетах

В новом обновлении появилась возможность назначать локальных администраторов, которые могут иметь доступ к управлению определенной рабочей областью или бакетом. 

Для этого, на вкладке «Администраторы» вам просто нужно назначить пользователю необходимую роль.

space-admin1.png bucket-admin1.png

На выбор доступно 3 роли, каждая из которых характеризуется разными возможностями для конкретного пользователя.

Роль владельца (owner) рабочей области или бакета - такая роль наделяет пользователя максимально широкими правами по настройке и редактированию - владелец может назначать и отзывать роли другим пользователям, настраивать и удалять рабочую область и входящие в неё бакеты. 

Роль редактора (maintainer) - дает право редактировать настройки, но не позволяет удалять рабочую область или бакет.

Роль просмотрщика (viewer) - позволяет позволяет пользователю лишь просматривать настройки бакета или рабочей области без возможности вносить какие-либо изменения. 

bucket-admin2.png

Управление доступом к вкладкам панели управления

Теперь права доступа можно настроить таким образом, чтобы администратор имел доступ только к конкретной вкладке или группе вкладок панели управления. 

Например, для сотрудника по инфобезопасности можно сделать отдельные права, которые ограничивают возможности пользователя просмотром только лишь одной вкладки «Операции» и не позволяют просматривать содержимое остальных вкладок.

role-add.png

Список разрешений, который можно выдать пользователю, следующий:

  • Доступ к информации о кластерах
  • Полный доступ к мониторам
  • Очистка истории операций
  • Полный доступ к управлению ролями
  • Полный доступ к управлению хранилищами
  • Полный доступ к управлению правами пользователей
  • Полный доступ к управлению Webhooks

Каждое разрешение соответствует определенной вкладке на панели управления. role-add2.png

Политики доступа

Теперь стал доступен ещё один мощный механизм управления доступом к хранилищу – каждому пользователю можно назначить права доступа в разрезе S3-операций до конкретного объекта или маски.

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

Можно ограничить или разрешить доступ к любой поддерживаемой S3 операции по необходимости.

bucketpoilcy1.png

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

Таким образом, в ЗАКРОМА.Хранение теперь доступны 2 независимые модели управления доступом. Одна для администрирования рабочих областей и бакетов  – ролевая модель, вторая – для контроля доступа к S3 операциям через политики доступа. 

Как заключение

Эти изменения делают ЗАКРОМА.Хранение 2.0 идеальным решением для организаций, нуждающихся в надежном и масштабируемом объектном хранилище с расширенными функциями управления доступом и защиты данных.

Станислав Логинов
Поделиться share