Innehållsförteckning:
- Mindre behov av ETL
- Stöd för ostrukturerad text
- Förmåga att hantera förändring över tiden
- Ingen tillit till SQL-magi
- Förmåga att skala horisontellt på råvaruhårdvara
- Bredd av funktionalitet
- Stöd för flera datastrukturer
- Leverantörsval
- Ingen äldre kod
- Utför kod bredvid data
Video: Hadoop Processing Frameworks 2024
NoSQL-databaser är inte en direkt ersättning för ett relationsdatabashanteringssystem (RDBMS). För många dataproblem är NoSQL en bättre match än en RDBMS.
Mindre behov av ETL
NoSQL-databaser stöder lagring av data "som det är. "Viktiga värdebutiker ger dig möjligheten att lagra enkla datastrukturer, medan dokument NoSQL-databaser ger dig möjligheten att hantera en rad platta eller kapslade strukturer.
Det mesta av data som flyger mellan system gör det som ett meddelande. Vanligtvis tar data ett av följande format:
-
Ett binärt objekt som ska skickas genom en uppsättning lager
-
Ett XML-dokument
-
Ett JSON-dokument
Att kunna hantera dessa format inhemskt inom ett antal NoSQL databaser minskar mängden kod du måste konvertera från källdataformatet till det format som behöver lagras. Detta kallas extrahera, transformera och ladda (ETL).
Med denna metod reducerar du kraftigt koden som krävs för att börja använda en NoSQL-databas. Dessutom, för att du inte behöver betala för uppdateringar av denna "VVS-kod", blir de löpande underhållskostnaderna betydligt lägre.
Stöd för ostrukturerad text
Största delen av data i företagsystem är ostrukturerad. Många NoSQL-databaser kan hantera indexering av ostrukturerad text antingen som en inbyggd funktion (MarkLogic Server) eller en integrerad uppsättning tjänster, inklusive Solr eller Elasticsearch.
Att kunna hantera ostrukturerad text ökar informationen och kan hjälpa organisationer att fatta bättre beslut. Exempelvis inkluderar avancerade användningsområden stöd för flera språk med fasad sökning, kodningsfunktionalitet och stöd för ordstöd. Avancerade funktioner inkluderar också stöd för ordböcker och thesauri.
Vidare kan du använda sökaktivitetsåtgärder vid datainmatning, så att du kan extrahera namngivna enheter från kataloger som de som listar personer, platser och organisationer, vilket gör att textdata kan kategoriseras bättre, taggas och sökas.
Enhetsberikningstjänster som SmartLogic, OpenCalais, NetOwl och TEMIS Luxid som kombinerar utvunnet information med annan information ger en rik informationskanal och förbättrar effektiv analys och användning.
Förmåga att hantera förändring över tiden
På grund av den schematiska agnostiska naturen hos NoSQL-databaser är de mycket kapabla att hantera förändring - du behöver inte skriva om ETL-rutiner om XML-meddelandestrukturen mellan system ändras.
Vissa NoSQL-databaser tar detta ett steg längre och ger ett universellt index för strukturen, värdena och texten som finns i informationen.Microsoft DocumentDB och MarkLogic Server ger båda dessa möjligheter.
Om en dokumentstruktur ändras tillåter dessa index att organisationer använder informationen omedelbart i stället för att behöva vänta i flera månader innan du kan testa och skriva om system.
Ingen tillit till SQL-magi
Structured Query Language (SQL) är det övervägande språket som används för att fråga om relationsdatabashanteringssystem. Att kunna strukturera frågor så att de fungerar bra har genom åren blivit en tornig konst. Komplexa multifunktionsförbindelser är inte lätt att skriva från minnet.
Även om flera NoSQL-databaser stöder SQL-åtkomst gör de det för kompatibilitet med befintliga applikationer som BI-verktyg (Business Intelligence). NoSQL-databaser stöder sina egna åtkomstspråk som kan tolka data som lagras, snarare än att kräva en relationell modell inom den underliggande databasen.
Denna mer utvecklingscentrerade mentalitet till design av databaser och deras API-gränssnitt (Application Application Programming Interfaces) är anledningen till att NoSQL-databaser har blivit mycket populära bland applikationsutvecklare.
Programutvecklare behöver inte veta de inre funktionerna och vagariesna i databaser innan de används. NoSQL databaser ger utvecklare möjlighet att arbeta med vad som krävs i applikationerna istället för att försöka tvinga relationsdatabaser att göra vad som krävs.
Förmåga att skala horisontellt på råvaruhårdvara
NoSQL-databaser hanterar partitionering ( sharding ) av en databas över flera servrar. Så, om dina krav på datalagring växer för mycket, kan du fortsätta lägga till billiga servrar och ansluta dem till ditt databaskluster ( horisontell skalning ) så att de fungerar som en enda datatjänst.
Kontrast till relationsdatabasvärlden där du behöver köpa ny, kraftfullare och därmed dyrare maskinvara för att skala upp ( vertikal skalning ). Om du skulle dubbla mängden data du lagrar, skulle du enkelt fyrdubbla kostnaden för den hårdvara du behöver.
Att tillhandahålla hållbarhet och hög tillgänglighet för en NoSQL-databas genom att använda billig hårdvara och lagring är en av NoSQLs stora tillgångar. Att göra det samtidigt som det ger generös skalbarhet för många användningar gör inte heller ont!
Bredd av funktionalitet
De flesta relationsdatabaser stöder samma funktioner men på ett annorlunda sätt, så de är alla lika.
NoSQL-databaser finns däremot i fyra kärntyper: nyckelvärde, kolumner, dokument och trippelbutiker. Inom dessa typer kan du hitta en databas som passar dina specifika (och sällsynta!) Behov. Med så mycket val kan du hitta en NoSQL-databas som löser dina problem.
Stöd för flera datastrukturer
Många applikationer behöver enkel objektlagring, medan andra kräver mycket komplex och sammanhängande strukturlagring. NoSQL-databaser ger stöd för en rad datastrukturer.
-
Enkla binära värden, listor, kartor och strängar kan hanteras med hög hastighet i viktiga butiker.
-
Närliggande information värden kan grupperas i kolumnfamiljer inom Bigtable-kloner.
-
Högkomplexa parentes-hierarkiska strukturer kan hanteras inom dokumentdatabaser.
-
En webb av sammankopplad information kan beskrivas flexibelt och relaterat i trippel och grafbutiker.
Leverantörsval
NoSQL-industrin är överflödig med databaser, men många har funnits i mindre än tio år. Till exempel dämpade IBM, Microsoft och Oracle bara nyligen tårna till denna marknad. Följaktligen riktar många säljare på sig särskilda publik med egen brygga av innovation.
Open-source-varianter finns tillgängliga för de flesta NoSQL-databaser, vilket gör att företag kan utforska och börja använda NoSQL-databaser med minimal risk. Dessa företag kan sedan ta sina nya metoder till en produktionsplattform genom att använda företagserbjudanden.
Ingen äldre kod
Eftersom de är så nya, har NoSQL-databaser inte någon äldre kod, vilket innebär att de inte behöver ge stöd för gamla hårdvaruplattformar eller hålla konstig och sällan använd funktionalitet uppdaterad.
NoSQL-databaser har en snabb takt när det gäller utveckling och mognad. Nya funktioner släpps hela tiden, och nya och befintliga funktioner uppdateras ofta (så NoSQL-leverantörer behöver inte behålla en mycket stor kodbas). Faktum är att nya stora utgåvor sker årligen snarare än var tredje till fem år.
Utför kod bredvid data
NoSQL-databaser skapades i Hadops era. Hadops högdistribuerade filsystem (HDFS) och batchbehandlingsmiljö (Map / Reduce) signalerade förändringar i hur data lagras, frågas och bearbetas.
Frågor och bearbetningsarbete skickas nu till flera servrar, vilket ger hög nivå av parallellisering för både inmatning och frågan om arbetsbelastning. Att kunna beräkna aggregeringar bredvid data har också blivit normen.
Du behöver inte längre ett separat datalagringssystem som uppdateras över natten. Med snabb aggregering och frågehantering skickas analys till databasen för exekvering bredvid data, vilket innebär att du inte behöver skicka mycket data kring ett nätverk för att uppnå lokalt kombinerad analys.