NoSQL 101

Schrijver: Judy Howell
Datum Van Creatie: 26 Juli- 2021
Updatedatum: 9 Kunnen 2024
Anonim
How do NoSQL databases work? Simply Explained!
Video: How do NoSQL databases work? Simply Explained!

Inhoud


Afhaal:

Niet-relationele of NoSQL-databases zijn een prominent alternatief model geworden voor databasebeheerders omdat ze goedkoper zijn, flexibeler zijn, minder beheer vereisen en schaalbaarder zijn.

Al vele jaren domineren relationele databases databasebeheer. Maar nu niet meer. Tegenwoordig zijn niet-relationele of NoSQL-databases een prominent alternatief model geworden voor databasebeheerders. Waarom? Ze zijn goedkoper, ze zijn flexibeler, ze vereisen minder beheer en ze zijn schaalbaarder (iets dat steeds belangrijker wordt met de groei van big data).

Hier is een inleidende blik op deze groeiende vorm van databasebeheer.

Enige achtergrond over databasebeheer

Een database is een verzameling gegevensrecords in een georganiseerde vorm. Om deze gegevens op te slaan, te openen en te manipuleren, hebben we een structuur nodig. Deze structuur kan alles zijn, van een eenvoudig bestandssysteem tot een geavanceerd databasebeheersysteem (DBMS). Beide hebben hun eigen voor- en nadelen, maar een DBMS heeft meestal de voorkeur om redenen zoals:


  • Een DBMS kan grote hoeveelheden gegevens beheren.
  • Systeemback-up-, herstel- en gegevensherstelfunctionaliteit wordt vaak niet ondersteund in een bestandssysteem.
  • Redundantie van gegevens wordt goed geregeld in een DBMS, dat misbruik van geheugen voorkomt.
  • Een database kan beter worden uitgerust met beveiligingsmaatregelen om de status en integriteit van de opgeslagen gegevens te behouden.
  • Een DBMS ondersteunt toegang voor meerdere gebruikers en zorgt voor de gelijktijdigheid.
  • Een DBMS biedt meerdere gebruikersweergaven, samen met verschillende abstractielagen.
  • Een DBMS onderhoudt de belangrijkste ACID-eigenschappen bij het ophalen en bijwerken van gegevens.

De meeste moderne databasesystemen zijn relationele databasebeheersystemen (RDBMS), waarin gegevens zich bevinden in tabellen met minimale duplicatie. Zoals de naam al aangeeft, legt een relationele database relaties tussen gegevens vast en kunnen dezelfde gegevens op verschillende manieren uit de databases worden gehaald en bekeken. Aan deze controle zijn echter kosten verbonden. (Lees voor meer achtergrondinformatie een inleiding tot databases.)


Wat is NoSQL?

NoSQL is een type database dat niet voldoet aan het veelgebruikte relationele databasebeheermodel. Met andere woorden, NoSQL-databases zijn niet primair op tabellen gebouwd en in tegenstelling tot RDBMS gebruiken ze geen SQL om gegevens te manipuleren - vandaar de naam. NoSQL is gemaakt als ondersteuning voor SQL, niet als vervanging. Het is gebaseerd op een model dat minder stringent is en niet in wezen een vast schema volgt. Het kan ook zijn dat het niet bij de ACID-eigenschappen blijft en er is geen concept zoals JOIN, in tegenstelling tot de meeste RDBMS's.

Een goede definitie van NoSQL komt van nosql-database.org, die de term definieert als:

De volgende generatie databases behandelt meestal enkele van de volgende punten: niet-relationeel, gedistribueerd, open-source en horizontaal schaalbaar. De oorspronkelijke bedoeling was moderne databases op webschaal. Vaak zijn er meer kenmerken van toepassing, zoals: schemavrije, eenvoudige replicatieondersteuning, eenvoudige API, uiteindelijk consistent / BASE (geen ACID), een enorme hoeveelheid gegevens en meer.

De geschiedenis en wortels van NoSQL

