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

Årsager til og imod at flytte fra SQL-server til MongoDB

Efter min mening bør formatet af dine data være den primære bekymring, når du vælger en storage-backend. Har du data af relationel karakter? Hvis ja, kan det og er det en god idé at modellere dataene i dokumenter? Datamodellering er lige så vigtig i en dokumentdatabase som i en relationsdatabase, det er bare gjort anderledes. Hvor mange typer objekter har du, og hvordan hænger de sammen? Kan DBrefs i Mongodb gøre tricket, eller vil du savne fremmednøgler så meget, at det vil være smertefuldt? Hvad er dine adgangsmønstre for dataene? Henter du bare data af én type, der er filtreret af en feltværdi, eller har du indviklede hentningsmetoder?

Har du brug for ACID transaktionsintegritet? Håndhæver domænet mange begrænsninger på dataene? Har du brug for skalerbarhedsfaktoren for en dokumentdatabase, eller er det bare en "fed" ting at have?

Hvad er dine krav til konsistens og dataintegritet? Nogle NoSQL-løsninger og MongoDB i særdeleshed er ret løse på skrivekonsistensen for at få ydeevne. NoSQL er ikke noget ensartet landskab og andre produkter, f.eks. CouchDB har andre karakteristika i denne afdeling. Nogle kan også indstilles.

Det er alle spørgsmål, der bør indgå i valget af opbevaring.

Nogle oplevelser

  • Det kan være sværere at lave omfattende rapportering om de lagrede data, når du bruger MongoDB eller en hvilken som helst dokumentdatabase, og nogle use cases har kombineret RDBMS og document-db til det formål.
  • (Meget) Forskellig forespørgselsmodel. MongoDB adskiller sig også fra andre dokument-dbs.
  • Fleksibel til at ændre dataformat/skema under udvikling
  • Ukendt område
  • varierende grad af modenhed i drivere og rammer
  • Hurtig
  • Enklere (på mange måder) produkt- og administrationsværktøjer (sammenlignet med mange RDBMS-produkter)
  • Ikke mere impedansuoverensstemmelse. Lagringen passer til dataene, ikke omvendt.
  • Mindre friktion og mere direkte adgang til data.
  • Domæne mere bundet til persistens (afhængigt af ORM-"niveauet" af NoRM, hvor meget det abstraherer backend. Jeg har ikke brugt NoRM, så jeg kan ikke svare på det.)


  1. replika Sæt mongo docker-compose

  2. Hvilken version af MongoDB er installeret på Ubuntu

  3. Træk en post fra et array via Meteor

  4. Use cases til NoSQL