Olá, estudante!
Entendo que você esteja buscando uma forma de lidar com a demanda de notificações push em seu aplicativo Flutter. Uma solução para evitar problemas de desempenho e sobrecarga no banco de dados seria utilizar uma estratégia assíncrona para o envio das notificações.
Uma opção seria utilizar uma fila de mensagens, como o RabbitMQ ou o Apache Kafka, para armazenar as notificações a serem enviadas. Ao invés de gravar diretamente no banco de dados, você pode enviar as notificações para essa fila, que irá processá-las de forma assíncrona.
Dessa forma, você pode ter um serviço separado que irá consumir as mensagens da fila e realizar o envio das notificações para os usuários. Esse serviço pode ser implementado em Java, por exemplo, utilizando o Firebase Cloud Messaging para enviar as notificações para os dispositivos móveis.
Ao utilizar essa abordagem, você evita a necessidade de realizar 100.000 requisições simultâneas ao banco de dados, o que poderia causar problemas de desempenho. Em vez disso, as notificações seriam processadas de forma assíncrona, garantindo um melhor gerenciamento da demanda.
Quanto à modelagem do banco de dados, sugiro que você crie uma tabela para armazenar as notificações, contendo os campos necessários, como o token do usuário, o título e a descrição da notificação. Dessa forma, você poderá registrar as notificações no banco de dados antes de enviá-las para a fila de mensagens.
Espero que essas informações sejam úteis para você lidar com a demanda de notificações push em seu aplicativo. Se tiver mais alguma dúvida, estou à disposição para ajudar.
Espero ter ajudado e bons estudos!