Wat is NoSQL?

NoSQL-Database is een niet-relationeel gegevensbeheersysteem dat geen vast schema vereist. Het vermijdt joins, en is gemakkelijk te schalen. Het belangrijkste doel van het gebruik van een NoSQL-database is voor gedistribueerde gegevensopslag met enorme opslagbehoeften. NoSQL wordt gebruikt voor Big data en real-time web apps. Bedrijven als Twitter, Facebook en Google verzamelen bijvoorbeeld elke dag terabytes aan gebruikersgegevens.,

NoSQL database staat voor ” Not Only SQL “of” Not SQL.”Hoewel een betere term zou zijn” NoREL”, NoSQL betrapt op. Carl Strozz introduceerde het NoSQL concept in 1998.

traditionele RDBMS gebruikt SQL-syntaxis om gegevens op te slaan en op te halen voor verdere inzichten. In plaats daarvan omvat een NoSQL-databasesysteem een breed scala aan databasetechnologieën die gestructureerde, semi-gestructureerde, ongestructureerde en polymorfe gegevens kunnen opslaan., Laten we begrijpen over NoSQL met een diagram in deze NoSQL database tutorial:

in deze NoSQL tutorial voor beginners leert u NoSQL basics zoals:

  • waarom NoSQL?
  • korte geschiedenis van NoSQL-Databases
  • kenmerken van NoSQL
  • Types van NoSQL-Databases
  • Query Mechanism tools for NoSQL
  • Wat is de Cap-stelling?
  • uiteindelijke consistentie
  • voordelen van NoSQL

waarom NoSQL?,

Het concept van NoSQL-databases werd populair bij internetgiganten als Google, Facebook, Amazon, enz. die te maken hebben met enorme hoeveelheden data. De responstijd van het systeem wordt traag wanneer u RDBMS gebruikt voor enorme hoeveelheden gegevens.

om dit probleem op te lossen, kunnen we onze systemen “opschalen” door onze bestaande hardware te upgraden. Dit proces is duur.

Het alternatief voor dit probleem is het distribueren van database belasting op meerdere hosts wanneer de belasting toeneemt. Deze methode staat bekend als ” scaling out.,”

