Блог HAQM Web Services

Знакомимся с HAQM DocumentDB (MongoDB-совместимой)

Оригинал статьи: ссылка (Joseph Idziorek, Principal Product Manager и Sameer Kumar, Senior Specialist Technical Account Manager).

HAQM DocumentDB (совместимая с MongoDB)  – это быстрый, масштабируемый, высоко-доступный сервис документо-ориентированной базы данных, который поддерживает решения на основе MongoDB. Будучи документо-ориентированной базой данных, HAQM DocumentDB позволяет довольно просто сохранять, запрашивать и индексировать JSON данные. HAQM DocumentDB совместима с драйверами и утилитами для MongoDB 3.6. Подавляющее большинство приложений, драйверов и инструментов, которые вы уже используете сегодня для работы MongoDB, могут быть использованы и с HAQM DocumentDB с минимальными изменениями, или вообще без изменений.

В этом посте, я расскажу об информационных ресурсах, которые позволяют ответить на наиболее частые вопросы, задаваемые при работе с HAQM DocumentDB:

  • Что такое HAQM DocumentDB?
  • Как начать работу с HAQM DocumentDB?
  • Как разрабатывать приложения и масштабироваться с HAQM DocumentDB?
  • Как мигрировать на HAQM DocumentDB?
  • Кто использует HAQM DocumentDB?
  • Как быть в курсе новостей про HAQM DocumentDB?

Что такое HAQM DocumentDB?

Чтобы разобраться в чем уникальность HAQM DocumentDB, и как ее архитектура, разработанная специально для облачных решений с разделением хранилищ данных и вычислительных мощностей, позволяет быстро масштабировать приложения, ознакомьтесь со следующими ресурсами:

  • HAQM DocumentDB Deep Dive (from re:Invent 2019)
    В этом видео, Joseph Idziorek (Principal Product Manager, AWS) рассказывает о наиболее частых кейсах применения HAQM DocumentDB, о том почему разработчики выбирают документо-ориентированные хранилища данных. Приводит примеры, когда стоит рассмотреть альтернативные хранилища данных, и показывает как HAQM DocumentDB решает конкретные проблемы клиентов связанные с управлением и масштабируемостью документных баз данных. Одним из знаковых кейсов, описанных в рамках сессии, является кейс Fulfillment by HAQM (FBA), который уменьшил количество необходимых серверов для поддержки предыдущего решения с 96 серверов до всего лишь двух инстансов HAQM DocumentDB. Миграция на HAQM DocumentDB позволила одновременно увеличить производительность на 66% и уменьшить стоимость на 45%. Пример FBA демонстрирует результаты применения подхода использования правильной базы данных для нужд конкретного приложения. Также кейс FBA затрагивает аспекты правильного масштабирования операций чтения и записи, и применения стратегий индексирования в рамках HAQM DocumentDB. В рамках сессии показаны три демонстрации: создание snapshot backup для 1.5ТБ кластера менее чем за минуту; добавление нового инстанса за 5 минут, запрос данных из HAQM DocumentDB посредством SQL, а также используя новый подход с применением  распределенных запросов в HAQM Athena.
  • Функциональность сервиса
    Как полностью управляемый (managed) сервис баз данных, HAQM DocumentDB предоставляет набор возможностей и функциональность, позволяющий создавать масштабируемые, производительные, безопасные и высокодоступные приложения на AWS.
  • FAQs
    Узнайте ответы на наиболее часто задаваемые вопросы об HAQM DocumentDB, такие как: «Что значит «MongoDB-совместимая»?», «Какой SLA предоставляет HAQM DocumentDB, «Как работает посекундная тарификация сервиса?», и другие.

Как начать работу с HAQM DocumentDB?

  • Руководство по началу работы
    Узнайте, как создать HAQM DocumentDB кластер с помощью AWS Management Console или AWS CLI, подключиться к базе данных и запросить данные с использованием mongo shell.
  • Подключение из AWS Cloud9
    Для разработки, тестирования и управления кластером HAQM DocumentDB, вы можете использовать AWS Cloud9. AWS Cloud9 – это облачная среда разработки (IDE), которая позволяет писать и отлаживать код, а также запускать приложения напрямую из браузера. Такие приложения, в том числе, могут подключаться к HAQM DocumentDB кластерам. AWS Cloud9 предоставляет web-терминал (поддерживается HAQM Linux или Ubuntu), в котором можно установить mongo shell или MongoDB SDK для подключения к HAQM DocumentDB.
  • Подключение извне VPC
    Кластера HAQM DocumentDB создаются внутри HAQM Virtual Private Cloud (HAQM VPC). Доступ к кластеру можно получить напрямую из HAQM EC2 или других AWS сервисов, которые были развернуты в той же HAQM VPC. Также, можно настроить доступ в кластер из EC2 инстансов или других AWS сервисов в других VPC в том же регионе, или из других регионов, настроив VPC peering.

