Cześć,
mam takie pytanko. Każdego dnia gromadzę dane w tabeli, które wykorzystuje potem do wyświetlania statystyk w dashboard.
Mam kilka takich tabel, które w ciągu roku na pewno będą miały ponad 300 rekordów dla każdego użytkownika, a każdy rekord zawiera datę, swoje id, inne id i nową wartość typu int.
Zastanawiam się, czy może istnieje jakiś lepszy sposób jak to ograć, bo tak sobie myślę że jak będę miał 1000 użytkowników i każdy z nich w ciągu roku wygeneruje 365 rekordów w tabeli to daje 365 000 rekordów.
A co jeśli w tej tabeli zamiast wrzucać każdego dnia nowy rekord do bazy trzymać tylko jeden dla użytkownika, a w nim kolumnę która przechowywała będzie stringa z jsonem. W tedy będę miał tylko 1000 rekordów, no ale wiadomo że rozmiar kolumny będzie duży, no i może ewentualnie jakieś problemy z query po te dane bo zawsze będę musiał wszystkie wyciągać.
Wtedy ta kolumna agregujaca dane moglaby wygladac jakos tak [{ "data": 12.12.2022, "wartosc": "1" }, { "data": 13.12.2022, "wartosc": "2" }] itd
To co roku się zeruje więc nie będzie rosło i rosło.
Tak jak mówię to dane tylko albo może i aż do wyświetlania statystyk są więc zastanawiam się czy może jest jakaś lepsza opcja dla tego typu danych.
Co o tym myślicie? Czy taka duża ilość rekordów w bazie to jakiś problem? Chodzi mi głównie o rozmiar bazy. Bo nie mówimy tu o korporacji a o mojej aplikacji która sobie gdzies tam dziala na serwerze.
Baza której używam to postgresql i ef core
Z góry dzięki za pomoc