Hva er forskjellen mellom relasjonell og ikke-relasjonell database

De hovedforskjell mellom relasjonelle og ikke-relasjonelle databaser er at relasjonsdatabase lagrer data i tabeller mens den ikke-relasjonelle databasen lagrer data i nøkkelverdierformat, i dokumenter eller ved annen metode uten å bruke tabeller som en relasjonsdatabase.

En database er en samling av relaterte data. Et databasebehandlingssystem (DBMS) er en programvare som bidrar til å lagre, få tilgang til og administrere data enkelt. Det finnes ulike typer databaser, og relasjons- og ikke-relasjonelle databaser er to av dem.

Nøkkelområder dekket

1. Hva er en relasjonsdatabase
     - Definisjon, funksjonalitet
2. Hva er en ikke-relasjonsdatabase
     - Definisjon, funksjonalitet
3. Hva er forskjellen mellom relasjonell og ikke-relasjonell database
     - Sammenligning av nøkkelforskjeller

Nøkkelord

Database, DBMS, NoSQL, Nonelational Database, Relasjonsdatabase

Hva er en relasjonsdatabase

Databasemodell definerer den logiske utformingen og strukturen til en database. Det definerer også hvordan dataene lagres og åpnes ved hjelp av et DBMS. Her er en relasjonsdatabase basert på relasjonsmodellen. Relasjonsdatabase lagrer data i tabeller. Et bord består av rader og kolonner. Hvor representerer radene hver enhet mens kolonnene representerer attributter.

Figur 1: Tabell i en relasjonsdatabase

For eksempel, ta en salgsdatabase. Kundebordet har kolonner eller attributter som customer_id, navn, adresse, kontaktnummer. Hver rad i bordet representerer en enkelt kunde. Hovednøkkelen til kundetabellen er customer_id. Det hjelper å identifisere hver post separat. Videre antar at det er en annen tabell som heter ordre i salgsdatabasen. Den har order_id, ordernavn, dato, customer_id. Kunden i kundetabellen er en fremmednøkkel i ordrebordet. Derfor er de to tabellene knyttet til hverandre. I en relasjonsdatabase er tabellene knyttet til hverandre.   

Det er mulig å normalisere dataene i tabellene i relasjonsdatabasen for å minimere data redundans. Videre bidrar Strukturert Query Language (SQL) til å spørre dataene i en relasjonsdatabase.

Hva er en ikke-relasjonsdatabase

En relasjonsdatabase er ikke effektiv til å lagre en stor mengde data som BigData. Nonrelational database er en løsning på dette problemet. Videre er ikke-relasjonell database også kalt NoSQL. Disse databasene kan lagre store data. Det er også mulig å klare data i flere maskiner for å redusere vedlikeholdskostnaden.

Det finnes ulike typer ikke-relasjonelle databaser.

Dokumentdatabaser - Lagre dynamiske data. De lagrer data i JavaScript Object Notation (JSON) format. F.eks CouchDB, Mongo

Kolonne databaser - Les og skriv datakolonne klokt. Dette er nyttig i dataanalyse. F.eks Apache Cassandra.

Nøkkelverdier lagrede databaser - Rask og er ikke veldig tilpassbar. F.eks Couchbase Server, Redis.

Cache databaser - Lagre data i disken eller hurtigbufferen. F.eks memcache

Grafdatabaser - Bestå av noder. Forhold opprettes ved hjelp av kanter. F.eks Oracle NoSQL, Neo4J.

Forskjellen mellom relasjonell og ikke-relasjonell database

Definisjon

Relasjonsdatabase er en database basert på relasjonsmodellen av dataene, som foreslått av EF Codd i 1970. Ikke-relasjonell database er derimot en type database som gir en mekanisme for lagring og henting av data som er modellert på en måte annet enn de tabellrelasjoner som brukes i relasjonsdatabaser.

Synonms

Relasjonsdatabaser kalles også SQL-databaser, mens ikke-relasjonelle databaser også kalles NoSQL-databaser.

SQL

Relasjonsdatabaser bruker SQL mens ikke-relasjonelle databaser ikke bruker SQL.

tiltrer

En forskjell mellom relasjonsbasert og ikke-relasjonell database er at tabellene i en relasjonsdatabase kan knyttes sammen. På den annen side er det ikke et felles konsept i ikke-relasjonell database.

typer

En annen forskjell mellom relasjons- og ikke-relasjonell database er at relasjonsdatabaser ikke kan kategoriseres videre. I kontrast er nøkkelverdier, dokumenter, kolonne- og grafdatabaser typer ikke-relasjonelle databaser.

bruk

Relasjonsdatabaser bidrar til å oppnå komplisert spørring. Videre gir de fleksibilitet og bidrar til å analysere data. Ikke-relasjonelle databaser fungerer godt med en stor mengde data. Videre reduserer de latens og forbedrer gjennomstrømmingen. Derfor er dette en annen forskjell mellom relasjonell og ikke-relasjonell database.

eksempler

MySQL, SQLite3 og PostgreSQL er noen DBMS som bruker relasjonsdatabaser. Cassendra, Hbase, MongoDB og Neo4 er noen ikke-relasjonelle databaser.

Konklusjon

Hovedforskjellen mellom relasjons- og ikke-relasjonell database er at relasjonsdatabasen lagrer data i tabeller mens den ikke-relasjonelle databasen lagrer data i nøkkelverdierformat, i dokumenter eller ved en annen metode uten å bruke tabeller som en relasjonsdatabase.

Henvisning:

1. "DBMS Database Models." Databasemodeller i DBMS | Studytonight, tilgjengelig her.
2. "NoSQL." Wikipedia, Wikimedia Foundation, 23. oktober 2018, Tilgjengelig her.

Bilde Courtesy:

1. "database skillshare nonrelational" Av Willow Brugh (CC BY-SA 2.0) via Flickr
2. "Relasjonsdatabasevilkår" Av bruker: Booyabazooka - Eget arbeid (Public Domain) via Commons Wikimedia