ฉันกำลังพยายามหาคีย์ต่างประเทศและดัชนีที่เทียบเท่าในฐานข้อมูล NoSQL KVP หรือ Document เนื่องจากไม่มีตารางสาระสำคัญ (เพื่อเพิ่มคีย์ที่ทำเครื่องหมายความสัมพันธ์ระหว่างวัตถุสองชิ้น) ฉันนิ่งงันมากว่าคุณจะสามารถดึงข้อมูลด้วยวิธีใดที่จะเป็นประโยชน์สำหรับหน้าเว็บปกติได้
สมมติว่าฉันมีผู้ใช้และผู้ใช้รายนี้แสดงความคิดเห็นมากมายทั่วทั้งไซต์ วิธีเดียวที่ฉันคิดได้ในการติดตามความคิดเห็นของผู้ใช้ก็คือ
- ฝังไว้ในวัตถุผู้ใช้ (ซึ่งดูเหมือนไม่มีประโยชน์เลย)
- สร้างและรักษา
user_id:comments
ค่าที่มีรายการคีย์ของแต่ละความคิดเห็น [ความคิดเห็น: 34, ความคิดเห็น: 197 ฯลฯ ... ] เพื่อให้ฉันสามารถดึงข้อมูลได้ตามต้องการ
อย่างไรก็ตามการทำตามตัวอย่างที่สองคุณจะเจอกำแพงอิฐในไม่ช้าเมื่อคุณใช้เพื่อติดตามสิ่งอื่น ๆ เช่นคีย์ที่เรียกว่า "active_comments" ซึ่งอาจมีรหัส 30 ล้านรหัสอยู่ในนั้น เสียค่าใช้จ่ายตันเพื่อสอบถามแต่ละหน้าเพียงเพื่อให้รู้ว่าที่ผ่านมาบางส่วน ความคิดเห็นที่ใช้งานอยู่ นอกจากนี้ยังมีแนวโน้มที่จะเกิดสภาวะการแข่งขันเนื่องจากหลาย ๆ เพจอาจพยายามอัปเดตพร้อมกัน
ฉันจะติดตามความสัมพันธ์ดังต่อไปนี้ในฐานข้อมูล NoSQL ได้อย่างไร
- ความคิดเห็นทั้งหมดของผู้ใช้
- ความคิดเห็นที่ใช้งานอยู่ทั้งหมด
- โพสต์ทั้งหมดที่ติดแท็ก [คีย์เวิร์ด]
- นักเรียนทุกคนในชมรม - หรือทุกชมรมที่นักเรียนอยู่
หรือฉันคิดเรื่องนี้ไม่ถูกต้อง?