Datenbankmodellierung für die Definition und Verarbeitung von Sportveranstaltungen in Echtzeit

9

Ich versuche Sportereignisse in Echtzeit zu speichern und zu verarbeiten und möchte ein optimales System erstellen, da es 100 Ereignisse pro Sekunde verarbeiten wird. Das System speichert die Ereignisse vor einem Sportspiel und verarbeitet sie dann in Echtzeit oder am Ende einer halben / einer Sitzung / eines Matches.

In meinem System ist jedes Event in folgende Komponenten unterteilt:

  • WHO wem ist das Ereignis zugeordnet? Ein Team, Spieler, Refree, Zuschauer, usw.
  • WHAT Was ist das Ereignis (Ziel, Durchlauf, Speichern, usw.)
  • WHEN Zeit Details des Ereignisses
  • HOWMUCH Wie ist der Ereigniswert definiert?
  • TYPE definiert wann es überprüft werden soll - INDIVIDUAL : realtime, AGGREGATE : Ende von WHEN

Hier sind einige Beispiele für Fußball

%Vor%

Alle AGGREGATE -Ereignisse werden überprüft, wenn sich der Status der Übereinstimmung ändert. z.B. II. Hälfte --- & gt; MATCH_END

Alle INDIVIDUAL -Ereignisse werden in Echtzeit überprüft (sobald ein neues Ereignis empfangen wird). Dies funktioniert auf Web-Hook.

z. Ein Tor wird in der 58. Minute erzielt. Vom System empfangenes Ereignis - {"type":"goal","player":"_henderson_", "minute":58}

Das System würde nun ein "find" ausführen, wo ("type" == "INDIVIDUAL" && "what" == "__GOAL") ist und alle gefundenen Ereignisse vergleichen.

Später möchte ich eine Admin-Funktionalität zum Schreiben von Sätzen bereitstellen, die in diese Struktur geparst werden können. Ich möchte wissen, ob ich in die richtige Richtung arbeite oder ob ich anders anfangen muss.

    
Akshat Goel 21.12.2016, 17:32
quelle

1 Antwort

1

Ihre Auswahl liegt wahrscheinlich zwischen Spark und Dataflow. Hier ist ein schönes Whitepaper, das die beiden vergleicht , die einen ähnlichen Anwendungsfall verwenden deins (große mobile Spiel Benutzer in Echtzeit Scoring). Viel Glück, scheint wie ein cooles Projekt (sieht aus wie eine Online-Bookmaking-Implementierung?).

    
Dominic Tracey 11.05.2017 11:49
quelle