Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

उपयोगकर्ता प्राधिकरण उद्देश्यों के लिए डेटाबेस में अभिलेखों के बड़े पैमाने पर भंडारण को कैसे संभालें?

तथ्य यह है कि यदि आप प्रति उपयोगकर्ता लेख-स्तरीय अनुमतियां . चाहते हैं तो आपको User . से संबंधित होने का एक तरीका चाहिए Article . के लिए वे पहुँच सकते हैं। यह एक न्यूनतम . की आवश्यकता है आपको N*A की आवश्यकता है (जहाँ A विशिष्ट रूप से अनुमत लेखों की संख्या है)।

इसके लिए 3NF दृष्टिकोण, जैसा कि आपने सुझाव दिया था, एक UsersArticles . होगा सेट ... जो एक बहुत बड़ी तालिका होगी (जैसा कि आपने नोट किया है)।

विचार करें कि इस तालिका को पूरी तरह से एक्सेस किया जाएगा ... यह मुझे उन परिस्थितियों में से एक की तरह लगता है जिसमें थोड़ा सा असामान्य दृष्टिकोण (या यहां तक ​​​​कि नोएसक्यूएल) अधिक उपयुक्त है।

उस मॉडल पर विचार करें जिसे ट्विटर अपने उपयोगकर्ता अनुयायी तालिकाओं के लिए उपयोग करता है:

विषय पर जेफ एटवुड

और उच्च मापनीयता ब्लॉग

उन टुकड़ों का एक नमूना ट्विटर पर सीखा गया एक सबक है कि एक सामान्यीकृत तालिका से अनुयायियों को क्वेरी करना एक User पर अत्यधिक तनाव डालता है। टेबल। उनका समाधान अनुयायियों को असामान्य बनाना था ताकि उपयोगकर्ता के अनुयायियों को उनकी व्यक्तिगत उपयोगकर्ता सेटिंग्स पर संग्रहीत किया जा सके।

मुझे लगता है कि इसी तरह के दृष्टिकोण का उपयोग लेख अनुमतियों की सेवा के लिए किया जा सकता है और अत्यधिक तनाव वाले UsersArticles से बचा जा सकता है। सिंगल टेबल।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL बहुस्तंभ प्राथमिक कुंजी

  2. JDBC - स्टेटमेंट, तैयार स्टेटमेंट, कॉल करने योग्य स्टेटमेंट और कैशिंग

  3. एक्सेल डेटा को MySQL पर रिलेशनल टेबल में आयात करें

  4. PHP पीडीओ डीएसएन MySQL बनाम PostgreSQL के लिए एक अलग प्रारूप क्यों है?

  5. MySQL/PHP का उपयोग करके किसी फ़ील्ड में अभी () का उपयोग करके वर्तमान दिनांक/समय डालें