Hem Personliga finanser 10 Orsaker Utvecklare älskar NoSQL - dummies

10 Orsaker Utvecklare älskar NoSQL - dummies

Innehållsförteckning:

Video: The dawn of the age of holograms | Alex Kipman 2024

Video: The dawn of the age of holograms | Alex Kipman 2024
Anonim

Populariteten hos NoSQL-databaser härrör från det stora antalet utvecklare som är glada att använda dem. Utvecklare ser NoSQL som en möjlig och befriande teknik. Till skillnad från det traditionella relationella tillvägagångssättet ger NoSQL dig ett sätt att arbeta med data som ligger närmare applikationen än relationsdatamodellen.

Utvecklare antar NoSQL-teknik av många anledningar, varav några är markerade här:

Det går inte att skriva SQL

Skriva strukturerat fråge språk (SQL) - och göra det bra - är banan för många företagsutvecklare. Denna smärta beror på att det är inte lätt att skriva mycket komplexa frågor med flera anslag i relaterade tabeller. Dessutom, med tanke på regelbunden databasförändring över tid, är det ett jobb i sig själv att upprätthålla komplexa frågekoder.

Företagsutvecklare har uppfunnit ett antal sätt att undvika att skriva SQL. Ett av de mest populära sätten är genom användning av Objekt-Relational Mapping (ORM) biblioteket, Hibernate. Hibernate tar en konfigurationsfil och ett eller flera objekt och abstraherar bort den otäcka SQL så att utvecklare inte behöver använda den. Detta kommer till en kostnad i form av prestanda, och löser inte alla användningsfall för frågor. Ibland måste du komma tillbaka till SQL.

NoSQL-databaser ger sina egna fråge språk, som är anpassade till hur data hanteras av databasen och till de operationer som utvecklare oftast utför. Detta tillvägagångssätt ger en enklare sökmekanism än kapslade SQL-satser som gör.

Vissa NoSQL-databaser ger också ett SQL-gränssnitt för att fråga NoSQL-databaser, om utvecklare inte kan bryta SQL-vanan!

Behöver inte spendera månader utforma schema

Schema-agnosticism i NoSQL-databaser gör att du kan ladda data snabbt utan att behöva skapa ett relationsschema över en period av månader. Du behöver inte analysera framsidan varje enskild dataobjekt du behöver lagra i NoSQL, som du gör med en RDBMS.

Mindre datatransformationskod (ETL)

Ett vanligt problem med relationsdatabaser som kommer från att ha en schemaläggning på framsidan är att du måste tvinga icke-relationella data i rader och kolumner. Denna fragmenteringsmekanism, tillsammans med andra kodmetoder som förbehandlar information för lagring och efterprocess för återhämtning, kallas extrakt, transformera och ladda (ETL) .

Den här koden tvingar utvecklarna att ta sina snygga objekt och dokumentmodeller och skriva kod för att lagra varje sista element. Att göra det är otäckt och leder också till högkvalificerade utvecklare som skriver dåligt fungerande och ointressant VVS-kod.

Med NoSQL databaser kan du behålla de lagrade datastrukturerna mycket närmare sin ursprungliga form. Data som flyter in mellan system är vanligtvis i ett XML-format, medan det gäller webapplikationer formateras data i ett JSON-dokument. Att kunna lagra, hantera och söka Jons är en stor fördel för applikationsutvecklare.

Det är enklare att behålla koden

All kod som du skriver måste bibehållas. Genom att hålla databasstrukturer nära programkodens dataformat minimerar du mängden kod, som i sin tur minimerar underhållet av kod- och regressionstestning som du behöver göra över tiden.

När datastrukturer ändras på en RDBMS måste du granska all SQL-kod som kan använda de ändrade tabellerna. I NoSQL lägger du helt enkelt till stöd för de nya elementen, eller bara ignorerar dem! Mycket lättare att underhålla, tack vare schematisk agnostiska naturen hos NoSQL-databaser.

Kör koden nära data för bästa prestanda

