എസിഡി നിങ്ങളുടെ ഡാറ്റാബേസിന്റെ ഡാറ്റ പരിരക്ഷിക്കുന്നു
ഡാറ്റാബേസ് ഡിസൈന്റെ എസിഡി മാതൃക, ഡാറ്റാബേസ് സിദ്ധാന്തത്തിന്റെ ഏറ്റവും പുരാതനമായ ഏറ്റവും സങ്കീര്ണ്ണമായ ആശയങ്ങളിലൊന്നാണ്. അനാലിസിറ്റി, സ്ഥിരത, ഒറ്റപ്പെടൽ, ദീർഘവീക്ഷണം: ഓരോ ഡേറ്റാബേസ് മാനേജ്മെന്റ് സംവിധാനവും അതിനായി പരിശ്രമിക്കുന്നതിനായി നാലു ലക്ഷ്യങ്ങൾ മുന്നോട്ട് വെക്കുന്നു. ഈ നാല് ലക്ഷ്യങ്ങളിൽ ഏതെങ്കിലും തരത്തിൽ പരാജയപ്പെടുന്ന ഒരു റിലേഷണൽ ഡേറ്റാബേസ് വിശ്വസനീയമല്ല. ഈ ഗുണവിശേഷങ്ങൾ ഉള്ള ഒരു ഡാറ്റാബേസ് എസിഡി-അനുസൃതമായി കണക്കാക്കപ്പെടുന്നു.
ACID നിർവ്വചിച്ചു
ഈ സ്വഭാവസവിശേഷതകൾ ഓരോന്നും വിശദമായി പരിശോധിക്കുന്നതിനായി ഒരു നിമിഷം എടുക്കാം:
- ഡാറ്റാടൈപ്പ് മാറ്റങ്ങൾ ഒരു "എല്ലാ അല്ലെങ്കിൽ ഒന്നും" നിയമവും പാലിക്കണമെന്ന് അറ്റോമിറ്റി പറയുന്നു. ഓരോ ഇടപാടിനും "ആണവ." എന്ന് പറയുന്നു. ഇടപാടിന്റെ ഒരു ഭാഗം പരാജയപ്പെട്ടാൽ, ഇടപാടുകൾ പരാജയപ്പെടുന്നു. ഏതൊരു DBMS, ഓപ്പറേറ്റിംഗ് സിസ്റ്റം അല്ലെങ്കിൽ ഹാർഡ്വെയർ പരാജയം എന്നിവയ്ക്കായാലും ഡാറ്റാബേസ് മാനേജ്മെന്റ് സിസ്റ്റം ഇടപാടുകൾക്ക് ആറ്റോമിക സ്വഭാവം നിലനിർത്തുന്നു.
- സ്ഥിരമായ ഡാറ്റ മാത്രമേ ഡാറ്റാബേസിൽ എഴുതപ്പെടുകയുള്ളൂ. ചില കാരണങ്ങളാൽ, ഒരു ഇടപാടു നടക്കുന്നത് ഡാറ്റാബേസിന്റെ സ്ഥിരത നിയമങ്ങൾ ലംഘിക്കുന്നുണ്ടെങ്കിൽ, മുഴുവൻ ഇടപാടും പിന്വലിക്കുകയും, കൂടാതെ ആ നിയമങ്ങളുമായി പൊരുത്തപ്പെടുന്ന ഒരു സംസ്ഥാനത്തിലേക്ക് ഡാറ്റാബേസ് പുനഃസ്ഥാപിക്കുകയും ചെയ്യും. മറുവശത്ത്, ഒരു ഇടപാട് വിജയകരമായി നടത്തിയാൽ, ഒരു സംസ്ഥാനത്തു നിന്നാണ് ഡാറ്റാബേസ് എടുക്കുന്നത്, അത് നിയമവുമായി പൊരുത്തപ്പെടുന്ന മറ്റൊരു സംസ്ഥാനത്തിന് നിയമങ്ങൾക്കനുസരിച്ചായിരിക്കും.
- ഒരേസമയത്ത് സംഭവിക്കുന്ന ഒന്നിലധികം ഇടപാടുകൾ പരസ്പരം വധിക്കുന്നതിനെ ബാധിക്കില്ല. ഉദാഹരണത്തിന്, മെയ് മറ്റൊരു ഡാറ്റാ ഇടപാടിനെതിരെ ഒരു ഇടപാടിനെതിരെ ജോയ് കൈകാര്യം ചെയ്യുകയാണെങ്കിൽ, രണ്ട് ഇടപാടുകളും ഡാറ്റാബേസിൽ ഒറ്റപ്പെട്ട രീതിയിൽ പ്രവർത്തിക്കണം. മേരിയുടെ നടപ്പിലാക്കുന്നതിനു മുൻപ് ഡാറ്റാബേസ് ജോയുടെ മുഴുവൻ ഇടപാടുകൾ നടത്തണം. ഇത് ജോയുടെ ഇടപാടുകൾ ഇടയ്ക്കുള്ള ഡാറ്റ വായിക്കുന്നതിൽ നിന്നും തടയുന്നു, മറിയുടെ ഇടപാടിന്റെ ഭാഗമായി ഒരു സൈഡ് ഇഫക്ട് ഉണ്ടാകുന്നു. ഒറ്റത്തവണ നടക്കുന്നത് ഏത് ഒറ്റയടിക്ക് നിർവ്വഹിക്കുന്നു എന്ന് ഒറ്റപ്പെടുത്തൽ യോഗ്യതയല്ല ഉറപ്പുവരുത്തുക - ഇടപാടുകൾ അന്യോന്യം ഇടപെടാൻ പാടുള്ളതല്ല
- ഡാറ്റാബേസിനു കൈമാറിയ ഏതെങ്കിലും ഇടപാട് നഷ്ടപ്പെടുമെന്ന് ഉറപ്പുവരുത്തുന്നു. ഏതെങ്കിലും സോഫ്റ്റ്വെയറോ ഹാർഡ്വെയറോ ഇല്ലാത്തതോ ഇടപാടുമായി ബന്ധപ്പെട്ട് സംപ്രേഷണം ചെയ്ത ഡാറ്റാബേസ് ബാക്കപ്പുകളും ട്രാൻസാക്ഷൻ ലോഗുകളും ഉപയോഗിച്ചുള്ള ഉറപ്പ്.
പ്രാക്ടീസിൽ എസിഐ എങ്ങനെയാണ് പ്രവർത്തിക്കുന്നത്?
എസിഐഡി പ്രാബല്യപ്പെടുത്തുന്നതിനായി ഡാറ്റാബേസ് അഡ്മിനിസ്ട്രേറ്റർമാർ നിരവധി തന്ത്രങ്ങൾ ഉപയോഗപ്പെടുത്തുന്നു.
അറ്റോമിറ്റിയും നിശ്ചലാവസ്ഥയും നടപ്പിലാക്കാൻ ഉപയോഗിക്കുന്ന ഒരാൾ എഴുതുവാനുള്ള ലോഗ്ഗിങ് (WAL) ആണ്, അതിൽ ഏതെല്ലാം ഇടപാട് വിശദാംശം ആദ്യം രചിച്ചതും രേഖപ്പെടുത്തുകയും ഉൾപ്പെടുന്ന ഒരു ലോഗിന് എഴുതുകയും ചെയ്യുന്നു. ഇത് ഏതെങ്കിലും വിധത്തിൽ ഒരു ഡാറ്റാബേസ് പരാജയം, ലോഗ് ചെയ്യുകയും അതിന്റെ ഉള്ളടക്കം ഡാറ്റാബേസിന്റെ അവസ്ഥയിലേക്ക് താരതമ്യം ചെയ്യുകയും ചെയ്യുക.
ആറ്റം, ഡീബബലിറ്റി കൈകാര്യം ചെയ്യാനുള്ള മറ്റൊരു മാർഗ്ഗം ഷാഡോ-പേജിങ് ആണ് , അതിൽ മാറ്റം വരുത്തുമ്പോൾ ഒരു നിഴൽ പേജ് സൃഷ്ടിക്കുന്നു. അന്വേഷണത്തിന്റെ അപ്ഡേറ്റുകൾ ഡാറ്റാബേസിലെ യഥാർത്ഥ ഡാറ്റയേക്കാൾ ഷാഡോ പേജിൽ എഴുതുന്നു. തിരുത്തൽ പൂർത്തിയാകുമ്പോൾ മാത്രം ഡാറ്റാബേസ് മാറ്റം വരുത്തുന്നു.
മറ്റൊരു തന്ത്രം രണ്ട്-ഘട്ടം പ്രതിജ്ഞാ പ്രോട്ടോക്കോൾ എന്നു വിളിക്കുന്നു, പ്രത്യേകിച്ച് വിതരണ ഡാറ്റാബേസിലുള്ള സംവിധാനങ്ങൾ. ഈ പ്രോട്ടോക്കോൾ ഡേറ്റാ രണ്ടു ഘട്ടങ്ങളായി പരിഷ്കരിക്കാനുള്ള ഒരു അഭ്യർത്ഥന വിഭജിക്കുന്നു: ഒരു സമർപ്പണ-അഭ്യർത്ഥന ഘട്ടം, പ്രതിബദ്ധത ഘട്ടം. അഭ്യർത്ഥന ഘടനയിൽ, ഇടപാടിന് ബാധകമായ ഒരു നെറ്റ്വർക്കിലെ എല്ലാ ഡിബിഎസ്എസുകളും അവർ സ്വീകരിച്ചിട്ടുണ്ടെന്നും ഇടപാടുകൾ നടത്തുന്നതിനുള്ള ശേഷി ഉണ്ടായിരിക്കണം എന്നും സ്ഥിരീകരിക്കണം. പ്രസക്തമായ എല്ലാ ഡി.ബി.എം.എസ്സുകളിൽ നിന്നുമുള്ള സ്ഥിരീകരണം ലഭിച്ചാൽ, യഥാർത്ഥത്തിൽ പരിഷ്കരിച്ച ഡാറ്റയിൽ പൂർത്തിയാകും.