NoSQL KVP veya Belge veritabanlarındaki yabancı anahtarların ve dizinlerin eşdeğerini bulmaya çalışıyorum. Özet tablolar olmadığından (iki nesne arasındaki ilişkiyi işaretleyen anahtarlar eklemek için), verileri normal web sayfaları için yararlı olacak şekilde nasıl geri getirebileceğiniz konusunda gerçekten şaşkınım.
Diyelim ki bir kullanıcım var ve bu kullanıcı sitenin her yerine birçok yorum bırakıyor. Bu kullanıcıların yorumlarını takip etmenin tek yolu,
- Bunları kullanıcı nesnesine yerleştirin (bu oldukça işe yaramaz görünüyor)
user_id:comments
Gerektiği gibi alabilmem için her yorumun anahtarının bir listesini [comment: 34, comment: 197, vb.] İçeren bir değer oluşturun ve koruyun .
Ancak, ikinci örnek alarak yakında sen o yapımında 30 milyon kimlikleri içerebilir "active_comments" adlı bir anahtar gibi başka şeyler takip etmek için kullandığınızda bir tuğla duvar vuracak bir ton mal sadece bazı son bilmek her sayfayı sorgulamak için aktif yorumlar. Ayrıca , birçok sayfa aynı anda onu güncellemeye çalışabileceğinden, yarış koşullarına çok açık olacaktır .
Bir NoSQL veritabanında aşağıdaki gibi ilişkileri nasıl izleyebilirim?
- Bir kullanıcının tüm yorumları
- Tüm aktif yorumlar
- [Anahtar kelime] ile etiketlenen tüm gönderiler
- Bir kulüpteki tüm öğrenciler veya bir öğrencinin bulunduğu tüm kulüpler
Yoksa bunu yanlış mı düşünüyorum?