Vad är NoSQL?

NoSQL-databasen är ett icke-relationsdatahanteringssystem som inte kräver ett fast schema. Det undviker fogar, och är lätt att skala. Det huvudsakliga syftet med att använda en NoSQL-databas är för distribuerade datalager med humongous datalagringsbehov. NoSQL används för stora data och realtid webbappar. Till exempel samlar företag som Twitter, Facebook och Google terabyte användardata varje dag.,

NoSQL databas står för ”inte bara SQL” eller ”inte SQL.”Även om en bättre term skulle vara ”NoREL”, NoSQL fångad på. Carl Strozz introducerade begreppet NoSQL 1998.

Traditionella RDBMS använder SQL-syntax för att lagra och hämta data för ytterligare insikter. Istället omfattar ett NoSQL-databassystem ett brett spektrum av databastekniker som kan lagra strukturerade, halvstrukturerade, ostrukturerade och polymorfa data., Låt oss förstå om NoSQL med ett diagram i denna NoSQL-databashandledning:

i den här NoSQL-handledningen för nybörjare lär du dig NoSQL-grunderna som:

  • Varför NoSQL?
  • kort historia NoSQL databaser
  • funktioner i NoSQL
  • typer av NoSQL databaser
  • Query mekanism verktyg för NoSQL
  • vad är CAP teorem?
  • eventuell konsistens
  • fördelar med NoSQL

varför NoSQL?,

begreppet NoSQL-databaser blev populär bland internetjättar som Google, Facebook, Amazon, etc. vem hanterar stora volymer data. Systemets svarstid blir långsam när du använder RDBMS för massiva volymer av data.

för att lösa detta problem kan vi ”skala upp” våra system genom att uppgradera vår befintliga maskinvara. Denna process är dyr.

alternativet för det här problemet är att distribuera databasbelastningen på flera värdar när belastningen ökar. Denna metod är känd som ” skalning ut.,”

