
Tenho alguns terabytes de dados em nosso sistema legado que executa o SQL Server. Nossa versão mais recente roda no MongoDB. Estamos migrando esses dados para o MongoDB. Temos scripts python escritos e verificados, toda a movimentação de dados acontece corretamente.
fizemos isso em uma máquina inferior com 4 núcleos, se fizermos em uma máquina maior vai ficar muito caro. AWS Lambda tem tempo de processamento de 15 minutos, o que leva mais de 24 horas para uma iteração terminar. As funções de etapa da AWS prometem isso, mas não tenho certeza se é a correta.
Responder1
Você não pode fazer "mongoexport" localmente, exportar para S3 (ou um dispositivo físico AWS Snowcone), usar uma instância EC2 para "mongoimport" e executar seu script para fazer atualizações desde o despejo?
Quanto a como executá-lo, você provavelmente usaria uma instância spot do EC2, principalmente se usá-la fora dos horários de pico da região - talvez um fim de semana. Se o seu trabalho não puder ser interrompido, o EC2 sob demanda. Um m5.xlarge com 4 núcleos / 16 GB de RAM custa US$ 0,20 por hora, alguns dias custam US$ 10.
Também salientarei que, digamos, 3 TB a 100 Mbps levará 2,6 dias para ser enviado, mas a 800 Mbps levará 7 horas - mas manter essa largura de banda pode ser difícil sem o DirectConnect. Talvez seja melhor usar umAWS Snowconeque é um dispositivo físico para o qual você copia dados e depois os envia para a AWS.
Eu sugeriria usar o AWS Database Migration Service paramigrardo MongoDB paraAWS DocumentDB, que é a versão do MongoDB com um nome diferente. O DMS irá migrar os dados, então basta apontar seu aplicativo para a nova instância e desligar a antiga.