Please enable JavaScript.
Coggle requires JavaScript to display documents.
[INCOMPLETE] P4 C6 : NoSQL (NoSQL hoe ? waarom ? (kenmerken NoSQL (gemaakt…
[INCOMPLETE] P4 C6 : NoSQL
Bedenkingen
minpuntje voor NoSQL
voorbeelden Adam Wiggins
CAP
at most 2 of these
Partition tolerance
split brain
Het systeem blijft functioneren bij het willekeurig verliezen van berichten.
Availability -
op elke vraag een antwoord
Consistency
Alle nodes in het systeem zien dezelfde data op hetzelfde moment.
Cassandra
waarom cassandra
relatie databanken moeten extra werk leveren om te zorgen dat alles correct aan elkaar gelinkt blijft met als gevolg dat ze niet efficient kunnen wegschrijven
schaalbaarheid
verwerkte hoeveelheid
toenemen door extra resources
horizontaal
extra pc toevoegen aan cluster
verticaal
grotere, snellere supercomputer kopen
scale out vs scale up
scaling up
grotere server
duurder
scaling out
extra server toevoegen in cluster
probleem relationele databanken
schaalbaarheid
moeilijk bij RDBMS
oplossing
cloud-diensten
andere types databanksystemen
eigenschappen RDBMS gaan verloren
consistentie
alle nodes dezelfde data
polyglot persistentie
Polyglot Persistence is a fancy term to mean that when storing data, it is best to use multiple data storage technologies, chosen based upon the way data is being used by individual applications or components of a single application. Different kinds of data are best dealt with different data stores. In short, it means picking the right tool for the right use case
integratiedatabanken vs applicatiedatabanken
integratie
centraal instrument waarvan verschillende applicaties gebruik maken
applicatiedatabank
één geschikte databank per applicatie
Soorten NOSQL databanken
nieuwe generatie databanken
datamodel
model waardoor we data zien en manipuleren
hoe wissel tussen data in databank
meest gekende
relationele datamodel
verzameling tabellen, met rijen, elke rij stel tentiteit voor
relaties tss tabellen
NoSQL
not only SQL databanktypes
aggregatiedatabanken
document based
structuur samengevoegd
opzoeken adhv wat er id aggregatie zit
key-value db waarbij valuedeel kan ondervraagd worden
documenten zijn niet noodzakelijk hetzelfde opgebouwd
key-value
opzoeken mbv sleutel
column-oriented
graph
data op slaan in complexere structuur dan rijen in een tabel
aggregatie
collectie van gerelateerde objecten die we willen behandelen als 1 object
data via agregatiestructuur makkelijker aanpassen :check:
makkelijker om met clusters te werken :check:
spelers
MongoDB
hoge efficiëntie
kan geen stroomuitval aan
CouchDB
alle nodes zien hetzelfde (concurrency)
NoSQL hoe ? waarom ?
efficiëntie
grote hoeveelheden data
clusters
impedance mismatch
oplossen door
object-geöriënteerde databanksystemen
verschill tussen databank en applicatie
moeilijk om klassen /objecten 1-op-1 te mappen op tabellen of records in databank)
dmv objecten die verspreid zijn over verschillende tabellen omwille van normalisatie
oplossing
gebruik ander soort databanksysteem
document-based NoSQL databanken
MongoDB
2 verschillende representaties die vertaling nodig hebben
kenmerken NoSQL
geen gebruik van SQL
open source projecten
gemaakt om op
clusters te lopen
is niet het geval bij RDBMS
geen garantie dat consistentie bewaard blijft bij clusters
uitzondering: graafdatabanken zijn single server
schemaless
mogelijkheid om extra velden toe te voegen