DBMS — MCQ Practice

Hindi aur English dono mein practice karo — click karo answer check karne ke liye

📚 2982 Questions 🌐 Hindi + English ✅ Free
भाषा / Language:
2982 questions
1711
EN + हिं Easy
GB What is the relationship between the isolation levels and the schedule properties (recoverable ACA strict)?
IN अलगाव स्तर और शेड्यूल गुणों (पुनर्प्राप्ति योग्य एसीए सख्त) के बीच क्या संबंध है?
A
Schedule properties apply only to single-transaction systems शेड्यूल गुण केवल एकल-लेन-देन प्रणालियों पर लागू होते हैं
B
Higher isolation levels produce weaker schedule properties उच्च अलगाव स्तर कमजोर शेड्यूल गुण उत्पन्न करते हैं
C
They are completely unrelated concepts वे पूरी तरह से असंबद्ध अवधारणाएँ हैं
D
Isolation levels impose schedules with specific properties: READ UNCOMMITTED may produce non-recoverable schedules. READ COMMITTED produces ACA schedules (reads only committed data). REPEATABLE READ produces ACA schedules and additionally prevents non-repeatable reads. SERIALIZABLE produces strict schedules (only committed data read held until commit) and conflict-serializable execution histories अलगाव स्तर विशिष्ट गुणों के साथ शेड्यूल लागू करते हैं: रीड अनकमिटेड गैर-पुनर्प्राप्ति योग्य शेड्यूल उत्पन्न कर सकता है। रीड कमिटेड एसीए शेड्यूल तैयार करता है (केवल प्रतिबद्ध डेटा पढ़ता है)। दोहराए जाने योग्य रीड एसीए शेड्यूल तैयार करता है और इसके अतिरिक्त गैर-दोहराए जाने योग्य रीड को रोकता है। SERIALIZABLE सख्त शेड्यूल (केवल प्रतिबद्ध डेटा को प्रतिबद्ध होने तक पढ़ा जाता है) और संघर्ष-क्रमबद्ध निष्पादन इतिहास तैयार करता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Schedule property hierarchy: Strict (all writes held until commit) > ACA (read only committed) > Recoverable (commit order respects read-from relationship) > All schedules. Isolation level mapping: READ UNCOMMITTED: any schedule. READ COMMITTED: ACA (reads only committed data). REPEATABLE READ: ACA + non-repeatable read prevention. SERIALIZABLE: strict + conflict-serializable.
व्याख्या (हिन्दी) शेड्यूल संपत्ति पदानुक्रम: सख्त (कमिट होने तक सभी लेखन रोके गए) > एसीए (केवल पढ़ने के लिए प्रतिबद्ध) > पुनर्प्राप्त करने योग्य (प्रतिबद्ध आदेश रीड-फ्रॉम संबंध का सम्मान करता है) > सभी शेड्यूल। अलगाव स्तर मानचित्रण: अप्रतिबद्ध पढ़ें: कोई भी कार्यक्रम। प्रतिबद्ध पढ़ें: एसीए (केवल प्रतिबद्ध डेटा पढ़ता है)। दोहराए जाने योग्य पढ़ें: एसीए + गैर-दोहराए जाने योग्य पढ़ने की रोकथाम। क्रमबद्ध: सख्त + संघर्ष-क्रमबद्ध।
1712
EN + हिं Medium
GB What conditions are necessary for a deadlock to occur (Coffman conditions)?
IN गतिरोध उत्पन्न होने के लिए कौन सी स्थितियाँ आवश्यक हैं (कॉफमैन स्थितियाँ)?
A
Only one condition is necessary: circular waiting केवल एक शर्त आवश्यक है: सर्कुलर प्रतीक्षा
B
Only two conditions needed: mutual exclusion and circular waiting केवल दो शर्तों की आवश्यकता है: पारस्परिक बहिष्कार और परिपत्र प्रतीक्षा
C
Four necessary conditions: (1) Mutual exclusion: resources held exclusively. (2) Hold and wait: transaction holds resources while waiting for more. (3) No preemption: resources cannot be forcibly taken. (4) Circular wait: cycle in the wait-for graph. ALL four must hold simultaneously चार आवश्यक शर्तें: (1) पारस्परिक बहिष्कार: विशेष रूप से रखे गए संसाधन। (2) रुकें और प्रतीक्षा करें: लेन-देन अधिक की प्रतीक्षा करते हुए संसाधनों को रखता है। (3) कोई छूट नहीं: संसाधनों को जबरन नहीं लिया जा सकता। (4) वृत्ताकार प्रतीक्षा: प्रतीक्षा-ग्राफ़ में चक्र। चारों को एक साथ पकड़ना होगा
D
Deadlocks require at least 10 concurrent transactions डेडलॉक के लिए कम से कम 10 समवर्ती लेनदेन की आवश्यकता होती है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Coffman conditions applied to DB: (1) Mutual exclusion: X-lock held by only one transaction. (2) Hold and wait: T1 holds lock on A while waiting for lock on B. (3) No preemption: locks not forcibly taken (unless victim selection). (4) Circular wait: T1 waits for T2, T2 waits for T1. Break any one condition and no deadlock occurs.
व्याख्या (हिन्दी) कॉफ़मैन शर्तें डीबी पर लागू होती हैं: (1) पारस्परिक बहिष्करण: एक्स-लॉक केवल एक लेनदेन द्वारा आयोजित किया जाता है। (2) पकड़ें और प्रतीक्षा करें: टी1 ए पर लॉक रखता है जबकि बी पर लॉक की प्रतीक्षा करता है। (3) कोई छूट नहीं: लॉक को जबरन नहीं लिया जाता है (जब तक कि पीड़ित का चयन न हो)। (4) सर्कुलर प्रतीक्षा: T1, T2 की प्रतीक्षा करता है, T2, T1 की प्रतीक्षा करता है। किसी भी एक शर्त को तोड़ें और कोई गतिरोध उत्पन्न न हो।
1713
EN + हिं Hard
GB What is the wait-die scheme for deadlock prevention?
IN गतिरोध निवारण के लिए वेट-डाई योजना क्या है?
A
Older transactions die; younger ones wait पुराने लेन-देन समाप्त हो जाते हैं; छोटे लोग इंतजार करते हैं
B
If requesting transaction Ti is OLDER than holding transaction Tj: Ti waits. If Ti is YOUNGER than Tj: Ti dies (aborts and restarts with original timestamp). Older transactions always wait; younger ones abort - ensures no circular wait since age ordering is consistent यदि लेन-देन का अनुरोध करना Ti लेन-देन को रोकने से पुराना है तो Tj: Ti प्रतीक्षा करता है। यदि Ti, Tj से छोटा है: Ti मर जाता है (निरस्त हो जाता है और मूल टाइमस्टैम्प के साथ पुनः आरंभ होता है)। पुराने लेनदेन हमेशा प्रतीक्षा करते हैं; छोटे बच्चों का गर्भपात - यह सुनिश्चित करता है कि उम्र का क्रम सुसंगत होने के कारण कोई चक्रीय प्रतीक्षा न हो
C
Younger transactions wait; older ones die छोटे लेन-देन प्रतीक्षा करें; बड़े लोग मर जाते हैं
D
Both transactions die and restart simultaneously दोनों लेनदेन एक साथ बंद हो जाते हैं और पुनः आरंभ होते हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Wait-Die: non-preemptive. Older (lower timestamp) T requesting lock held by younger T: waits. Younger T requesting lock held by older T: younger T dies (aborts). Key: restarted transaction keeps ORIGINAL timestamp so it eventually becomes the oldest and will succeed.
व्याख्या (हिन्दी) वेट-डाई: नॉन-प्रीमेप्टिव। वृद्ध (निचला टाइमस्टैम्प) टी युवा टी द्वारा लॉक का अनुरोध कर रहा है: प्रतीक्षा करता है। छोटे टी ने बड़े टी द्वारा पकड़े गए ताले का अनुरोध किया: छोटे टी की मृत्यु (गर्भपात) हो गई। कुंजी: पुनः आरंभ किया गया लेनदेन मूल टाइमस्टैम्प रखता है इसलिए यह अंततः सबसे पुराना बन जाता है और सफल होगा।
1714
EN + हिं Medium
GB What is the wound-wait scheme and how does it differ from wait-die?
IN घाव-प्रतीक्षा योजना क्या है और यह प्रतीक्षा-मृत्यु से किस प्रकार भिन्न है?
A
In wound-wait younger transactions wound older ones घाव-प्रतीक्षा में छोटे लेन-देन पुराने लेन-देन को घायल कर देते हैं
B
Wound-wait is identical to wait-die घाव-प्रतीक्षा, प्रतीक्षा-मरने के समान है
C
If requesting transaction Ti is OLDER than holding Tj: Ti wounds Tj (forces Tj to abort). If Ti is YOUNGER than Tj: Ti waits. Older transactions are aggressive (preempt younger); younger transactions wait - opposite aggressiveness pattern from wait-die यदि लेनदेन का अनुरोध करना Ti, Tj को पकड़ने से पुराना है: Ti Tj को घायल करता है (Tj को गर्भपात करने के लिए मजबूर करता है)। यदि Ti, Tj से छोटा है: Ti प्रतीक्षा करता है। पुराने लेन-देन आक्रामक होते हैं (युवा को रोकें); युवा लेनदेन प्रतीक्षा करें - प्रतीक्षा-मरने से विपरीत आक्रामकता पैटर्न
D
Wound-wait allows circular waiting वाउंड-वेट सर्कुलर प्रतीक्षा की अनुमति देता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Wound-Wait: preemptive. Older T requesting lock held by younger T: older T wounds (aborts) younger T. Younger T requesting lock held by older T: younger T waits. Comparison: Wait-Die = non-preemptive (older waits or younger dies on its own). Wound-Wait = preemptive (older actively wounds younger).
व्याख्या (हिन्दी) घाव-प्रतीक्षा: प्रीमेप्टिव। बूढ़ा टी छोटे टी द्वारा ताला लगाने का अनुरोध कर रहा है: बड़ा टी छोटे टी को घायल (गर्भपात) कर रहा है। छोटा टी बड़े टी द्वारा ताला लगाए जाने का अनुरोध कर रहा है: छोटा टी इंतजार कर रहा है। तुलना: वेट-डाई = नॉन-प्रीमेप्टिव (बूढ़ा इंतजार करता है या छोटा अपने आप मर जाता है)। घाव-प्रतीक्षा = प्रीमेप्टिव (बूढ़ा सक्रिय रूप से युवा को घायल करता है)।
1715
EN + हिं Hard
GB What is the lock ordering deadlock prevention strategy?
IN लॉक ऑर्डरिंग गतिरोध निवारण रणनीति क्या है?
A
Establishing a total ordering on all lockable resources and requiring ALL transactions to acquire locks in that predefined order; since every transaction acquires locks in the same order no circular wait can form सभी लॉक करने योग्य संसाधनों पर कुल ऑर्डर स्थापित करना और सभी लेनदेन को उस पूर्वनिर्धारित क्रम में लॉक प्राप्त करने की आवश्यकता होती है; चूंकि प्रत्येक लेन-देन एक ही क्रम में ताले प्राप्त करता है, इसलिए कोई परिपत्र प्रतीक्षा नहीं बन सकती है
B
Preventing more than two transactions from holding locks simultaneously एक साथ दो से अधिक लेनदेन को लॉक रखने से रोकना
C
Ordering locks alphabetically by column name कॉलम नाम के अनुसार वर्णानुक्रम में ताले को क्रमबद्ध करना
D
Ordering transactions by their start time for lock acquisition लॉक अधिग्रहण के लिए लेनदेन को उनके प्रारंभ समय के अनुसार ऑर्डर करना
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Lock ordering: define order R1 < R2 < R3... All transactions must acquire locks in this order. T1 wants A then B: acquire A, then B. T2 wants A then B: same order. No T1 to T2 to T1 cycle possible since both acquire in same direction. Challenge: must know all needed locks in advance.
व्याख्या (हिन्दी) लॉक ऑर्डरिंग: ऑर्डर R1 < R2 < R3 को परिभाषित करें... सभी लेनदेन को इस क्रम में लॉक प्राप्त करना होगा। T1 A चाहता है, फिर B: A प्राप्त करता है, फिर B. T2 A चाहता है, फिर B: समान क्रम। कोई T1 से T2 से T1 चक्र संभव नहीं है क्योंकि दोनों एक ही दिशा में प्राप्त होते हैं। चुनौती: सभी आवश्यक तालों के बारे में पहले से पता होना चाहिए।
1716
EN + हिं Easy
GB What is the cycle detection algorithm complexity for a wait-for graph with T transactions and E edges?
IN टी लेनदेन और ई किनारों के साथ प्रतीक्षा-ग्राफ़ के लिए चक्र पहचान एल्गोरिदम जटिलता क्या है?
A
O(T squared) always O(T वर्ग) सदैव
B
O(log T) with sorted transactions क्रमबद्ध लेनदेन के साथ ओ (लॉग टी)।
C
O(T + E) using DFS-based cycle detection (Depth-First Search marks visited nodes and detects back edges indicating cycles in the directed graph) ओ(टी + ई) डीएफएस-आधारित चक्र पहचान का उपयोग करते हुए (गहराई-पहली खोज विज़िट किए गए नोड्स को चिह्नित करती है और निर्देशित ग्राफ़ में चक्रों को इंगित करने वाले पीछे के किनारों का पता लगाती है)
D
O(T factorial) for complete detection संपूर्ण पता लगाने के लिए O(T फैक्टोरियल)।
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) DFS-based cycle detection: O(V+E) where V=transactions, E=wait-for edges. Algorithm: DFS from each unvisited node. If DFS encounters a node currently being visited (in stack): cycle found. Total time: O(T+E). The challenge is when to run detection (too frequent = overhead; too infrequent = long waits).
व्याख्या (हिन्दी) डीएफएस-आधारित चक्र का पता लगाना: ओ(वी+ई) जहां वी=लेन-देन, ई=किनारों की प्रतीक्षा करें। एल्गोरिथम: प्रत्येक अनविज़िट नोड से डीएफएस। यदि डीएफएस को वर्तमान में देखे जा रहे नोड का सामना करना पड़ता है (स्टैक में): चक्र मिला। कुल समय: O(T+E). चुनौती यह है कि कब पता लगाना है (बहुत बार-बार = ओवरहेड; बहुत कम = लंबी प्रतीक्षा)।
1717
EN + हिं Easy
GB What is the victim selection problem in deadlock resolution?
IN गतिरोध समाधान में पीड़ित चयन समस्या क्या है?
A
Always abort the oldest transaction हमेशा सबसे पुराने लेन-देन को निरस्त कर दें
B
Always abort the transaction that requested last अंतिम बार अनुरोध किए गए लेनदेन को हमेशा रद्द कर दें
C
Victims are selected randomly पीड़ितों को यादृच्छिक रूप से चुना जाता है
D
Choosing which deadlocked transaction to abort to break the deadlock; criteria: (1) minimum rollback cost (least work done) (2) youngest transaction (least invested time) (3) fewest locks held (4) starvation avoidance (do not repeatedly select the same transaction as victim) गतिरोध को तोड़ने के लिए किस गतिरोध वाले लेन-देन को रद्द करना है, इसका चयन करना; मानदंड: (1) न्यूनतम रोलबैक लागत (कम से कम काम किया गया) (2) सबसे कम उम्र का लेनदेन (कम से कम निवेशित समय) (3) सबसे कम ताले रखे गए (4) भुखमरी से बचाव (पीड़ित के रूप में एक ही लेनदेन को बार-बार न चुनें)
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Victim selection trade-offs: minimum cost = abort transaction with least work done (smallest undo, fewest rows modified). But this may repeatedly victimize the same transaction (starvation). Starvation prevention: track how many times a transaction has been chosen as victim; avoid choosing same transaction repeatedly.
व्याख्या (हिन्दी) पीड़ित चयन व्यापार-बंद: न्यूनतम लागत = कम से कम काम के साथ लेनदेन रद्द करें (सबसे छोटा पूर्ववत करें, सबसे कम पंक्तियाँ संशोधित)। लेकिन इससे बार-बार एक ही लेन-देन (भुखमरी) का शिकार होना पड़ सकता है। भुखमरी की रोकथाम: ट्रैक करें कि कितनी बार लेनदेन को पीड़ित के रूप में चुना गया है; एक ही लेनदेन को बार-बार चुनने से बचें।
1718
EN + हिं Medium
GB What is distributed deadlock and why is it harder to detect than local deadlock?
IN वितरित गतिरोध क्या है और स्थानीय गतिरोध की तुलना में इसका पता लगाना कठिन क्यों है?
A
A deadlock involving more than 100 transactions 100 से अधिक लेन-देन से जुड़ा गतिरोध
B
A deadlock occurring on multiple CPUs अनेक सीपीयू पर गतिरोध उत्पन्न हो रहा है
C
A deadlock spanning multiple database nodes where the wait-for cycle crosses node boundaries; harder to detect because: each node only sees local waits no single node has complete global wait-for graph and communication delays can cause false deadlock detection or missed deadlocks एकाधिक डेटाबेस नोड्स में फैला एक गतिरोध जहां प्रतीक्षा-चक्र नोड सीमाओं को पार करता है; इसका पता लगाना कठिन है क्योंकि: प्रत्येक नोड केवल स्थानीय प्रतीक्षा देखता है, किसी भी नोड के पास पूर्ण वैश्विक प्रतीक्षा-ग्राफ़ ग्राफ़ नहीं है और संचार देरी से गलत गतिरोध का पता लगाया जा सकता है या छूटे हुए गतिरोध हो सकते हैं
D
A deadlock caused by network failures नेटवर्क विफलताओं के कारण उत्पन्न गतिरोध
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Distributed deadlock: T1 on node A waits for T2 on node B, T2 on node B waits for T1 on node A. Node A sees T1 to T2 (incomplete). Node B sees T2 to T1 (incomplete). Neither alone sees the cycle. Solutions: centralized deadlock detector (collect all local graphs), path-pushing (nodes forward wait-for edges), or use timeouts.
व्याख्या (हिन्दी) वितरित गतिरोध: नोड A पर T1 नोड B पर T2 की प्रतीक्षा करता है, नोड B पर T2 नोड A पर T1 की प्रतीक्षा करता है। नोड A T1 से T2 (अपूर्ण) देखता है। नोड बी टी2 से टी1 (अपूर्ण) देखता है। चक्र को कोई भी अकेला नहीं देखता। समाधान: केंद्रीकृत गतिरोध डिटेक्टर (सभी स्थानीय ग्राफ़ एकत्र करें), पथ-पुशिंग (नोड्स फॉरवर्ड प्रतीक्षा-किनारों), या टाइमआउट का उपयोग करें।
1719
EN + हिं Easy
GB What is the phantom deadlock problem in distributed deadlock detection?
IN वितरित गतिरोध का पता लगाने में प्रेत गतिरोध समस्या क्या है?
A
A deadlock in REPEATABLE READ isolation level दोहराए जाने योग्य रीड आइसोलेशन स्तर में गतिरोध
B
A false positive in distributed deadlock detection: the system detects a cycle in the global wait-for graph but by the time it acts on the detection the deadlock has already resolved (a transaction committed naturally) leading to unnecessary transaction aborts वितरित गतिरोध का पता लगाने में एक गलत सकारात्मक: सिस्टम वैश्विक प्रतीक्षा-ग्राफ़ में एक चक्र का पता लगाता है लेकिन जब तक यह पता लगाने पर कार्य करता है तब तक गतिरोध पहले ही हल हो चुका होता है (एक लेनदेन स्वाभाविक रूप से प्रतिबद्ध होता है) जिससे अनावश्यक लेनदेन निरस्त हो जाता है
C
A deadlock that appears and disappears quickly एक गतिरोध जो प्रकट होता है और शीघ्र ही गायब हो जाता है
D
A deadlock involving phantom rows प्रेत पंक्तियों से जुड़ा एक गतिरोध
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Phantom deadlock: distributed deadlock detection involves communication delays. T1 to T2 to T1 cycle detected. Meanwhile, T2 committed naturally (no actual deadlock anymore). System aborts T1 unnecessarily. Mitigation: verify deadlock still exists before aborting victim. Trade-off between detection speed and false positive rate.
व्याख्या (हिन्दी) फैंटम गतिरोध: वितरित गतिरोध का पता लगाने में संचार में देरी शामिल है। T1 से T2 से T1 चक्र का पता चला। इस बीच, T2 स्वाभाविक रूप से प्रतिबद्ध हो गया (अब कोई वास्तविक गतिरोध नहीं है)। सिस्टम अनावश्यक रूप से T1 को निरस्त कर देता है। शमन: पीड़िता का गर्भपात कराने से पहले सत्यापित करें कि गतिरोध अभी भी मौजूद है। पता लगाने की गति और झूठी सकारात्मक दर के बीच व्यापार-बंद।
1720
EN + हिं Easy
GB What is the timeout-based deadlock handling approach and what are its trade-offs?
IN टाइमआउट-आधारित गतिरोध प्रबंधन दृष्टिकोण क्या है और इसके ट्रेड-ऑफ़ क्या हैं?
A
Automatically increasing lock timeout when near deadlock गतिरोध के निकट होने पर स्वचालित रूप से लॉक टाइमआउट बढ़ाना
B
Aborting a transaction if it has been waiting for a lock longer than a specified timeout period assuming it may be deadlocked; trade-offs: simple to implement no detection overhead but may abort non-deadlocked transactions (false positives) and may take long to detect actual deadlocks यदि कोई लेन-देन एक निर्दिष्ट समय-सीमा से अधिक समय तक लॉक की प्रतीक्षा कर रहा है, तो यह मानते हुए कि यह गतिरोध हो सकता है, रद्द करना; ट्रेड-ऑफ़: ओवरहेड का पता लगाने के बिना लागू करना आसान है, लेकिन गैर-गतिरोधित लेनदेन (झूठी सकारात्मक) को रद्द कर सकता है और वास्तविक गतिरोधों का पता लगाने में लंबा समय लग सकता है
C
Using a timer to order lock acquisitions लॉक अधिग्रहण का ऑर्डर देने के लिए टाइमर का उपयोग करना
D
Killing transactions that take more than 1 second 1 सेकंड से अधिक समय लेने वाले लेनदेन को समाप्त करना
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Timeout approach: LOCK_WAIT_TIMEOUT=50 (seconds). If waiting > 50s, abort. Trade-offs: Too short - false aborts (slow queries killed). Too long - deadlocks detected late. Simple but imprecise. Most systems use timeout as fallback with real detection as primary mechanism.
व्याख्या (हिन्दी) टाइमआउट दृष्टिकोण: LOCK_WAIT_TIMEOUT=50 (सेकंड)। यदि प्रतीक्षा 50 से अधिक है, तो गर्भपात करें। ट्रेड-ऑफ़: बहुत छोटा - झूठा गर्भपात (धीमी क्वेरी ख़त्म)। बहुत लंबा - गतिरोध का देर से पता चला। सरल लेकिन अचूक. अधिकांश सिस्टम प्राथमिक तंत्र के रूप में वास्तविक पहचान के साथ फ़ॉलबैक के रूप में टाइमआउट का उपयोग करते हैं।
1721
EN + हिं Easy
GB What is edge chasing for distributed deadlock detection?
IN वितरित गतिरोध का पता लगाने के लिए एज चेज़िंग क्या है?
A
A graph traversal for query optimization क्वेरी अनुकूलन के लिए एक ग्राफ़ ट्रैवर्सल
B
An algorithm for detecting missing indexes लापता अनुक्रमणिका का पता लगाने के लिए एक एल्गोरिदम
C
Nodes proactively push probe messages along wait-for edges toward the transaction being waited for; if a probe returns to its origin a cycle (deadlock) is detected; avoids the need for a centralized global wait-for graph नोड्स सक्रिय रूप से जांच संदेशों को प्रतीक्षा-किनारों के साथ-साथ प्रतीक्षा किए जा रहे लेनदेन की ओर धकेलते हैं; यदि कोई जांच अपने मूल स्थान पर लौटती है तो एक चक्र (गतिरोध) का पता चलता है; एक केंद्रीकृत वैश्विक प्रतीक्षा-ग्राफ़ की आवश्यकता से बचा जाता है
D
Traversing index B-tree edges इंडेक्स बी-ट्री किनारों को ट्रैवर्स करना
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Edge chasing: T1 waits for T2 (node A waits for node B). A sends probe to B. B sees T2 waits for T3 (node C). B forwards probe to C. If probe reaches T1 again: T1 to T2 to T3 to T1 cycle detected. C notifies T1 to abort. Fully distributed, no central coordinator needed.
व्याख्या (हिन्दी) किनारे का पीछा करना: T1 T2 की प्रतीक्षा करता है (नोड A नोड B की प्रतीक्षा करता है)। A, B को जांच भेजता है। B देखता है कि T2, T3 (नोड C) की प्रतीक्षा कर रहा है। B जांच को C की ओर अग्रेषित करता है। यदि जांच फिर से T1 तक पहुंचती है: T1 से T2 से T3 से T1 चक्र का पता लगाया जाता है। C, T1 को गर्भपात के लिए सूचित करता है। पूरी तरह से वितरित, किसी केंद्रीय समन्वयक की आवश्यकता नहीं।
1722
EN + हिं Hard
GB What is deadlock avoidance vs deadlock prevention and which requires advance knowledge?
IN गतिरोध परिहार बनाम गतिरोध निवारण क्या है और जिसके लिए अग्रिम ज्ञान की आवश्यकता है?
A
Deadlock prevention requires advance knowledge; avoidance does not गतिरोध की रोकथाम के लिए अग्रिम ज्ञान की आवश्यकता होती है; परहेज नहीं है
B
They are identical strategies वे समान रणनीतियाँ हैं
C
Deadlock prevention eliminates one of the Coffman conditions (no advance knowledge needed). Deadlock avoidance requires each transaction to declare maximum resource needs in advance; the system uses this to determine if granting a request could lead to deadlock and denies unsafe requests गतिरोध की रोकथाम कॉफ़मैन स्थितियों में से एक को समाप्त कर देती है (कोई अग्रिम ज्ञान की आवश्यकता नहीं है)। गतिरोध से बचने के लिए प्रत्येक लेनदेन के लिए अधिकतम संसाधन आवश्यकताओं की पहले से घोषणा करना आवश्यक है; सिस्टम इसका उपयोग यह निर्धारित करने के लिए करता है कि क्या अनुरोध देने से गतिरोध पैदा हो सकता है और असुरक्षित अनुरोधों को अस्वीकार कर देता है
D
Deadlock avoidance requires no advance knowledge गतिरोध से बचने के लिए किसी अग्रिम ज्ञान की आवश्यकता नहीं है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Prevention: eliminate condition (e.g., lock ordering) - no advance knowledge needed, always enforced. Avoidance: allow dynamic lock acquisition but use advance knowledge (maximum needs declared) to avoid unsafe states. Bankers algorithm: grant request only if resulting state is safe. Avoidance is more concurrent than prevention.
व्याख्या (हिन्दी) रोकथाम: स्थिति को समाप्त करें (उदाहरण के लिए, लॉक ऑर्डरिंग) - किसी अग्रिम ज्ञान की आवश्यकता नहीं है, हमेशा लागू किया जाता है। बचाव: गतिशील लॉक अधिग्रहण की अनुमति दें लेकिन असुरक्षित स्थितियों से बचने के लिए अग्रिम ज्ञान (घोषित अधिकतम आवश्यकताएं) का उपयोग करें। बैंकर्स एल्गोरिदम: अनुरोध तभी स्वीकार करें जब परिणामी स्थिति सुरक्षित हो। रोकथाम की तुलना में बचाव अधिक समवर्ती है।
1723
EN + हिं Easy
GB What is the deadlock frequency trade-off in choosing lock granularity?
IN लॉक ग्रैन्युलैरिटी चुनने में गतिरोध आवृत्ति ट्रेड-ऑफ़ क्या है?
A
Coarser granularity (table locks): fewer locks per transaction = fewer potential conflicts = fewer deadlocks but less concurrency. Finer granularity (row locks): more locks per transaction = more potential for circular wait = higher deadlock probability but higher concurrency मोटे ग्रैन्युलैरिटी (टेबल लॉक): प्रति लेनदेन कम लॉक = कम संभावित टकराव = कम गतिरोध लेकिन कम समवर्तीता। बेहतर ग्रैन्युलैरिटी (पंक्ति लॉक): प्रति लेनदेन अधिक लॉक = सर्कुलर प्रतीक्षा के लिए अधिक क्षमता = उच्च गतिरोध संभावना लेकिन उच्च संगामिति
B
Finer granularity always reduces deadlocks बेहतर ग्रैन्युलैरिटी हमेशा गतिरोध को कम करती है
C
Finer granularity always increases deadlocks बारीक विवरण हमेशा गतिरोध बढ़ाता है
D
Lock granularity does not affect deadlock frequency लॉक ग्रैन्युलैरिटी डेडलॉक आवृत्ति को प्रभावित नहीं करती है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Trade-off: row-level locking: maximum concurrency, but T1 holds row 1 wants row 2, T2 holds row 2 wants row 1 = deadlock. Table-level locking: only one transaction at a time per table = no row-level deadlocks but low concurrency. Most OLTP uses row-level locks with deadlock detection as practical balance.
व्याख्या (हिन्दी) ट्रेड-ऑफ़: पंक्ति-स्तरीय लॉकिंग: अधिकतम संगामिति, लेकिन T1 पंक्ति 1 को रखता है, पंक्ति 2 चाहता है, T2 पंक्ति 2 को रखता है, पंक्ति 1 चाहता है = गतिरोध। तालिका-स्तरीय लॉकिंग: प्रति तालिका एक समय में केवल एक लेनदेन = कोई पंक्ति-स्तरीय गतिरोध नहीं बल्कि कम संगामिति। अधिकांश ओएलटीपी व्यावहारिक संतुलन के रूप में गतिरोध का पता लगाने के साथ पंक्ति-स्तरीय ताले का उपयोग करते हैं।
1724
EN + हिं Medium
GB How can application developers minimize the probability of deadlocks?
IN एप्लिकेशन डेवलपर गतिरोध की संभावना को कैसे कम कर सकते हैं?
A
By using READ UNCOMMITTED isolation level always रीड अनकमिटेड आइसोलेशन लेवल का हमेशा उपयोग करके
B
By avoiding all concurrent transactions सभी समवर्ती लेन-देन से बचकर
C
Best practices: (1) Acquire locks in consistent order across all transactions. (2) Keep transactions short (fewer locks held for less time). (3) Access data in same order. (4) Use appropriate isolation level. (5) Use SELECT FOR UPDATE to acquire all needed locks upfront. (6) Retry logic for deadlock errors सर्वोत्तम प्रथाएँ: (1) सभी लेन-देन में सुसंगत क्रम में ताले प्राप्त करें। (2) लेन-देन छोटा रखें (कम समय के लिए कम ताले रखें)। (3) डेटा को उसी क्रम में एक्सेस करें। (4) उचित अलगाव स्तर का उपयोग करें। (5) सभी आवश्यक ताले अग्रिम रूप से प्राप्त करने के लिए सेलेक्ट फॉर अपडेट का उपयोग करें। (6) गतिरोध त्रुटियों के लिए तर्क पुनः प्रयास करें
D
By using only table-level locks केवल टेबल-स्तरीय ताले का उपयोग करके
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Deadlock minimization: (1) Consistent ordering: all code paths access tables/rows in same order. (2) Short transactions: commit ASAP, release locks. (3) Avoid user interaction within transactions. (4) Fetch all needed rows in one query. (5) Batch operations. (6) Application retry on deadlock error (1213 MySQL, SQLState 40P01 PostgreSQL).
व्याख्या (हिन्दी) गतिरोध न्यूनतमकरण: (1) सुसंगत क्रम: सभी कोड पथ एक ही क्रम में तालिकाओं/पंक्तियों तक पहुंचते हैं। (2) लघु लेनदेन: यथाशीघ्र प्रतिबद्ध हों, ताले जारी करें। (3) लेन-देन के भीतर उपयोगकर्ता के संपर्क से बचें। (4) सभी आवश्यक पंक्तियों को एक क्वेरी में प्राप्त करें। (5) बैच संचालन। (6) डेडलॉक त्रुटि (1213 MySQL, SQLState 40P01 PostgreSQL) पर एप्लिकेशन पुनः प्रयास करें।
1725
EN + हिं Easy
GB What is the relationship between deadlocks and the two-phase locking protocol?
IN गतिरोध और दो-चरण लॉकिंग प्रोटोकॉल के बीच क्या संबंध है?
A
2PL prevents all deadlocks 2PL सभी गतिरोधों को रोकता है
B
2PL guarantees serializability but does NOT prevent deadlocks; in fact 2PL can cause deadlocks because transactions hold locks during the shrinking phase while waiting for new locks - deadlock prevention or detection must be combined with 2PL separately 2PL क्रमबद्धता की गारंटी देता है लेकिन गतिरोध को नहीं रोकता है; वास्तव में 2PL गतिरोध का कारण बन सकता है क्योंकि नए तालों की प्रतीक्षा करते समय सिकुड़न चरण के दौरान लेन-देन में ताले लगे रहते हैं - गतिरोध की रोकथाम या पता लगाने को 2PL के साथ अलग से जोड़ा जाना चाहिए
C
2PL detects deadlocks automatically 2PL स्वचालित रूप से गतिरोध का पता लगाता है
D
Deadlocks are impossible with 2PL 2PL के साथ गतिरोध असंभव है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) 2PL and deadlocks: 2PL ensures the lock point creates a serial order but does not prevent circular wait. T1 (2PL): holds A, requests B. T2 (2PL): holds B, requests A. Both in growing phase, neither can release. Classic deadlock under 2PL. 2PL must be combined with deadlock detection or prevention separately.
व्याख्या (हिन्दी) 2PL और गतिरोध: 2PL सुनिश्चित करता है कि लॉक पॉइंट एक सीरियल ऑर्डर बनाता है लेकिन सर्कुलर प्रतीक्षा को नहीं रोकता है। T1 (2PL): A को होल्ड करता है, B को अनुरोध करता है। T2 (2PL): B को होल्ड करता है, A को अनुरोध करता है। दोनों बढ़ते चरण में हैं, कोई भी रिलीज़ नहीं कर सकता है। 2PL के अंतर्गत क्लासिक गतिरोध। 2PL को गतिरोध का पता लगाने या रोकथाम के साथ अलग से जोड़ा जाना चाहिए।
1711–1725 of 2982