Som na doma chorý a z nudy si robím vylepšenia svojho webu.
Naprogramoval som si možnosť komentovania článkov (frontend je v React-e a TS). Každý komentár môže obsahovať reakcie.
Každý komentár reprezentuje takáto dátová erntita:
export type TComment = {
id: string;
nick: string;
email: string;
dateTime: string;
content: string;
replies: TComment[];
identity: {
userId: number | null;
articleId: number;
ip: string;
host: string;
}
}
Pôvodne som chcel komentáre ukladať do RDBMS na ktorej beží celý web. Ale potom by som zbytočne musel objektový strom konvertovať na tabuľkové údaje ktoré by na seba odkazovali cez parentId a pri zobrazovaní komentárov zase naopak. Niežeby mi to robilo problém už som také niečo robil veľa krát. Ale rozhodol som sa že vyskúšam iný spôsob.
Napadlo ma že by som použil nejaké úložisko ktoré je na tento účel stvorené... Také úložisko kde by som mohol vložiť rovno celý strom komentárov ako objekty. A ešte v nich aj vyhľadávať prípadne nad nimi robyť nejaké dopyty (dotazy)
To znamená buď OODBMS (objektovú db), ORDBMS (objektovo relačnú db) alebo nejakú dokumentovú db aspoň sa naučím novú technoogiu. Ktorú databázu by ste mi doporučili na ukladanie objektovej hierarchie "anemických" objektov. Z minulosti som mal skúsenosti s MongoDB, RavenDB a DB4O, ale popravde po rokoch si to už nepamatám. Chcel by som, naozaj skutočný DB server nie embedded db