DBMS — MCQ Practice

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

📚 158 Questions 🌐 Hindi + English ✅ Free
भाषा / Language:
158 questions
91
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 वही पढ़ता है, फैसला करता है कि बॉब कॉल बंद कर सकता है। दोनों प्रतिबद्ध हैं. नतीजा: कॉल पर कोई नहीं (बाधा का उल्लंघन)। कोई लेखन विरोध नहीं (अलग-अलग पंक्तियाँ लिखी गईं)। क्रमांकन द्वारा रोका गया लेकिन स्नैपशॉट अलगाव द्वारा नहीं। उदाहरण: अस्पताल का शेड्यूल, बैंकिंग बाधाएँ।
92
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 ट्रांजेक्शन में लपेटें।
93
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.
व्याख्या (हिन्दी) एमवीसीसी: प्रत्येक अद्यतन एक प्रतिबद्ध टाइमस्टैम्प के साथ एक नया पंक्ति संस्करण बनाता है; पुराने संस्करण को समवर्ती पाठकों के लिए रखा गया है जो अभी भी पहले के स्नैपशॉट का उपयोग कर रहे हैं। पाठक: कमिट_टीएस के साथ नवीनतम संस्करण ढूंढें
94
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 द्वारा समर्थित।
95
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 हमें उन डेटा पेजों में परिवर्तन फिर से करने देता है जिन्हें फ्लश नहीं किया गया था। यह स्थायित्व (वाल) और प्रदर्शन (स्थगित डेटा लेखन) दोनों देता है।
96
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 रिपीटेबल रीड = स्नैपशॉट अलगाव (प्रेत को भी रोकता है)।
97
EN + हिं Easy
GB What is the ACID theorem and who originally proposed these database transaction properties?
IN ACID प्रमेय क्या है और मूल रूप से इन डेटाबेस लेनदेन गुणों का प्रस्ताव किसने दिया?
A
ACID was defined by the SQL-86 standard committee ACID को SQL-86 मानक समिति द्वारा परिभाषित किया गया था
B
ACID (Atomicity Consistency Isolation Durability) was formalized by Jim Gray and Andreas Reuter in 1992 in their book Transaction Processing: Concepts and Techniques though the individual concepts were discussed earlier by Eswaran et al in 1976 (regarding consistency and isolation) and Gray in 1978 (regarding transaction properties) ACID (एटोमिसिटी कंसिस्टेंसी आइसोलेशन ड्यूरेबिलिटी) को जिम ग्रे और एंड्रियास रॉयटर ने 1992 में अपनी पुस्तक ट्रांजेक्शन प्रोसेसिंग: कॉन्सेप्ट्स एंड टेक्निक्स में औपचारिक रूप दिया था, हालांकि व्यक्तिगत अवधारणाओं पर पहले 1976 में ईश्वरन एट अल द्वारा (स्थिरता और अलगाव के संबंध में) और ग्रे द्वारा 1978 में (लेन-देन गुणों के संबंध में) चर्चा की गई थी।
C
ACID was proposed by Dijkstra in the context of operating systems ACID को ऑपरेटिंग सिस्टम के संदर्भ में दिज्क्स्ट्रा द्वारा प्रस्तावित किया गया था
D
ACID was proposed by Codd in his 1970 relational model paper ACID को कोडड ने अपने 1970 के रिलेशनल मॉडल पेपर में प्रस्तावित किया था
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Historical context: Eswaran et al. 1976 (IBM): discussed consistency and isolation in the context of database systems. Jim Gray 1978: formalized transaction concepts including atomicity and durability. Gray and Reuter 1992 Transaction Processing book: coined the ACID acronym and formalized all four properties. Gray received the 1998 Turing Award for this and related work.
व्याख्या (हिन्दी) ऐतिहासिक संदर्भ: ईश्वरन एट अल। 1976 (आईबीएम): डेटाबेस सिस्टम के संदर्भ में स्थिरता और अलगाव पर चर्चा की गई। जिम ग्रे 1978: परमाणुता और स्थायित्व सहित औपचारिक लेनदेन अवधारणाएँ। ग्रे और रॉयटर 1992 ट्रांजेक्शन प्रोसेसिंग पुस्तक: ACID का संक्षिप्त नाम गढ़ा और सभी चार संपत्तियों को औपचारिक रूप दिया। ग्रे को इस और संबंधित कार्य के लिए 1998 का ​​ट्यूरिंग पुरस्कार प्राप्त हुआ।
98
EN + हिं Medium
GB What is the difference between redo log and undo log in transaction processing?
IN लेन-देन प्रसंस्करण में लॉग फिर से करें और लॉग पूर्ववत करें के बीच क्या अंतर है?
A
Only one of them is needed for ACID compliance ACID अनुपालन के लिए उनमें से केवल एक की आवश्यकता है
B
Redo log: records the AFTER-image (new value) of each change enabling REDO (replay) of committed transactions during crash recovery to bring the database to the committed state. Undo log: records the BEFORE-image (original value) of each change enabling ROLLBACK of uncommitted transactions and MVCC snapshots for concurrent readers दोबारा लॉग करें: डेटाबेस को प्रतिबद्ध स्थिति में लाने के लिए क्रैश रिकवरी के दौरान प्रतिबद्ध लेनदेन के REDO (रीप्ले) को सक्षम करने वाले प्रत्येक परिवर्तन की AFTER-छवि (नया मान) रिकॉर्ड करता है। लॉग को पूर्ववत करें: प्रत्येक परिवर्तन की BEFORE-छवि (मूल मान) को रिकॉर्ड करता है, जो अप्रतिबद्ध लेनदेन के रोलबैक और समवर्ती पाठकों के लिए एमवीसीसी स्नैपशॉट को सक्षम करता है।
C
Redo log is for aborted transactions; undo log is for committed transactions निरस्त लेनदेन के लिए रीडू लॉग है; पूर्ववत लॉग प्रतिबद्ध लेनदेन के लिए है
D
They are different names for the same log वे एक ही लॉग के लिए अलग-अलग नाम हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Redo log (WAL/redo log): COMMIT -> force-write redo records to disk -> redo log. Recovery: replay redo records to apply all committed changes. Undo log (rollback log): before each change, save before-image. ROLLBACK: apply undo log in reverse. MVCC: undo log chain allows readers to see earlier versions. Both are required for full ACID compliance.
व्याख्या (हिन्दी) लॉग फिर से करें (वाल/रीडो लॉग): प्रतिबद्ध -> बलपूर्वक डिस्क पर दोबारा रिकॉर्ड लिखें -> लॉग फिर से करें। पुनर्प्राप्ति: सभी प्रतिबद्ध परिवर्तनों को लागू करने के लिए रिकॉर्ड को दोबारा चलाएं। लॉग को पूर्ववत करें (रोलबैक लॉग): प्रत्येक परिवर्तन से पहले, बिफोर-इमेज को सेव करें। रोलबैक: पूर्ववत लॉग को उल्टा लागू करें। एमवीसीसी: पूर्ववत लॉग श्रृंखला पाठकों को पुराने संस्करण देखने की अनुमति देती है। पूर्ण ACID अनुपालन के लिए दोनों आवश्यक हैं।
99
EN + हिं Easy
GB What is the concept of nested transactions and how do they relate to SAVEPOINTS?
IN नेस्टेड लेनदेन की अवधारणा क्या है और वे SAVEPOINTS से कैसे संबंधित हैं?
A
Nested transactions always commit when the outer transaction commits नेस्टेड लेनदेन हमेशा तब प्रतिबद्ध होते हैं जब बाहरी लेनदेन प्रतिबद्ध होता है
B
Nested transactions are only available in Oracle नेस्टेड लेनदेन केवल Oracle में उपलब्ध हैं
C
Nested transactions are not supported in any DBMS नेस्टेड लेनदेन किसी भी DBMS में समर्थित नहीं हैं
D
A nested transaction is a transaction started within another transaction; in most DBMS true nested transactions are not supported but SAVEPOINTs provide similar functionality - a ROLLBACK TO SAVEPOINT is analogous to rolling back an inner transaction while keeping the outer transaction alive नेस्टेड लेनदेन किसी अन्य लेनदेन के भीतर शुरू किया गया लेनदेन है; अधिकांश DBMS में सच्चे नेस्टेड लेनदेन समर्थित नहीं हैं, लेकिन SAVEPOINTs समान कार्यक्षमता प्रदान करते हैं - SAVEPOINT पर रोलबैक बाहरी लेनदेन को जीवित रखते हुए आंतरिक लेनदेन को वापस रोल करने के समान है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) True nested transactions (supported by some DBMS like Sybase, SQL Server with XACT_ABORT): inner transaction can commit or rollback independently. Most DBMS simulate nesting with SAVEPOINTs: SAVEPOINT sp1; (inner work); ROLLBACK TO sp1 (inner rollback, outer continues). Full nested transactions with independent commit/rollback require specialized DBMS support.
व्याख्या (हिन्दी) ट्रू नेस्टेड लेनदेन (कुछ DBMS जैसे Sybase, XACT_ABORT के साथ SQL सर्वर द्वारा समर्थित): आंतरिक लेनदेन स्वतंत्र रूप से प्रतिबद्ध या रोलबैक हो सकता है। अधिकांश DBMS SAVEPOINTs के साथ नेस्टिंग का अनुकरण करते हैं: SAVEPOINT sp1; (आंतरिक कार्य); SP1 पर रोलबैक (आंतरिक रोलबैक, बाहरी जारी रहता है)। स्वतंत्र कमिट/रोलबैक के साथ पूर्ण नेस्टेड लेनदेन के लिए विशेष डीबीएमएस समर्थन की आवश्यकता होती है।
100
EN + हिं Easy
GB What is a compensation transaction in distributed transaction management and when is it used?
IN वितरित लेनदेन प्रबंधन में मुआवजा लेनदेन क्या है और इसका उपयोग कब किया जाता है?
A
A compensation transaction is a semantically inverse operation that undoes the effects of a previously committed transaction when a later step in a distributed saga or workflow fails; unlike physical undo (only possible for uncommitted transactions), compensation is a new positive transaction that reverses the business effect such as issuing a refund to compensate for a completed charge मुआवज़ा लेनदेन एक शब्दार्थ रूप से उलटा ऑपरेशन है जो पहले प्रतिबद्ध लेनदेन के प्रभावों को समाप्त कर देता है जब वितरित गाथा या वर्कफ़्लो में बाद का चरण विफल हो जाता है; भौतिक पूर्ववत (केवल अप्रतिबद्ध लेनदेन के लिए संभव) के विपरीत, मुआवजा एक नया सकारात्मक लेनदेन है जो व्यावसायिक प्रभाव को उलट देता है जैसे कि पूर्ण शुल्क की भरपाई के लिए रिफंड जारी करना
B
A transaction that compensates database administrators for their overtime work एक लेनदेन जो डेटाबेस प्रशासकों को उनके ओवरटाइम काम के लिए मुआवजा देता है
C
A transaction that adjusts database statistics after bulk operations एक लेन-देन जो थोक संचालन के बाद डेटाबेस आँकड़ों को समायोजित करता है
D
A transaction that compensates for slow query performance एक लेन-देन जो धीमे क्वेरी प्रदर्शन की भरपाई करता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Compensation examples: SAGA order processing: Step1=charge card (committed), Step2=reserve inventory (failed). Compensation for Step1=issue_refund (new transaction, not rollback). Compensation must be idempotent (safe to retry). Not always possible: some actions cannot be compensated (sent email). Design: for each saga step T_i, define compensating transaction C_i upfront.
व्याख्या (हिन्दी) मुआवज़े के उदाहरण: SAGA ऑर्डर प्रोसेसिंग: चरण1=चार्ज कार्ड (प्रतिबद्ध), चरण2=आरक्षित इन्वेंट्री (असफल)। चरण1 के लिए मुआवज़ा=issue_refund (नया लेनदेन, रोलबैक नहीं)। मुआवज़ा निष्प्रभावी (पुनः प्रयास करने के लिए सुरक्षित) होना चाहिए। हमेशा संभव नहीं: कुछ कार्यों की भरपाई नहीं की जा सकती (ईमेल भेजा गया)। डिज़ाइन: प्रत्येक गाथा चरण T_i के लिए, क्षतिपूर्ति लेनदेन C_i को पहले से परिभाषित करें।
101
EN + हिं Easy
GB What is the lost update problem and which isolation level prevents it?
IN खोई हुई अद्यतन समस्या क्या है और कौन सा अलगाव स्तर इसे रोकता है?
A
A transaction that accidentally deletes rows instead of updating them एक लेन-देन जो गलती से पंक्तियों को अद्यतन करने के बजाय हटा देता है
B
A problem that only occurs in distributed databases across multiple nodes एक समस्या जो केवल एकाधिक नोड्स में वितरित डेटाबेस में होती है
C
The lost update problem: T1 reads value X=100, T2 reads value X=100, T1 writes X+=50 (X=150), T2 writes X+=30 (X=130 based on its stale read) - T1 update is lost. Prevented by: REPEATABLE READ (read locks prevent T2 from reading until T1 commits), SERIALIZABLE, or optimistic locking (T2 update fails because X changed since T2 read it) खोई हुई अद्यतन समस्या: T1 मान X=100 पढ़ता है, T2 मान X=100 पढ़ता है, T1 X+=50 (X=150) लिखता है, T2 X+=30 लिखता है (X=130 इसके पुराने पाठ के आधार पर) - T1 अद्यतन खो गया है। द्वारा रोका गया: दोहराए जाने योग्य रीड (रीड लॉक T2 को तब तक पढ़ने से रोकता है जब तक कि T1 प्रतिबद्ध न हो जाए), सीरियलाइज़ेबल, या आशावादी लॉकिंग (T2 अपडेट विफल हो जाता है क्योंकि T2 द्वारा इसे पढ़ने के बाद से X बदल गया है)
D
An issue where a transaction loses its network connection before committing एक समस्या जहां कोई लेन-देन करने से पहले अपना नेटवर्क कनेक्शन खो देता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Lost update solutions: (1) SELECT FOR UPDATE: T1 acquires X-lock on read, T2 blocks until T1 commits. T2 then reads X=150, writes X=180 (correct). (2) Optimistic: UPDATE t SET balance=130 WHERE balance=100 AND id=X -> 0 rows affected (X changed to 150) -> retry. (3) Atomic operations: UPDATE t SET balance=balance+30 WHERE id=X (database handles atomically). Option 3 is best for simple increments.
व्याख्या (हिन्दी) खोए हुए अद्यतन समाधान: (1) अद्यतन के लिए चयन करें: टी1 पढ़ने पर एक्स-लॉक प्राप्त करता है, टी1 के प्रतिबद्ध होने तक टी2 ब्लॉक करता है। T2 फिर X=150 पढ़ता है, X=180 लिखता है (सही)। (2) आशावादी: अद्यतन टी सेट संतुलन = 130 जहां संतुलन = 100 और आईडी = एक्स -> 0 पंक्तियाँ प्रभावित (एक्स को 150 में बदल दिया गया) -> पुनः प्रयास करें। (3) परमाणु संचालन: अद्यतन टी सेट संतुलन = संतुलन + 30 जहां आईडी = एक्स (डेटाबेस परमाणु रूप से संभालता है)। साधारण वेतन वृद्धि के लिए विकल्प 3 सर्वोत्तम है।
102
EN + हिं Medium
GB What is the Atomicity property of ACID transactions and how is it implemented by the DBMS?
IN ACID लेनदेन की एटोमिसिटी संपत्ति क्या है और इसे DBMS द्वारा कैसे कार्यान्वित किया जाता है?
A
Atomicity means each statement is its own transaction परमाणुता का अर्थ है कि प्रत्येक कथन अपना स्वयं का लेनदेन है
B
Transactions are processed by a single atomic CPU लेन-देन एकल परमाणु सीपीयू द्वारा संसाधित किए जाते हैं
C
All operations in a transaction either ALL complete successfully (COMMIT) or ALL are undone (ROLLBACK) - implemented via the undo log: before each change the original value is written to the undo log enabling complete rollback if the transaction fails or is explicitly rolled back लेन-देन में सभी ऑपरेशन या तो सभी सफलतापूर्वक पूर्ण (COMMIT) या सभी पूर्ववत (रोलबैक) - पूर्ववत लॉग के माध्यम से कार्यान्वित किए जाते हैं: प्रत्येक परिवर्तन से पहले मूल मान को पूर्ववत लॉग में लिखा जाता है, यदि लेनदेन विफल हो जाता है या स्पष्ट रूप से वापस रोल किया जाता है तो पूर्ण रोलबैक सक्षम होता है।
D
Transactions execute at the atomic CPU instruction level लेनदेन परमाणु सीपीयू अनुदेश स्तर पर निष्पादित होते हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Atomicity implementation: DBMS maintains undo/rollback log with before-images of modified data. If ROLLBACK: apply undo log in reverse order to restore original values. If COMMIT: make changes permanent, discard undo log entries. Crash during transaction: recovery applies undo log during restart.
व्याख्या (हिन्दी) एटोमिसिटी कार्यान्वयन: डीबीएमएस संशोधित डेटा की पूर्व-छवियों के साथ पूर्ववत/रोलबैक लॉग बनाए रखता है। यदि रोलबैक: मूल मानों को पुनर्स्थापित करने के लिए रिवर्स ऑर्डर में लॉग को पूर्ववत करें लागू करें। यदि प्रतिबद्ध हैं: परिवर्तनों को स्थायी बनाएं, लॉग प्रविष्टियों को पूर्ववत करें। लेन-देन के दौरान क्रैश: पुनर्प्राप्ति पुनरारंभ के दौरान लॉग को पूर्ववत करने पर लागू होती है।
103
EN + हिं Easy
GB What is the Consistency property in ACID and who is responsible for defining the constraints that must hold?
IN ACID में संगति संपत्ति क्या है और उन बाधाओं को परिभाषित करने के लिए कौन जिम्मेदार है जो अवश्य होनी चाहिए?
A
Consistency only applies to financial transactions संगति केवल वित्तीय लेनदेन पर लागू होती है
B
Consistency means the transaction takes the database from one valid state to another - the DBMS enforces defined constraints (PK FK CHECK NOT NULL) but the APPLICATION is responsible for ensuring business-level constraints are upheld (the DB only enforces what it knows about) संगति का मतलब है कि लेनदेन डेटाबेस को एक वैध स्थिति से दूसरे में ले जाता है - डीबीएमएस परिभाषित बाधाओं को लागू करता है (पीके एफके चेक शून्य नहीं है) लेकिन एप्लिकेशन यह सुनिश्चित करने के लिए ज़िम्मेदार है कि व्यवसाय-स्तरीय बाधाओं को बरकरार रखा गया है (डीबी केवल वही लागू करता है जिसके बारे में वह जानता है)
C
Consistency is maintained automatically without any constraints बिना किसी बाधा के निरंतरता स्वचालित रूप से बनी रहती है
D
The DBMS is solely responsible for all consistency डीबीएमएस सभी स्थिरता के लिए पूरी तरह जिम्मेदार है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Consistency is a shared responsibility: DBMS enforces: schema constraints (NOT NULL, UNIQUE, FK, CHECK). Application must ensure: business rules beyond schema (e.g., ensuring order total = sum of line items, managing multi-table business invariants). The DBMS cannot know all business rules.
व्याख्या (हिन्दी) संगति एक साझा जिम्मेदारी है: डीबीएमएस लागू करता है: स्कीमा बाधाएं (शून्य नहीं, अद्वितीय, एफके, चेक)। एप्लिकेशन को यह सुनिश्चित करना होगा: स्कीमा से परे व्यावसायिक नियम (उदाहरण के लिए, कुल ऑर्डर सुनिश्चित करना = लाइन आइटम का योग, मल्टी-टेबल बिजनेस इनवेरिएंट का प्रबंधन करना)। DBMS सभी व्यावसायिक नियमों को नहीं जान सकता।
104
EN + हिं Easy
GB What is the Isolation property and what is the trade-off between stronger isolation levels and performance?
IN अलगाव संपत्ति क्या है और मजबूत अलगाव स्तर और प्रदर्शन के बीच क्या तालमेल है?
A
Higher isolation always improves performance उच्च अलगाव हमेशा प्रदर्शन में सुधार करता है
B
Isolation ensures concurrent transactions execute as if they were serial; stronger isolation (SERIALIZABLE) prevents more anomalies but requires more locking/MVCC overhead reducing concurrency and throughput. Weaker isolation (READ COMMITTED) allows more anomalies but permits higher concurrency अलगाव सुनिश्चित करता है कि समवर्ती लेनदेन ऐसे निष्पादित हों जैसे कि वे क्रमबद्ध हों; मजबूत अलगाव (सीरियलाइज़ेबल) अधिक विसंगतियों को रोकता है लेकिन संगामिति और थ्रूपुट को कम करने के लिए अधिक लॉकिंग/एमवीसीसी ओवरहेड की आवश्यकता होती है। कमजोर अलगाव (प्रतिबद्ध पढ़ें) अधिक विसंगतियों की अनुमति देता है लेकिन उच्च समवर्तीता की अनुमति देता है
C
Isolation only applies to reads not writes अलगाव केवल पढ़ने पर लागू होता है, लिखने पर नहीं
D
Isolation eliminates all transaction conflicts अलगाव सभी लेन-देन संबंधी विवादों को समाप्त कर देता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Isolation trade-off: SERIALIZABLE prevents all anomalies (dirty read, non-repeatable read, phantom read) via range locks or snapshot isolation, but highest lock contention / lowest throughput. READ UNCOMMITTED: no isolation, maximum concurrency but allows dirty reads. Most systems use READ COMMITTED as default.
व्याख्या (हिन्दी) आइसोलेशन ट्रेड-ऑफ: सीरियलाइज़ेबल रेंज लॉक या स्नैपशॉट आइसोलेशन के माध्यम से सभी विसंगतियों (गंदी रीड, नॉन-रिपीटेबल रीड, फैंटम रीड) को रोकता है, लेकिन उच्चतम लॉक कंटेंट / सबसे कम थ्रूपुट को रोकता है। अप्रतिबद्ध पढ़ें: कोई अलगाव नहीं, अधिकतम समवर्ती लेकिन गंदे पढ़ने की अनुमति देता है। अधिकांश सिस्टम डिफ़ॉल्ट रूप से READ COMMITTED का उपयोग करते हैं।
105
EN + हिं Medium
GB What is the Durability property and how does Write-Ahead Logging (WAL) implement it?
IN टिकाऊपन गुण क्या है और राइट-अहेड लॉगिंग (वाल) इसे कैसे कार्यान्वित करता है?
A
Once a transaction is committed its changes persist even through system crashes; WAL implements this by writing log records to disk BEFORE applying changes to the database ensuring that committed changes can be replayed during recovery even if the data pages were not yet flushed एक बार लेन-देन हो जाने के बाद सिस्टम क्रैश होने पर भी इसमें परिवर्तन जारी रहता है; वाल डेटाबेस में परिवर्तन लागू करने से पहले डिस्क पर लॉग रिकॉर्ड लिखकर इसे लागू करता है, यह सुनिश्चित करता है कि पुनर्प्राप्ति के दौरान किए गए परिवर्तनों को फिर से दोहराया जा सकता है, भले ही डेटा पेज अभी तक फ्लश न किए गए हों।
B
Data is backed up to a remote server डेटा का बैकअप रिमोट सर्वर पर किया जाता है
C
Durability means data is stored in RAID for redundancy टिकाऊपन का मतलब है कि डेटा को अतिरेक के लिए RAID में संग्रहीत किया जाता है
D
Durability requires storing data in at least three locations स्थायित्व के लिए कम से कम तीन स्थानों पर डेटा संग्रहीत करने की आवश्यकता होती है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) WAL/WAL protocol: log record for each change written to stable storage (disk flush) before the corresponding change is applied to the database. On COMMIT: log record is force-written to disk. On crash: log is read forward (redo committed transactions) and backward (undo uncommitted). Guarantees committed data survives crashes.
व्याख्या (हिन्दी) वाल/वाल प्रोटोकॉल: डेटाबेस पर संबंधित परिवर्तन लागू होने से पहले स्थिर भंडारण (डिस्क फ्लश) में लिखे गए प्रत्येक परिवर्तन के लिए लॉग रिकॉर्ड। COMMIT पर: लॉग रिकॉर्ड डिस्क पर बलपूर्वक लिखा जाता है। क्रैश होने पर: लॉग को आगे पढ़ा जाता है (प्रतिबद्ध लेनदेन को फिर से करें) और पीछे (अप्रतिबद्ध लेनदेन को पूर्ववत करें)। गारंटी देता है कि प्रतिबद्ध डेटा क्रैश होने से बच जाता है।
91–105 of 158