Тарифы
Блог
Сервисы
Сквозная аналитика
Generator
Генератор объявлений и управление ставками
Выгрузка и загрузка данных из разных систем
Загрузка расходов
Загружайте рекламные расходыв Google Analytics и Яндекс Метрику
Leads
Автоматизация экспорта лидов
из рекламных кабинетов
Аудитории
Автоматизация загрузки аудиторий
в рекламные кабинеты
Data Backup
Миграция данных
из Google BigQuery в ClickHouse
Контакты
17 июня 2022

Преодолевая закон Мёрфи: автоматический бэкап в хранилища S3, ClickHouse и PostgreSQL

«Если что-то может пойти не так, оно обязательно пойдет не так»‎ — эту легендарную фразу американского авиаконструктора Эдварда Мерфи, часто принято понимать как закон зловредности мироздания: мол, коварная природа строит нам козни и если провал не случился сегодня, его обязательно стоит ждать завтра. Однако сам Мерфи не раз говорил, что такие трактовки его категорически не устраивают: на деле причина возрастающих рисков заключается в возрастании сложности системы. Кто-то скажет: мир становится сложнее с каждым днем и просчитать все риски попросту невозможно. Разумеется, это так. Но застраховать себя от некоторых из них — безусловная необходимость.

Любая организация, которая хочет работать эффективно, должна обеспечить безопасность своей информации. Один из очевидных способов защитить свои данные — настроить их автоматический бэкап. В этой статье мы расскажем о трех вариантах резервного копирования: в хранилища S3, ClickHouse от Яндекса, и PostgreSQL. Мы сосредоточимся на их особенностях и различиях, а также покажем, как настроить резервное копирование в несколько кликов с помощью инструментов Garpun.

Выбор платформы для автоматического бэкапа: основные понятия

Что такое автоматический бэкап?

Автоматический бэкап, или резервное копирование по заранее заданному расписанию, — это простой и эффективный способ застраховать свои данные от случайной потери или сбоя. Основное преимущество автоматизации бэкапа лежит на поверхности — стоит один раз настроить правила, и больше не нужно вмешиваться в работу системы.


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

Вариант первый: бэкап в хранилища S3

Что такое хранилище S3?

Хранилищами S3 сегодня называют облачные объектные системы хранения данных, в основе которых лежит программный интерфейс S3 API. Этот интерфейс был впервые представлен компанией Amazon в 2006 году как протокол для взаимодействия с Amazon Storage, и с тех пор многие облачные сервисы стали использовать S3 API в своей работе. Основная особенность таких сервисов заключается в том, что они хранят единицы данных в отдельных контейнерах, а доступ к ним предоставляют через уникальные ключи-идентификаторы, которые похожи на URL-адреса в системе доменных имен. Большим преимуществом использования объектного хранилища является то, что благодаря набору атрибутов вы можете найти любой объект, даже не зная его физического местоположения. К тому же объектные системы, в отличие от блочных и файловых, очень хорошо масштабируются, и потому больше подходят для решения вопросов крупного IT-бизнеса.

Российские облачные сервисы на основе S3

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

Ниже мы рассмотрим несколько российских облачных сервисов, которые используют программный интерфейс S3, и их основные особенности.
Yandex.Cloud
Яндекс располагает впечатляющим функционалом из полусотни сервисов: от объектного хранилища S3 и кластеров Kubernetes до продвинутых инструментов аналитики и визуализации данных. Также в наличии тройная репликация данных по географически-распределенным дата-центрам, полное соответствие ISO-стандартам и денежный грант на знакомство с платформой при открытии платежного аккаунта. Пожалуй, из всех современных локальных облачных решений, Яндекс предлагает самый обширный набор функций.

Облачными сервисами от Яндекса пользуются такие компании, как Leroy Merlin, Газпром, anywayanyday и банк Райффайзен.
VK Cloud Solutions
VK позиционирует Cloud Solutions как платформу бизнес-класса для IT-решений в облаке. Среди основных возможностей сервиса доступны стандартные виртуальные серверы, объектное хранилище с S3 API, кластеры Kubernetes, управляемые базы данных, а также приватный и публичный варианты размещения. Кроме того, VK обещает аптайм 99.95% по SLA «с реальными финансовыми гарантиями» и тройную репликацию данных, которая сведет к минимуму риски потери информации.