Как разрабатывать приложения и масштабироваться с HAQM DocumentDB?

Приведенные далее ресурсы помогут вам начать разрабатывать приложения и масштабироваться на HAQM DocumentDB:

  • Лучшие практики
    Здесь можно ознакомиться с постоянно пополняемым и обновляемым списком лучших практик по работе с HAQM DocumentDB.
  • Мониторинг
    HAQM DocumentDB предоставляет HAQM CloudWatch метрики для вашего кластера и инстансов базы данных. В рамках AWS Management Console есть возможность отслеживать более 20 ключевых операционных метрик кластера, таких как – память, объем хранилища, количество запущенных запросов, количество активных подключений, и другие. В дополнение, вы можете использовать HAQM DocumentDB профайлер для логирования времени выполнения запросов и деталей операций, выполняемых на кластере. Профайлер полезен для мониторинга медленных запросов с целью последующей оптимизации времени их выполнения.
  • Масштабирование операций чтения
    В отличие от традиционной монолитной архитектуры баз данных, HAQM DocumentDB разделяет вычислительные мощности и хранилище данных. Поэтому, масштабирование операций чтения рекомендуется осуществлять путём добавления новых инстанстов HAQM DocumentDB. Операции чтения, осуществляемые с реплик, не блокируют операции записи, т.к. данные реплицируются из основного инстанса. Вы можете добавить до 15 read-реплик в кластер, что позволит масштабировать операции чтения до миллионов операций в секунду.
  • Резервное копирование и восстановление базы данных
    Благодаря возможностям резервного копирования, HAQM DocumentDB позволяет делать «восстановление-на-момент-времени» для вашего кластера, что означает возможность восстановления с посекундной гранулярностью в рамках срока хранения резервной копии, но не позже, чем 5 минут от текущего времени. Автоматическое резервное копирование может быть настроено в рамках интервала, не превышающего 35 дней.  Автоматические резервные копии хранятся на HAQM S3, который обеспечивает надежность 99,999999999 % (11 девяток). HAQM DocumentDB делает резервные копии автоматически, инкрементально, не оказывая влияния на производительность кластера.
  • Безопасность
    HAQM DocumentDB позволяет шифровать базы данных с использованием ключей, которые создаются и управляются через AWS Key Management Service (KMS). На кластере HAQM DocumentDB с включенным шифрованием, будет зашифровано следующее: данные, хранимые на дисках, используемых HAQM DocumentDB (encryption at rest); автоматические резервные копии, снэпшоты и реплики в рамках того же кластера. По-умолчанию, все соединения между клиентским приложением и HAQM DocumentDB зашифрованы с помощью TLS (encrypted-in-transit)
  • Стоимость и калькулятор стоимости
    При использовании HAQM DocumentDB нет необходимости что-то платить заранее, вы платите за сервис только в рамках объема потребленных мощностей кластера, который используете. Цена за HAQM DocumentDB состоит из следующих четырех составляющих: размер инстансов в кластере, объем хранилища баз данных, IOPS, и объем хранения резервных копий.
  • Отказоустойчивость и репликация
    Вы повышаете отказоустойчивость кластера HAQM DocumentDB и достигаете масштабируемости операций чтения посредством использования реплик. Ваш кластер HAQM DocumentDB и его инстансы постоянно мониторятся, и в случае отказа одного из инстансов, HAQM DocumentDB автоматически переключится на реплику. Восстановление HAQM DocumentDB не требует потенциально долгой процедуры накатывания логов транзакций базы данных, поэтому время на перезагрузку инстанса обычно меньше 30 сек. Также кэш базы данных изолируется от процесса базы данных, поэтому при перезагрузке инстанса реплики, кэш сохраняется и может быть сразу использован.

Как мигрировать на HAQM DocumentDB?

Большинство разработчиков стараются избежать необходимости инвестировать ресурсы в поддержку и управление базами данных. AWS предоставляет возможность миграции ваших MongoDB баз данных из локальных дата-центров или из MongoDB  инстансов, размещенных на HAQM EC2, на HAQM DocumentDB бесплатно (до 6 месяцев на каждый инстанс базы данных) и практически без простоев с использованием AWS Database Migration Service (DMS). С помощью DMS вы можете мигрировать на HAQM DocumentDB как базы данных, использующие MongoDB replica set, так и базы данных MongoDB в режиме sharded cluster.

