-
Notifications
You must be signed in to change notification settings - Fork 0
2.2.Datenhaltung
##2.2) Datenhaltung
###Datenhaltung
Als Datenbank wird Redis verwendet, eine Datenbank die simplen Strings ihre Inhalte zuordnet.
Alle unsere Objekte werden in der Redis - Datenbank abgespeichert:
Song - String
- automatisch generierte ID
- Songname
- Genre-IDs, kann auch mehrere besitzen
- Artist-IDs, kann auch mehrere besitzen
Artist - String
- automatisch generierte ID
- Name des Artists, kann auch mehrere besitzen
- Genre-IDs, kann auch mehrere besitzen
Genre - String
- automatisch generierte ID
- Name des Genre
Queue - List
- Position in der Liste
- Song-ID
allowedGenres - String
- automatisch generierte ID
- Genre-ID
- Name des Genres
User - String
- automatisch generierte ID
- Name des Users
- Benutzergruppe
Um bei Redis eine möglichst einfache Datenhaltung beizubehalten, gibt es momentan keine optionalen Attribute, wie zum Beispiel die "Songlänge".
Der Zugriff über die IDs ist vorhanden, damit die Daten möglichst kompakt gespeichert werden. In der Zugriffszeit des Clients spielt dies nur eine minimale Rolle.
Für die Queue ist der Datentyp List am sinnvollsten, weil es sich bei der Warteschlange ebenfalls um eine Liste handelt und das "First In First Out" - Prinzip beachtet werden soll.
Momentan sind Songs, Genres und Artists noch vom Datentyp "String", in der nächsten Projektphase wird dies aber eventuell zum Datentyp "Sets" geändert, da hier jedes Element nur einmal vorkommen kann. Momentan ist diese Funktion aber auch in den einzelnen Methoden der Stringklassen implementiert.