De fato não interessa o banco. Em parte.
E você já fez essas coisas todas que diz aí?
A minha experiÊncia de mais de 40 anos é que as pessoas acreditam nisso mesmo, mas elas não sabem na prática como é. E acaba acontecendo duas coisas:
a) o sistema era tão simples que qualquer coisa serve e nunca haverá necessidade real de trocar nada, qualquer porcaria que a pessoa fizer vai dar conta, até tudo errado.
b) o sistema precisa ser muito bem arquitetado para aguentar o traco, e na rara ocasião que precisará trocar o banco de dados especialmente, mas pode valer para outras coisas em menor grau, significa que já está ruim por ter criado camadas desnecessárias e não otmizadas para acessar o DB, a tal da arquitetura limpa é extremamente s uja, e justamente por ter feito isso é que pode ter surgido a necessidade de trocar algo. E se trocar não vai melhorar muito a não ser alguma questão pontual, e um dia vai aparecer questões novas que mostrará que a troca não foi perfeita. E para arrumar e deixar bom mesmo a silução será arracar essa camada que abstrai o banco de dados e usá-lo da forma correta a ser definida por um profissional competente nisso.
Na ausência de alguém competente o que acaba acontecendo é a adoção de aruiteturas mais complexas ainda, por exemplo o uso de microsserviços para resolver um problema que nem deveria estar ali. Eu já dei consultoria que fizeram tudo isso para dar perfomance, e eu só mandei tirar, fazer o simples e a performance veio.
Essencialmente nenhum caso precisa trocar de banco de dados, todos os mais conhecidos dão conta do recado nas mãos de quem sabe o que está fazendo, não importante o tamanho da bronca que está segurando. Até o SQLite, agora com tecnologias prontas pode dar conta em grande parte dos cenários (ele já dava no básico em muitos deles, pra quem sabia usá-lo).
O banco de dados é só uma forma de armazenamento quando está atrás de uma aplicação. Tem usos diretos que é diferente. Mas não quer dizer que ele não deva ser otimizado.
Uma boa estrutura resiste a mudanças de negócios mais facilmente, se o banco for modelado pensando no que o negócio precisa dá muito mais trabalho, e foge da ideia de que ele é só um meio de armazenamento. Ele deve se preocupar em armazenar bem, não modelar o negócio bem. Quem tem que modelar o negócio é a aplicação.
Todas essas técnicas "modernas" como DDD, CA , etc., tem lá seu valor e cabe em alguns cenários, mas as pessoas precisam estar cientes dos custos que isso tráz, e quase ninguém analisa isso, usa porque "todo mundo" está usando (segredo: só uma minoria está usando mas só bem vocais), ou seja, apesar da ferramenta ter algum valor, a forma como se decide usar é modinha, é "boa prática" 9que está virando um vídeo no meu canal que estreará em breve e texto no meu blog, porque provavelmente é problema mais grave e frequente que se comete e "ninguém" fala dele.
S2
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).