DBMS — MCQ Practice

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

📚 126 Questions 🌐 Hindi + English ✅ Free
भाषा / Language:
126 questions
91
EN + हिं Easy
GB What is the hold-and-wait Coffman condition and what strategies eliminate it in database systems?
IN होल्ड-एंड-वेट कॉफ़मैन स्थिति क्या है और कौन सी रणनीतियाँ डेटाबेस सिस्टम में इसे समाप्त करती हैं?
A
Hold-and-wait: a transaction holds one or more resources (locks) while waiting to acquire additional resources it needs. Elimination strategies: (1) Require all-or-nothing lock acquisition (acquire ALL needed locks at once before starting) (2) Release all current locks before requesting new ones (3) Use timeout-based retry after releasing होल्ड-एंड-वेट: एक लेनदेन आवश्यक अतिरिक्त संसाधनों को प्राप्त करने की प्रतीक्षा करते समय एक या अधिक संसाधनों (लॉक) को रखता है। उन्मूलन रणनीतियाँ: (1) सभी या कुछ भी नहीं लॉक अधिग्रहण की आवश्यकता है (शुरू करने से पहले सभी आवश्यक लॉक एक साथ प्राप्त करें) (2) नए लॉक का अनुरोध करने से पहले सभी मौजूदा लॉक जारी करें (3) जारी करने के बाद टाइमआउट-आधारित पुनः प्रयास का उपयोग करें
B
A performance optimization for lock management लॉक प्रबंधन के लिए एक प्रदर्शन अनुकूलन
C
Holding locks for too long during transactions लेन-देन के दौरान बहुत देर तक ताले लटकाए रखना
D
A condition where all resources are held by one transaction ऐसी स्थिति जहां सभी संसाधन एक लेनदेन द्वारा रखे जाते हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Hold-and-wait elimination: (1) All-or-nothing: declare all needed locks upfront, acquire atomically (difficult - often do not know all needs in advance). (2) Release before requesting (conservative): release all current locks when requesting new ones (causes restart overhead). Both are impractical for most real workloads. This is why most systems detect deadlocks rather than prevent hold-and-wait.
व्याख्या (हिन्दी) होल्ड-एंड-वेट उन्मूलन: (1) सभी या कुछ भी नहीं: सभी आवश्यक तालों को अग्रिम रूप से घोषित करें, परमाणु रूप से प्राप्त करें (कठिन - अक्सर सभी जरूरतों को पहले से नहीं जानते हैं)। (2) अनुरोध करने से पहले रिलीज़ करें (रूढ़िवादी): नए लॉक का अनुरोध करते समय सभी मौजूदा लॉक को रिलीज़ करें (ओवरहेड पुनरारंभ होने का कारण बनता है)। अधिकांश वास्तविक कार्यभार के लिए दोनों अव्यावहारिक हैं। यही कारण है कि अधिकांश सिस्टम होल्ड-एंड-वेट को रोकने के बजाय गतिरोध का पता लगाते हैं।
92
EN + हिं Easy
GB What is the no-preemption Coffman condition and how can preemption be introduced to break deadlocks?
IN नो-प्रीएम्प्शन कॉफ़मैन स्थिति क्या है और गतिरोध को तोड़ने के लिए प्रीएम्प्शन को कैसे लागू किया जा सकता है?
A
Preemption means stopping a transaction without completing it प्रीएम्प्शन का अर्थ है किसी लेन-देन को पूरा किए बिना रोकना
B
Preemption only works for shared locks प्रीएम्प्शन केवल साझा तालों के लिए काम करता है
C
Preemption requires explicit transaction consent प्रीएम्प्शन के लिए स्पष्ट लेनदेन सहमति की आवश्यकता होती है
D
No preemption means that resources (locks) cannot be forcibly taken from a transaction holding them. Preemption can be introduced by: aborting (preempting) a deadlocked transaction (victim selection) which is how deadlock resolution works - the DBMS forcibly rolls back a chosen victim transaction releasing its locks for other waiting transactions नो प्रीएम्प्शन का मतलब यह है कि संसाधनों (ताले) को उनके पास मौजूद लेनदेन से जबरन नहीं लिया जा सकता है। प्रीएम्प्शन को इसके द्वारा प्रस्तुत किया जा सकता है: एक गतिरोध वाले लेनदेन को निरस्त करना (पीड़ित चयन) जो कि गतिरोध समाधान कैसे काम करता है - डीबीएमएस जबरन चुने गए पीड़ित लेनदेन को वापस लाता है और अन्य प्रतीक्षा लेनदेन के लिए अपने ताले जारी करता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) No-preemption elimination (deadlock resolution): when deadlock detected, the DBMS selects a victim transaction and aborts it (preempts its resources). This forcibly takes the victim transactionssource (locks) and releases them. The Wound-Wait prevention scheme also introduces preemption: older transactions can wound (abort) younger transactions holding needed resources.
व्याख्या (हिन्दी) नो-प्रीएम्पशन उन्मूलन (गतिरोध समाधान): जब गतिरोध का पता चलता है, तो डीबीएमएस एक पीड़ित लेनदेन का चयन करता है और इसे निरस्त कर देता है (अपने संसाधनों को रोक देता है)। यह पीड़ित के लेनदेनस्रोत को जबरन ले लेता है (ताले लगा देता है) और उन्हें छोड़ देता है। घाव-प्रतीक्षा रोकथाम योजना प्रीएम्प्शन का भी परिचय देती है: पुराने लेनदेन आवश्यक संसाधनों को रखने वाले युवा लेनदेन को समाप्त (निरस्त) कर सकते हैं।
93
EN + हिं Medium
GB What is the difference between deadlock detection frequency and deadlock detection latency?
IN डेडलॉक डिटेक्शन फ़्रीक्वेंसी और डेडलॉक डिटेक्शन विलंबता के बीच क्या अंतर है?
A
Detection frequency: how often the deadlock detector runs (e.g. every 100ms or every N lock requests); Detection latency: how long a deadlock persists before being detected and resolved (= time to next detection run + detection + abort time). Trade-off: higher frequency = lower latency but higher CPU overhead from running detection; lower frequency = lower overhead but deadlocked transactions blocked longer पता लगाने की आवृत्ति: डेडलॉक डिटेक्टर कितनी बार चलता है (उदाहरण के लिए प्रत्येक 100 एमएस या प्रत्येक एन लॉक अनुरोध); डिटेक्शन विलंबता: पता लगाने और हल करने से पहले कितने समय तक गतिरोध बना रहता है (= अगली डिटेक्शन रन का समय + डिटेक्शन + निरस्त समय)। ट्रेड-ऑफ: उच्च आवृत्ति = कम विलंबता लेकिन रनिंग डिटेक्शन से उच्च सीपीयू ओवरहेड; कम आवृत्ति = कम ओवरहेड लेकिन गतिरोध वाले लेनदेन लंबे समय तक अवरुद्ध रहते हैं
B
Frequency refers to number of deadlocks; latency refers to resolution time आवृत्ति से तात्पर्य गतिरोधों की संख्या से है; विलंबता का तात्पर्य समाधान समय से है
C
Detection frequency only applies to distributed deadlocks पता लगाने की आवृत्ति केवल वितरित गतिरोधों पर लागू होती है
D
They are the same concept वे एक ही अवधारणा हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Detection frequency vs latency trade-off: If detection runs every 5 seconds: deadlocks may persist up to 5 seconds (blocking other transactions for that duration). If detection runs every 10ms: very low latency but CPU overhead from constant graph scanning. MySQL InnoDB: detects deadlocks immediately after each lock wait (very low latency, efficient because it only checks affected transactions not the whole graph).
व्याख्या (हिन्दी) डिटेक्शन फ़्रीक्वेंसी बनाम विलंबता ट्रेड-ऑफ़: यदि डिटेक्शन हर 5 सेकंड में चलता है: गतिरोध 5 सेकंड तक बना रह सकता है (उस अवधि के लिए अन्य लेनदेन को अवरुद्ध करना)। यदि डिटेक्शन हर 10ms पर चलता है: बहुत कम विलंबता लेकिन निरंतर ग्राफ़ स्कैनिंग से CPU ओवरहेड। MySQL InnoDB: प्रत्येक लॉक प्रतीक्षा के तुरंत बाद गतिरोध का पता लगाता है (बहुत कम विलंबता, कुशल क्योंकि यह केवल प्रभावित लेनदेन की जांच करता है, पूरे ग्राफ की नहीं)।
94
EN + हिं Easy
GB What is cycle prevention vs cycle detection in the context of deadlock management strategies?
IN गतिरोध प्रबंधन रणनीतियों के संदर्भ में चक्र रोकथाम बनाम चक्र पहचान क्या है?
A
Prevention always outperforms detection रोकथाम हमेशा पता लगाने से बेहतर प्रदर्शन करती है
B
They are different terms for the same approach वे एक ही दृष्टिकोण के लिए अलग-अलग शब्द हैं
C
Detection is always preferred over prevention रोकथाम की तुलना में जांच को हमेशा प्राथमिकता दी जाती है
D
Cycle prevention: design the system so that cycles in the wait-for graph cannot form (e.g., lock ordering, Wait-Die, Wound-Wait, no-wait) - proactive approach that adds overhead to every transaction. Cycle detection: allow cycles to form then detect and break them periodically (e.g., wait-for graph cycle detection) - reactive approach lower per-transaction overhead but deadlocks persist briefly चक्र रोकथाम: सिस्टम को डिज़ाइन करें ताकि वेट-फॉर ग्राफ़ में चक्र न बन सकें (जैसे, लॉक ऑर्डरिंग, वेट-डाई, वाउंड-वेट, नो-वेट) - सक्रिय दृष्टिकोण जो हर लेनदेन में ओवरहेड जोड़ता है। चक्र का पता लगाना: चक्रों को बनने की अनुमति दें, फिर समय-समय पर उनका पता लगाएं और उन्हें तोड़ें (उदाहरण के लिए, ग्राफ़ चक्र का पता लगाने के लिए प्रतीक्षा करें) - प्रतिक्रियाशील दृष्टिकोण कम प्रति-लेन-देन ओवरहेड लेकिन गतिरोध थोड़े समय के लिए बना रहता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Prevention vs Detection trade-offs: Prevention overhead: every lock acquisition must check ordering rules or timestamp comparison - overhead even when no deadlock. Detection overhead: periodic graph scan or per-wait-graph update - overhead only when waits exist, but deadlocks briefly persist. Most OLTP DBMS use detection (InnoDB) because prevention (like lock ordering) is too restrictive for application developers to maintain.
व्याख्या (हिन्दी) रोकथाम बनाम जांच व्यापार-बंद: रोकथाम ओवरहेड: प्रत्येक लॉक अधिग्रहण को ऑर्डरिंग नियमों या टाइमस्टैम्प तुलना की जांच करनी चाहिए - कोई गतिरोध न होने पर भी ओवरहेड। डिटेक्शन ओवरहेड: आवधिक ग्राफ स्कैन या प्रति-प्रतीक्षा-ग्राफ अद्यतन - ओवरहेड केवल तभी जब प्रतीक्षा मौजूद होती है, लेकिन गतिरोध थोड़े समय के लिए बना रहता है। अधिकांश ओएलटीपी डीबीएमएस डिटेक्शन (इनोडीबी) का उपयोग करते हैं क्योंकि रोकथाम (जैसे लॉक ऑर्डरिंग) एप्लिकेशन डेवलपर्स के लिए बनाए रखने के लिए बहुत प्रतिबंधात्मक है।
95
EN + हिं Easy
GB What is the innodb_deadlock_detect system variable in MySQL and what is the alternative when it is disabled?
IN MySQL में innodb_deadlock_detect सिस्टम वेरिएबल क्या है और इसके अक्षम होने पर विकल्प क्या है?
A
innodb_deadlock_detect=ON (default): InnoDB actively detects deadlocks using a wait-for graph and immediately resolves them by aborting a victim. innodb_deadlock_detect=OFF: deadlock detection is disabled; the lock wait timeout (innodb_lock_wait_timeout) becomes the only mechanism to break deadlocks - transactions wait until timeout then abort. Disabling detection reduces overhead in very high-concurrency scenarios but increases worst-case deadlock resolution time. innodb_deadlock_detect=ON (डिफ़ॉल्ट): InnoDB सक्रिय रूप से प्रतीक्षा-ग्राफ़ का उपयोग करके गतिरोधों का पता लगाता है और पीड़ित को गर्भपात करके तुरंत उनका समाधान करता है। innodb_deadlock_detect=OFF: गतिरोध का पता लगाना अक्षम है; लॉक वेट टाइमआउट (innodb_lock_wait_timeout) गतिरोध को तोड़ने का एकमात्र तंत्र बन जाता है - लेनदेन टाइमआउट तक प्रतीक्षा करते हैं और फिर निरस्त हो जाते हैं। पहचान को अक्षम करने से बहुत उच्च-समवर्ती परिदृश्यों में ओवरहेड कम हो जाता है लेकिन सबसे खराब स्थिति में गतिरोध समाधान समय बढ़ जाता है।
B
It controls the deadlock timeout value यह डेडलॉक टाइमआउट मान को नियंत्रित करता है
C
It controls whether deadlocks are logged to the error log यह नियंत्रित करता है कि त्रुटि लॉग में गतिरोध लॉग हैं या नहीं
D
It determines which transaction becomes the deadlock victim यह निर्धारित करता है कि कौन सा लेनदेन गतिरोध का शिकार बनेगा
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) innodb_deadlock_detect: ON = active detection (default, recommended for most workloads). OFF = use timeout-only for resolution. Use case for OFF: extremely high concurrency systems where the deadlock detection mutex itself becomes a bottleneck (the detection latch protects the wait-for graph - under extremely high concurrent locking, this latch becomes a serialization point). Alternative: use innodb_lock_wait_timeout with a short value (e.g., 5 seconds).
व्याख्या (हिन्दी) innodb_deadlock_detect: ON = सक्रिय पहचान (डिफ़ॉल्ट, अधिकांश कार्यभार के लिए अनुशंसित)। बंद = समाधान के लिए केवल टाइमआउट का उपयोग करें। ऑफ के लिए केस का उपयोग करें: अत्यधिक उच्च समवर्ती प्रणाली जहां डेडलॉक डिटेक्शन म्यूटेक्स स्वयं एक बाधा बन जाता है (डिटेक्शन लैच प्रतीक्षा-ग्राफ की सुरक्षा करता है - अत्यधिक उच्च समवर्ती लॉकिंग के तहत, यह लैच एक क्रमबद्धता बिंदु बन जाता है)। वैकल्पिक: कम मान (जैसे, 5 सेकंड) के साथ innodb_lock_wait_timeout का उपयोग करें।
96
EN + हिं Easy
GB What are the implications of deadlocks in distributed microservices systems that use distributed transactions (SAGA pattern)?
IN वितरित लेनदेन (एसएजीए पैटर्न) का उपयोग करने वाले वितरित माइक्रोसर्विसेज सिस्टम में गतिरोध के निहितार्थ क्या हैं?
A
Deadlocks in microservices require manual DBA intervention माइक्रोसर्विसेज में गतिरोध के लिए मैन्युअल डीबीए हस्तक्षेप की आवश्यकता होती है
B
In SAGA-based distributed transactions traditional database deadlocks at the local level can still occur within each services database; additionally SAGA introduces higher-level semantic deadlocks where multiple sagas wait for each other to complete compensating actions or where resource locks across services create circular dependencies - resolved by designing sagas to acquire resources in consistent order and implementing timeouts for saga steps एसएजीए-आधारित वितरित लेनदेन में स्थानीय स्तर पर पारंपरिक डेटाबेस गतिरोध अभी भी प्रत्येक सेवा डेटाबेस के भीतर हो सकता है; इसके अतिरिक्त SAGA उच्च-स्तरीय सिमेंटिक गतिरोधों का परिचय देता है, जहां कई गाथाएं क्षतिपूर्ति कार्यों को पूरा करने के लिए एक-दूसरे की प्रतीक्षा करती हैं या जहां सेवाओं में संसाधन लॉक परिपत्र निर्भरताएं बनाते हैं - सुसंगत क्रम में संसाधनों को प्राप्त करने के लिए गाथाओं को डिजाइन करके और गाथा चरणों के लिए टाइमआउट लागू करके हल किया जाता है।
C
SAGA eliminates all deadlock possibilities SAGA सभी गतिरोध संभावनाओं को समाप्त कर देता है
D
SAGA prevents deadlocks by eliminating all locking SAGA सभी लॉकिंग को समाप्त करके गतिरोध को रोकता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Distributed microservice deadlocks: (1) Local deadlocks: each service may have deadlocks within its own database (handled by individual DBMS deadlock detection). (2) Saga-level deadlocks: uncommon but possible when sagas hold semantic locks (reservation of resources) in circular dependencies. Prevention: define saga ordering rules, implement step timeouts, use choreography with event-based coordination to reduce blocking.
व्याख्या (हिन्दी) वितरित माइक्रोसर्विस गतिरोध: (1) स्थानीय गतिरोध: प्रत्येक सेवा के अपने डेटाबेस में गतिरोध हो सकते हैं (व्यक्तिगत डीबीएमएस गतिरोध का पता लगाने द्वारा नियंत्रित)। (2) सागा-स्तरीय गतिरोध: असामान्य लेकिन संभव है जब सागा परिपत्र निर्भरता में सिमेंटिक लॉक (संसाधनों का आरक्षण) रखता है। रोकथाम: सागा ऑर्डरिंग नियमों को परिभाषित करें, चरण टाइमआउट लागू करें, अवरोधन को कम करने के लिए इवेंट-आधारित समन्वय के साथ कोरियोग्राफी का उपयोग करें।
97
EN + हिं Medium
GB What is deadlock probability as a function of transaction size and why do longer transactions cause more deadlocks?
IN लेन-देन के आकार के आधार पर गतिरोध की संभावना क्या है और लंबे लेन-देन अधिक गतिरोध का कारण क्यों बनते हैं?
A
Transaction length has absolutely no effect on deadlock probability लेन-देन की लंबाई का गतिरोध की संभावना पर बिल्कुल कोई प्रभाव नहीं पड़ता है
B
Deadlock probability increases approximately as O(n^2) where n is the number of locks held per transaction: each transaction holding n locks has n potential conflicts with each other transaction; as transaction size (locks held) grows the probability of circular wait increases because each lock held is a potential blocker and each lock needed is a potential waiter गतिरोध की संभावना लगभग O(n^2) के रूप में बढ़ जाती है, जहां n प्रति लेन-देन रखे गए तालों की संख्या है: n ताले रखने वाले प्रत्येक लेन-देन में एक दूसरे लेन-देन के साथ n संभावित टकराव होते हैं; जैसे-जैसे लेन-देन का आकार (ताले लगाए गए) बढ़ते हैं, सर्कुलर प्रतीक्षा की संभावना बढ़ जाती है क्योंकि रखा गया प्रत्येक ताला एक संभावित अवरोधक होता है और प्रत्येक आवश्यक ताला एक संभावित वेटर होता है
C
Deadlock probability only depends on the number of concurrent database users गतिरोध की संभावना केवल समवर्ती डेटाबेस उपयोगकर्ताओं की संख्या पर निर्भर करती है
D
Longer transactions are less likely to deadlock because they complete faster लंबे लेनदेन में गतिरोध की संभावना कम होती है क्योंकि वे तेजी से पूरे होते हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Deadlock probability formula (approximate): P(deadlock) ~ (t^2 * r^2) / (2 * D) where t=transactions/sec, r=rows locked per transaction, D=total distinct lockable rows. Mitigation: reduce r (shorter transactions, fewer rows per transaction), reduce t (rate limiting, batching), increase D (shard data across more rows/tables).
व्याख्या (हिन्दी) गतिरोध संभाव्यता सूत्र (अनुमानित): P(गतिरोध) ~ (t^2 * r^2) / (2 * D) जहां t=लेन-देन/सेकंड, r=प्रति लेन-देन लॉक की गई पंक्तियाँ, D=कुल अलग लॉक करने योग्य पंक्तियाँ। शमन: आर कम करें (छोटे लेनदेन, प्रति लेनदेन कम पंक्तियाँ), टी कम करें (दर सीमित करना, बैचिंग), डी बढ़ाएं (अधिक पंक्तियों/तालिकाओं में शार्प डेटा)।
98
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 की प्रतीक्षा करता है। किसी भी एक शर्त को तोड़ें और कोई गतिरोध उत्पन्न न हो।
99
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.
व्याख्या (हिन्दी) वेट-डाई: नॉन-प्रीमेप्टिव। वृद्ध (निचला टाइमस्टैम्प) टी युवा टी द्वारा लॉक का अनुरोध कर रहा है: प्रतीक्षा करता है। छोटे टी ने बड़े टी द्वारा पकड़े गए ताले का अनुरोध किया: छोटे टी की मृत्यु (गर्भपात) हो गई। कुंजी: पुनः आरंभ किया गया लेनदेन मूल टाइमस्टैम्प रखता है इसलिए यह अंततः सबसे पुराना बन जाता है और सफल होगा।
100
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).
व्याख्या (हिन्दी) घाव-प्रतीक्षा: प्रीमेप्टिव। बूढ़ा टी छोटे टी द्वारा ताला लगाने का अनुरोध कर रहा है: बड़ा टी छोटे टी को घायल (गर्भपात) कर रहा है। छोटा टी बड़े टी द्वारा ताला लगाए जाने का अनुरोध कर रहा है: छोटा टी इंतजार कर रहा है। तुलना: वेट-डाई = नॉन-प्रीमेप्टिव (बूढ़ा इंतजार करता है या छोटा अपने आप मर जाता है)। घाव-प्रतीक्षा = प्रीमेप्टिव (बूढ़ा सक्रिय रूप से युवा को घायल करता है)।
101
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 चक्र संभव नहीं है क्योंकि दोनों एक ही दिशा में प्राप्त होते हैं। चुनौती: सभी आवश्यक तालों के बारे में पहले से पता होना चाहिए।
102
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). चुनौती यह है कि कब पता लगाना है (बहुत बार-बार = ओवरहेड; बहुत कम = लंबी प्रतीक्षा)।
103
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.
व्याख्या (हिन्दी) पीड़ित चयन व्यापार-बंद: न्यूनतम लागत = कम से कम काम के साथ लेनदेन रद्द करें (सबसे छोटा पूर्ववत करें, सबसे कम पंक्तियाँ संशोधित)। लेकिन इससे बार-बार एक ही लेन-देन (भुखमरी) का शिकार होना पड़ सकता है। भुखमरी की रोकथाम: ट्रैक करें कि कितनी बार लेनदेन को पीड़ित के रूप में चुना गया है; एक ही लेनदेन को बार-बार चुनने से बचें।
104
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 (अपूर्ण) देखता है। चक्र को कोई भी अकेला नहीं देखता। समाधान: केंद्रीकृत गतिरोध डिटेक्टर (सभी स्थानीय ग्राफ़ एकत्र करें), पथ-पुशिंग (नोड्स फॉरवर्ड प्रतीक्षा-किनारों), या टाइमआउट का उपयोग करें।
105
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 को निरस्त कर देता है। शमन: पीड़िता का गर्भपात कराने से पहले सत्यापित करें कि गतिरोध अभी भी मौजूद है। पता लगाने की गति और झूठी सकारात्मक दर के बीच व्यापार-बंद।
91–105 of 126