Решениям от VK Cloud доверяют такие организации, как Банк Открытие, Yota, Ivi и 1С.
SberCloud
SberCloud — облачный сервис, который является частью бизнес-экосистемы Сбербанка. Кроме стандартного набора из объектного хранилища S3, сервиса управления приложениями на основе Kubernetes и платформ управления базами данных, в SberCloud доступны и более специфичные решения. Это, например, сервис Elastic Cloud Server на базе аппаратного обеспечения NVIDIA или выделенная платформа Bare Metal Server — для тех, кому необходим полный контроль над критически важными данными.

Среди клиентов SberCloud выделяются сервис «Работа.ру», Dodo Pizza и российское представительство компании HONOR.

Вариант второй: бэкап в ClickHouse

О том, что такое система управления базами данных ClickHouse мы подробно писали в предыдущем материале. Здесь же мы остановимся на основных особенностях ClickHouse, которые могут повлиять на выбор этой платформы в качестве основного варианта для резервного копирования данных.

Чем хорош ClickHouse и почему он такой быстрый?

  1. Все любят ClickHouse за скорость
Яндекс называет оптимальным сценарием работы ClickHouse обработку аналитических запросов в режиме реального времени. Это неудивительно, ведь первоначально ClickHouse создавался как инструмент для решения задач Яндекс.Метрики. Скорость работы системы в онлайн-режиме обусловлена ее архитектурными особенностями: ClickHouse — колоночная СУБД и данные в ней группируются по столбцам, а те в свою очередь хранятся в разных файлах. Это увеличивает скорость работы потому, что в одном запросе, как правило, используются далеко не все колонки, плюс ClickHouse действительно эффективно сжимает данные в колонках с повторяющимися значениями.
2. Чем больше запросов, тем выгоднее работать в ClickHouse
СУБД от Яндекса отлично подходит для выполнения большого количества запросов и работы с анализом данных: в случае обработки терабайтов информации и большого количества запросов, система не только показывает высокую производительность, но и помогает существенно сэкономить.
3. Геополитические факторы в пользу ClickHouse
Если вы ведете свой бизнес на территории РФ, то еще одна причина выбрать сервис от Яндекса — это риски размещения на иностранных площадках. Когда ваши данные находятся в Yandex Cloud, вы можете быть уверены, что они хранятся на территории Российской Федерации и в полном соответствии с ее законодательством.

Почему о ClickHouse стоит подумать дважды?

  1. Отсутствие транзакций
ClickHouse в первую очередь ориентирован на считывание данных, поэтому попытки использовать его для обработки транзакций будут нецелесообразными. Один из разработчиков ClickHouse Виктор Тарнавский рекомендует использовать для этого более классические решения — такие, как PostgreSQL и MySQL.
2. Отсутствие операций по отдельным записям DELETE и UPDATE
ClickHouse не поддерживает SQL-запросы точечного изменения данных DELETE и UPDATE. По заверениям Яндекс, это происходит вовсе не из религиозных соображений разработчиков — в сервисе считают, что модификации данных трудно оптимально хранить и обрабатывать в системе, ориентированной на производительность. Для изменения данных Яндекс предлагает другие решения, однако для тех, кто привык к функционалу с DELETE и UPDATE, ClickHouse может быть в новинку.
3. Зависимость от оперативной памяти
Для некоторых операций ClickHouse будет помещать промежуточные данные в оперативную память. Так происходит, например, при использовании агрегатных функций. Функции соединения таблиц также будут ограничены оперативной памятью сервера. Сами разработчики рекомендуют использовать как минимум 4 ГБ оперативной памяти, чтобы иметь возможность выполнять нетривиальные запросы.

Больше информации о специфике работы в ClickHouse вы можете найти в нашем материале ClickHouse как альтернатива Google BigQuery.

Вариант третий: бэкап в PostgreSQL

Что такое PostgreSQL?

