sql >> Databasteknik >  >> NoSQL >> MongoDB

NoSQL vs. SQL när skalbarhet är irrelevant

Det finns många andra tillstånd som jag har hört talas om med icke-relationella system kontra relationella. Jag föredrar den här terminologin framför sql/no-sql eftersom jag personligen tycker att den beskriver skillnaderna bättre, och flera av "no-sql"-servrarna har sql-tillägg, så i alla fall.... vilken typ av samtidighetsmönster eller transaktionsisolering krävs i ditt system. En av de påstådda skillnaderna mellan rel och icke-rel dbs är "konsekvent-alltid", "konsekvent-mestadels" eller "konsekvent-slutligen". Relationsdbs som standard faller vanligtvis i kategorin "konsekvent-mestadels" och med lite arbete, och en hel del låsnings- och tävlingsförhållanden,;) kan vara "konsekvent-alltid" så att alla alltid tittar på den mest korrekta representationen av en given data. Det mesta jag har läst/hört om icke-rel dbs är att de huvudsakligen är "konsekventa-eventuellt". Med detta betyder det att det kan finnas många instanser av vår data som flyter runt, så användare "A" kan se att vi har 92 widgets i lager, medan användare "B" kan se 79, och de kanske inte stäms av förrän någon faktiskt går att hämta saker från lagret. En annan fråga är förändringar i data, hur ofta behöver den uppdateras? De speciella icke-relativa db:er som jag har utsatts för har mer overhead för uppdateringar, några av dem måste regenerera hela datamängden för att införliva eventuella uppdateringar.

Tänk nu, jag tycker att icke-rel/nosql är bra verktyg om de verkligen matchar ditt användningsfall. Jag har flera jag tittar på nu för projekt jag har. Men du måste titta på alla avvägningar när du fattar beslutet, annars förvandlas det bara till mer CV-driven utveckling.



  1. Mongodb, samlad fråga med $lookup

  2. MongoDB - stängs av med kod 48

  3. Anpassad metod för uppdateringsfråga med vårdata MongoRepository

  4. Gå igenom Mongo Collection och uppdatera ett fält i varje dokument