Skip to content

2.2.Datenhaltung

jkimmeyer edited this page Sep 6, 2016 · 1 revision

##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.

Clone this wiki locally