Migrar dados para uma conta do Azure Cosmos DB for NoSQL usando Striim
APLICA-SE A: NoSQL
A imagem Striim no Azure Marketplace oferece movimentação de dados contínua em tempo real de data warehouses e bancos de dados para o Azure. Ao movimentar os dados, você pode executar a desnormalização em linha, transformação de dados, habilitar análise em tempo real e cenários de relatórios de dados. É fácil começar a usar o Striim para mover dados corporativos continuamente para o Azure Cosmos DB for NoSQL. O Azure fornece uma oferta do marketplace que facilita a implantação do Striim e a migração de dados para o Azure Cosmos DB.
Este artigo mostra como usar o Striim para migrar os dados de um banco de dados do Oracle para uma conta do Azure Cosmos DB for NoSQL.
Pré-requisitos
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Um banco de dados do Oracle em execução no local com alguns dados.
Implantar a solução de marketplace do Striim
Entre no portal do Azure.
Selecione Criar um recurso e pesquise Striim no Azure Marketplace. Selecione a primeira opção e Criar.
Depois, insira as propriedades de configuração da instância Striim. O ambiente Striim é implantado em uma máquina virtual. No painel Básicos, insira o nome de usuário da VM, senha da VM (essa senha é usada para SSH na VM). Selecione Assinatura, Grupo de recursos e Detalhes do local onde você gostaria de implantar o Striim. Após a conclusão, selecione OK.
No painel Configurações de cluster do Striim, escolha o tipo de implantação do Striim e o tamanho da máquina virtual.
Configuração Valor Descrição Tipo de implantação Striim Autônomo O Striim pode ser executado em tipos de implantação autônomos ou de cluster. O modo autônomo implantará o servidor Striim em uma única máquina virtual e você poderá selecionar o tamanho das VMs de acordo com o volume de dados. O modo de cluster implantará o servidor Striim em duas ou mais VMs com o tamanho selecionado. Ambientes de cluster com mais de 2 nós oferecem alta disponibilidade e failover automáticos.
Neste tutorial, você pode selecionar a opção autônomo. Use a VM de tamanho padrão "Standard_F4s".Nome do cluster do Striim <Striim_cluster_Name> Nome do cluster do Striim. Senha do cluster do Striim <Striim_cluster_password> Senha do cluster. Depois de preencher o formulário, selecione OK para continuar.
No painel Configurações de acesso do Striim, configure o Endereço IP público (escolha os valores padrão), Nome de domínio para Striim, Senha de administrador que você gostaria de usar para fazer logon na interface do usuário do Striim. Configure uma VNET e uma sub-rede (escolha os valores padrão). Depois de preencher os detalhes, selecione OK para continuar.
O Azure validará a implantação e verificará se tudo está correto; a validação leva alguns minutos para ser concluída. Depois que a validação estiver concluída, selecione Criar.
Por fim, revise os termos de uso e selecione criar para criar a instância do Striim.
Configurar o banco de dados de origem
Nesta seção, você configurará o banco de dados do Oracle como a origem para a movimentação de dados. O servidor Striim vem com o driver JDBC Oracle usado para se conectar ao Oracle. Para ler as alterações do banco de dados do Oracle de origem, você pode usar as APIs LogMiner ou XStream. O driver JDBC Oracle está presente no classpath Java do Striim para ler, gravar ou manter dados do banco de dados do Oracle.
Configurar o banco de dados de destino
Nesta seção, você configurará a conta do Azure Cosmos DB for NoSQL como o destino da movimentação de dados.
Crie uma conta do Azure Cosmos DB for NoSQL usando o portal do Azure.
Navegue até o painel Data Explorer na conta do Azure Cosmos DB. Selecione Novo contêiner para criar um novo contêiner. Suponha que você esteja migrando dados de produtos e ordens do banco de dados do Oracle para o Azure Cosmos DB. Crie um novo banco de dados chamado StriimDemo com um contêiner chamado Ordens. Provisione o contêiner com 1000 RUs (este exemplo usa 1000 RUs, mas você deve usar a taxa de transferência estimada para a carga de trabalho) e /ORDER_ID como a chave de partição. Esses valores serão diferentes dependendo dos dados de origem.
Configurar o fluxo de dados do Oracle para o Azure Cosmos DB
Navegue até a instância do Striim implantada no portal do Azure. Selecione o botão Conectar na barra de menu superior e, na guia SSH, copie a URL no campo Logon com a conta local da VM.
Abra uma nova janela de terminal e execute o comando SSH que você copiou do portal do Azure. Este artigo usa o terminal em um MacOS. Você pode seguir as instruções semelhantes usando um cliente SSH em um computador Windows. Quando solicitado, digite Sim para continuar e insira a senha que você definiu para a máquina virtual na etapa anterior.
Na mesma janela do terminal, reinicie o servidor Striim com os seguintes comandos:
systemctl stop striim-node systemctl stop striim-dbms systemctl start striim-dbms systemctl start striim-node
O Striim levará um minuto para ser inicializado. Se quiser ver o status, execute o seguinte comando:
tail -f /opt/striim/logs/striim-node.log
Agora, volte ao Azure e copie o endereço IP público da VM do Striim.
Para navegar até a interface do usuário da Web do Striim, abra uma nova guia em um navegador e copie o IP público seguido por 9080. Entre com o nome de usuário do administradore a senha de administrador que você especificou na portal do Azure.
Agora você chegará na página inicial do Striim. Há três painéis diferentes – Dashboards, Aplicativos e SourcePreview. Com o painel Dashboards, você pode mover dados em tempo real e visualizá-los. O painel Aplicativos contém os pipelines de dados de streaming ou fluxos de dados. No lado direito da página está o SourcePreview, onde você pode visualizar os dados antes de movê-los.
Selecione o painel Aplicativos, que será nosso foco por enquanto. Há uma variedade de aplicativos de amostra que você pode usar para aprender sobre o Striim, mas neste artigo você criará o nosso. Selecione o botão Adicionar aplicativo no canto superior direito.
Há algumas maneiras diferentes de criar aplicativos Striim. Selecione Iniciar com modelo para iniciar com um modelo existente.
No campo Pesquisar modelos, digite "Cosmos" e selecione Destino: Azure Cosmos DB e depois CDA do Oracle para o Azure Cosmos DB.
Na próxima página, dê um nome ao aplicativo. Você pode fornecer um nome como oraToCosmosDB e depois selecionar Salvar.
Em seguida, insira a configuração de origem da instância do Oracle de origem. Insira um valor para o Nome de origem. O nome de origem é apenas uma convenção de nomenclatura para o aplicativo Striim, você pode usar algo como src_onPremOracle. Insira valores para o restante dos parâmetros de origem URL, Nome de usuário, Senha, escolha LogMiner como o leitor para ler os dados do Oracle. Selecione Avançar para continuar.
O Striim verificará o ambiente e garantirá que ele consegue se conectar à instância do Oracle de origem, tem os privilégios certos e que o CDA foi configurado corretamente. Depois que todos os valores forem validados, selecione Avançar.
Selecione as tabelas do banco de dados do Oracle que você gostaria de migrar. Por exemplo, vamos escolher a tabela Ordens e selecionar Avançar.
Depois de selecionar a tabela de origem, você pode fazer operações mais complicadas, como mapeamento e filtragem. Nesse caso, você criará apenas uma réplica da tabela de origem no Azure Cosmos DB. Portanto, selecione Avançar para configurar o destino
Vamos agora configurar o destino:
- Nome de destino – Informe um nome amigável para o destino.
- Entrada de – Na lista suspensa, selecione o fluxo de entrada a partir do que você criou na configuração do Oracle de origem.
- Coleções – Insira as propriedades de configuração do Azure Cosmos DB de destino. A sintaxe de coleções é SourceSchema.SourceTable, TargetDatabase.TargetContainer. Neste exemplo, o valor seria “SYSTEM.ORDERS, StriimDemo.Orders”.
- AccessKey – A PrimaryKey da conta do Azure Cosmos DB.
- ServiceEndpoint – O URI da conta do Azure Cosmos DB, que pode ser encontrado na seção Chaves do portal do Azure.
Selecione Salvar e Avançar.
Depois, você chegará ao designer de fluxo, no qual você pode arrastar e soltar os conectores de caixa para criar seus aplicativos de streaming. Você não fará nenhuma modificação no fluxo nesta etapa. Continue e implante o aplicativo selecionando o botão Implantar o aplicativo.
Na janela de implantação, é possível especificar se deseja executar determinadas partes do aplicativo em partes específicas da topologia de implantação. Como estamos executando em uma topologia de implantação simples por meio do Azure, usaremos a opção padrão.
Após a implantação, você pode visualizar o streaming para ver o fluxo de dados. Selecione o ícone de onda e o olho ao lado. Selecione o botão Implantado na barra de menu superior e selecione Iniciar aplicativo.
Com um leitor CDA (captura de dados de alterações) , o Striim obterá apenas as novas alterações feitas no banco de dados. Se tiver dados fluindo pelas tabelas de origem, você os verá. No entanto, como esta é uma tabela de demonstração, a origem não está conectada a nenhum aplicativo. Se usar um gerador de dados de amostra, você poderá inserir uma cadeia de eventos no banco de dados do Oracle.
Você verá dados fluindo pela plataforma Striim. O Striim pega todos os metadados associados à tabela, o que ajuda a monitorar os dados e confirmar que os dados estão no destino correto.
Por fim, entre no Azure e navegue até a conta do Azure Cosmos DB. Atualize o Data Explorer e você verá que os dados chegaram.
Com a solução Striim no Azure, você pode migrar dados continuamente para o Azure Cosmos DB a partir de várias fontes como Oracle, Cassandra, MongoDB e várias outras para o Azure Cosmos DB. Para saber mais, visite o site do Striim, baixe uma avaliação gratuita de 30 dias do Striime se tiver problemas ao configurar o caminho de migração com o Striim, registre uma solicitação de suporte.
Próximas etapas
Tentando fazer um planejamento de capacidade para uma migração para o Microsoft Azure Cosmos DB?
- Se você sabe apenas o número de vCores e servidores no cluster de banco de dados existente, leia sobre como estimar unidades de solicitação com vCores ou vCPUs
- Se souber as taxas de solicitação típicas da carga de trabalho do banco de dados atual, leia sobre como estimar unidades de solicitação usando o planejador de capacidade do Azure Cosmos DB
Se você estiver migrando dados para o Azure Cosmos DB for NoSQL, confira Como migrar dados para a conta da API do Cassandra usando o Striim
Monitorar e depurar os dados com as métricas do Azure Cosmos DB