====== Aggregation statistischer Daten ====== Eine Aggregation-Engine sammelt Events und bereitet diese für den ''%%datapool%%''(Cache) auf um die Visualisierung von Systemzustand und Marketingpräsentationen zu ermöglichen. ===== Aggregation-Engine ===== git clone ssh://picalike@sg01.picalike.corpex-kunden.de/home/picalike/repositories/analytics/aggregation_engine.git {{/dokuwiki/lib/images/smileys/icon_exclaim.gif|:!:}} tbd ===== Request-Engine ===== {{/dokuwiki/lib/images/smileys/icon_question.gif|:?:}} [[dashboard_api|Dashboard API]] ===== Collections und Indizes ===== Server: ''%%mongodb01.dev.picalike.corpex-kunden.de%%''\\ Datenbank: ''%%picalike4%%''\\ Symbolischer Name: ''%%datapool%%'' ==== last_looks ==== Ist eine capped-Collection begrenzt auf ''%%max%%'' Einträge db.createCollection("last_looks", { capped : true, size : 5242880, max : 20 } ) **Felder:** date: ISODate **UTC** feed_id: String look_id: String ==== last_products ==== Ist eine capped-Collection begrenzt auf ''%%max%%'' Einträge db.createCollection("last_looks", { capped : true, size : 5242880, max : 20 } ) **Felder:** date: ISODate **UTC** feed_id: String product_id: String ==== req_look_fid_lid_min ==== Lookanfragen pro feed_id, look_id und Minute **Felder:** date: ISODate **UTC** feed_id: String look_id: String counter: Int **Indizes:** { "date" : 1, "feed_id" : 1, "look_id" : 1 } expire after: { "date" : 1 } ==== req_look_fid_{sec, min, hour} ==== Lookanfragen pro feed_id und {sec, min, hour} **Felder:** date: ISODate **UTC** feed_id: String counter: Int **Indizes:** { "date" : 1, "feed_id" : 1 } expire after: { "date" : 1 } ==== req_sim_fid_cat_{min, hour} ==== Ähnlichkeitsanfragen pro feed_id, Kategorie und {min, hour} **Felder:** date: ISODate **UTC** feed_id: String cat: String counter: Int **Indizes:** { "date" : 1, "feed_id" : 1, "cat" : 1 } expire after: { "date" : 1 } ==== req_sim_fid_pid_{day} ==== Ähnlichkeitsanfragen pro feed_id, product_id und {day} **Cronjobs:** analytics/aggregation_engine/cronjobs/cleanup_req_sim_fid_pid.py löscht alle Eintrage die älter als zwei Tag sind und weniger als ''%%CONFIG[“delete_smaller_than”]%%'' Anfragen bekommen haben. **Felder:** date: ISODate **UTC** feed_id: String cat: String counter: Int **Indizes:** { "date" : 1, "feed_id" : 1, "product_id" : 1 } { "counter" : 1 } expire after: { "date" : 1 } ==== req_sim_fid_{sec, min, hour} ==== Ähnlichkeitsanfragen pro feed_id und {sec, min, hour} **Felder:** date: ISODate **UTC** feed_id: String counter: Int **Indizes:** { "date" : 1, "feed_id" : 1 } expire after: { "date" : 1 }