NoSQL

Studiemateriaal (essentieel)

Inleiding

Soorten databanken

Hiërarchische databank

  • Hebben een boomstructuur

  • Dit geeft redelijk wat beperkingen.

    • Een parent kan meerdere children hebben

    • Maar een child slechts 1 parent.

    • Dit leidt tot kopieën en problemen in integriteit

  • Steeds minder gebruikt

  • Vb: windows registry

Relationele databank

  • Bestaat uit tabellen die met elkaar gekoppeld worden dmv relaties

  • Relaties worden gemaakt door ‘sleutels’(keys) Primary Key(PK)

    Elke tabel heeft 1 PK (deze identificeert een entry)

    Foreign Key(FK) Elke tabel kan 0 of meerdere FK hebben

  • Deze legt een relatie naar een PK in een andere tabel

  • Niet bepaald overzichtelijker, maar wel veel flexibeler en efficiënter

  • Relationele databanken hebben enkele nadelen Schaalbaarheid voor heel grote databanken Opsplitsen van DB in verschillende DB’s werkt moeilijk Complexe SQL code omdat objecten in OO niet overeenkomen met tabellen in DB Bv. personeel(object) heeft adres en bedrijfswagen waarbij de data verspreid zijn over verschillende tabellen

NoSQLdatabank

Er zijn 4 soorten no-sql databanken:

  • Document databank Bv. MongoDB

  • Key Value databank Bv. Redis

  • Graph databank Bv. Neo4J

  • Column databank Bv. Google bigtable

NoSQL – Document databank

  • Database bevat ‘documenten’ (json objecten) Bv.: { Id:1, Name: ‘Janssens’ FirstName:’Jan’}

  • We kunnen queries schrijven, maar niet in SQL Query taal afhankelijk van databank Bv.: db.Klant.Find(Name:’Janssens’)

  • Documenten zullen veel data bevatten Bv. in aankoop db zullen alle aankopen in klanten document zitten en niet in aparte tabellen

  • Als server maximale capaciteit bereikt gewoon een extra server Geen schaal problemen omdat er geen relaties zijn over databanken

NoSQL – Key-value databank

  • Vergelijkbaar met document databank Maar geen queries mogelijk Enkel informatie opvragen via de sleutel(Key) Dit gaat bijzonder snel

  • Bv.: Twitter geschiedenis

NoSQL – Graph databank

  • Ontworpen om ‘sociale eigenschappen’ van personen op te slaan, bvb: persoon a is bevriend met persoon b Persoon a houd van product x

  • Zeer handig voor sociale media

NoSQL – (wide) Column databank

  • Gebruikt tabellen, rijen en kolommen, maar anders dan een relationele databank.

  • De namen en formaat van de kolommen kan verschillen van rij tot rij in binnen dezelfde tabel.

  • Er wordt ook wel eens gesproken over een twee dimenionale key-value store.

NoSQL Vaak worden combinaties gebruikt van meerdere soorten DB’s en dit afhankelijk van het doel.

Ter info, hieronder een lijstje met ranking van de meest populaire databases met bijzondere aandacht voor het database model (https://db-engines.com/en/ranking).

Extra info Tweakers – NoSQL, maar wat is het dan wel?

Volgende pagina’s geven ook een inzicht over wat en waarom.

Verschil tussen een no sql / document database en een relationele database wordt heel duidelijk uitgelegd in volgend filmpje. https://www.youtube.com/watch?v=Jt_w2swkXAk

Verdiepend Introduction to NoSQL (Martin Fowler) https://www.youtube.com/watch?v=qI_g07C_Q5I

Last updated

Was this helpful?