PostgreSQL — это самая продвинутая бесплатная реляционная система управления базами данных с открытым исходным кодом. В отличие от MySQL, которую чаще используют для веб-сайтов и онлайн-транзакций, PostgreSQL отлично справляется с работой в высоконагруженном вебе и больше подходит для нужд больших корпораций. Это надежная, масштабируемая, транзакционная СУБД с большим количеством возможностей и многолетней историей оупен-сорс разработки. Год за годом PostgreSQL получает награды в номинации «лучшая база данных», и давно зарекомендовала себя, как крупный игрок, способный конкурировать с решениями от Oracle и IBM.

Чем хорош PostgreSQL?

1. Наличие бесплатной версии с открытым исходным кодом
Кроме коммерческих вариантов использования сервиса, PostgreSQL предлагает бесплатную оупен-сорс версию, которая разрабатывается и поддерживается мировым коммьюнити уже 25 лет. А открытый исходный код — это не только отсутствие необходимости платить за лицензию, но и потенциальные возможности для модификации PostgreSQL в соответствии с потребностями вашего бизнеса.
2. Высокая совместимость с SQL-стандартом и основными языками
Одним из преимуществ PostgreSQL является его совместимость с различными платформами, которые используют основные языки программирования и промежуточное ПО. Кроме того, 90% SQL-диалекта, который вы будете применять в PostgreSQL, используется и в других СУБД.
3. PostgreSQL отлично подойдет для финансов
PostgreSQL — прекрасный выбор для финансовой отрасли: он полностью совместим с требованиями ACID, что делает его идеальным выбором для онлайн-обработки транзакций (OLTP). Кроме того, PostgreSQL можно интегрировать с математическим программным обеспечением — например, с Matlab — и эффективно выполнять аналитическую работу с базой данных.

В чем недостатки PostgreSQL?

1. Относительно невысокая скорость операций чтения
PostgreSQL отлично подходит для работы с большими объемами информации и сложными запросами, но для простых процессов с большим количеством операций чтения Postgres уступает MySQL в скорости обработки данных. Впрочем, в интернете можно встретить немало советов по оптимизации производительности PostgreSQL.
2. Потенциальные трудности с поиском специалистов
В силу исторических причин PostgreSQL менее популярен, чем MySQL. Основная заключается в том, что MySQL всегда был куда проще в установке и использовании. Более того, MySQL появился на заре интернета и сразу привлек большую аудиторию именно простотой использования сервиса, тогда как Postgres выпустил свой первый native-релиз для Windows только в 2005 году — семь лет спустя. Итогом стало то, что поиск хороших администраторов PostgreSQL — нетривиальная задача.

Автоматизация бэкапа с помощью сервисов Garpun

1
Зарегистрируйтесь в системе Garpun
2
Перейдите в сервис Garpun Feeds
3
В разделе "Потоки данных" нажмите на кнопку "+ поток данных"
4
В качестве источника данных выберите вашу БД, Google BigQuery или ClickHouse, в качестве приемника укажите Database.
Подключение к ClickHouse, MySQL и к PostgreSQL выполняется через один и тот же протокол, так что переживать не стоит.
5
Далее, выберите ваше подключение или добавьте новое с помощью кнопки
"+ Добавить" справа от столбца выбора аккаунта.
Ниже введите SQL запрос для выбора конкретных параметров из текущей таблицы-источника. Для перекладки всей информации в таблице можно указать SELECT *FROM {название датасета}.
6
На следующем шаге, в настройках приемника данных, выберите или подключите вашу базу данных и укажите параметры новой схемы базы данных, выберите способ записи и настройки партицирования, если требуется.
7
Далее, укажите название будущего потока и настройте период автоматического обновления данных. Нажмите "Готово". После этого поток будет создан.
8
По умолчанию, поток будет запускаться автоматически в указанное время и обновлять данные за нужный период.
Если вам требуется собрать данные за больший период, вы можете сделать это, нажав на кнопку "Запустить поток" и выбрав нужный диапазон дат.

Заключение

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

На чем бы вы ни остановили свой выбор, Garpun поможет настроить интеграцию с нужным сервисом и позаботиться о защите ваших данных. В конце концов, как гласит одна из вариаций закона Мерфи: «Вероятность падения бутерброда маслом вниз прямо пропорциональна стоимости ковра». И проверять это сильное утверждение на практике нам совсем не хочется :)
Самые популярные статьи