Indholdsfortegnelse:
- Mindre behov for ETL
- Støtte til ustruktureret tekst
- Evne til at håndtere forandringer over tid
- Ingen afhængighed af SQL magi
- Mulighed for at skalere vandret på råvarehardware
- Bredde af funktionalitet
- Understøttelse af flere datastrukturer
- Leverandørvalg
- Ingen arvskode
- Udfør kode ved siden af dataene
Video: Web Programming - Computer Science for Business Leaders 2016 2024
NoSQL-databaser er ikke en direkte erstatning for et relationsdatabasestyringssystem (RDBMS). For mange dataproblemer er NoSQL en bedre match end en RDBMS.
Mindre behov for ETL
NoSQL databaser understøtter lagring af data "som det er. "Nøgleværdisbutikker giver dig mulighed for at gemme enkle datastrukturer, mens dokument NoSQL databaser giver dig mulighed for at håndtere en række flade eller indlejrede strukturer.
Det meste af dataene, der flyver mellem systemer, gør det som en besked. Typisk tager dataene et af disse formater:
-
Et binært objekt, der skal sendes gennem et sæt af lag
-
Et XML-dokument
-
Et JSON-dokument
At kunne håndtere disse formater indbygget i en række NoSQL-databaser mindsker mængden af kode, du skal konvertere fra kildedataformatet til det format, der skal gemmes. Dette kaldes ekstrakt, transformere og indlæse (ETL).
Ved at bruge denne fremgangsmåde reducerer du kraftigt mængden af kode, der kræves for at begynde at bruge en NoSQL-database. Da du ikke behøver at betale for opdateringer til denne "VVS-kode", bliver løbende vedligeholdelsesomkostninger væsentligt reduceret.
Støtte til ustruktureret tekst
Langt de fleste data i virksomhedssystemer er ustruktureret. Mange NoSQL databaser kan håndtere indeksering af ustruktureret tekst enten som en indbygget funktion (MarkLogic Server) eller et integreret sæt af tjenester, herunder Solr eller Elasticsearch.
At kunne administrere ustruktureret tekst øger informationen væsentligt og kan hjælpe organisationer med at træffe bedre beslutninger. Avancerede anvendelser omfatter for eksempel støtte til flere sprog med facetteret søgning, uddragsfunktion og ordstøttende support. Avancerede funktioner omfatter også støtte til ordbøger og thesauri.
Ved at bruge søgningsaktivitetshandlinger på dataindtag kan du også udtrække navngivne enheder fra mapper som dem, der angiver personer, steder og organisationer, hvilket gør det muligt at kategorisere, mærke og søge tekstdata.
Entity-berigelsesydelser som SmartLogic, OpenCalais, NetOwl og TEMIS Luxid, der kombinerer udvundet information med andre oplysninger, giver et rige interleaved informationsweb og forbedrer effektiv analyse og brug.
Evne til at håndtere forandringer over tid
På grund af den schematiske agnostiske karakter af NoSQL-databaser, er de meget i stand til at styre forandring - du behøver ikke omskrive ETL-rutiner, hvis XML-meddelelsesstrukturen mellem systemer ændres.
Nogle NoSQL databaser tager dette et skridt videre og giver et universelt indeks for strukturen, værdierne og teksten fundet i information.Microsoft DocumentDB og MarkLogic Server giver begge denne mulighed.
Hvis en dokumentstruktur ændres, tillader disse indeks organisationer, at de bruger oplysningerne straks, snarere end at skulle vente i flere måneder, før du kan teste og omskrive systemer.
Ingen afhængighed af SQL magi
Structured Query Language (SQL) er det overvejende sprog, der bruges til at forespørge relationelle database management systemer. At kunne strukturere forespørgsler, så de kan fungere godt, har i årenes løb været en tornet kunst. Komplekse multifunktionsforbindelser er ikke let at skrive fra hukommelsen.
Selvom flere NoSQL-databaser understøtter SQL-adgang, gør de det for kompatibilitet med eksisterende applikationer som BI-værktøjer. NoSQL databaser understøtter deres egne adgangssprog, der kan fortolke de data, der lagres, i stedet for at kræve en relationel model inden for den underliggende database.
Denne mere udviklercentriske mentalitet til design af databaser og deres adgangsprogrammeringsprogrammeringsgrænseflader (API) er årsagen til, at NoSQL-databaser er blevet meget populære blandt applikationsudviklere.
Applikationsudviklere behøver ikke at kende de indre funktioner og vagaries af databaser, før de bruges. NoSQL databaser giver udviklere mulighed for at arbejde på, hvad der kræves i applikationerne i stedet for at forsøge at tvinge relationelle databaser til at gøre, hvad der kræves.
Mulighed for at skalere vandret på råvarehardware
NoSQL databaser håndterer partitionering ( sharding ) af en database på tværs af flere servere. Så hvis dine krav til datalagring vokser for meget, kan du fortsætte med at tilføje billige servere og forbinde dem til din databasekluster ( vandret skalering ), så de fungerer som en enkelt datatjeneste.
Kontrast dette til relationsdatabaseverdenen, hvor du skal købe ny, mere kraftfuld og dermed dyrere hardware til skalering ( lodret skalering ). Hvis du skulle fordoble mængden af data, du lagrer, kan du nemt quadruple omkostningerne ved den hardware, du har brug for.
At levere holdbarhed og høj tilgængelighed af en NoSQL-database ved at bruge billig hardware og opbevaring er en af NoSQLs store aktiver. At gøre det samtidig med at give generøs skalerbarhed til mange anvendelser gør det heller ikke ondt!
Bredde af funktionalitet
De fleste relationelle databaser understøtter de samme funktioner, men på en lidt anderledes måde, så de er alle ens.
NoSQL-databaser findes derimod i fire kernetyper: nøgleværdige, kolonne-, dokument- og tredobbelte butikker. Inden for disse typer kan du finde en database, der passer til dine særlige behov (og specielle!). Med så mange valg, er du forpligtet til at finde en NoSQL database, der løser dine applikationsproblemer.
Understøttelse af flere datastrukturer
Mange applikationer kræver simpel objektopbevaring, mens andre kræver meget kompleks og indbyrdes forbundne strukturlagre. NoSQL databaser understøtter en række datastrukturer.
-
Enkle binære værdier, lister, kort og strenge kan håndteres med høj hastighed i nøgletalbutikker.
-
Relaterede oplysninger værdier kan grupperes i kolonne familier inden for Bigtable kloner.
-
Meget komplekse parent-child hierarkiske strukturer kan styres inden for dokumentdatabaser.
-
En web af indbyrdes forbundne oplysninger kan beskrives fleksibelt og relateret i triple og graph stores.
Leverandørvalg
NoSQL-industrien er oversvømmet med databaser, selvom mange har eksisteret i mindre end ti år. For eksempel har IBM, Microsoft og Oracle først for nylig dyppet deres tæer til dette marked. Derfor er mange leverandører målrettet mod bestemte målgrupper med deres eget bryg af innovation.
Open-source-varianter er tilgængelige for de fleste NoSQL-databaser, som gør det muligt for virksomheder at udforske og begynde at bruge NoSQL-databaser med minimal risiko. Disse virksomheder kan derefter tage deres nye metoder til en produktionsplatform ved hjælp af virksomhedens tilbud.
Ingen arvskode
Da de er så nye, har NoSQL-databaser ikke arvskode, hvilket betyder, at de ikke behøver at yde støtte til gamle hardwareplatforme eller holde mærkelig og sjældent brugt funktionalitet opdateret.
NoSQL databaser nyder et hurtigt tempo hvad angår udvikling og modning. Nye funktioner frigives hele tiden, og nye og eksisterende funktioner opdateres ofte (så NoSQL-forhandlere behøver ikke at opretholde en meget stor kodebase). Faktisk sker der nye årlige udgivelser i stedet for hvert tredje til fem år.
Udfør kode ved siden af dataene
NoSQL-databaser blev oprettet i Hadops epoke. Hadoop's stærkt distribuerede filsystem (HDFS) og batchbehandlingsmiljø (Map / Reduce) signalerede ændringer i den måde, data lagres, forespørges og behandles.
Forespørgsler og forarbejdningsarbejde passerer nu til flere servere, hvilket giver et højt niveau af parallelisering til både indtastning og forespørgsel af arbejdsbelastninger. At kunne beregne aggregeringer ud for dataene er også blevet normen.
Du behøver ikke længere et separat datalagringssystem, der opdateres natten over. Med hurtige aggregeringer og forespørgselshåndtering overføres analysen til databasen til udførelse ved siden af dataene, hvilket betyder, at du ikke behøver at sende mange data omkring et netværk for at opnå lokal kombineret analyse.