Innholdsfortegnelse:
- Mindre behov for ETL
- Støtte for ustrukturert tekst
- Mulighet til å håndtere forandring over tid
- Ingen avhengighet av SQL magi
- Mulighet for å skalere horisontalt på varemaskinvare
- Bredde av funksjonalitet
- Støtte for flere datastrukturer
- Leverandørvalg
- Ingen arvskode
- Utfør kode ved siden av dataene
Video: Web Programming - Computer Science for Business Leaders 2016 2025
NoSQL-databaser er ikke en direkte erstatning for et relationsdatabasebehandlingssystem (RDBMS). For mange dataproblemer er NoSQL en bedre kamp enn en RDBMS.
Mindre behov for ETL
NoSQL databaser støtter lagring av data "som det er. "Nøkkeltall butikker gir deg muligheten til å lagre enkle datastrukturer, mens dokumentet NoSQL-databaser gir deg muligheten til å håndtere et utvalg av flate eller nestede strukturer.
Det meste av dataene som flyr mellom systemer gjør det som en melding. Vanligvis tar dataene et av disse formatene:
-
Et binært objekt som skal sendes gjennom et sett med lag
-
Et XML-dokument
-
Et JSON-dokument
Å kunne håndtere disse formatene naturlig i et utvalg av NoSQL-databaser reduserer mengden kode du må konvertere fra kildedataformatet til formatet som må lagres. Dette kalles ekstrakt, transformer og laster (ETL).
Ved å bruke denne tilnærmingen reduserer du kraftig koden som kreves for å begynne å bruke en NoSQL-database. Dessuten, fordi du ikke trenger å betale for oppdateringer til denne "VVS" -koden, blir de løpende vedlikeholdskostnadene betydelig redusert.
Støtte for ustrukturert tekst
De aller fleste data i bedriftssystemer er ustrukturert. Mange NoSQL-databaser kan håndtere indeksering av ustrukturert tekst, enten som en innfødt funksjon (MarkLogic Server) eller et integrert sett med tjenester, inkludert Solr eller Elasticsearch.
Å være i stand til å håndtere ustrukturert tekst øker informasjonen betydelig og kan hjelpe organisasjoner til å ta bedre beslutninger. For eksempel inkluderer avanserte bruksområder støtte for flere språk med fasettert søk, utklippsfunksjonalitet og ordstøttende støtte. Avanserte funksjoner inkluderer også støtte til ordbøker og thesauri.
Videre bruker du søkevarslingshandlinger på datainnhenting, kan du trekke ut navngitte enheter fra kataloger som for eksempel personer, steder og organisasjoner som gjør det mulig å kategorisere, merke og søke etter tekstdata.
Enhetsberikningstjenester som SmartLogic, OpenCalais, NetOwl og TEMIS Luxid som kombinerer utvunnet informasjon med annen informasjon, gir en rik interleaved informasjon web og forbedrer effektiv analyse og bruk.
Mulighet til å håndtere forandring over tid
På grunn av den grunnleggende agnostiske naturen til NoSQL-databaser, er de svært i stand til å håndtere endring - du trenger ikke å omskrive ETL-rutiner hvis XML-meldingsstrukturen mellom systemene endres.
Noen NoSQL-databaser tar dette et skritt videre og gir en universell indeks for strukturen, verdiene og teksten som finnes i informasjonen.Microsoft DocumentDB og MarkLogic Server gir begge denne muligheten.
Hvis en dokumentstruktur endres, tillater disse indeksene at organisasjoner bruker informasjonen umiddelbart, i stedet for å måtte vente i flere måneder før du kan teste og omskrive systemer.
Ingen avhengighet av SQL magi
Strukturert spørrespråk (SQL) er det overordnede språket som brukes til å spørre relasjonsdatabasebehandlingssystemer. Å kunne strukturere spørringer slik at de fungerer bra har gjennom årene blitt en tornaktig kunst. Komplekse multifunksjonsforbindelser er ikke lett å skrive fra minnet.
Selv om flere NoSQL-databaser støtter SQL-tilgang, gjør de det for kompatibilitet med eksisterende applikasjoner som BI-verktøy (Business Intelligence). NoSQL-databaser støtter sine egne tilgangsspråk som kan tolke dataene som lagres, i stedet for å kreve en relasjonsmodell i den underliggende databasen.
Denne mer utvikler-sentriske mentaliteten til design av databaser og deres tilgangsprogrammeringsgrensesnitt (API) er grunnen til at NoSQL-databaser har blitt svært populære blant applikasjonsutviklere.
Programutviklere trenger ikke å kjenne de indre arbeidene og vagariene til databaser før de bruker dem. NoSQL-databaser gir utviklere mulighet til å arbeide med det som kreves i applikasjonene, i stedet for å tvinge til relasjonsdatabaser for å gjøre det som kreves.
Mulighet for å skalere horisontalt på varemaskinvare
NoSQL-databaser håndterer partisjonering ( sharding ) av en database på flere servere. Så hvis dine krav til datalagring vokser for mye, kan du fortsette å legge til rimelige servere og koble dem til databaseklyngen din ( horisontal skalering ) slik at de fungerer som en enkelt datatjeneste.
Kontrast dette til relasjonsdatabaseverdenen hvor du må kjøpe ny, kraftigere og dermed dyrere maskinvare for å skalere opp ( vertikal skalering ). Hvis du skulle doble mengden data du lagrer, vil du enkelt firedoble kostnaden for den maskinvaren du trenger.
Å levere holdbarhet og høy tilgjengelighet av en NoSQL-database ved å bruke billig maskinvare og lagring, er en av NoSQLs store ressurser. Å kunne gjøre det samtidig som det gir generøs skalerbarhet for mange bruksområder, gjør det heller ikke vondt!
Bredde av funksjonalitet
De fleste relasjonsdatabaser støtter de samme funksjonene, men på en litt annen måte, så de er alle lik.
NoSQL-databaser finnes derimot i fire kjerneformer: nøkkelverdier, kolonne-, dokument- og trippelbutikker. Innenfor disse typene kan du finne en database som passer til dine spesielle (og merkelige!) Behov. Med så mye valg, er du bundet til å finne en NoSQL-database som vil løse din applikasjonsproblemer.
Støtte for flere datastrukturer
Mange applikasjoner trenger enkel objektlagring, mens andre krever svært komplisert og sammenhengende strukturlagring. NoSQL databaser gir støtte til en rekke datastrukturer.
-
Enkle binære verdier, lister, kart og strenge kan håndteres med høy hastighet i nøkkelverdier.
-
Beslektet informasjon verdier kan grupperes i kolonnefamilier innenfor Bigtable kloner.
-
Meget komplekse parent-child hierarkiske strukturer kan styres innenfor dokumentdatabaser.
-
En web av innbyrdes relatert informasjon kan beskrives fleksibelt og relatert i trippel og graf butikker.
Leverandørvalg
NoSQL-bransjen er oversvømt med databaser, selv om mange har eksistert i mindre enn ti år. For eksempel, bare IBM, Microsoft og Oracle dyppet tærne inn i dette markedet. Derfor er mange leverandører målrettet mot bestemte publikum med sin egen brygge av innovasjon.
Open-] kildevarianter er tilgjengelige for de fleste NoSQL-databaser, som gjør det mulig for bedrifter å utforske og begynne å bruke NoSQL-databaser med minimal risiko. Disse selskapene kan da ta sine nye metoder til en produksjonsplattform ved å bruke bedriftens tilbud.
Ingen arvskode
Siden de er så nye, har NoSQL-databaser ikke arvskode, noe som betyr at de ikke trenger å yte støtte til gamle maskinvareplattformer eller holde merkelig og sjelden brukt funksjonalitet oppdatert.
NoSQL-databaser har et raskt tempo når det gjelder utvikling og modning. Nye funksjoner blir løslatt hele tiden, og nye og eksisterende funksjoner oppdateres ofte (slik at NoSQL-leverandører ikke trenger å opprettholde en veldig stor kodebase). Faktisk skjer nye store utgivelser årlig snarere enn hvert tredje til fem år.
Utfør kode ved siden av dataene
NoSQL-databaser ble opprettet i Hadoop-epoken. Hadops høydistribuerte filsystem (HDFS) og batchbehandlingsmiljø (Map / Reduce) signaliserte endringer i måten data lagres, forespurte og behandles på.
Forespørsler og behandlingsarbeid går nå til flere servere, noe som gir høy grad av parallellisering for både inntaks- og spørringsbelastning. Å kunne beregne aggregater ved siden av dataene har også blitt normen.
Du trenger ikke lenger et eget datalagringssystem som oppdateres over natten. Med rask aggregering og spørringshåndtering, blir analysen overført til databasen for utførelse ved siden av dataene, noe som betyr at du ikke trenger å sende mye data rundt et nettverk for å oppnå lokalt kombinert analyse.
