Modern Databases
6 EC
Semester 2, periode 4
5062MODA6Y
Eigenaar | Bachelor Informatica |
Coördinator | dr. Leen Torenvliet |
Onderdeel van | Bachelor Informatica, jaar 3 |
Lange tijd hebben relationele databases het gebied gedomineerd. Sinds de opkomst van de cloud en big-data zijn databases groter en meer gedistribueerd geworden, mede hierdoor hebben andere ideeën over dataopslag en data-access veel terrein gewonnen. De alternatieven worden ook wel NoSQL of moderne databases genoemd. In dit college maken de studenten kennis met een aantal voorbeelden van deze moderne databases.
We beginnen in de eerste week met een klassieke relationele database, te weten PostgreSQL en behandelen aan de hand daarvan een aantal concepten die niet eerder in de studie aandacht hebben gekregen. In het bijzonder besteden we aandacht aan transactiemanagement en serializability van gedistribueerde processen, omdat die later een belangrijke rol gaan spelen. In de volgende drie weken besteden we aandacht aan CouchDB als voorbeeld van een document database, RIAK als voorbeeld van een Key-Value database, en Neo4J als voorbeeld van een graph-database.
De laatste drie weken worden in projectvorm besteed. In dit project gaan studenten zelf een document store implementeren.
In de syllabus komen stukjes code voor. Deze stukjes code zijn *ook* als textfiles beschikbaar via de webpagina van de cursus.
Werkende versies van de verschillende databases zijn downloadbaar van het internet.
Op de (eigen) laptop moeten databaseomgevingen geinstalleerd worden. Daarbij wordt tevens verwacht dat "ruwe" data van het internet geladen wordt en in het juiste formaat wordt gebracht. Hiervoor is, aangezien de bestanden soms vrij groot zijn, een goede internetverbinding nodig. Anders zal de student aanzienlijke tijd op de faculteit aanwezig zijn om de aansluiting aldaar te gebruiken.
Kennismaking met NoSQL database concepten. Aan het eind van het vak kan de student omgaan met diverse moderne databaseconcepten, die databases installeren, bevragen en onderhouden.
Hoorcollege, practicum en project
Activiteit | Aantal uur |
Hoorcollege | 16 |
Vragenuur | 14 |
Zelfstudie | 40 |
Zelfstudie | 98 |
De student wordt geacht van haar activiteiten verslag te doen in de vorm van een kort rapport, zoals dat is geleerd bij Academische Vaardigheden. Het verslag heeft het karakter van het verslag van een experiment. Deze rapporten worden zowel op inhoud als op vorm beoordeeld.
Aanwezigheidseisen opleiding (OER-B):
Aanvullende eisen voor dit vak:
Er zijn geen bijeenkomsten waarvoor aanwezigheid van de student verplicht is. Haar aanwezigheid wordt uiteraard wel op prijs gesteld. De practicumdocenten zijn bereikbaar via email voor vragen. Er is ook een wekelijks vragenuurtje ingeroosterd waar de student meer details in persoon aan de practicumdocent kan voorleggen. Voor aanwezigheid hier dient vooraf een afspraak met de practicumdocent gemaakt te worden, zodat enige raming betreffende de hoeveelheid tijd gemaakt kan worden.
Onderdeel en weging | Details |
Eindcijfer |
Elk wekelijks rapport wordt beoordeeld met een cijfer tussen 1 en 10 (inclusief). De eerste vier rapporten zijn individueel, de laatste 4 rapporten vormen onderdeel van het project, waaraan studenten in paren werken. Paren studenten krijgen een gezamenlijk cijfer voor deze rapporten. Het eindcijfer is het gewone gemiddelde van de 8 resultaten.
Onderstaande opdrachten komen aan bod in deze cursus:
Over het algemeen geldt dat elke uitwerking die je inlevert ter verkrijging van een beoordeling voor een vak je eigen werk moet zijn, tenzij samenwerken expliciet door de docent is toegestaan. Het inzien of kopiëren van andermans werk (zelfs als je dat hebt gevonden bij de printer, in een openstaande directory of op een onbeheerde computer) of materiaal overnemen uit een boek, tijdschrift, website, code repository of een andere bron - ook al is het gedeeltelijk - en inleveren alsof het je eigen werk is, is plagiaat.
We juichen toe dat je het cursusmateriaal en de opdrachten met medestudenten bespreekt om het beter te begrijpen. Je mag bronnen op het web raadplegen om meer te weten te komen over het onderwerp en om technische problemen op te lossen, maar niet voor regelrechte antwoorden op opgaven. Als in een uitwerking gebruik is gemaakt van externe bronnen zonder dat een bronvermelding is vermeld (bijvoorbeeld in de rapportage of in commentaar in de code), dan kan dat worden beschouwd als plagiaat.
Deze regels zijn er om alle studenten een eerlijke en optimale leeromgeving aan te kunnen bieden. De verleiding kan groot zijn om te plagiëren als de deadline voor een opdracht nadert, maar doe het niet.
Elke vorm van plagiaat wordt bestraft. Als een student ernstige fraude heeft gepleegd, kan dat leiden tot het uitschrijven uit de Universiteit.
Zie voor meer informatie over het fraude- en plagiaatreglement van de Universiteit van Amsterdam: www.uva.nl/plagiaat
Weeknummer | Onderwerpen | Studiestof |
1 | Postgresql en transactie management (locking) | syllabus |
2 | Document databases en CouchDB, Acid vs Base, Map Reduce, CAP | syllabus |
3 | Neo4J, Graph databases, Chord, Kademlia, Vector Clocks | syllabus |
4 | RIAK en distributed hash tables B-trees. | syllabus |
5 | project | |
6 | project | |
7 | project | |
8 | uitloop en cijfer |
Het rooster van dit vak is in te zien op DataNose.
Aanbevolen voorkennis: Enige kennis van SQL database talen (bijvoorbeeld MySQL) is gewenst.