Om een ​​beetje meer verwarrend te worden, is er een RDBMS genaamd NoSQL. Het heeft zijn wortels in de jaren 1990 en is gemaakt door Carl Strozzi. Dit is eigenlijk helemaal anders; het is een relationeel systeem, maar zonder een SQL-interface. Strozzi heeft opgemerkt dat wat momenteel bekend staat als NoSQL eigenlijk 'NoREL' had moeten worden genoemd, of zoiets.

Geen bugs, geen stress - Uw stapsgewijze handleiding voor het creëren van levensveranderende software zonder uw leven te vernietigen

U kunt uw programmeervaardigheden niet verbeteren als niemand om softwarekwaliteit geeft.

De moderne beweging van NoSQL waar we ons mee bezig houden, draait om IT-reuzen zoals Google en Amazon, en hun behoefte aan een database die kan schalen met de enorme hoeveelheden gegevens die ze produceerden. Natuurlijk is het modewoord hiervoor geëvolueerd naar wat bekend staat als big data, waarvan NoSQL een groot deel uitmaakt. (Lees voor meer informatie De evolutie van big data.)

Zonder al te specifiek te zijn over de datums, in de jaren 2000, maar vooral de laatste helft van het decennium, was bijna elk groot webbedrijf op een of andere manier betrokken bij NoSQL, met databasebeheersystemen zoals BigTable, CouchDB, Amazon Dynamo, MongoDB , Cassandra en Hadoop, onder vele, vele anderen (zie hier een geschiedenis en een geweldige lijst hier). Wat de NoSQL-naam in gang zette, was het gebruik door een Rackspace-medewerker met de naam Eric Evans in 2009. Hij gebruikte de naam voor een bijeenkomst over 'open source, gedistribueerde, niet-relationele databases'. Daarna is de naam gewoon blijven hangen.

Waarom NoSQL gebruiken?

Waarom gebruiken we helemaal NoSQL als we onze goede, oude RDBMS hebben? Het antwoord is, in sommige gevallen, dat een RDBMS niet volstaat, terwijl het in andere gevallen overkill is. Hier zijn enkele nadelen van relationele databases die van NoSQL een betere oplossing kunnen maken:

  • Een toepassing moet mogelijk gegevens opslaan in een hiërarchisch netwerk of boomstructuur.
  • U wilt misschien gewoon de elementen van de applicatie consistent opslaan in een permanente opslag, maar RDBMS kan behoorlijk duur zijn in termen van kosten en middelen.
  • NoSQL past het beste wanneer de applicatie-entiteiten een query-mogelijkheid nodig hebben.
  • RDBMS kan mislukken als u werkt aan een gedistribueerde database of een cloudgebaseerde applicatie voor beschikbaarheid en duurzaamheid.
  • NoSQL vereist geen rigide schemadefinitie of de opslag van metagegevens als aanvulling op de bestaande gegevens.

Het belangrijkste om te begrijpen is dat er behoefte was aan de enorme hoeveelheid gegevens en de verandering in de manier waarop databases nodig waren. Naarmate internet socialer werd, ging het niet alleen om lezen, maar om schrijven en hoe dat te schalen. In deze gevallen is NoSQL superieur aan een meer traditionele RDBMS.

The Bottom Line op NoSQL

In navolging van internetreuzen gebruiken veel bedrijven en organisaties die te maken hebben met enorme hoeveelheden gegevens NoSQL samen met hun bestaande DBMS voor betere prestaties en efficiëntie. Als u te maken hebt met grootschalige webapplicaties, heeft u waarschijnlijk een goed begrip van NoSQL nodig.

Voor kleinere organisaties is de waarde van NoSQL niet zo sterk, vooral omdat er ernstige uitdagingen zijn bij de implementatie ervan, waaronder gebrek aan ondersteuning, expertise, administratie, analyse en bedrijfsinformatie. Het feit is dat het gemiddelde kleine bedrijf niet elke dag petabytes aan gegevens genereert. Dat gezegd hebbende, de populariteit van NoSQL groeit en blijft waarschijnlijk een steeds belangrijker hulpmiddel en vaardigheid voor databasebeheerders, dus het doet geen pijn om op zijn minst de basis te kennen.