Как эффективно использовать Google Cloud Storage

Облачное хранилище Google или GCS - это инфраструктура как услуга, предоставляемая облачной платформой Google (GCP), которая позволяет хранить и получать доступ к неструктурированным данным в файлах. Стоимость хранения и эксплуатации GCS очень низкая, и иногда мы не особо об этом думаем. Если GCS используется правильно, вы можете сэкономить деньги и получить лучшую производительность. Я собрал некоторые важные сведения, которые следует знать перед использованием GCS.

Создание корзины GCS:

Bucket - это корневой контейнер для хранения объектов, а object - это часть данных, которая была загружена в bucket (например, /user/name/file.txt). GCS запрашивает некоторые обязательные входные данные перед созданием корзины. Например, он спрашивает:

  1. Название ковша
  2. Класс хранения
  3. Место расположения
Создание ведра

В этой статье я также объяснил правила предоставления информации перед созданием корзины.

Соглашение об именах сегментов:

Поскольку все сегменты GCS находятся в одном пространстве имен облачного хранилища Google, имя сегмента должно быть уникальным во всем мире. Ведро, а также имя объекта не должны содержать личную информацию (PII) по соображениям безопасности.
Для получения дополнительной информации перейдите к наименованию ведра.

Выберите подходящий класс хранения:

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

Сравнение классов хранения

* Стоимость указана для мультирегиона США
 Для резервного копирования и хранения исторических данных Nearline или Coldline являются наилучшим вариантом, поскольку доступ к данным будет затруднен. С другой стороны, для потокового вещания в режиме реального времени или частого доступа к данным наилучшим вариантом является мультирегиональный или региональный класс. Если выбрать класс непонятно, региональный - безопасный вариант.

Выберите подходящее место:

Выбор подходящего местоположения корзины зависит от местоположения потребителя и источника данных. Чтобы оптимизировать задержку, лучше использовать потребителя пропускной способности сети, источник данных и область памяти. Так как класс мультирегионального хранения предлагает функцию геоизбыточности данных, данные копируются в нескольких географических регионах. Таким образом, потребитель, источник данных, корзина должны находиться в одном и том же мультирегиональном расположении (us / asia / eu / eur4 / nam4), если класс хранения выбран как мультирегиональный.

Установить версию на ведро:

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

# посмотрите, включено ли управление версиями или нет
gsutil versioning get gs: // 
# возможность включения версий
Версия gsutil установлена ​​на gs: // 
# проверить версионный объект
gsutil ls -a gs: //  / 
# восстановить объект из заархивированного объекта
gsutil cp gs: //  /  #  gs: // ‌  / 

Поместите свое значение в <> при запуске команды. Дополнительные расходы будут добавлены, если в корзине включено управление версиями.

Избегайте последовательных имен файлов:

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

Постепенно увеличивайте трафик:

Первоначально корзины имеют емкость ввода-вывода около 1000 запросов на запись в секунду и 5000 запросов на чтение в секунду. GCS имеет возможность перераспределить нагрузку между несколькими серверами, когда обнаруживает, что нагрузка приближается к пределу ввода-вывода. Но для обнаружения и перераспределения нагрузки требуется порядка нескольких минут. Таким образом, если частота запросов в сегменте увеличивается быстрее, чем GCS может выполнить его перераспределение, ваше приложение, которое генерирует частоту запросов, столкнется с большей задержкой и большей частотой появления ошибок.

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