В представленном далее 3х-минутном видео показано, как произвести «живую» миграцию базы данных MongoDB на DocumentDB используя AWS DMS. В рамках видео были созданы два одинаковых приложения: первое использует MongoDB (исходная база), второе — HAQM DocumentDB (конечная база); создан DMS task для «живой» миграции данных; сделаны изменения в исходной базе, и осуществлена проверка этих изменений в конечной базе HAQM DocumentDB.

 

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

  • Руководство по миграции
    Руководство по миграции HAQM DocumentDB описывает все фазы миграции – первичный анализ, планирование, тестирование, переключение (failover) – которые вы должны иметь в виду при осуществлении миграций. Также, руководство обсуждает различные подходы к миграции (онлайн, гибридная, офлайн) и инструменты, такие как DMS, которые в том числе позволяют мигрировать на HAQM DocumentDB.
  • Обзор способов миграции (re:Invent 2019)
    Jeff Duffy (Senior Specialist Solutions Architect, AWS) работающий с HAQM DocumentDB, даёт обзор стратегий клиентов и важных аспектов миграции на HAQM DocumentDB. Сессия включает обсуждения реляционных и не реляционных источников данных, фазы миграции, описание того, как выбрать правильный размер кластера и утилиты миграции.
  • Руководство по миграции
    Чтобы лучше понять процесс миграции с MongoDB на HAQM DocumentDB с использованием AWS DMS, воспользуйтесь руководством по миграции HAQM DocumentDB.
  • Семинар по миграции: миграция MongoDB базы данных на HAQM DocumentDB
    В рамках семинара вы узнаете, как мигрировать MongoDB базу данных на HAQM DocumentDB используя различные стратегии миграции.

Кто использует HAQM DocumentDB?

Такие компании как Capital One, OnDeck, Freshop, Woot!, HAQM и многие другие используют HAQM DocumentDB, при разработке и для масштабирования своих приложений в AWS.

  • Как Fulfillment by HAQM (FBA) используют HAQM DocumentDB
    В этом видео показано, как Fulfillment by HAQM (FBA) уменьшили количество необходимых серверов для поддержки предыдущего решения с 96 серверов до всего лишь двух инстансов HAQM DocumentDB. Миграция на HAQM DocumentDB позволила одновременно увеличить производительность на 66% и уменьшить стоимость на 45%. Пример FBA демонстрирует результаты применения подхода выбора правильной базы данных для нужд конкретного приложения.
  • FINRA мигрировала с Oracle на HAQM DocumentDB
    Узнайте, как FINRA мигрировала с реляционной базы данных с использованием XML на HAQM DocumentDB. С помощью HAQM DocumentDB FINRA может развивать свои приложения быстрее, используя формат JSON в базе данных, без необходимости промежуточного преобразования форматов в приложении. FINRA рассказывает как HAQM DocumentDB выдерживает высокий SLA и соответствует их требованиям безопасности.
  • Deutsche Fußball Liga GmbH (DFL) использует HAQM DocumentDB для новостной платформы
    “Мы, Deutsche Fußball Liga GmbH (DFL) используем AWS для нашей новостной платформы, публикуя последние новости нашей лиги для миллионов фанатов по всему миру. По мере роста количества наших пользователей и объема контента, основной задачей было поддержание производительности нашей реляционной базы данных. Мы мигрировали на HAQM DocumentDB (с MongoDB совместимостью) из-за возможности использования гибкой схемы данных, нативной поддержки формата JSON, которая позволяет нашим разработчикам развертывать новые приложения быстрее, и из-за архитектуры, позволяющей масштабировать операции чтения за минуты. Мы прототипировали приложение локально, используя MongoDB Community Edition, и затем быстро развернули его в производственную среду HAQM DocumentDB. Все заработало так, как мы и ожидали, и мы успешно смогли масштабировать производительность нашей базы данных.” Andreas Heyden, CEO DFL Digital Sports, EVP Digital Innovations — DFL Group

Как быть в курсе новостей про HAQM DocumentDB?

  • HAQM DocumentDB launches, blogs, and videos
    Здесь можно найти блоги, вебинары и новости об HAQM DocumentDB.
  • HAQM DocumentDB Documentation
    Мы постоянно обновляем техническую документацию и лучшие практики по работе с HAQM DocumentDB на основе обратной связи от наших клиентов.
  • Совместимость с MongoDB API и функциональные отличияПо ссылкам вы можете найти наиболее актуальный список совместимых MongoDB API, а также функциональные отличия. Мы постоянно взаимодействуем с нашими клиентами и, основываясь на их пожеланиях, разрабатываем возможности, которые будут наиболее востребованы.
  • Задавайте вопросы на HAQM DocumentDB форуме
    Используйте HAQM DocumentDB AWS Forums, чтобы обмениваться опытом и получать ответы от коммьюнити и команды разработки HAQM DocumentDB.