የኤሲዲ (ACID) የውሂብ ጎታዎን ውሂብ ይከላከላል
የ ACID ሞዴል ዲዛይነር ዲዛይኑ እጅግ በጣም ጥንታዊ እና እጅግ በጣም አስፈላጊ ከሆኑ የመረጃ ቋት ጽንሰ-ሀሳቦች ውስጥ አንዱ ነው. እያንዳንዱ የድህረ-ምጣኔ አመራር ስርዓት ለማሟላት የሚያግዙ አራት ግቦችን ያስቀምጣል-የአቶሚክ, የቋሚነት, የመገለልና የረጅም ግዜ. ከእነዚህ አራት ግቦች ውስጥ አንዱን ማሟላት የማይችል ዝምድና ያለው የውሂብ ጎታ ሊወሰዱ አይቻልም. እነዚህን ባህሪይ የያዘው የውሂብ ጎታ እንደ ACID አስገዳጅ ሆኖ ይቆጠራል.
ኤሲአይድ ተለይቷል
እያንዳንዱን ዝርዝር ሁኔታ በዝርዝር ለመመርመር ጥቂት ጊዜ እንውሰድ.
- የአቶሚኒዝም ማስረጃ እንደታየው የውሂብ ጎታ ማሻሻያ "ሁሉንም ወይም ምንም ነገር" ህግን መከተል አለበት. እያንዳንዱ ግብይት «አቶሚክ» ነው ይባላል. አንድ የግብይቱ ግብይት ካልተሳካ, ሁሉም ግብይቶች ካልተሳኩ. የውሂብ ጎታ አስተዳደር ሲስተም በየትኛውም የ DBMS, ስርዓተ ክወናው ወይም የሃርድዌር አለመሳካት ውስጥ ቢሆንም የግብይቶች የአቶሚክ ተፈጥሮአዊ ነው.
- ውሱንነት የሚገልጸው ትክክለኛ መረጃ ብቻ ወደ መረጃ ቋት ብቻ ነው. በሆነ ምክንያት, የውሂብ ጎታውን ደንቦች ሕገ ደንብ የሚጥስ አንድ ግብይት ሲተገበር, አጠቃላዩ ልውውጥ መልሶ ይለቀቃል, እና የውሂብ ጎታዎቹ ከተጠቀሱት ደንቦች ጋር ወደሚስማማ ሁኔታ ይመለሳል. በሌላ በኩል አንድ ግብይት በተሳካ ሁኔታ ከተፈጸመ የውሂብ ጎታውን ከህግቦች ጋር ተጣጥሞ ከህገ-ወጥ እርምጃዎች ጋር ከተጣጣመ ሁኔታ ወደ አንድ ግዛት ይወስዳል.
- ገለልተኛነት ብዙ ክንውኖች በተመሳሳይ ጊዜ ላይ እርስ በእርስ ላይ ተጽዕኖ አያሳድሩበትም. ለምሳሌ, ጆ በሜሪላንድ የውሂብ ጎታ ላይ ከአንድ ግብይት ጋር ግብይት ከፈፀመ, ሜሪም የተለየ ግብይት ከፈጠረበት ጊዜ, ሁለቱንም ግብይቶች በውሂብ ጎታ ላይ በግልፅ መስራት አለባቸው. የውሂብ ጎታዎች የሜሪን አጠቃላይ ልውውትን ማሪስን ከመተግበሩ በፊት ወይንም በተቃራኒው መፈጸም አለባቸው. ይህ የያኢን ጅረት ውዝግብ በማንበብ የማታ ወለድ ግብረ-ሥጋዊ ንፅፅር (መሐከለኛ) ን በማንሳት ለመረጃ ማከማቸት የማይሰጥ ነው. የማቆም ባህሪው የትኛው ግብይት ቀደሞ እንደሚሰራ የማያረጋግጥ መሆኑን ያስተውሉ - ግብይቶች እርስ በርሳቸው አይጣመሩም
- ቆጣቢነት በመረጃ ቋት ላይ የተደረጉ ግብይቶች በሙሉ አይጠፉም. ቆጣቢነት የሚረጋገጠው ከተከታታይ ሶፍትዌሮች ወይም የሃርድዌር ውድቀት ጋር ተያይዞ የገቡት የግብይቶች ማስተካከያዎችን ለማመቻቸት የሚረዱ የመረጃ ቋቶችን እና የግብይት ምዝግቦችን በመጠቀም ነው.
ACID እንዴት በተግባር ላይ እንደሚሠራ
የውሂብ ጎታ ተቆጣጣሪዎች ኤሲዲን ለማስፈፀም በርካታ ስልቶችን ይጠቀማሉ.
የትኛው የግብይት ዝርዝር በመጀመሪያ የተፃፈው በመድገም እና መረጃን መቀልበስን የሚያካትት የትንሽ ጊዜ ጥቃቅን እና ጥንካሬን ለማጽዳት ጥቅም ላይ የዋለው አቶፊኬቲንግ እና ረዥም ጊዜ መቆየት ነው. ይህ ምንም አይነት የውሂብ ጎታ አለመሳካትን መሰረት አድርጎ የውሂብ ጎታ መከታተል ይችላል. ምዝግብ ማስታወሻውን እና የውሂብ ጎታውን ሁኔታ ያወዳድሩ.
ለአቶሜትሪነት እና ለረዥም ጊዜ ለመቆየት ጥቅም ላይ የዋለ ሌላ ዘዴ ደግሞ ውሂብ በሚስተካከልበት ጊዜ ጥላ (shadow) በመባል ይታወቃል. የጥያቄው ዝማኔዎች በመረጃ ቋት ውስጥ ካለው ትክክለኛውን መረጃ ይልቅ ወደ ጥላ ገጽ ይጻፋል. የውሂብ ጎታ እራሱ ብቻ ነው ማስተካከያው ሲጠናቀቅ ብቻ.
ሌላው ስትራቴጂ ደግሞ ሁለት-ደረጃ የስምምነቱ ( ፕሮቶኮል) ፕሮቶኮል በተለይም በስርጭት የውሂብ ጎታ ስርዓት ውስጥ ጠቃሚ ነው. ይህ ፕሮቶኮል ውሂብን በሁለት ደረጃዎች የማሻሻል ጥያቄን ይለያል-የፍቃደኝነት ጥያቄ ደረጃ እና የፍተሻ ደረጃ. በፕሮጀክቱ ደረጃ, በግብይቱ ላይ ተፅእኖ ባላቸው አውታሮች ላይ ሁሉም DBMS ዎች መቀበላቸውን ማረጋገጥ እና የገንዘብ ልውውጡን የማከናወን አቅም እንዳላቸው ማረጋገጥ አለባቸው. ማረጋገጫ ካገኙ ከሁሉም ተዛማጅነት ያላቸው የዲሲቢሊቲ / ዲኤምኤስዎች (receptacles) ከተቀበሉ በኋላ, ውሂቡ በተጨባባቂነት የሚፈፀምበት የፍተሻ ፍፃሜ.