Bazy danych · Senior · Pytanie 74 z 75
Jak utrzymać poprawność zdenormalizowanej wartości, np. posts.comments_count, przy współbieżności?
- ✓Poprawna odpowiedź: Aktualizować ją atomowo w tej samej transakcji co wstawienie komentarza (
SET comments_count = comments_count + 1) albo okresowo przeliczać ze źródła - 2Aktualizować ją raz w roku
- 3Odczytać bieżącą wartość w aplikacji, dodać 1 i zapisać z powrotem
Wyjaśnienie
„Odczytaj-zmień-zapisz” w aplikacji gubi aktualizacje. Dla bardzo gorących liczników rozważ liczniki shardowane lub asynchroniczną agregację z okresowym uzgadnianiem.