-
Muitos escritores díspares. Especialmente quando os gravadores podem ser segmentados devido a desconexões na rede e, posteriormente, precisarão ressincronizar dados que foram gravados em ambos os lados da bifurcação. Isso quebra o ACID e, embora você possa resolver o problema com lógica de negócios explícita, agora você está em território NoSQL. Isso é muito comum em situações militares, mas qualquer sistema em que todos sejam escritores prolíficos terá algum bloqueio de contenção de gravação em um sistema ACID.
-
Esquemas fluidos. Alterar um esquema em um banco de dados tradicional é uma operação cara que geralmente requer algum tipo de inatividade do servidor ou outros processos complicados. Com a maioria dos sistemas NoSQL é trivial. Portanto, se você tiver dados de muitas fontes diferentes para mesclar e/ou tiver situações em que pode querer começar a rastrear novas informações posteriormente, os sistemas NoSQL serão muito mais fáceis de lidar. Mesclar duas fontes de dados para que possam ser mapeadas uma com a outra é um bom exemplo que posso pensar.
-
Replicação de baixa largura de banda. Depois de quebrar o ACID, você pode ter leitores e gravadores em nós folha de um gráfico de rede com dados parciais que não precisam de réplicas completas do banco de dados. O produto da minha própria empresa, o Posto de Comando do Futuro do Exército, usa isso.
-
Interoperabilidade de dados. A maioria dos bancos de dados NoSQL permite que você faça uma introspecção dos dados sem conhecer o esquema com antecedência, permitindo que as conexões entre sistemas diferentes aconteçam mais facilmente.
-
Escala maciça. Este é o que é mais frequentemente debatido e mais frequentemente abusado pelos proponentes do NoSQL. Se esta for a única razão pela qual você está escolhendo o NoSQL, comece com o MySQL e escale mais tarde.