NoSQL database is niet-relationeel, dus schaalt het beter dan relationele databases omdat ze zijn ontworpen met webapplicaties in het achterhoofd.,ST met JSON

  • Meestal gebruikt geen standaard op basis van NoSQL query language
  • Web-enabled databases actief als internet-facing diensten
  • Gedistribueerd

    • Meerdere NoSQL-databases kunnen worden uitgevoerd in een distributed mode
    • Biedt een automatische schaling en fail-over mogelijkheden
    • Vaak ZUUR concept kan worden opgeofferd voor de schaalbaarheid en de verwerkingscapaciteit
    • Meestal geen synchrone replicatie tussen gedistribueerde knooppunten Asynchrone Multi-Master Replicatie, peer-to-peer, HDFS Replicatie
    • Alleen het verstrekken van de uiteindelijke consistentie
    • Gedeelde Niets Architectuur., Dit zorgt voor minder coördinatie en een hogere verdeling.

    NoSQL wordt niet gedeeld.

    typen NoSQL-Databases

    NoSQL-Databases zijn hoofdzakelijk onderverdeeld in vier typen: Sleutelwaardepaar, Kolomgeoriënteerd, grafisch en Documentgeoriënteerd. Elke categorie heeft zijn unieke eigenschappen en beperkingen. Geen van de hierboven gespecificeerde database is beter om alle problemen op te lossen. Gebruikers moeten de database selecteren op basis van hun productbehoeften.,

    typen NoSQL-Databases:

    • sleutelwaarde-paar gebaseerd
    • Kolomgeoriënteerde grafiek
    • grafieken gebaseerd
    • Documentgeoriënteerd

    sleutelwaardepaar gebaseerd

    gegevens worden opgeslagen in sleutel/waardeparen. Het is zo ontworpen dat het veel data en zware belasting aankan.

    sleutel – waarde paar opslag databases slaan gegevens op als een hash tabel waar elke sleutel uniek is, en de waarde kan een JSON, BLOB(Binary Large Objects), string, enz.,

    bijvoorbeeld, een sleutel-waarde paar kan een sleutel als “Website” geassocieerd met een waarde als “Guru99″bevatten.

    Het is een van de meest basale NoSQL database voorbeeld. Dit soort NoSQL database wordt gebruikt als een verzameling, woordenboeken, associatieve arrays, enz. Key value stores helpen de ontwikkelaar om schema-less gegevens op te slaan. Ze werken het beste voor winkelwagen inhoud.

    Redis, Dynamo, Riak zijn enkele NoSQL voorbeelden van key-value store DataBases. Ze zijn allemaal gebaseerd op Amazon ‘ s Dynamo papier.,

    kolom-gebaseerde

    Kolomgeoriënteerde databases werken op kolommen en zijn gebaseerd op BigTable papier van Google. Elke kolom wordt apart behandeld. Waarden van databases met één kolom worden aaneengesloten opgeslagen.

    Kolombased NoSQL database

    ze leveren hoge prestaties op aggregatie queries zoals SUM, COUNT, AVG, MIN etc. aangezien de gegevens gemakkelijk beschikbaar zijn in een kolom.,

    Kolomgebaseerde NoSQL-databases worden veel gebruikt voor het beheren van datawarehouses, business intelligence, CRM, bibliotheekkaartcatalogi,

    HBase, Cassandra, HBase, Hypertable zijn NoSQL-query-voorbeelden van kolomgebaseerde database.

    Documentgeoriënteerd:

    Documentgeoriënteerd NoSQL DB slaat gegevens op en haalt deze op als een sleutelwaardepaar, maar het waardedeel wordt opgeslagen als een document. Het document wordt opgeslagen in JSON-of XML-formaten. De waarde wordt begrepen door de DB en kan worden opgevraagd.

    relationele Vs., Document

    in dit diagram aan de linkerkant kunt u zien dat we rijen en kolommen hebben, en aan de rechterkant hebben we een documentdatabase die een soortgelijke structuur heeft als JSON. Nu voor de relationele database, Je moet weten welke kolommen je hebt en ga zo maar door. Echter, voor een document database, heb je gegevens op te slaan als JSON object. Je hoeft niet te definiëren wat het flexibel maakt.

    het documenttype wordt meestal gebruikt voor CMS-systemen, blogplatforms, real-time analytics & e-commerceapplicaties., Het mag niet worden gebruikt voor complexe transacties die meerdere bewerkingen of queries vereisen tegen verschillende geaggregeerde structuren.

    Amazon SimpleDB, CouchDB, MongoDB, Riak, Lotus Notes, MongoDB, zijn populaire DBMS-systemen afkomstig uit documenten.

    op grafieken gebaseerde

    een database met grafieken slaat entiteiten op, evenals de relaties tussen deze entiteiten. De entiteit wordt opgeslagen als een knooppunt met de relatie als Randen. Een rand geeft een relatie tussen knooppunten. Elk knooppunt en rand heeft een unieke identifier.,

    vergeleken met een relationele database waar tabellen losjes verbonden zijn, is een Grafiekdatabase een multi-relationele database. Transversing relatie is snel als ze al zijn gevangen in de DB, en er is geen noodzaak om ze te berekenen.

    Grafiekbasisdatabase wordt meestal gebruikt voor sociale netwerken, logistiek, ruimtelijke gegevens.

    Neo4J, Infinite Graph, OrientDB, FlockDB zijn enkele populaire grafieken gebaseerde databases.,

    Query Mechanism tools for NoSQL

    het meest voorkomende data retrieval mechanisme is de REST-based retrieval van een waarde gebaseerd op zijn sleutel/ID met GET resource

    Document store Database biedt moeilijkere query ‘ s omdat ze de waarde in een sleutel-waarde paar begrijpen. CouchDB staat bijvoorbeeld toe om weergaven te definiëren met MapReduce

    Wat is de Cap-stelling?de stelling van

    CAP wordt ook wel de stelling van brewer genoemd., Het stelt dat het onmogelijk is voor een gedistribueerde gegevensopslag om meer dan twee van de Drie Garanties te bieden

    1. consistentie
    2. beschikbaarheid
    3. Partitietolerantie

    consistentie:

    de gegevens moeten ook na de uitvoering van een bewerking consistent blijven. Dit betekent dat zodra de gegevens zijn geschreven, elk toekomstig leesverzoek die gegevens moet bevatten. Bijvoorbeeld, na het bijwerken van de orderstatus, alle klanten moeten in staat zijn om dezelfde gegevens te zien.

    beschikbaarheid:

    de database moet altijd beschikbaar en responsief zijn. Het mag geen downtime hebben.,

    Partitietolerantie:

    Partitietolerantie betekent dat het systeem moet blijven functioneren, zelfs als de communicatie tussen de servers niet stabiel is. De servers kunnen bijvoorbeeld worden verdeeld in meerdere groepen die mogelijk niet met elkaar communiceren. Hier, als een deel van de database niet beschikbaar is, zijn andere delen altijd onaangetast.

    uiteindelijke consistentie

    De term “uiteindelijke consistentie” betekent kopieën van gegevens op meerdere machines hebben om een hoge beschikbaarheid en schaalbaarheid te krijgen., Wijzigingen aan een gegevensitem op een machine moeten dus worden doorgegeven aan andere replica ‘ s.

    gegevensreplicatie is mogelijk niet onmiddellijk, omdat sommige kopieën onmiddellijk zullen worden bijgewerkt terwijl andere te zijner tijd zullen worden bijgewerkt. Deze kopieën kunnen wederzijds zijn, maar na verloop van tijd worden ze consistent. Vandaar de naam uiteindelijke consistentie.,ik> Eigenlijk beschikbare middelen DB is beschikbaar de hele tijd als per CAP stelling

  • Zacht dat ze zelfs zonder een invoer; het systeem staat kan veranderen
  • Uiteindelijke consistentie betekent dat het systeem zal worden consequent de loop van de tijd
  • Voordelen van NoSQL

    • Kan worden gebruikt als Primaire of Analyse van Gegevens Bron
    • Big Data-Mogelijkheden
    • Geen Single Point of Failure
    • Eenvoudige Replicatie
    • Geen Noodzaak voor een Aparte Caching Laag
    • Het zorgt voor een snelle prestaties en horizontale schaalbaarheid.,
    • kan gestructureerde, semi-gestructureerde en ongestructureerde gegevens verwerken met gelijk effect
    • objectgeoriënteerd programmeren dat eenvoudig te gebruiken en flexibel is
    • NoSQL-databases hebben geen speciale high-performance server nodig
    • ondersteuning voor belangrijke Ontwikkelingstalen en Platforms
    • Eenvoudig te implementeren dan het gebruik van RDBMS
    • Het kan dienen als de primaire gegevensbron voor online toepassingen.,ariety, volume, en de complexiteit
    • Uitblinkt in gedistribueerde database en multi-datacenter operations
    • Elimineert de noodzaak voor een specifieke caching laag om gegevens op te slaan
    • Biedt een flexibele schema ‘ s ontwerpen die gemakkelijk kunnen worden veranderd zonder downtime of onderbreking van de service

    Nadelen van NoSQL

    • Geen standaardisatie regels
    • Beperkte query-mogelijkheden
    • RDBMS databases en tools zijn relatief volwassen
    • Het bevat geen traditionele database-mogelijkheden, zoals consistentie wanneer meerdere transacties tegelijk uitgevoerd.,
    • wanneer de hoeveelheid gegevens toeneemt, is het moeilijk om unieke waarden te behouden omdat sleutels moeilijk worden
    • werkt niet zo goed met relationele gegevens
    • de leercurve is stijf voor nieuwe ontwikkelaars
    • Open source opties dus niet zo populair voor bedrijven.

    samenvatting

    • NoSQL is een niet-relationele DMS, die geen vast schema vereist, voorkomt joins, en is gemakkelijk te schalen
    • het concept van NoSQL-databases zijn populair geworden bij internetreuzen zoals Google, Facebook, Amazon, enz., die zich bezighouden met enorme hoeveelheden gegevens
    • in het jaar 1998 – Carlo Strozzi gebruikt de term NoSQL voor zijn lichtgewicht, open-source relationele database
    • NoSQL databases volgen nooit het relationele model het is ofwel schema-vrij of heeft ontspannen schema ‘ s
    • vier soorten NoSQL Database zijn 1).Sleutelwaarde paar gebaseerd 2).Kolom-georiënteerde grafiek 3). Grafieken gebaseerd op 4).,Documentgeoriënteerde
    • NOSQL kan gestructureerde, semi-gestructureerde en ongestructureerde gegevens verwerken met gelijk effect
    • CAP-stelling bestaat uit drie woorden consistentie, beschikbaarheid en Partitietolerantie
    • basis staat voor in principe beschikbare, zachte toestand, uiteindelijke consistentie
    • de term “uiteindelijke consistentie” betekent kopieën van gegevens op meerdere machines hebben om hoge beschikbaarheid en schaalbaarheid te krijgen
    • NOSQL biedt beperkte query-mogelijkheden