Estamos em processo de migração do Microsoft SQL Server para Oracle. No SQL Server temos 60 bancos de dados (como XMLDB_1, XMLDB_2, XMLDB_3, ......, XMLDB_60) para inserir dados após ler 60 arquivos XML ao mesmo tempo. O SSIS lerá 60 arquivos XML por vez e inserirá dados nesses 60 bancos de dados. Cada um dos 60 bancos de dados contém 10 tabelas com a mesma estrutura. Da próxima vez, o SSIS lerá os próximos 60 arquivos XML e inserirá dados nos mesmos 60 bancos de dados. Cada vez antes de escolher os arquivos XML, todas as tabelas dentro de cada banco de dados (XMLDB) serão truncadas após enviar os dados para outro banco de dados (por exemplo, DocumentDB).
O que eu entendo é isso ou o que ouvi de outras pessoas - ter muitos serviços de banco de dados dentro de uma única instância de banco de dados Oracle pode criar problemas de desempenho devido à maior utilização de recursos. Por outro lado, no SQL Server, ter muitos bancos de dados não é grande coisa.
Estou procurando uma abordagem de design melhor aqui,
- Precisamos prosseguir criando 60 serviços de banco de dados XML (XMLDB_1,XMLDB_2,XMLDB_3,......,XMLDB_60) em uma única instância de banco de dados Oracle? Ou,
- Precisamos criar quantas tabelas forem necessárias para processar 60 arquivos XML por vez, mas em um único serviço de banco de dados. Neste caso precisaríamos criar 600 tabelas (10 tabelas dentro de cada XMLDB e temos 60 XMLDBs, portanto 60x10 = 600) em um único serviço de banco de dados.