En RDBMS tillhandahåller lagrade procedurer för körning av kod på en databasserver. Denna kod utförs på ett ställe. Denna användbara metod är grunden för många analytiska och komplexa datahanteringsapplikationer.

Många NoSQL-databaser tillåter att denna typ av kod distribueras över alla servrar som lagrar relevant data, vilket möjliggör en större parallellisering av arbetsbelastningen. Detta tillvägagångssätt är särskilt viktigt för stora intag av data som behöver bearbetning och för komplex aggregeringsanalys vid förfrågningstid.

Användardefinierade funktioner (UDF) och skript på serversidan i en mängd olika NoSQL-databaser ger denna distribuerade kapacitet. UDF: s liknar Hadops MapReduce-kapacitet, förutom att UDF kan hända i realtid i stället för i batch-läge och kräver inte samma utlägg i infrastruktur som Hadoop plus en databas skulle kräva.

Massor av öppna källalternativ

I många företagsprogramvaror saknas valet av en solid öppen källkodslösning. Endast en eller två utbredda alternativ kan finnas. Tillgängligheten av kompetens och lokalt stöd i landet är ännu större problem.

Det finns dock en myriad av NoSQL-databaser med öppen källkod. Många av dessa har fullfjädrada kommersiella företag som erbjuder stöd och har kontor globalt. Så om du behöver support eller fler funktioner kan du flytta till dessa versioner så småningom.

Detta minskar kostnaden för att anta NoSQL-teknik och låter dig "försöka innan du köper. "Denna tillgänglighet av open source-alternativ har lett till att kommersiella företag i NoSQL-rymden erbjuder gratis men välfungerade versioner av deras programvara eller att erbjuda speciella startlicenser till små organisationer.

Lätt att skala

Du behöver inte få en dyr DBA för att spendera dagar som refactoring SQL och skapa materialiserade visningar för att eeka varje tum av prestanda ur NoSQL-system.

Viktiga butiker kan hantera hundratusentals operationer per server. Alla typer av NoSQL kan skala horisontellt över relativt billiga råvararservrar.Så det är mycket lättare att skala din databaskluster med NoSQL än med traditionella relationsdatabaser.

Dessutom, på grund av sin förmåga att skala, passar NoSQL-databaser också bra in i offentliga och privata moln. NoSQL databaser är utformade för att vara flexibla och expandera och kontrakt som användningen för din ansökan förändring. Denna egenskap kallas ofta elasticitet .

Eventuell konsistensdatamodell

Även om missionskritiska fall kräver ACID-överensstämmelse, behöver inte varje applikation göra det. Att kunna slappna av konsistens över mycket stora kluster kan vara användbart för vissa applikationer.

Med NoSQL databaser kan du slappna av dessa hinder eller blanda och matcha stark konsistens och svag konsistens i samma databas, för olika skivtyper.

Esoteriskt språkstöd

Nästan alla databaser stöder de viktigaste programmeringsspråken som Java och C #. NETTO. Många databaser stöder liknande som PHP, Python och Ruby on Rails.

NoSQL har en blomstrande uppsättning språkdrivrutiner för ett ännu större utbud av programmeringsspråk. Om din organisation har ett domänspecifik språk kan du få stöd för det i en NoSQL-databas.

End-to-end-JavaScript för JavaScript

Användning av JavaScript har exploderat de senaste åren. Det är ett bekvämt skriptspråk både på webben och tack vare nod. js, på serverns sida.

Många NoSQL-databaser stöder nu fullständig end-to-end-JavaScript-utveckling. Det innebär att din organisation nu kan använda samma pool av programmeringsspråksförmåga för att skapa webbapplikationer och API-datorer för mellanslagsdata och affärslogik, samt hantera backend-databasutlösare och MapReduce-baserad analytisk bearbetning bredvid data.

Som ett resultat är den totala kostnaden för ägande (TCO) för NoSQL i jämförelse med andra databassteknologier lägre.

10 Orsaker Utvecklare älskar NoSQL - dummies

Redaktörens val

Som standard använder Photoshop Elements färgplockare - dummies

Som standard använder Photoshop Elements färgplockare - dummies

