sql >> Database teknologi >  >> NoSQL >> MongoDB

NoSQL vs. SQL, når skalerbarhed er irrelevant

Der er en masse andre forhold, som jeg har hørt om med ikke-relationelle systemer vs relationelle. Jeg foretrækker denne terminologi frem for sql/no-sql, da jeg personligt synes, den beskriver forskellene bedre, og flere af "no-sql"-serverne har sql-tilføjelser, så i hvert fald.... hvilken slags samtidighedsmønster eller transaktionsisolering er påkrævet i dit system. En af de påståede forskelle mellem rel og ikke-rel dbs er "konsistent-altid", "konsistent-mest" eller "konsistent-til sidst". Relationsdbs falder som standard normalt i kategorien "konsistent-for det meste" og med noget arbejde, og en masse låse- og raceforhold,;) kan være "konsistent-altid", så alle ser altid på den mest korrekte repræsentation af en givet stykke data. Det meste af det jeg har læst/hørt om non-rel dbs er at de hovedsageligt er "konsistente-efterhånden". Med dette betyder det, at der kan være mange forekomster af vores data, der flyder rundt, så bruger "A" kan se, at vi har 92 widgets på lageret, mens bruger "B" kan se 79, og de bliver muligvis ikke afstemt, før nogen rent faktisk går at trække ting fra lageret. Et andet problem er mutabiliteten af ​​data, hvor ofte skal det opdateres? De særlige ikke-rel db'er, jeg har været udsat for, har mere overhead til opdateringer, nogle af dem skal regenerere hele datasættet for at inkorporere eventuelle opdateringer.

Husk nu, jeg synes, at non-rel/nosql er gode værktøjer, hvis de virkelig matcher din use case. Jeg har flere, jeg kigger på nu for projekter, jeg har. Men du er nødt til at se på alle afvejningen, når du træffer beslutningen, ellers bliver det bare til mere CV-drevet udvikling.



  1. Sådan hentes/findes alle elementer i et indlejret array i MongoDB Java

  2. MongoDb:Fordelen ved at bruge ObjectID i forhold til en streng, der indeholder et Id?

  3. Syntaks mangler; før erklæring i mongoexport

  4. Hvordan løser jeg denne designbegrænsning i mongo db w.r.t til ydeevne?