MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

उपयोगकर्ता द्वारा अनुसरण किए जा रहे लोगों से फ़ाइलों की फ़ीड कैसे बनाएं?

यह फैन-इन बनाम फैन-आउट समस्या है। मेरा सुझाव है कि आप फैन-आउट आज़माएं:

एक feed रखें अपने उपयोगकर्ताओं के लिए संग्रह। जब कोई उपयोगकर्ता कोई दस्तावेज़ अपलोड करता है, तो उसके प्रत्येक मित्र फ़ीड आइटम संग्रह में एक नया फ़ीड आइटम सम्मिलित करें। संग्रह इस तरह दिख सकता है:

{
    "_id": (some id)
    "UserId": (id of the user who 'owns', i.e. reads this feed)
    "FriendId": (if of the friend who posted the file)
    "FriendName": "John Doe" (name of the fried, denormalized)
    "Timestamp": ...
}

एक मिश्रित अनुक्रमणिका का उपयोग करें {UserId, Timestamp}

यह दृष्टिकोण लेखन-भारी है:यदि जेन के सैकड़ों मित्र हैं, तो इन सैकड़ों प्रविष्टियों में समय लगेगा। दूसरी ओर, किसी फ़ाइल को अपलोड करने में आम तौर पर वैसे भी बहुत समय लगता है, इसलिए ओवरहेड नगण्य है, और आपकी रीडिंग हास्यास्पद रूप से सरल होगी।

बेशक, यह आगे अनुकूलित हो सकता है अधिक प्रयास के साथ, लेकिन इसे काफ़ी ट्रैफ़िक के लिए ठीक काम करना चाहिए।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मैं कोहाना में मोंगोडीबी का उपयोग कैसे कर सकता हूं?

  2. PHP में Mongodb कनेक्शन काम नहीं कर रहा

  3. नेवला:रेगेक्स के साथ पूरा नाम पूछें

  4. MongoDb पाइपलाइन एकत्रीकरण उप उप दस्तावेजों को छांटना

  5. MongoDB:_id और ObjectID . के साथ प्रविष्टि समय पर प्रश्नों की श्रेणी