Data Concurrency and Data Consistency

Data Concurrency and Data Consistency – जब कभी भी किसी Database को एक से ज्‍यादा Users Use करते हैं, तब ये जानना जरूरी होता है कि जब दो Users समान Table के समान Row को एक ही समय पर Access करना चाहते हैं, तब Oracle उन्हें कैसे Manage करता है। ये बात Access या Oracle किसी भी Database पर लागू होती है। एक Database इस Multi-User Issue को कितनी अच्छी तरह से Deal करता है, ये बात एक Developer के लिए बहुत ही महत्वपूर्ण होती है। हालांकि Oracle इस समस्या को स्वयं ही Handle करता है और हमें इस सम्बंध में किसी प्रकार की कोई चिन्ता करने की जरूरत नहीं होती है। Multi-Users Issue के साथ निम्न Oracle Functions Deal करते हैं:

Data Concurrency

Different Users द्वारा समान Data को Update करने की प्रक्रिया को Manage करने की Ability को Data Concurrency कहा जाता है। Oracle में ये Management एक विशेष Locking Schema पर आधारित होता है। यदि हम किसी Table के Row को Update कर रहे होते हैं, तो Oracle उस Row को Lock कर देता है और कोई अन्‍य User तब तक उस Data को Access नहीं कर सकता है, जब तक कि उस Row के साथ हमारा Transaction Complete नहीं हो जाता है।

Data Consistency

किसी SELECT Statement द्वारा एक Consistence Result प्राप्त करने की क्षमता को Data Consistency कहा जाता है। इसका मतलब ये होता है कि यदि हम किसी Data को Use कर रहे हैं तो किसी दूसरे User द्वारा उसी Data को Update करने का प्रभाव हमारे Result पर नहीं पडता है। इस प्रक्रिया में वह Change भी शामिल होता है, जिसे किसी अन्‍य User ने Database में Apply तो किया है, लेकिन उस Change को अभी तक Commit नहीं किया है। इस Function को Statement Level Read Consistency कहा जाता है।

Locking Strategies

जब कोई User किसी Data को Change करना चाहता है, तब Oracle Affect होने वाले Rows पर एक Lock लगा देता है। ऐसा करने के कारण कोई भी दूसरा User Same Rows को जब तक के लिए Modify नहीं कर पाता है, जब तक कि पहला User उन Affected Rows के साथ अपना Transaction Complete नहीं कर लेता है। इन Affected Rows को Destructive Interference कहा जाता है। इसके अलावा Oracle Table पर एक Share Lock भी Place करता है। ये Lock किसी भी अन्‍य User को Data Definition Language (DDL) Statements द्वारा Database के Structure को Alter करने या किसी Table को Drop करने से रोक देता है।

Oracle किसी Table में Row Level पर Locking करने में सक्षम है, जबकि कई अन्‍य Databases केवल Page-Level Locking की सुविधा ही Provide करते हैं, जिसमें बहुत सारे Rows Lock हो जाते हैं, फिर चाहे एक ही Row को Update क्‍यों ना किया जा रहा हो।

Consistency Achievement

Oracle में Consistency को एक बहुत ही Clear तरीके से प्राप्त किया जाता है। जब हम Oracle को कोई SELECT Statement Submit करते हैं, तो Oracle Request के Start Time को Note कर लेता है और उसके बाद Data को Retrieve करता है। SELECT Statement के Start होने के बाद यदि कोई Row Change होता है, तो Consistency Rule का Violation होता है। इस समस्या के समाधान के लिए Oracle Changed Data को फिर से Rollback करके उसी स्थिति में Store कर देता है, जिस स्थिति में Data Rollback Segment में पहले था। इस तरह से Rollback Segment में पिछला Data ही Stored रहता है। जब SELECT Statement Changed Row पर पहुंचता है, Oracle Directly उसे Rollback Segment पर भेज देता है, ताकि पिछला Record ही प्राप्त हो। (Data Concurrency and Data Consistency)

Oracle 8i/9i SQL/PLSQL in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Oracle 8i/9i SQL/PLSQL in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Oracle 8i/9i SQL/PLSQL in Hindi | Page: 587 | Format: PDF

BUY NOW GET DEMO REVIEWS