En svart förgrundsfärg och en vit bakgrundsfärg. Om du experimenterar med färg och vill gå tillbaka till standardfärgerna, tryck på D-tangenten. Om du vill växla mellan förgrunds- och bakgrundsfärger trycker du på X-tangenten. Om du vill ha någon annan färg än svart och ...

Arbetar med kommandot Färgvariationer i Photoshop Elements 9 - dummies

Arbetar med kommandot Färgvariationer i Photoshop Elements 9 - dummies

Kommandot Färgvariationer i Photoshop Element är en digital färgkorrigeringsfunktion. Kommandot gör att du kan göra korrigeringar genom att visuellt jämföra miniatyrbilder av färgvariationer av din bild. Du kan använda det här kommandot när du inte är helt säker på vad som är fel med färgen eller vilken typ av färgsändning din bild har. Så här ...

Arbetar med Photoshop Elements 9 Project Bin-dummies

Arbetar med Photoshop Elements 9 Project Bin-dummies

Projektfacket i Photoshop Elements visar miniatyrbilder av alla dina öppna bilder. Oavsett om du arbetar i Redigera fullständigt eller Redigera snabbt läge, kan du omedelbart se en liten bild av alla bilder du har öppet på en gång. Du kan också se miniatyrbilder av alla olika visningar du ...

Redaktörens val

Hur man validerar obligatoriska fält i en formulärprocess sida - dummies

Hur man validerar obligatoriska fält i en formulärprocess sida - dummies

Du bygger PHP webbformulärsprocess sida i steg, börjar med den grundläggande ramen och sedan lägga till mer komplex validering och funktioner när du går. Öppna din textredigerare och skapa en ny fil. I den filen lägger du följande kod:

Vad gör HTML? - dummies

Vad gör HTML? - dummies

HTML instruerar webbläsaren på hur man visar text och bilder på en webbsida. Minns sista gången du skapade ett dokument med en ordbehandlare. Oavsett om du använder Microsoft Word eller Wordpad, Apple Pages eller ett annat program, har din textbehandlare ett huvudfönster där du skriver text och en meny eller ...

Vad gör Python? - dummies

Vad gör Python? - dummies

Python är ett allmänt användande programmeringsspråk som vanligtvis används för webbutveckling. Det här låter på samma sätt som Ruby, och verkligen är båda språk mer liknade än de är olika. Python, som Ruby, möjliggör lagring av data efter att användaren har navigerat bort från sidan eller stängt webbläsaren, till skillnad från HTML, CSS och JavaScript. Använda Python ...

Redaktörens val

Typer av högteknologiska lösenordssprickning - dummies

Typer av högteknologiska lösenordssprickning - dummies

Högteknologiskt lösenordssprickning är en typ av hacking som involverar Använda program som gissar ett lösenord genom att bestämma alla möjliga lösenordskombinationer. De viktigaste lösenordssprickningsmetoderna är ordboksattacker, brute-force attacker och regnbågeattacker. Ordboken attacker Dictionary attacker snabbt jämföra en uppsättning kända ordbokstyp ord - inklusive många vanliga lösenord - mot ett lösenord ...

Enhetligt meddelandevisningsverktyg - dummies

Enhetligt meddelandevisningsverktyg - dummies

Med enhetlig kommunikation och konvergens av röstbrevlåda med e-post och med skrivbordet på skrivbordet, du har nya sätt att interagera med röstmeddelanden. Du brukar brukade sända någon form av ljus på din skrivbordstelefon eller en stakad tonning när du lyfter luren för att varna dig när ett nytt röstmeddelande är ...

Enhetlig meddelandedelning - dummies

Enhetlig meddelandedelning - dummies

Eftersom enhetlig meddelandehantering gör att du kan ta emot dina telefonsvarare och fax som är inbäddade eller bifogade e-postmeddelanden i en enkel, enhetlig inkorg, så kan du också arbeta med de här meddelandetyperna på något sätt som du kan arbeta med ett e-postmeddelande. Med enhetlig meddelandehantering och en enda inkorg har du större kontroll och flexibilitet för att dela ...