Aktywne Wpisy
![Lambo994](https://wykop.pl/cdn/c0834752/4a7aff013e171129d3e62fdad2358ea707ddfd802bc6260ce5ab53059e2c84c3,q60.jpg)
Lambo994 +439
To Jagodno chyba po nocach im spać nie daje od ponad 8-miesięcy ( ͡° ͜ʖ ͡°) Od 15 X chodzę z uśmiechniętą mordą między innymi dlatego, że takie pseudo-inteligenciki, w rzeczywistości prymitywni manipulatorzy i kłamcy, którzy mieli stanowić nową "elitę". Wrócili grzecznie do Republiki i pisania wysrywów na Twitterze. A nie są pokazywani szerszemu gronu jako "eksperci" xD
Otóż z Jagodnem problem polegał na tym, że w dużych
Otóż z Jagodnem problem polegał na tym, że w dużych
![Lambo994 - To Jagodno chyba po nocach im spać nie daje od ponad 8-miesięcy ( ͡° ͜ʖ ͡°...](https://wykop.pl/cdn/c3201142/f20490e02a503ded044bcf49577fb28d2cf883a7855f21882f6f70040eddab14,w150.png?author=Lambo994&auth=8dada1d9971f68368075acd15df54618)
źródło: image
Pobierz![koala667](https://wykop.pl/cdn/c3397992/koala667_a8yZyYnXzu,q60.jpg)
koala667 +140
Belgia 2024, kiedyś kraj z wysokim poziomem życia a dzisiaj są na dobrej drodze do stania się islamskim kalifatem ¯\(ツ)/¯
#imigranci #belgia #europa #bekazlewactwa #4konserwy
#imigranci #belgia #europa #bekazlewactwa #4konserwy
![koala667 - Belgia 2024, kiedyś kraj z wysokim poziomem życia a dzisiaj są na dobrej d...](https://wykop.pl/cdn/c3201142/67154fd9e12c79ede5ef6a4ca4990e03f6b83fc4e2e56b24773e28fb122db2d4,w150.jpg?author=koala667&auth=1e2b93d547d6a7d1801242d06ff39540)
źródło: GM1TdxTWAAAyvKy
Pobierz
Mirki, pierwszy raz pracuję z bazą noSql i zastanawiam się jak powinny wyglądać encje. Skoro bazy te nie są nastawione na relacje to jeżeli mam wątki czatu i wiadomości czatu to czy wątki czatu powinny przechowywać listę wiadomości (1 kolekcja), czy może mieć 2 kolekcje: wątki czatu i wiadomość czatu z id wątków. W relacyjnej bazie danych sprawa jest prosta - 2 tabelki.
1 kolekcja:
@Document
public record ChatThread(
@Id
String id,
String name,
LocalDateTime createdAt,
LocalDateTime modifiedAt
)
@Document
public record ChatMessageEntry(
@Id
String id,
@Indexed
String chatThreadId,
String content,
ChatMessageSender seder,
@Indexed
LocalDateTime createdAt
)
vs
2 kolekcje:
@Document
public record ChatThread(
@Id
String id,
String name,
LocalDateTime createdAt,
LocalDateTime modifiedAt,
List<ChatMessageEntry> messages
)
public record ChatMessageEntry(
String id,
String content,
ChatMessageSender seder,
LocalDateTime createdAt
)
Pewnie jak zwyle to zależy, ale w tym przypadku jakbyście to zrobili?
@Patres: masz na odwrót
Co do podziału to jestem za dwiema odzielnnymi kolekcjami, bo wyobraż sobie wątek na tysiące wiadomości. Updatowanie jednego obiektu w kolekcji jest wolne i generuje problemy związane z tranzakcyjnością
Tutaj zachowanie relacyjności jest ok, bo
ChatThread
zmienia się dużo rzadziej niżChatMessageEntry
powstaje aChatMessageEntry
jest niemutowalneLogiczne w postach/komentarzach wydaje się, że komentarze są mocno zależnego od postu (tight coupled) więc opłaca się je trzymać razem, zazwyczaj nie wykonuje się jakichś skomplikowanych operacjach na komentarzach - od typowy CRUD,
Get jeden post + wiele komentarzy
Create komentarza do postu
Update komentarza do