Artigo
· Mar. 3, 2022 5min de leitura

Migração de Dados - Parte I: do Postgres para o IRIS

Às vezes é necessário transferir ou migrar dados e esquemas de dados do Postgres para o IRIS. Atualmente, existem algumas opções para fazer isso, mas as duas opções mais populares são usando DBeaver (https://openexchange.intersystems.com/package/DBeaver) ou SQLGateway. A primeira será demonstrada neste artigo e a segunda é apresentada em um excelente artigo de Robert Cemper, DB Migration using SQLgateway (https://community.intersystems.com/post/db-migration-using-sqlgateway), veja neste artigo como realizar essa migração usando o DBeaver:

Amostra de dados para demonstrar a migração

No Github é possível baixar o projeto docker compose para construir e rodar os 2 bancos de dados:

  • Banco de origem: Banco de dados de Exemplo em uma instância Docker com PostgreSQL.
  • Banco de destino: Instância Docker com o InterSystems IRIS data platform pronto para receber os dados da migração.

Para obter a amostra e executá-la, siga estas etapas:

1. Acesse https://github.com/yurimarx/migration-pg-iris e clique em Download para acessar o repositório git.
2. Clone o projeto: git clone https://github.com/yurimarx/migration-pg-iris.git.
3. Vá para a pasta do projeto migration-pg-iris.
4. Faça o build: docker-compose build.
5. Execute os contêineres: docker-compose up -d.
6. Veja em sua área de trabalho docker com as instâncias estão ok:

Sobre os dados a serem migrados

 

O processo de migração do PostgreSQL para o IRIS vai migrar:

  • 08 tabelas.
  • 1000000 registros de venda (sale).
  • 250000 resgistros de usuário (users).
  • 300 registros de produto (product).
  • 500 registros de loja (store).
  • 100 registros de país (country).
  • 30 registros de cidade (city).
  • 5 registros de status_name.

A migração irá  para o schema dc_test dentro do namespace USER no InterSystems IRIS database.

Ferramenta aberta para migrar do PostgreSQL para o IRIS: DBeaver

DBeaver é uma ferramenta de banco de dados para conectar, criar, descartar, selecionar, atualizar e excluir objetos de dados aos principais produtos de banco de dados do mercado. Faça o download em: https://openexchange.intersystems.com/package/DBeaver. Agora siga as instruções de instalação para obter este produto fantástico em seu laptop ou desktop.
DBeaver pode ser usado para migrar dados entre conexões de banco de dados, mesmo que sejam de fabricantes e versões diferentes.

Conectando nos bancos de dados com o DBeaver


Para configurar a conexão com o PostgreSQL no DBeaver:

1. No DBeaver vá para File > New.

2. Selecione Database Connection e clique Next:

3. Escolha a aba SQL > PostgreSQL e clique next:

4. Preencha a conexão com o PostgreSQL como nesta figura:

  • Host: localhost
  • Port: 5438
  • Database: postgres
  • Username: postgres
  • Password: postgres
  • Click Finish.

Configuração da conexão com o InterSystems IRIS no DBeaver:

1.    No DBeaver vá para File > New.
2.    Selecione Database Connection e clique Next:

3.    Escolha a aba SQL > InterSystems IRIS e clique next:

4.    Se o DBeaver requisitar o download do driver do InterSystems IRIS, pressione Yes ou Ok.
5.    Configure a conexão com o InterSystems IRIS como nesta figura:

  • Host: localhost
  • Database/Schema: user
  • Username: _SYSTEM
  • Password: SYS
  • Click Text Connection and Finish.

6. As conexões (postgres and user) agora estão disponíveis no Database Navigator:

Faça a Migração

Siga estes passos:
1.    Expanda a conexão postgres > public e selecione todas as tabelas. Clique com o botão direito do mouse com as tabelas selecionadas e escolha Export Data, como na figura abaixo:

2.    Selecione Database, como na figura a seguir e clique Next

3.    Clique em Choose button:

4.    Selecione dc_test e clique Ok.

5.    Agora é necessário realizar algumas mudanças de tipo de dados para o banco de dados de destino, pois o IRIS e PostgreSQL usando tipos de dados diferentes para integer e decimal.
6.    Expanda a tabela public.country, selecione o primeiro campo (country_id) e clique Columns…

7.    Altere o Target Type de int4 para integer e clique Ok.

8.    Repita o processo para as tabelas:

a.    public.product.
b.    public.status_name.
c.    public.users.
d.    public.city (altere o tipo para integer nos campos city_id e country_id).
e.    public.store (altere o tipo para integer nos campos  store_id e city_id).
f.    public.sale (altere o tipo para double no amount e integer para product_id, user_id e store_id)

g.    public.order_status (altere status_name_id para integer).

9.    Agora com os tipos alterados no Target Data Types, clique Next.

10.    Configure Fetch size para 1000000 e clique Next.

11.    Aceite os valores default para o Data load settings e clique Next.

12.    Em Confirm clique em Proceed.

13.    Agora veja no Database Navigator todas as tabelas PostgreSQL dentro do InterSystems IRIS dc_test schema.

O processo de migração foi muito simples para tabelas, mas para visualizações, funções, gatilhos e procedimentos armazenados, você precisa reescrever o código-fonte SQL usando ObjectScript ou SQL.

O que você ganha ao migrar para o IRIS?

  • API Management.
  • Relatórios visuais (IRIS Reports).
  • AutoML (IntegratedML).
  • Desenvolvimento multi linguagens de programação (Python, Java, .NET, JavaScript).
  • ESB.
  • BI/Analytics.
  • NLP.
  • Desenvolvimento de microsserviços.
  • Multimodel database (SQL, JSON, Analytical Cubes, Object Oriented).
  • Sharding.

Em resumo, ao migrar para o IRIS você obtém uma plataforma de dados, quando antes você só tinha um banco de dados.

Discussão (0)1
Entre ou crie uma conta para continuar