Inleiding tot NoSQL-datamodellen

Voordat we beginnen met datamodellen, moeten we eerst begrijpen wat NoSQL betekent. NoSQL betekent niet de enige SQL, wat betekent dat we gegevens uit niet-relationele databases gaan ophalen en opslaan. Laten we nu eens kijken wat datamodel is? Een datamodel definieert de logische structuur van DBMS. Dit betekent in feite dat het ons vertelt hoe gegevens met elkaar zijn verbonden, relaties tussen verschillende entiteiten en hoe deze worden verwerkt. Technieken voor gegevensmodellering zijn verschillend voor zowel relationele als niet-relationele databases. Het belangrijkste verschil is dat NoSQL-datamodellen meer applicatiespecifieke vragen hebben in vergelijking met SQL.

Syntaxis met parameters

De syntaxis voor het schrijven van een NoSQL-query wordt gegeven met een voorbeeld. In dit voorbeeld gaan we de naam en leeftijd van alle werknemers ophalen met de aanwijzing als Manager.

(
"object": "employee",
"q": (
"designation" : " Manager"
),
"fields": ("name", "age") )

In het bovenstaande voorbeeld hebben we het JSON-formulier gebruikt om een ​​query te schrijven waarin het trefwoord 'object' wordt gebruikt om een ​​tabelnaam toe te wijzen, het trefwoord 'q' wordt gebruikt als een WHERE-voorwaarde. In ons geval is de voorwaarde dat een voorwaarde moet worden toegepast op de aanwijzing omdat we alleen werknemers willen wiens aanwijzing de manager is. Het sleutel "veld" zijn de namen van kolommen die we willen ophalen op basis van de voorwaarde in "q". In ons geval zijn de kolommen naam en leeftijd.

De bovenstaande NoSQL-query ziet er als volgt uit als deze is geconverteerd:

SELECT name, age
FROM employee
WHERE designation =' manager';

De kortste query die we kunnen schrijven is een normale selectiequery in NoSQL:

(
"object": "String",
"q": "Expression"
)

De bovenstaande query is een normale selectiequery.

Soorten NoSQL-gegevensmodellen

Laten we nu leren over de verschillende soorten NoSQL-datamodellen.

Over het algemeen zijn er vier verschillende soorten datamodellen in NoSQL. Ze zijn als volgt en we zullen ze een voor een bespreken.

  • Sleutel / waarde winkel
  • Op documenten gebaseerde winkel
  • Op kolommen gebaseerde winkel
  • Op grafiek gebaseerde winkel

Laten we ze één voor één doornemen.

1. Sleutel / waarde winkel

  • Zoals de naam al doet vermoeden, gebruikt de Key-value store eenvoudig de sleutelwaarde om gegevens in de database op te slaan. De sleutel in het sleutel / waarde-paar moet uniek zijn. De regels die zijn ingesteld voor wat de sleutel kan zijn, zijn afhankelijk van de database naar de database. In Redis is de maximale grootte voor Key bijvoorbeeld 512 MB. Zelfs de lege string is een geldige sleutel.
  • De grootte van de sleutel is hier belangrijk omdat een lange sleutel prestatieproblemen kan veroorzaken, terwijl een te korte sleutel leesbaarheidsproblemen kan veroorzaken. De waarde in het sleutel / waarde-paar kan alles zijn, van een tekenreeks tot een afbeelding. U kunt hier ook het gegevenstype van de waarde opgeven.
  • Het sleutel / waarde-databasemodel kan nuttig zijn voor het opslaan van gegevens op e-commerce zoals productcategorieën, productdetails, enz. Deze worden veelvuldig gebruikt in big data-analyses. We kunnen zelfs complete URL's opslaan, omdat de URL-naam de sleutel kan zijn en de werkelijke URL als waarde. Voorbeelden van databases die Key-Value-paren toepassen, zijn Oracle NoSQL-database en Redis.

2. Document-gebaseerde winkel NoSQL

  • In dit type database worden het record en de bijbehorende gegevens opgeslagen in een enkel document. Dit model is dus niet volledig ongestructureerd, maar het is een soort semi-gestructureerde gegevens.
  • Het verschil tussen een document en een sleutel / waarde-paar is dat bij documenttype-opslag in dit type een soort codering wordt geboden tijdens het opslaan van de gegevens in documenten. Dit kan XML-codering of JSON-codering zijn.
  • Het onderstaande voorbeeld toont een document dat kan worden opgeslagen in een documentdatabase maar met een andere codering. Laten we het XML-voorbeeld bekijken.


Srikanth Engineer
Febuary

Srikanth Engineer
Febuary

  • Het verschil tussen conventionele databases en op documenten gebaseerde databases is dat gegevens hier niet worden opgeslagen in tabellen zoals conventionele databases, maar worden opgeslagen in documenten.
  • De voorbeelden van databases die het bovenstaande gegevensmodel gebruiken, zijn MongoDB en Couchbase. Dit soort databases wordt veelvuldig gebruikt, vooral bij big data-analyse.

3. Op kolommen gebaseerde winkel

  • In dit type database ligt de nadruk op kolommen in plaats van rijen, omdat gegevens worden opgeslagen in kolommen in plaats van rijen, wat het geval is bij de meeste relationele databases. Omdat gegevens worden opgeslagen in cellen die in kolommen zijn gegroepeerd, gebeurt het lezen en schrijven met behulp van kolommen en niet in rijen.
  • De interessante vraag is dat waarom kolommen in plaats van rijen gebruiken? Het antwoord op deze vraag is dat wanneer u gegevens in kolommen opslaat, u snel kunt zoeken en snel kunt ophalen en verzamelen, omdat alle cellen van een kolom worden opgeslagen als een continu item dat snellere toegang mogelijk maakt.
  • Als we bijvoorbeeld titels uit miljoenen artikelen willen opvragen, is het gemakkelijk om in het kolomgebaseerde gegevensmodel te komen, want met één schijfitem krijgen we de titels van het artikel gemakkelijk, terwijl het in relationele databases moet worden omzeild naar elke locatie om de titels te krijgen. Voorbeelden van op kolommen gebaseerde winkeldatabases zijn HBase, Big Table, Cassandra.

4. Grafisch gebaseerde winkel

  • Zoals de naam suggereert, wordt grafische weergave gebruikt in plaats van tabellen of kolommen. Het belangrijke kenmerk van dit type datamodel is de aanwezigheid van knooppunten en randen. De twee knooppunten zijn bijvoorbeeld verbonden met sommige relaties en de relatie wordt hier voorgesteld door randen.
  • Ook kunt u gegevens efficiënt transformeren van het ene model naar het andere met behulp van dit Graph-gebaseerde NoSQL-datamodel. Er zijn twee veelgebruikte grafische databases die InfoGrid en Infinite Graph zijn. InfoGrid biedt ook twee soorten grafische databases zoals MeshBase en NetMeshbase die gebruikers kunnen kiezen, afhankelijk van de vereisten van de gebruiker.

Conclusie

In dit artikel hebben we de NoSQL-database en verschillende soorten NoSQL-modellen besproken en die modellen afzonderlijk besproken. De verschillende soorten databases die beschikbaar zijn in elk type datamodel. De populariteit van de NoSQL-database groeit met de dag die voorbijgaat vanwege de snelheid en efficiëntie.

Aanbevolen artikelen

Dit is een handleiding voor NoSQL-datamodellen. Hier bespreken we soorten NoSQL-datamodellen en de syntaxis met parameters en uitleg. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie–

  1. Voordelen van NoSQL
  2. Is MongoDB NoSQL
  3. Wat is big data-technologie?
  4. Wat is Data Analytics