mgsmus Index oluşturduk ve diyelim ki activities isminde şu şekilde tablo yapımız var
| id | user_id | start_at | finish_at | activity | time |
|---|-------|------------------------|------------------------|------------|------|
| 1 | 1 | 2024-01-05 14:28:00 | 2024-01-05 14:29:00 | facebook | 60 |
| 2 | 2 | 2024-01-05 15:23:00 | 2024-01-05 15:24:00 | instagram | 60 |
| 3 | 3 | 2024-01-02 15:23:00 | 2024-01-02 15:25:00 | youtube | 120 |
Bu yapıya göre her activity eventi çalıştığında (1 saniyelik olsa bile) yeni bir kayıt eklenmesi gerekiyor. 100 kullanıcı olduğunu varsayarsak ve her kullanıcı ortalama 100 defa event'i tetiklemiş olsa her gün 10 bin yeni kayıt oluşacak. Bir kaç ay içinde ciddi bir problem yaratacak diye tahmin ediyorum, bu durumda nasıl ilerlemeliyim?
Toplam süreleri farklı bir tabloda tutup detayları sadece ihtiyaç olduğunda kullanabilirim diye düşündüm, detaylar görüntülenmek istendiğinde yine aynı problem karşılaşacağım. Belki start_at ve finish_at sütunlarında 1-2 saniyelik fark olduğu durumda birleştirme yapabilirim diye düşündüm fakat buda çözüm olmayacaktır.
Farklı bir çözüm olarak kayıtları bu şekilde değil de, gün bazında tutabilirim ve belli bir süreden sonra kayıtları kalıcı olarak sunabilirim diye düşündüm
| id | user_id | date | details |
|---|-------|--------------|---------------------------------------------------------------------------------------|
| 1 | 1 | 2023-01-05 | [{instagram: [ { "start_at": "14:28:00", "finish_at": "14:28:00", "time": "120" } ]}] |
En azından günlük 10 bin kayıttan daha iyi gibi görünüyor ama yine de emin olamadım daha iyi bir önerisi olan var mı acaba?