====== 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
}