-
Mange forskellige forfattere. Især når skribenterne kan blive segmenteret på grund af afbrydelser i netværket, og senere skal resynkronisere data, der er skrevet til på begge sider af bifurkationen. Dette bryder ACID, og selvom du kan løse problemet med eksplicit forretningslogik, er du nu i NoSQL-territorium. Dette er meget almindeligt i militære situationer, men ethvert system, hvor alle er en produktiv forfatter, vil have en skrivekonfliktlås på et ACID-system.
-
Flydende skemaer. Ændring af et skema i en traditionel DB er en dyr operation, der ofte kræver en form for servernedetid eller andre komplicerede processer. Med de fleste NoSQL-systemer er det trivielt. Så hvis du har data fra mange forskellige kilder til at flette og/eller har situationer, hvor du måske vil begynde at spore ny information på et senere tidspunkt, vil NoSQL-systemer være meget nemmere at håndtere. At flette to datakilder, så de kan kortlægges med hinanden, er et godt eksempel, jeg kan komme i tanke om.
-
Replikering med lav båndbredde. Når du har brudt ACID, kan du have læsere og skribenter på bladknuder i en netværksgraf med delvise data, som ikke behøver fulde replikaer af databasen. Mit eget firmas produkt, Hærens Fremtidens Kommandopost, bruger dette.
-
Datainteroperabilitet. De fleste NoSQL-databaser giver dig mulighed for at introspektere dataene uden at kende skemaet på forhånd, hvilket gør det nemmere at oprette forbindelser mellem forskellige systemer.
-
Massiv skalering. Dette er den, der oftest diskuteres og oftest misbruges af NoSQL-tilhængere. Hvis dette er den eneste grund til at du vælger NoSQL, så start med MySQL i stedet og skaler senere.