It is needed to store following information:
- User device data like device id, device brand, screan size, type (pc, tablet, mobile).
- Actual facts, like odrder id, total cost, goods count, goods ids etc.
How where to put user device data - fact or dimension table?
If I put it to fact table, I have a lot of duplicates, e.g. each row have to cotained detailed information about device, with is mostly the same for one user.
If I put it to dimesion table, I have to update dimension table - add new device or update older.
Important note here is analytical system designing not only analyze user behaviour, but to see where data is not gather. So there can be a situation when different application versions provide different "fullness" of information - 1st version gather 50% of user device, 2nd - 75%, 3rd - 99%. So I have to update (not only insert) data in devices table.