NoSQL-databaser bruker ikke relasjonstabellmodellen. Kategorien dekker dokumentlagre, nøkkelverdilagre, grafdatabaser og lagre med brede kolonner. Hver av dem løser et annet problem. Dokumentlagre som MongoDB oppbevarer JSON-lignende poster. Nøkkelverdilagre som Redis tilordner nøkler til verdier for raske oppslag. Grafdatabaser som Neo4j modellerer relasjoner mellom enheter. Lagre med brede kolonner som Cassandra håndterer massive skrivevolumer på tvers av distribuerte noder. Den felles tråden er fleksibilitet. NoSQL-databaser lemper på skjemabegrensninger som relasjonsdatabaser håndhever.
Den fleksibiliteten er både appellen og risikoen. Et dokumentlager godtar poster med forskjellige felt. Det gjør det enkelt å utvikle datamodellen uten migreringer. Det gjør det også enkelt å lage inkonsistente data. Applikasjonen må håndheve reglene som databasen ikke gjør. NoSQL-databaser skalerer også horisontalt lettere enn tradisjonelle relasjonssystemer. De distribuerer data på tvers av mange servere, noe som håndterer høy trafikk og store datasett. Avveiningen er konsistens. Mange NoSQL-databaser tilbyr eventuell konsistens snarere enn sterk konsistens. Ulike noder kan se forskjellige verdier i en kort periode. Det er akseptabelt for en sosiale medier-feed. Det er ikke akseptabelt for en banksaldo. Det riktige valget avhenger av dataene og garantiene applikasjonen trenger.
NoSQL-databasetyper
- Dokument – JSON-lignende poster, fleksibelt skjema
- Nøkkelverdi – enkle par, raske oppslag
- Graf – noder og relasjoner
- Bred kolonne — distribuert, høy skrivegjennomstrømning
- Tidsserie – optimalisert for tidsstemplede data
NoSQL er ikke bedre enn SQL. Det er annerledes. Riktig verktøy avhenger av problemet.
Comments
No comments yet. Be the first to share a thought.
Leave a comment