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
2221
EN + हिं Easy
GB What is cascading rollback (cascading abort) and which version of 2PL prevents it?
IN कैस्केडिंग रोलबैक (कैस्केडिंग एबॉर्ट) क्या है और 2PL का कौन सा संस्करण इसे रोकता है?
A
A rollback that deletes data permanently एक रोलबैक जो डेटा को स्थायी रूप से हटा देता है
B
When one transaction rolls back all other transactions that read its uncommitted data must also rollback (cascade) because those reads are now dirty reads - prevented by Strict 2PL (holds write locks until commit so other transactions cannot read uncommitted changes) जब एक लेनदेन उसके अप्रतिबद्ध डेटा को पढ़ने वाले अन्य सभी लेनदेन को वापस रोल करता है, तो उसे भी रोलबैक (कैस्केड) करना होगा क्योंकि वे रीड अब गंदे रीड हैं - स्ट्रिक्ट 2PL द्वारा रोका गया (कमिट होने तक राइट लॉक रखता है ताकि अन्य लेनदेन अप्रतिबद्ध परिवर्तन नहीं पढ़ सकें)
C
Rolling back causes related applications to crash वापस रोल करने से संबंधित एप्लिकेशन क्रैश हो जाते हैं
D
Rolling back one transaction in a distributed environment वितरित वातावरण में एक लेन-देन को वापस लाना
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Cascading rollback: T1 writes X, T2 reads X (dirty read, only if locks are released before commit), T1 aborts -> T2 must also abort. T3 reads from T2 -> T3 must abort too. Chain can be long. Strict 2PL prevents: write locks held until COMMIT, so T2 cannot read X until T1 commits (no dirty reads possible).
व्याख्या (हिन्दी) कैस्केडिंग रोलबैक: T1 एक्स लिखता है, T2 T3, T2 से पढ़ता है -> T3 को भी निरस्त होना चाहिए। चेन लंबी हो सकती है. सख्त 2PL रोकता है: COMMIT तक राइट लॉक को रखा जाता है, इसलिए T2 तब तक X नहीं पढ़ सकता जब तक T1 कमिट नहीं कर देता (कोई गंदा पढ़ना संभव नहीं है)।
2222
EN + हिं Hard
GB What is the difference between optimistic concurrency control (OCC) and pessimistic concurrency control (PCC)?
IN आशावादी समवर्ती नियंत्रण (ओसीसी) और निराशावादी समवर्ती नियंत्रण (पीसीसी) के बीच क्या अंतर है?
A
PCC allows dirty reads; OCC prevents them पीसीसी गंदे पढ़ने की अनुमति देता है; ओसीसी उन्हें रोकता है
B
OCC uses MVCC; PCC uses physical locks ओसीसी एमवीसीसी का उपयोग करता है; पीसीसी भौतिक ताले का उपयोग करता है
C
OCC is always faster; PCC is always safer OCC हमेशा तेज़ होता है; पीसीसी हमेशा सुरक्षित है
D
PCC: locks data when accessed to prevent concurrent modifications (assume conflicts will occur); OCC: no locks during execution validates at commit time for conflicts (assume conflicts are rare) aborts if conflict detected - OCC better for low-contention workloads PCC better for high-contention पीसीसी: समवर्ती संशोधनों को रोकने के लिए एक्सेस किए जाने पर डेटा को लॉक कर देता है (मान लें कि टकराव होगा); ओसीसी: निष्पादन के दौरान कोई लॉक नहीं होने से संघर्ष के लिए प्रतिबद्ध समय पर मान्य होता है (मान लें कि संघर्ष दुर्लभ हैं) यदि संघर्ष का पता चला है तो निरस्त कर दिया जाता है - कम-विवाद वाले कार्यभार के लिए ओसीसी बेहतर है, उच्च-विवाद के लिए पीसीसी बेहतर है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) OCC phases: Read (execute, write to local buffer), Validate (check for conflicts: did any committed transaction write data I read?), Write (apply changes if no conflict). High abort rate if contention is high. PCC: lock-based, waiting vs. aborting. OCC preferred for: read-heavy, low contention, distributed systems.
व्याख्या (हिन्दी) ओसीसी चरण: पढ़ें (निष्पादित करें, स्थानीय बफर पर लिखें), मान्य करें (विरोधों की जांच करें: क्या कोई प्रतिबद्ध लेनदेन मेरे द्वारा पढ़ा गया डेटा लिखता है?), लिखें (यदि कोई विरोध नहीं है तो परिवर्तन लागू करें)। यदि विवाद अधिक है तो गर्भपात की दर अधिक है। पीसीसी: लॉक-आधारित, प्रतीक्षा बनाम निरस्त करना। OCC को इसके लिए प्राथमिकता दी गई: रीड-हैवी, कम सामग्री, वितरित सिस्टम।
2223
EN + हिं Hard
GB What is the timestamp ordering protocol for concurrency control and how does it work?
IN समवर्ती नियंत्रण के लिए टाइमस्टैम्प ऑर्डरिंग प्रोटोकॉल क्या है और यह कैसे काम करता है?
A
A protocol for ordering distributed database commits वितरित डेटाबेस कमिट को ऑर्डर करने के लिए एक प्रोटोकॉल
B
Ordering transactions by network timestamp नेटवर्क टाइमस्टैम्प द्वारा लेनदेन का आदेश देना
C
Ordering commit operations by network time नेटवर्क समय के अनुसार प्रतिबद्ध संचालन का आदेश देना
D
Each transaction receives a timestamp at start; data items track the timestamps of the last read (max_R_TS) and write (max_W_TS); conflicts are resolved using these timestamps: if a younger transaction tries to read data written by an older committed transaction it is allowed; otherwise abort and restart प्रत्येक लेनदेन को शुरुआत में एक टाइमस्टैम्प प्राप्त होता है; डेटा आइटम अंतिम पढ़ने (max_R_TS) और लिखने (max_W_TS) के टाइमस्टैम्प को ट्रैक करते हैं; इन टाइमस्टैम्प का उपयोग करके संघर्षों को हल किया जाता है: यदि कोई युवा लेनदेन पुराने प्रतिबद्ध लेनदेन द्वारा लिखे गए डेटा को पढ़ने की कोशिश करता है तो उसे अनुमति दी जाती है; अन्यथा निरस्त करें और पुनः आरंभ करें
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Timestamp ordering: T wants to read X: if TS(T) < max_W_TS(X) (older T trying to read newer write) -> abort T. T wants to write X: if TS(T) < max_R_TS(X) or TS(T) < max_W_TS(X) -> abort T. Else: proceed and update timestamps. No locks, no deadlocks, but higher abort rate.
व्याख्या (हिन्दी) टाइमस्टैम्प क्रम: T, कोई ताला नहीं, कोई गतिरोध नहीं, लेकिन उच्च गर्भपात दर।
2224
EN + हिं Easy
GB What is the Thomas Write Rule optimization to the basic timestamp ordering protocol?
IN बुनियादी टाइमस्टैम्प ऑर्डरिंग प्रोटोकॉल के लिए थॉमस राइट रूल अनुकूलन क्या है?
A
A rule about writing to tables named Thomas थॉमस नाम की तालिकाओं पर लिखने के बारे में एक नियम
B
An optimization that allows a write operation to be silently ignored (rather than aborting the transaction) when a newer transaction has already written the same data item - since the outdated write would be overwritten by the newer write anyway it is safe to skip एक अनुकूलन जो एक लेखन ऑपरेशन को चुपचाप अनदेखा करने की अनुमति देता है (लेन-देन को निरस्त करने के बजाय) जब एक नए लेनदेन ने पहले से ही वही डेटा आइटम लिखा है - चूंकि पुराने लेखन को नए लेखन द्वारा ओवरराइट किया जाएगा, वैसे भी इसे छोड़ना सुरक्षित है
C
Thomas Jefferson invented this database rule थॉमस जेफरसन ने इस डेटाबेस नियम का आविष्कार किया
D
A rule requiring explicit write acknowledgment स्पष्ट लेखन पावती की आवश्यकता वाला नियम
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Thomas Write Rule: T wants to write X but TS(T) < max_W_TS(X) (another newer T has already written X). Instead of aborting T, skip this write (it is obsolete - the newer write will overwrite it anyway). This increases throughput by avoiding unnecessary aborts. The final result is still correct.
व्याख्या (हिन्दी) थॉमस लिखें नियम: T, X लिखना चाहता है लेकिन TS(T) < max_W_TS(X) (एक और नया T पहले ही X लिख चुका है)। टी को निरस्त करने के बजाय, इस लेखन को छोड़ दें (यह अप्रचलित है - नया लेखन इसे वैसे भी अधिलेखित कर देगा)। यह अनावश्यक रुकावटों से बचकर थ्रूपुट को बढ़ाता है। अंतिम परिणाम अभी भी सही है.
2225
EN + हिं Easy
GB What is a long-running transaction and what problems does it cause in a DBMS?
IN लंबे समय तक चलने वाला लेनदेन क्या है और यह DBMS में क्या समस्याएँ पैदा करता है?
A
A transaction that remains open for an extended period causing: accumulated locks blocking other transactions MVCC undo/version storage growth (old versions cannot be purged) replication lag in logical replication and increased probability of conflict/deadlock एक लेनदेन जो एक विस्तारित अवधि के लिए खुला रहता है, उसके कारण: संचित ताले अन्य लेनदेन को अवरुद्ध कर रहे हैं एमवीसीसी पूर्ववत/संस्करण भंडारण वृद्धि (पुराने संस्करणों को शुद्ध नहीं किया जा सकता है) तार्किक प्रतिकृति में प्रतिकृति अंतराल और संघर्ष/गतिरोध की बढ़ी हुई संभावना
B
A transaction affecting a large number of rows बड़ी संख्या में पंक्तियों को प्रभावित करने वाला लेनदेन
C
A transaction that takes more than 1 second एक लेन-देन जिसमें 1 सेकंड से अधिक समय लगता है
D
A transaction that spans multiple database servers एक लेन-देन जो कई डेटाबेस सर्वरों तक फैला होता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Long transactions problems: (1) Hold locks blocking concurrent access. (2) In PostgreSQL: prevent VACUUM from reclaiming dead rows (table bloat). (3) In MySQL: undo log grows, performance degrades. (4) Logical replication must buffer all changes until transaction commits. Best practice: keep transactions short.
व्याख्या (हिन्दी) लंबे लेन-देन की समस्याएँ: (1) समवर्ती पहुंच को अवरुद्ध करने वाले ताले पकड़ें। (2) PostgreSQL में: VACUUM को मृत पंक्तियों (टेबल ब्लोट) को पुनः प्राप्त करने से रोकें। (3) MySQL में: पूर्ववत लॉग बढ़ता है, प्रदर्शन ख़राब होता है। (4) लेन-देन शुरू होने तक तार्किक प्रतिकृति को सभी परिवर्तनों को बफर करना होगा। सर्वोत्तम अभ्यास: लेन-देन छोटा रखें।
2226
EN + हिं Easy
GB What is transaction chopping (also called transaction splitting) and when is it safe to apply?
IN ट्रांजेक्शन चॉपिंग (जिसे ट्रांजैक्शन स्प्लिटिंग भी कहा जाता है) क्या है और इसे कब लागू करना सुरक्षित है?
A
Chopping SQL statements for performance प्रदर्शन के लिए SQL कथनों को काटना
B
Splitting transactions across multiple databases कई डेटाबेस में लेनदेन को विभाजित करना
C
The technique of dividing a long transaction into smaller sub-transactions to improve concurrency; safe only when: the sub-transactions maintain the same semantic consistency there are no dependencies between the pieces that require atomic execution and the application can handle partial failures समवर्तीता में सुधार के लिए लंबे लेनदेन को छोटे उप-लेनदेन में विभाजित करने की तकनीक; केवल तभी सुरक्षित है जब: उप-लेन-देन समान अर्थपूर्ण स्थिरता बनाए रखता है, उन टुकड़ों के बीच कोई निर्भरता नहीं होती है जिनके लिए परमाणु निष्पादन की आवश्यकता होती है और एप्लिकेशन आंशिक विफलताओं को संभाल सकता है
D
Randomly splitting transactions into smaller pieces लेन-देन को बेतरतीब ढंग से छोटे-छोटे टुकड़ों में बाँटना
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Transaction chopping: safe if (1) each sub-transaction is independently meaningful, (2) failure of one piece does not require undoing prior pieces, (3) no other transaction can see an inconsistent state between pieces. Example: batch processing 1M rows in 1000-row sub-transactions instead of one giant transaction.
व्याख्या (हिन्दी) लेन-देन काटना: सुरक्षित है यदि (1) प्रत्येक उप-लेन-देन स्वतंत्र रूप से सार्थक है, (2) एक टुकड़े की विफलता के लिए पिछले टुकड़ों को पूर्ववत करने की आवश्यकता नहीं है, (3) किसी अन्य लेनदेन में टुकड़ों के बीच असंगत स्थिति नहीं देखी जा सकती है। उदाहरण: एक विशाल लेनदेन के बजाय 1000-पंक्ति उप-लेनदेन में 1M पंक्तियों का बैच प्रसंस्करण।
2227
EN + हिं Easy
GB What is the isolation level READ COMMITTED and what anomalies does it prevent vs allow?
IN अलगाव स्तर रीड कमिटेड क्या है और यह किन विसंगतियों को रोकता है बनाम अनुमति देता है?
A
READ COMMITTED prevents dirty reads (only sees committed data at the time of each statement) but allows non-repeatable reads (re-reading same row can return different committed values) and phantom reads रीड कमिटेड गंदे पढ़ने को रोकता है (प्रत्येक कथन के समय केवल प्रतिबद्ध डेटा देखता है) लेकिन गैर-दोहराए जाने योग्य पढ़ने की अनुमति देता है (एक ही पंक्ति को दोबारा पढ़ने से अलग-अलग प्रतिबद्ध मान वापस आ सकते हैं) और फैंटम रीड
B
Allows all anomalies including dirty reads गंदे पढ़ने सहित सभी विसंगतियों की अनुमति देता है
C
READ COMMITTED is identical to SERIALIZABLE रीड कमिटेड, सीरियलाइज़ेबल के समान है
D
READ COMMITTED prevents all anomalies रीड कमिटेड सभी विसंगतियों को रोकता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) READ COMMITTED: each SQL statement sees a snapshot of committed data at statement start. Dirty reads: prevented (uncommitted changes invisible). Non-repeatable reads: allowed (committed changes between statements visible). Phantom reads: allowed. This is the default in PostgreSQL and Oracle.
व्याख्या (हिन्दी) प्रतिबद्ध पढ़ें: प्रत्येक SQL कथन कथन प्रारंभ में प्रतिबद्ध डेटा का एक स्नैपशॉट देखता है। गंदा पढ़ता है: रोका गया (अप्रतिबद्ध परिवर्तन अदृश्य)। गैर-दोहराने योग्य पाठ: अनुमति (कथनों के बीच प्रतिबद्ध परिवर्तन दृश्यमान)। फैंटम पढ़ता है: अनुमति है। PostgreSQL और Oracle में यह डिफ़ॉल्ट है।
2228
EN + हिं Medium
GB What is the difference between distributed transaction and local transaction and what protocol manages distributed transactions?
IN वितरित लेनदेन और स्थानीय लेनदेन के बीच क्या अंतर है और कौन सा प्रोटोकॉल वितरित लेनदेन का प्रबंधन करता है?
A
A local transaction operates within a single DBMS; a distributed transaction spans multiple separate database instances and requires coordination protocols (typically Two-Phase Commit - 2PC) to ensure atomicity across all participating databases एक स्थानीय लेनदेन एकल DBMS के भीतर संचालित होता है; एक वितरित लेनदेन कई अलग-अलग डेटाबेस उदाहरणों को फैलाता है और सभी भाग लेने वाले डेटाबेस में परमाणुता सुनिश्चित करने के लिए समन्वय प्रोटोकॉल (आमतौर पर दो-चरण प्रतिबद्धता - 2 पीसी) की आवश्यकता होती है
B
Distributed transactions span multiple tables; local transactions use one table वितरित लेनदेन कई तालिकाओं में फैले होते हैं; स्थानीय लेनदेन एक तालिका का उपयोग करते हैं
C
Local transactions do not support ACID; distributed transactions do स्थानीय लेनदेन ACID का समर्थन नहीं करते; वितरित लेनदेन करते हैं
D
Distributed transactions are faster than local transactions वितरित लेनदेन स्थानीय लेनदेन की तुलना में तेज़ होते हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Distributed transaction: UPDATE bank_a.account SET balance -= 1000; UPDATE bank_b.account SET balance += 1000 - across two separate database servers. 2PC coordinator: Phase 1 (PREPARE - each participant votes commit/abort), Phase 2 (COMMIT or ROLLBACK based on all votes). Guarantees atomicity across nodes.
व्याख्या (हिन्दी) वितरित लेनदेन: अद्यतन बैंक_ए.खाता सेट शेष -= 1000; अद्यतन बैंक_बी.खाता सेट शेष += 1000 - दो अलग-अलग डेटाबेस सर्वरों पर। 2पीसी समन्वयक: चरण 1 (तैयारी - प्रत्येक प्रतिभागी वोट करता है/निरस्त करता है), चरण 2 (सभी वोटों के आधार पर प्रतिबद्ध या रोलबैक)। नोड्स में परमाणुता की गारंटी देता है।
2229
EN + हिं Medium
GB What is snapshot isolation (SI) and how does it differ from REPEATABLE READ in terms of anomaly prevention?
IN स्नैपशॉट आइसोलेशन (एसआई) क्या है और विसंगति की रोकथाम के संदर्भ में यह रिपीटेबल रीड से कैसे भिन्न है?
A
They are identical isolation levels वे समान अलगाव स्तर हैं
B
REPEATABLE READ and Snapshot Isolation prevent all anomalies दोहराए जाने योग्य रीड और स्नैपशॉट अलगाव सभी विसंगतियों को रोकता है
C
Snapshot isolation: each transaction reads from a consistent snapshot taken at transaction start preventing dirty reads non-repeatable reads and phantoms but does NOT prevent write skew anomaly. REPEATABLE READ in standard SQL prevents non-repeatable reads; SNAPSHOT adds phantom prevention via MVCC स्नैपशॉट अलगाव: प्रत्येक लेन-देन लेन-देन शुरू होने पर लिए गए एक सुसंगत स्नैपशॉट से पढ़ता है, गंदे रीड, गैर-दोहराए जाने योग्य रीड और फैंटम को रोकता है, लेकिन लिखने में तिरछा विसंगति को नहीं रोकता है। मानक SQL में दोहराए जाने योग्य पठन गैर-दोहराए जाने योग्य पठन को रोकता है; स्नैपशॉट एमवीसीसी के माध्यम से प्रेत रोकथाम जोड़ता है
D
Snapshot isolation is weaker than READ COMMITTED स्नैपशॉट अलगाव रीड कमिटेड की तुलना में कमज़ोर है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Snapshot isolation: reads from fixed snapshot, no blocking on reads. Write conflict: if two concurrent transactions write to the same row, one aborts (first committer wins). Allows write skew: T1 reads A and B and writes A, T2 reads A and B and writes B - both commit even if invariant A+B>0 is violated.
व्याख्या (हिन्दी) स्नैपशॉट अलगाव: निश्चित स्नैपशॉट से पढ़ता है, पढ़ने पर कोई अवरोध नहीं। संघर्ष लिखें: यदि दो समवर्ती लेनदेन एक ही पंक्ति में लिखते हैं, तो एक निरस्त हो जाता है (पहला कमिटर जीतता है)। तिरछा लिखने की अनुमति देता है: T1 A और B पढ़ता है और A लिखता है, T2 A और B पढ़ता है और B लिखता है - दोनों प्रतिबद्ध हैं, भले ही अपरिवर्तनीय A+B>0 का उल्लंघन किया गया हो।
2230
EN + हिं Easy
GB What is the write skew anomaly that snapshot isolation allows but serializable isolation prevents?
IN राइट स्क्यू विसंगति क्या है जो स्नैपशॉट अलगाव की अनुमति देती है लेकिन क्रमबद्ध अलगाव को रोकती है?
A
Overwriting uncommitted data अप्रतिबद्ध डेटा को ओवरराइट करना
B
Writing to the same row simultaneously एक ही पंक्ति में एक साथ लिखना
C
Writing incorrect data to the database डेटाबेस में ग़लत डेटा लिखना
D
Two transactions each read overlapping data make decisions based on it and write to non-overlapping parts collectively violating an integrity constraint that neither individual write would violate - e.g. both doctors check at least one doctor on call both see the other is on call both decide to go off call दो लेन-देन प्रत्येक ओवरलैपिंग डेटा को पढ़ते हैं, उसके आधार पर निर्णय लेते हैं और गैर-ओवरलैपिंग भागों को सामूहिक रूप से एक अखंडता बाधा का उल्लंघन करते हुए लिखते हैं, जिसका कोई भी व्यक्तिगत लेखन उल्लंघन नहीं करेगा - उदाहरण के लिए दोनों डॉक्टर कॉल पर कम से कम एक डॉक्टर की जाँच करते हैं, दोनों देखते हैं कि दूसरा कॉल पर है, दोनों कॉल बंद करने का निर्णय लेते हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Write skew: T1 reads (Alice=on_call, Bob=on_call), decides Alice can go off call. T2 reads same, decides Bob can go off call. Both commit. Result: no one on call (violated constraint). No write conflict (different rows written). Prevented by Serializable but not Snapshot Isolation. Example: hospital scheduling, banking constraints.
व्याख्या (हिन्दी) तिरछा लिखें: T1 पढ़ता है (ऐलिस=ऑन_कॉल, बॉब=ऑन_कॉल), निर्णय लेता है कि ऐलिस कॉल बंद कर सकती है। टी2 वही पढ़ता है, फैसला करता है कि बॉब कॉल बंद कर सकता है। दोनों प्रतिबद्ध हैं. नतीजा: कॉल पर कोई नहीं (बाधा का उल्लंघन)। कोई लेखन विरोध नहीं (अलग-अलग पंक्तियाँ लिखी गईं)। क्रमांकन द्वारा रोका गया लेकिन स्नैपशॉट अलगाव द्वारा नहीं। उदाहरण: अस्पताल का शेड्यूल, बैंकिंग बाधाएँ।
2231
EN + हिं Medium
GB What is the purpose of COMMIT WORK and ROLLBACK WORK statements in SQL transactions and when does an implicit COMMIT occur?
IN SQL लेनदेन में COMMIT WORK और ROLLBACK WORK स्टेटमेंट का उद्देश्य क्या है और एक अंतर्निहित COMMIT कब होती है?
A
These statements are synonymous with SAVEPOINT ये कथन SAVEPOINT का पर्याय हैं
B
ROLLBACK WORK only undoes INSERT operations रोलबैक कार्य केवल INSERT संचालन को पूर्ववत करता है
C
COMMIT WORK makes all transaction changes permanent and releases locks; ROLLBACK WORK undoes all changes and releases locks; implicit COMMIT occurs in most DBMS when: a DDL statement is executed (CREATE ALTER DROP) when a session normally ends or when autocommit is enabled (each statement auto-commits) प्रतिबद्ध कार्य सभी लेन-देन परिवर्तनों को स्थायी बनाता है और लॉक जारी करता है; रोलबैक कार्य सभी परिवर्तनों को पूर्ववत करता है और लॉक जारी करता है; अधिकांश DBMS में अंतर्निहित COMMIT तब होती है जब: एक DDL स्टेटमेंट निष्पादित किया जाता है (CREATE ALTER DROP) जब एक सत्र सामान्य रूप से समाप्त होता है या जब ऑटोकमिट सक्षम होता है (प्रत्येक स्टेटमेंट ऑटो-कमिट होता है)
D
COMMIT WORK only commits the last statement COMMIT WORK केवल अंतिम कथन को प्रतिबद्ध करता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Implicit COMMIT triggers: (1) DDL statements (MySQL, Oracle auto-commit before and after DDL). (2) Normal session disconnect. (3) AUTOCOMMIT=1 (each statement is its own transaction). Important: in autocommit mode, there is no rollback possible. Always wrap multi-statement operations in explicit BEGIN/START TRANSACTION.
व्याख्या (हिन्दी) अंतर्निहित कमिट ट्रिगर: (1) डीडीएल स्टेटमेंट (MySQL, Oracle DDL से पहले और बाद में ऑटो-कमिट)। (2) सामान्य सत्र डिस्कनेक्ट। (3) ऑटोकॉमिट=1 (प्रत्येक कथन अपना स्वयं का लेनदेन है)। महत्वपूर्ण: ऑटोकमिट मोड में, कोई रोलबैक संभव नहीं है। मल्टी-स्टेटमेंट ऑपरेशंस को हमेशा स्पष्ट BEGIN/START ट्रांजेक्शन में लपेटें।
2232
EN + हिं Hard
GB What is MVCC (Multi-Version Concurrency Control) and how does it allow reads to not block writes?
IN एमवीसीसी (मल्टी-वर्जन कॉन्करेंसी कंट्रोल) क्या है और यह कैसे पढ़ने को लिखने से रोकने की अनुमति देता है?
A
MVCC allows multiple concurrent commits of the same transaction एमवीसीसी एक ही लेनदेन के एकाधिक समवर्ती प्रतिबद्धताओं की अनुमति देता है
B
MVCC is a replication protocol एमवीसीसी एक प्रतिकृति प्रोटोकॉल है
C
MVCC maintains multiple timestamped versions of each row; readers see the latest committed version as of their transaction start time (snapshot) without needing to acquire locks on data; writers create new versions without affecting readers current snapshots - reads and writes proceed concurrently एमवीसीसी प्रत्येक पंक्ति के कई टाइमस्टैम्प्ड संस्करण बनाए रखता है; पाठक डेटा पर लॉक प्राप्त करने की आवश्यकता के बिना नवीनतम प्रतिबद्ध संस्करण को अपने लेनदेन प्रारंभ समय (स्नैपशॉट) के रूप में देखते हैं; लेखक पाठकों के वर्तमान स्नैपशॉट को प्रभावित किए बिना नए संस्करण बनाते हैं - पढ़ना और लिखना एक साथ आगे बढ़ता है
D
MVCC uses multiple versions of locks एमवीसीसी ताले के कई संस्करणों का उपयोग करता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) MVCC: each UPDATE creates a new row version with a commit timestamp; the old version is kept for concurrent readers still using earlier snapshots. Readers: find the latest version with commit_ts <= their_snapshot_ts (no locks needed). Writers: create new versions. Readers and writers never block each other.
व्याख्या (हिन्दी) एमवीसीसी: प्रत्येक अद्यतन एक प्रतिबद्ध टाइमस्टैम्प के साथ एक नया पंक्ति संस्करण बनाता है; पुराने संस्करण को समवर्ती पाठकों के लिए रखा गया है जो अभी भी पहले के स्नैपशॉट का उपयोग कर रहे हैं। पाठक: कमिट_टीएस के साथ नवीनतम संस्करण ढूंढें
2233
EN + हिं Easy
GB What is the XA transaction standard and what is its purpose?
IN XA लेनदेन मानक क्या है और इसका उद्देश्य क्या है?
A
A transaction format for XML data XML डेटा के लिए एक लेनदेन प्रारूप
B
The X/Open XA specification for distributed transaction processing: defines an interface between a transaction manager (TM) and resource managers (RM/databases) enabling global transactions that span multiple databases message queues and other XA-compliant resources using 2PC coordination वितरित लेनदेन प्रसंस्करण के लिए एक्स/ओपन एक्सए विनिर्देश: एक लेनदेन प्रबंधक (टीएम) और संसाधन प्रबंधकों (आरएम/डेटाबेस) के बीच एक इंटरफेस को परिभाषित करता है जो वैश्विक लेनदेन को सक्षम बनाता है जो 2पीसी समन्वय का उपयोग करके कई डेटाबेस संदेश कतारों और अन्य एक्सए-अनुपालक संसाधनों को फैलाता है।
C
A transaction standard for XML databases XML डेटाबेस के लिए एक लेनदेन मानक
D
A special transaction type for cross-application calls क्रॉस-एप्लिकेशन कॉल के लिए एक विशेष लेनदेन प्रकार
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) XA protocol: defines xa_start, xa_end, xa_prepare, xa_commit, xa_rollback functions. TM coordinates multiple RMs (each a separate database or MQ). 2PC over XA: TM calls xa_prepare on all RMs (Phase 1), then xa_commit/xa_rollback (Phase 2). Supported by MySQL, PostgreSQL, Oracle, IBM DB2, JTA in Java EE.
व्याख्या (हिन्दी) XA प्रोटोकॉल: xa_start, xa_end, xa_prepare, xa_commit, xa_rollback फ़ंक्शंस को परिभाषित करता है। टीएम कई आरएम (प्रत्येक एक अलग डेटाबेस या एमक्यू) का समन्वय करता है। XA पर 2PC: TM सभी RM (चरण 1) पर xa_prepare को कॉल करता है, फिर xa_commit/xa_rollback (चरण 2) को कॉल करता है। जावा ईई में MySQL, PostgreSQL, Oracle, IBM DB2, JTA द्वारा समर्थित।
2234
EN + हिं Easy
GB What is the deferred write vs immediate write approach in transaction processing?
IN लेन-देन प्रसंस्करण में विलंबित लेखन बनाम तत्काल लेखन दृष्टिकोण क्या है?
A
Deferred write means transactions are queued विलंबित लेखन का मतलब है कि लेनदेन कतारबद्ध हैं
B
Writing is always immediate for ACID compliance ACID अनुपालन के लिए लेखन हमेशा तत्काल होता है
C
Immediate write bypasses the transaction log तत्काल लिखना लेन-देन लॉग को बायपास कर देता है
D
Immediate write: changes are written to disk as soon as they occur (easier recovery more I/O). Deferred write: changes are kept in memory (buffer pool) and written to disk lazily (batch I/O better performance). WAL is written immediately for durability; data pages use deferred write (buffered writes with WAL ensuring recovery) तत्काल लिखना: परिवर्तन होते ही डिस्क पर लिख दिए जाते हैं (अधिक I/O पुनर्प्राप्ति आसान)। विलंबित लेखन: परिवर्तन मेमोरी (बफर पूल) में रखे जाते हैं और डिस्क पर आलस्य से लिखे जाते हैं (बैच I/O बेहतर प्रदर्शन)। स्थायित्व के लिए तुरंत वाल लिखा जाता है; डेटा पृष्ठ विलंबित लेखन का उपयोग करते हैं (WAL पुनर्प्राप्ति सुनिश्चित करने के साथ बफर्ड लेखन)
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Database I/O strategy: WAL log: force-written to disk on commit (durability). Data pages: buffered in buffer pool, written lazily (dirty page flushing). If crash: WAL lets us redo changes to data pages that were not flushed. This gives both durability (WAL) and performance (deferred data writes).
व्याख्या (हिन्दी) डेटाबेस I/O रणनीति: वाल लॉग: कमिट पर डिस्क पर बलपूर्वक लिखा गया (स्थायित्व)। डेटा पेज: बफ़र पूल में बफ़र किए गए, आलस्य से लिखे गए (गंदे पेज फ्लशिंग)। यदि क्रैश हो जाता है: WAL हमें उन डेटा पेजों में परिवर्तन फिर से करने देता है जिन्हें फ्लश नहीं किया गया था। यह स्थायित्व (वाल) और प्रदर्शन (स्थगित डेटा लेखन) दोनों देता है।
2235
EN + हिं Medium
GB What is the purpose of the isolation level REPEATABLE READ and which anomalies does it prevent and allow?
IN आइसोलेशन लेवल रिपीटेबल रीड का उद्देश्य क्या है और यह किन विसंगतियों को रोकता और अनुमति देता है?
A
REPEATABLE READ is identical to READ COMMITTED रिपीटेबल रीड, रीड कमिटेड के समान है
B
REPEATABLE READ prevents dirty reads and non-repeatable reads (same row read twice returns same value within a transaction by holding read locks or using MVCC snapshots) but in standard SQL REPEATABLE READ allows phantom reads - though MySQL InnoDB also prevents phantoms via gap locks रिपीटेबल रीड गंदे रीड्स और नॉन-रिपीटेबल रीड्स को रोकता है (एक ही पंक्ति को दो बार पढ़ने पर रीड लॉक को पकड़कर या एमवीसीसी स्नैपशॉट का उपयोग करके लेनदेन के भीतर समान मूल्य मिलता है) लेकिन मानक एसक्यूएल में रिपीटेबल रीड फैंटम रीड्स की अनुमति देता है - हालांकि MySQL InnoDB गैप लॉक के माध्यम से फैंटम को भी रोकता है
C
REPEATABLE READ prevents all anomalies दोहराए जाने योग्य रीड सभी विसंगतियों को रोकता है
D
REPEATABLE READ prevents only dirty reads दोहराए जाने योग्य रीड केवल गंदे पढ़ने को रोकता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) REPEATABLE READ: dirty reads = prevented. Non-repeatable reads = prevented (read locks held on accessed rows, or MVCC snapshot taken at transaction start). Phantom reads = allowed in SQL standard. However MySQL InnoDB REPEATABLE READ also prevents phantoms via next-key locking (gap locks + record locks). PostgreSQL REPEATABLE READ = snapshot isolation (also prevents phantoms).
व्याख्या (हिन्दी) दोबारा पढ़ने योग्य: गंदा पढ़ना = रोका गया। गैर-दोहराने योग्य रीड्स = रोका गया (एक्सेस की गई पंक्तियों पर रखे गए लॉक को पढ़ें, या लेनदेन शुरू होने पर लिया गया एमवीसीसी स्नैपशॉट)। फैंटम पढ़ता है = SQL मानक में अनुमति दी गई है। हालाँकि MySQL InnoDB REPEATABLE READ अगली-कुंजी लॉकिंग (गैप लॉक + रिकॉर्ड लॉक) के माध्यम से प्रेत को भी रोकता है। PostgreSQL रिपीटेबल रीड = स्नैपशॉट अलगाव (प्रेत को भी रोकता है)।
2221–2235 of 2982