Перенос данных в учетную запись Azure Cosmos DB для NoSQL с помощью Striim
ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL
Образ Striim в Azure Marketplace обеспечивает непрерывное перемещение данных из хранилищ и баз данных в Azure в режиме реального времени. При перемещении данных можно выполнить встроенную денормализацию, преобразование данных, включить аналитику в режиме реального времени, а также сценарии создания отчетов с данными. Легко приступить к работе с Striim для непрерывного перемещения корпоративных данных в Azure Cosmos DB для NoSQL. Azure предоставляет платформу, упрощающую развертывание Striim и перенос данных в Azure Cosmos DB.
В этой статье показано, как использовать Striim для переноса данных из базы данных Oracle в учетную запись Azure Cosmos DB для NoSQL.
Необходимые компоненты
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начать работу.
База данных Oracle с некоторыми данными, работающая в локальной среде.
Развертывание решения Striim из Marketplace
Войдите на портал Azure.
Выберите Создать ресурс и выполните поиск Striim в Azure Marketplace. Выберите первый вариант и нажмите кнопку Создать.
Затем введите свойства конфигурации для экземпляра Striim. На виртуальной машине развертывается среда Striim. В области Основные сведения введите имя пользователя виртуальной машины, пароль виртуальной машины (этот пароль используется для подключения к виртуальной машине по протоколу SSH). Выберите свои параметры Подписка, Группа ресурсов и Сведения о расположении, где надо развернуть Striim. По завершении нажмите кнопку ОК.
В области Параметры кластера Striim выберите тип развертывания Striim и размер виртуальной машины.
Параметр значение Описание Тип развертывания Striim Отдельные Striim может выполняться с типом развертывания Автономный или Кластер. В автономном режиме сервер Striim будет развернут на одной виртуальной машине. Размер виртуальных машин можно выбрать в зависимости от объема данных. В режиме кластера сервер Striim будет развернут на двух или более виртуальных машинах выбранного размера. Кластерные среды с более чем 2 узлами автоматически обеспечивают высокий уровень доступности и отработку отказа.
В этом руководстве можно выбрать вариант "Автономный". Для размера виртуальной машины используйте значение по умолчанию "Standard_F4s".Имя кластера Striim <Striim_cluster_Name> Имя кластера Striim. Пароль кластера Striim <Striim_cluster_password> Пароль для кластера. После заполнения формы нажмите кнопку ОК, чтобы продолжить.
В области Параметры доступа Striim укажите общедоступный IP-адрес (выберите значения по умолчанию), доменное имя для Striim, пароль администратора, который будет использоваться для входа в пользовательский интерфейс Striim. Настройте виртуальную сеть и подсеть (выберите значения по умолчанию). После внесения сведений нажмите кнопку ОК, чтобы продолжить.
Azure проверит правильность развертывания. Проверка занимает несколько минут. По окончании проверки нажмите кнопку ОК.
Наконец, ознакомьтесь с условиями использования и выберите Создать, чтобы создать экземпляр Striim.
Настройка базы данных-источника
В этом разделе будет выполнена настройка базы данных Oracle в качестве источника для перемещения данных. Сервер Striim поставляется с драйвером Oracle JDBC, который используется для подключения к Oracle. Для считывания изменений из исходной базы данных Oracle можно использовать утилиту LogMiner или API-интерфейсы XStream. Чтобы считывать, записывать или сохранять данные из базы данных Oracle, в пути к классам Java для Striim присутствует драйвер Oracle JDBC.
Настройка целевой базы данных
В этом разделе описана настройка учетной записи Azure Cosmos DB для NoSQL в качестве целевого объекта для перемещения данных.
Создайте учетную запись Azure Cosmos DB для NoSQL с помощью портал Azure.
Перейдите в область обозревателя данных в учетной записи Azure Cosmos DB. Выберите Создать контейнер для создания контейнера. Предположим, что выполняется перенос продуктов и данных заказов из базы данных Oracle в Azure Cosmos DB. Создайте базу данных с именем StriimDemo с контейнером под названием Заказы. Подготовьте контейнер с 1000 ЕЗ (единица запроса) (в этом примере используется 1000 ЕЗ, но следует использовать оценку пропускной способности для вашей рабочей нагрузки) и /ORDER_ID в качестве ключа раздела. Эти значения будут отличаться в зависимости от исходных данных.
Настройка потока данных из Oracle в Azure Cosmos DB
Перейдите к экземпляру Striim, развернутому на портале Azure. Нажмите кнопку Подключить в верхней строке меню и на вкладке SSH скопируйте URL-адрес в поле Вход с помощью локальной учетной записи виртуальной машины.
Откройте новое окно терминала и выполните команду SSH, скопированную с портала Azure. В этой статье используется терминал в MacOS, вы можете выполнить аналогичные инструкции с помощью клиента SSH на компьютере Windows. При появлении запроса введите да, чтобы продолжить работу, и введите пароль, заданный для виртуальной машины на предыдущем этапе.
В том же окне терминала перезапустите сервер Striim, выполнив следующие команды:
systemctl stop striim-node systemctl stop striim-dbms systemctl start striim-dbms systemctl start striim-node
Запуск Striim займет около минуты. Если надо просмотреть состояние, выполните следующую команду:
tail -f /opt/striim/logs/striim-node.log
Теперь вернитесь в Azure и скопируйте общедоступный IP-адрес виртуальной машины Striim.
Чтобы перейти к веб-интерфейсу Striim, откройте новую вкладку в браузере и скопируйте общедоступный IP-адрес, после которого указано 9080. Войдите, используя имя администратора и пароль администратора, указанный на портале Azure.
Теперь вы находитесь на домашней странице Striim. Здесь представлены три разные области: Панели мониторинга, Приложения и SourcePreview (Просмотр исходных данных). В области "Панели мониторинга" можно перемещать данные в режиме реального времени и визуализировать их. В области "Приложения" находятся конвейеры потоковых данных или потоки данных. В правой части страницы находится область SourcePreview, где можно просматривать данные перед их перемещением.
Выберите область Приложения, и мы рассмотрим ее. Имеется множество примеров приложений, которые можно использовать для ознакомления с Striim, однако в этой статье вы создадите собственный пример. Нажмите кнопку Добавить приложение в правом верхнем углу.
Предлагается несколько способов создания приложений Striim. Выберите Начать с шаблона, чтобы начать с имеющегося шаблона.
В поле Поиск шаблонов введите "Cosmos" и выберите Цель: Azure Cosmos DB, затем выберите Oracle CDC в Azure Cosmos DB.
На следующей странице присвойте имя своему приложению. Можно указать, например, имя oraToCosmosDB, затем нажмите кнопку Сохранить.
Далее, введите конфигурацию источника исходного экземпляра Oracle. Введите значение в поле Имя источника. Имя источника — это просто соглашение об именовании для приложения Striim. Можно использовать имя, подобное src_onPremOracle. Введите значения для других параметров источника — URL-адрес, Имя пользователя, Пароль, и выберите LogMiner в качестве считывателя для чтения данных из Oracle. Выберите Далее для продолжения.
Striim проверит вашу среду, чтобы подтвердить, что ее можно подключить к вашему экземпляру-источнику Oracle, наличие корректных разрешений и настройку CDC. После проверки всех значений нажмите кнопку Далее.
В базе данных Oracle выберите таблицы для переноса. Например, выберите таблицу "Заказы" и нажмите кнопку Далее.
После выбора исходной таблицы можно выполнить более сложные операции, например сопоставление и фильтрацию. В этом случае вы просто создадите реплику исходной таблицы в Azure Cosmos DB. Итак, нажмите кнопку Далее, чтобы настроить целевой объект.
Теперь настроим целевой объект.
- Имя целевого объекта — укажите понятное имя для целевого объекта.
- Ввод из — в раскрывающемся списке выберите входной поток из данных, созданных в исходной конфигурации Oracle.
- Коллекции — введите свойства конфигурации целевого объекта Azure Cosmos DB. Синтаксис коллекций — SourceSchema.SourceTable, TargetDatabase.TargetContainer. В этом примере в качестве значения используется "SYSTEM.ORDERS, StriimDemo.Orders".
- AccessKey — основной ключ учетной записи Azure Cosmos DB.
- ServiceEndpoint — URI учетной записи Azure Cosmos DB, их можно найти в разделе "Ключи" портал Azure.
Выберите Сохранить и Далее.
Далее вы попадаете в конструктор потоков, где можно перетаскивать соединители блоков для создания приложений потоковой передачи. На этом этапе не вносятся изменения потока. Продолжайте и разверните приложение, нажав кнопку Развернуть приложение.
В окне развертывания можно указать, следует ли запускать определенные части приложения в определенных частях топологии развертывания. Поскольку мы работаем в простой топологии развертывания с помощью Azure, будем использовать параметр по умолчанию.
После развертывания можно просмотреть поток передаваемых данных. Щелкните значок волны и значок просмотра рядом с ним. Нажмите элемент Развернуто в верхней строке меню и выберите Запустить приложение.
Striim будет выбирать только новые изменения в базе данных с помощью средства чтения CDC (отслеживание измененных данных). При наличии данных, передаваемых через исходные таблицы, вы это увидите. Однако, источник не подключен к какому-либо приложению, поскольку это демонстрационная таблица. При использовании генератора образцов данных можно вставить цепочку событий в базу данных Oracle.
Вы увидите, что данные передаются через платформу Striim. Striim также собирает все метаданные, связанные с таблицей, что позволяет отслеживать данные и контролировать их попадание в требуемый целевой объект.
Наконец, давайте войдем в Azure и перейдем к учетной записи Azure Cosmos DB. Обновите обозреватель данных, и вы увидите, что данные получены.
Решение Striim в Azure позволяет непрерывно переносить данные в Azure Cosmos DB из различных источников, таких как Oracle, Cassandra, MongoDB и многих других. Дополнительные сведения см. на веб-сайте Striim. Загрузите бесплатную 30-дневную пробную версию Striim и отправляйте запросы на поддержку, если возникают проблемы при настройке пути миграции с помощью Striim.
Следующие шаги
Если вы планируете ресурсы для миграции в Azure Cosmos DB,
- Если вам известно только количество виртуальных ядер и серверов в существующем кластере баз данных, прочитайте об оценке единиц запроса на основе этих данных.
- Если вам известна стандартная частота запросов для текущей рабочей нагрузки базы данных, ознакомьтесь со статьей о расчете единиц запросов с помощью планировщика ресурсов Azure Cosmos DB
Если вы переносите данные в Azure Cosmos DB для NoSQL, узнайте , как перенести данные в API для учетной записи Cassandra с помощью Striim
Мониторинг и отладка данных с помощью метрик Azure Cosmos DB