Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Datenbank - Entwerfen einer Ereignistabelle

Ich kann diesen Ansatz sehr empfehlen. Da Sie vermutlich dieselbe Datenbank für OLTP und OLAP verwenden, können Sie erhebliche Leistungsvorteile erzielen, indem Sie einige Sterne und Schneeflocken hinzufügen.

Ich habe eine Social-Networking-App, die derzeit 65 Tische hat. Ich pflege eine einzelne Tabelle, um Objektaufrufe (Blog/Beitrag, Forum/Thread, Galerie/Album/Bild usw.) zu verfolgen, eine weitere für Objektempfehlungen und eine dritte Tabelle, um die Einfüge-/Aktualisierungsaktivitäten in einem Dutzend anderer Tabellen zusammenzufassen.

Eine Sache, die ich etwas anders mache, ist die Pflege einer entity_type-Tabelle und die Verwendung ihrer ID in der object_type-Spalte (in Ihrem Fall die Spalte „TABLE“). Sie würden dasselbe mit einer event_type-Tabelle machen wollen.

Klarstellung für Alix - Ja, Sie pflegen eine Referenztabelle für Objekte und eine Referenztabelle für Ereignisse (das wären Ihre Dimensionstabellen). Ihre Faktentabelle hätte die folgenden Felder:

id
object_id
event_id
event_time
ip_address