NoSQL-databasen är icke-relationell, så den skalar ut bättre än relationsdatabaser eftersom de är utformade med webbapplikationer i åtanke.,ST med JSON

  • används oftast inget standardbaserat NoSQL-frågespråk
  • webbaktiverade databaser som körs som internetanslutna tjänster
  • distribuerad

    • flera NoSQL-databaser kan utföras på ett distribuerat sätt
    • erbjuder automatisk skalning och felöverskridande funktioner
    • ofta SYRAKONCEPT kan offras för skalbarhet och genomströmning
    • mestadels ingen synkron replikering mellan distribuerade noder
    • asynkron multi-master replikering, peer-to-peer, HDFS replikering
    • ger endast eventuell konsekvens
    • delade ingenting arkitektur., Detta möjliggör mindre samordning och högre fördelning.

    NoSQL delas ingenting.

    typer av NoSQL-databaser

    NoSQL-databaser kategoriseras huvudsakligen i fyra typer: nyckelvärdespar, Kolumnorienterad, Diagrambaserad och Dokumentorienterad. Varje kategori har sina unika attribut och begränsningar. Ingen av ovanstående databas är bättre att lösa alla problem. Användare bör välja databasen baserat på deras produktbehov.,

    typer av NoSQL-databaser:

    • nyckelvärdespar baserat
    • Kolumnorienterad Graf
    • grafer baserade
    • Dokumentorienterad

    nyckelvärdespar baserat

    data lagras i nyckel- / värdepar. Den är utformad på ett sådant sätt att hantera massor av data och tung belastning.

    värdeparlagringsdatabaser lagrar data som en hashtabell där varje nyckel är unik, och värdet kan vara en JSON, BLOB(binära stora objekt), sträng, etc.,

    till exempel kan ett nyckelvärdespar innehålla en nyckel som ”webbplats” som är associerad med ett värde som ”Guru99”.

    det är ett av de mest grundläggande NoSQL-databasexempel. Denna typ av NoSQL-databas används som en samling, ordböcker, associativa arrayer etc. Viktiga värdebutiker hjälper utvecklaren att lagra schema-mindre data. De fungerar bäst för kundvagn innehåll.

    Redis, Dynamo, Riak är några NoSQL exempel på nyckelvärde lagra databaser. De är alla baserade på Amazons Dynamo papper.,

    Kolumnbaserade

    Kolumnorienterade databaser fungerar på Kolumner och är baserade på BigTable papper från Google. Varje kolumn behandlas separat. Värden för enskilda kolumndatabaser lagras contiguously.

    Kolumnbaserad NoSQL-databas

    de levererar hög prestanda på aggregeringsfrågor som SUM, COUNT, AVG, MIN etc. eftersom uppgifterna är lättillgängliga i en kolumn.,

    Kolumnbaserade NoSQL-databaser används ofta för att hantera datalager, business intelligence, CRM, Bibliotekskortskataloger,

    HBase, Cassandra, HBase, Hypertable är NoSQL query exempel på kolumnbaserad databas.

    Dokumentorienterad:

    Dokumentorienterad NoSQL DB lagrar och hämtar data som ett nyckelvärdespar men värdedelen lagras som ett dokument. Dokumentet lagras i JSON eller XML-format. Värdet förstås av DB och kan frågas.

    Relations Vs., Dokument

    i det här diagrammet till vänster kan du se att vi har rader och kolumner, och till höger har vi en dokumentdatabas som har en liknande struktur som JSON. Nu för relationsdatabasen måste du veta vilka kolumner du har och så vidare. För en dokumentdatabas har du dock datalagring som JSON object. Du behöver inte definiera vilka gör det flexibelt.

    dokumenttypen används främst för CMS-system, bloggplattformar, realtidsanalys& e-handelsprogram., Det bör inte användas för komplexa transaktioner som kräver flera operationer eller frågor mot varierande aggregerade strukturer.

    Amazon SimpleDB, CouchDB, MongoDB, Riak, Lotus Notes, MongoDB, är populära dokument ursprung DBMS-system.

    Grafbaserad

    en graftyp databas lagrar enheter samt relationerna mellan dessa enheter. Enheten lagras som en nod med relationen som kanter. En kant ger ett förhållande mellan noder. Varje nod och kant har en unik identifierare.,

    jämfört med en relationsdatabas där tabeller är löst anslutna är en grafdatabas en multirelationsdatabas i naturen. Traversing relation är snabb eftersom de redan fångas in i DB, och det finns ingen anledning att beräkna dem.

    Grafbasdatabas används oftast för sociala nätverk, Logistik, rumsliga data.

    Neo4J, Infinite Graph, OrientDB, FlockDB är några populära grafbaserade databaser.,

    Query Mechanism tools for NoSQL

    den vanligaste datahämtningsmekanismen är den RESTBASERADE hämtningen av ett värde baserat på dess nyckel/ID med GET resource

    Document store-databasen erbjuder svårare frågor eftersom de förstår värdet i ett nyckelvärdespar. CouchDB tillåter till exempel att definiera vyer med MapReduce

    Vad är CAP-teoremet?

    CAP teorem kallas också brewer ’ s teorem., Det står att det är omöjligt för en distribuerad datalagring att erbjuda mer än två av tre garantier

    1. konsistens
    2. tillgänglighet
    3. Partitionstolerans

    konsistens:

    uppgifterna bör förbli konsekventa även efter utförandet av en operation. Detta innebär att när data är skrivna, alla framtida läs begäran bör innehålla dessa uppgifter. Till exempel, efter att ha uppdaterat orderstatusen, ska alla klienter kunna se samma data.

    tillgänglighet:

    databasen ska alltid vara tillgänglig och lyhörd. Det borde inte ha någon driftstopp.,

    Partitionstolerans:

    Partitionstolerans innebär att systemet ska fortsätta att fungera även om kommunikationen mellan servrarna inte är stabil. Servrarna kan till exempel delas upp i flera grupper som kanske inte kommunicerar med varandra. Här, om en del av databasen inte är tillgänglig, är andra delar alltid opåverkade.

    eventuell konsistens

    termen ”eventuell konsistens” innebär att ha kopior av data på flera maskiner för att få hög tillgänglighet och skalbarhet., Således måste ändringar som görs i något dataobjekt på en maskin förökas till andra repliker.

    datareplikering kanske inte är ögonblicklig eftersom vissa kopior kommer att uppdateras omedelbart medan andra i sinom tid. Dessa kopior kan vara ömsesidigt, men i sinom tid blir de konsekventa. Därav namnet eventuell konsistens.,i> I grund och botten, tillgängliga medel DB är tillgänglig hela tiden enligt CAP teorem

  • Soft state betyder även utan en ingång; systemtillståndet kan förändras
  • eventuell konsistens innebär att systemet kommer att bli konsekvent över tiden
  • fördelar med NoSQL

    • kan vara används som primär eller analytisk datakälla
    • stor datakapacitet
    • ingen enskild felpunkt
    • enkel replikering
    • inget behov av separat caching lager
    • det ger snabb prestanda och horisontell skalbarhet.,
    • kan hantera strukturerade, halvstrukturerade och ostrukturerade data med lika effekt
    • objektorienterad programmering som är lätt att använda och flexibel
    • NoSQL-databaser behöver inte en dedikerad högpresterande server
    • stöd för viktiga Utvecklarspråk och plattformar
    • enkel att implementera än att använda RDBMS
    • Det kan fungera som den primära datakällan för online-applikationer.,ariety, volym och komplexitet
    • utmärker sig vid distribuerad databas och multi-data center operationer
    • eliminerar behovet av ett specifikt caching lager för att lagra data
    • erbjuder en flexibel schema design som lätt kan ändras utan driftstopp eller serviceavbrott

    nackdelar med NoSQL

    • inga standardiseringsregler
    • begränsade frågefunktioner
    • RDBMS databaser och verktyg är relativt mogna
    • Det erbjuder inte några traditionella databasfunktioner, som konsekvens när flera transaktioner utförs samtidigt.,
    • när volymen av data ökar är det svårt att behålla unika värden som nycklar blir svåra
    • fungerar inte lika bra med relationsdata
    • inlärningskurvan är styv för nya utvecklare
    • alternativ med öppen källkod så inte så populär för företag.

    sammanfattning

    • NoSQL är en icke-relations DMS, som inte kräver en fast schema, undviker sammanfogningar, och är lätt att skala
    • begreppet NoSQL databaser beccame populär bland Internet jättar som Google, Facebook, Amazon, etc., vem hanterar stora volymer data
    • under året 1998 – Carlo Strozzi använder termen NoSQL för sin lätta, öppen källkod relationsdatabas
    • NoSQL-databaser följer aldrig relationsmodellen det är antingen schema-fri eller har avslappnade scheman
    • fyra typer av NoSQL-databas är 1).Nyckelvärde par baserat 2).Kolumn-orienterad Graf 3). Grafer baserade 4).,Dokumentorienterad
    • NOSQL kan hantera strukturerad, halvstrukturerad och ostrukturerad data med lika effekt
    • CAP teorem består av tre ord konsistens, tillgänglighet och Partitionstolerans
    • BASE står för i princip tillgänglig, Soft state, eventuell konsistens
    • termen ”eventuell konsistens” innebär att ha kopior av data på flera maskiner för att få hög tillgänglighet och skalbarhet
    • NOSQL erbjuder begränsade frågefunktioner