Temos um site voltado para notícias e com alto tráfego na web. A arquitetura é o DB - Repo Layer - Services Layer - Asp.Net MVC, frequentemente visto. O problema que estamos vendo é em torno do desempenho de leitura. Acontece que todo esse material de objeto de domínio DDD é ótimo, em teoria, para as regras de negócios, mas tornou a vida mais difícil quando se trata de otimizar o desempenho da leitura.
Como solução, estou considerando algo totalmente novo (para nós): usar noSQL. Eu gostaria de usar um banco de dados noSQL para os dados apresentados em nosso site. Não podemos nos livrar do nosso SQL Server (pelo menos não tão cedo), mas parece-me que uma etapa prática seria usar o Mongo como um banco de dados de consulta para todo o novo desenvolvimento.
Minha pergunta é se é possível usar o SQL Server como seu banco de dados de registro e o Mongo como seu banco de dados de consultas juntos ?
Portanto, quando um de nossos editores atualizar um registro, os dados serão armazenados no SQL Server. Isso é necessário, porque há muito código legado que não pode ser reescrito da noite para o dia.
Mas quando um visualizador no site visualiza um artigo ou uma lista de artigos, eu gostaria de aproveitar o desempenho do Mongo versus o SQL Server. Para manter os dados atualizados, digamos 15 minutos ou menos, os dados do SQL Server precisariam atualizar o Mongo. O RDBMS possui ferramentas de replicação para operações como essa e estou me perguntando se existe algo para fazer o mesmo do SQL Server para o Mongo. Servidor Lync, talvez?