በመረጃ ቋቶች ውስጥ የግብይት ማግለል ደረጃን በማዳከም ምን ሊያስከትል ይችላል?

ሰላም ሁላችሁም። ቭላዲላቭ ሮዲን ተገናኝቷል። እኔ በአሁኑ ጊዜ በ OTUS ለከፍተኛ የስራ ጫና አርክቴክት ኮርስ ኮርስ መሪ ነኝ እና እንዲሁም የሶፍትዌር አርክቴክቸር ኮርሶችን አስተምራለሁ።

ከማስተማር በተጨማሪ፣ እርስዎ እንዳስተዋሉት፣ ለ OTUS ብሎግ በሀበሬ ላይ ኦሪጅናል ጽሑፍ እየጻፍኩ ነው እና ከዛሬው መጣጥፍ ጋር ከትምህርቱ መጀመር ጋር እንዲገጣጠም እፈልጋለሁ። "PostgreSQL", ይህም አሁን ለምዝገባ ክፍት ነው.

በመረጃ ቋቶች ውስጥ የግብይት ማግለል ደረጃን በማዳከም ምን ሊያስከትል ይችላል?

መግቢያ

В ባለፈዉ ጊዜ በመረጃ ቋቶች ውስጥ የሚደረጉ ግብይቶች ሁለት ችግሮችን ለመፍታት የሚያገለግሉ መሆናቸውን ተነጋገርን-የስህተት መቻቻልን ማረጋገጥ እና በውድድር አከባቢ ውስጥ መረጃን ማግኘት። እነዚህን ተግባራት ሙሉ በሙሉ ለማከናወን ግብይቱ የኤሲአይዲ ባህሪያት ሊኖረው ይገባል። ዛሬ ስለ ደብዳቤው በዝርዝር እንነጋገራለን እኔ (መነጠል) በዚህ ምህጻረ ቃል.

መገልገያ

ማግለል በውድድር አካባቢ መረጃን የማግኘት ችግርን ይፈታል፣ በመሠረቱ ከዘር ሁኔታዎች ጥበቃ ያደርጋል። በሐሳብ ደረጃ፣ ማግለል ማለት ተከታታይነት ማለት ነው፣ ይህም በትይዩ ግብይቶችን የማስፈጸም ውጤት በቅደም ተከተል ከተፈጸሙት ጋር ተመሳሳይ መሆኑን የሚያረጋግጥ ንብረት ነው። የዚህ ንብረት ዋነኛው ችግር ቴክኒካዊ በሆነ መንገድ ለማቅረብ በጣም አስቸጋሪ ነው, በዚህም ምክንያት በስርዓት አፈፃፀም ላይ ከፍተኛ ተጽዕኖ ያሳድራል. ለዚህም ነው ማግለል ብዙውን ጊዜ የተዳከመው, የአንዳንድ ያልተለመዱ ችግሮችን በመቀበል, ከዚህ በታች ይብራራል. የተወሰኑ ያልተለመዱ ሁኔታዎች የመከሰታቸው አጋጣሚ የግብይት ማግለል ደረጃን በትክክል ያሳያል።

በጣም የታወቁት ያልተለመዱ ነገሮች፡ ቆሻሻ ንባብ፣ የማይደገም ንባብ፣ ፋንተም ንባብ፣ ግን በእውነቱ 5 ተጨማሪ አሉ፡ ቆሻሻ ፅሁፍ፣ ጠቋሚ የጠፋ ዝመና፣ የጠፋ ዝመና፣ ስኪው ማንበብ፣ skew መጻፍ።

ቆሻሻ መጻፍ

የአናማሊው ፍሬ ነገር ግብይቶች ያልተገባ ውሂብን ሊተኩ መቻላቸው ነው።

በመረጃ ቋቶች ውስጥ የግብይት ማግለል ደረጃን በማዳከም ምን ሊያስከትል ይችላል?

ይህ ያልተለመደ ነገር አደገኛ የሚሆነው ሁለቱንም ግብይቶች ከፈጸሙ በኋላ (በሥዕሉ ላይ እንደሚታየው) መረጃው ሊጋጭ ስለሚችል ብቻ ሳይሆን ጥፋት ስለተጣሰ ነው፡ ያልተገባ መረጃ እንዲገለበጥ ስለፈቀድን አንዱን ግብይት ሌላውን ሳይነካ እንዴት እንደሚመለስ ግልጽ አይደለም። .

ያልተለመደው ሁኔታ በቀላሉ ሊታከም ይችላል፡ ቀረጻውን ከመጀመራችን በፊት ከመዝገቡ ጋር መቆለፊያን እናያይዛለን፣ መቆለፊያው እስኪወገድ ድረስ ሌሎች ግብይቶች መዝገቡን እንዳይቀይሩ ይከለክላል።

ቆሻሻ ንባብ

ቆሻሻ ማንበብ ማለት ያልተገባ መረጃ ማንበብ ማለት ነው።

በመረጃ ቋቶች ውስጥ የግብይት ማግለል ደረጃን በማዳከም ምን ሊያስከትል ይችላል?

በናሙና ላይ ተመርኩዞ እርምጃዎችን ወይም ውሳኔዎችን ማድረግ ሲያስፈልግ ችግሮች ይከሰታሉ.

ያልተለመደውን ሁኔታ ለማረም, የተነበበ መቆለፊያን ማያያዝ ይችላሉ, ነገር ግን ይህ በአፈፃፀም ላይ ከፍተኛ ተጽዕኖ ያሳድራል. ለተመለስ ግብይት የመረጃው የመጀመሪያ ሁኔታ (ከመቅዳት መጀመሪያ በፊት) በስርዓቱ ውስጥ መቀመጥ አለበት ማለት በጣም ቀላል ነው። ለምን ከዚያ አንብብም? አብዛኛዎቹ የውሂብ ጎታዎች በነባሪነት የቆሸሸ ንባብን የሚያስወግዱ መሆናቸው በቂ ርካሽ ነው።

የጠፋ ዝመና

የጠፋ ዝመና ማለት የጠፉ ዝመናዎች ማለት ነው፣ እና ትርጉሙ በትክክል የችግሩን ምንነት ያንፀባርቃል፡-

በመረጃ ቋቶች ውስጥ የግብይት ማግለል ደረጃን በማዳከም ምን ሊያስከትል ይችላል?

በእርግጥ የግብይት T2 ውጤት ተቀልብሷል። ይህ ሁኔታ በግልጽ ወይም በተዘዋዋሪ የጽሁፍ መቆለፊያዎች ሊስተካከል ይችላል. ማለትም መዝገቡን በቀላሉ እናዘምነዋለን፣ እና ከዚያ ስውር መቆለፊያ ይከሰታል፣ ወይም እንፈፅማለን። ለማዘመን ይምረጡ, የማንበብ እና የመጻፍ መቆለፊያ እንዲከሰት ያደርጋል. እባክዎን እንዲህ ዓይነቱ ቀዶ ጥገና በጣም አደገኛ መሆኑን ያስተውሉ-በእኛ “ንፁህ” ንባብ ፣ ሌሎች ንባቦችን እናግዳለን። አንዳንድ የውሂብ ጎታዎች የበለጠ አስተማማኝ ይሰጣሉ ለማጋራት ይምረጡ, ውሂብ እንዲነበብ መፍቀድ ግን አይቀየርም.

ጠቋሚ ጠፍቷል ዝማኔ

ለጥሩ ቁጥጥር መሠረቶች እንደ ጠቋሚ ያሉ ሌሎች መሳሪያዎችን ሊያቀርቡ ይችላሉ። ጠቋሚ የረድፎችን ስብስብ የያዘ እና በእነሱ ላይ ለመድገም የሚያስችል መዋቅር ነው። ለተመረጠው_መግለጫ የጠቋሚ_ስምን አውጁ. የጠቋሚው ይዘት በተመረጠው ይገለጻል.

ለምን ጠቋሚ ያስፈልግዎታል? እውነታው ግን አንዳንድ የውሂብ ጎታዎች በመረጡት (መረጋጋት አንብብ) በተመረጡት ሁሉም መዝገቦች ላይ መቆለፊያ ይሰጣሉ, ወይም ጠቋሚው በአሁኑ ጊዜ በሚገኝበት መዝገብ ላይ ብቻ (የጠቋሚ መረጋጋት). በጠቋሚ መረጋጋት አጭር መቆለፊያ ተተግብሯል, ይህም በትልቅ የውሂብ ናሙና ላይ ከተደጋገሙ የመቆለፊያዎችን ቁጥር ለመቀነስ ያስችለናል. ስለዚህ፣ የጠፋው ዝመና ያልተለመደው ለጠቋሚው ለብቻው ተለይቷል።

የማይደገም ንባብ

የማይደገም ንባብ በግብይታችን አፈፃፀም ወቅት 2 ተከታታይ ንባቦች ተመሳሳይ መዝገብ ወደተለያዩ ውጤቶች ያመራሉ ፣ ምክንያቱም በእነዚህ ሁለት ንባቦች መካከል ሌላ ግብይት ጣልቃ ገብቷል ፣ መረጃችንን ቀይሯል እና ተፈጽሟል።

በመረጃ ቋቶች ውስጥ የግብይት ማግለል ደረጃን በማዳከም ምን ሊያስከትል ይችላል?

ለምንድነው ይህ እንኳን ችግር የሆነው? በሥዕሉ ላይ ያለው የግብይት ግብ T2 ዋጋቸው ከ150 ዶላር በታች የሆኑትን ሁሉንም እቃዎች መምረጥ እንደሆነ አስቡት። ሌላ ሰው ዋጋውን ወደ 200 ዶላር አዘምኗል። ስለዚህ, የተጫነው ማጣሪያ አልሰራም.

ሁለት-ደረጃ መቆለፊያዎች ሲጨመሩ ወይም የ MVCC ዘዴ ጥቅም ላይ ሲውል እነዚህ ያልተለመዱ ችግሮች መከሰታቸው ያቆማሉ, ይህም በተናጠል መወያየት እፈልጋለሁ.

ፋንተም ማንበብ

ፋንተም በሌላ ግብይት የታከለ የውሂብ ንባብ ነው።

በመረጃ ቋቶች ውስጥ የግብይት ማግለል ደረጃን በማዳከም ምን ሊያስከትል ይችላል?

እንደ ምሳሌ ፣ ይህ ያልተለመደ ችግር በሚከሰትበት ጊዜ በጣም ርካሽ የሆነውን የምርት ምርጫን ማየት እንችላለን።

የውሸት ንባቦችን ማስወገድ ቀድሞውኑ በጣም ከባድ ነው። አዘውትሮ መታገድ በቂ አይደለም፣ ምክንያቱም እስካሁን የሌለውን ነገር ማገድ አንችልም። 2PL ሲስተሞች የትንበያ መቆለፍን ይጠቀማሉ፣ MVCC ሲስተሞች ደግሞ በማስገባት ሊስተጓጎሉ የሚችሉ ግብይቶችን የሚመልስ የግብይት መርሐግብር አድራጊ አላቸው። ሁለቱም የመጀመሪያው እና ሁለተኛው ዘዴዎች በጣም ከባድ ናቸው.

skew ያንብቡ

አንብብ skew የሚከሰተው ከበርካታ ሠንጠረዦች ጋር ስንሠራ ነው, ይዘቱ በቋሚነት መለወጥ አለበት.

ልጥፎችን እና ዲበ መረጃቸውን የሚወክሉ ጠረጴዛዎች አሉን እንበል፡-

በመረጃ ቋቶች ውስጥ የግብይት ማግለል ደረጃን በማዳከም ምን ሊያስከትል ይችላል?

አንዱ ግብይት ከሠንጠረዡ ላይ ያነባል፣ ሌላኛው ያስተካክላቸዋል፡-

በመረጃ ቋቶች ውስጥ የግብይት ማግለል ደረጃን በማዳከም ምን ሊያስከትል ይችላል?

በT1 ግብይት ምክንያት፣ ልጥፉ ርዕስ = ጥሩ፣ እና የዘመነ_by = T2 አለው፣ ይህም የሆነ ወጥነት የሌለው ነው።

እንደ እውነቱ ከሆነ, ይህ የማይደገም ንባብ ነው, ግን እንደ የበርካታ ሰንጠረዦች አካል.

ይህንን ለማስተካከል T1 በሚያነባቸው ረድፎች ሁሉ ላይ መቆለፊያዎችን ማድረግ ይችላል፣ይህም ግብይት T2 መረጃውን እንዳይቀይር ያደርጋል። በኤምቪሲሲ፣ የT2 ግብይቱ ይሰረዛል። ጠቋሚዎችን ከተጠቀምን ከዚህ ያልተለመደ በሽታ መከላከል አስፈላጊ ሊሆን ይችላል።

skew ጻፍ

ይህ ያልተለመደ ሁኔታ በምሳሌ ለማስረዳት ቀላል ነው-በእኛ ስርዓት ውስጥ ቢያንስ አንድ ዶክተር በስራ ላይ መሆን አለበት እንበል ፣ ግን ሁለቱም ዶክተሮች ተግባራቸውን ለመሰረዝ ወሰኑ ።

በመረጃ ቋቶች ውስጥ የግብይት ማግለል ደረጃን በማዳከም ምን ሊያስከትል ይችላል?

በመረጃ ቋቶች ውስጥ የግብይት ማግለል ደረጃን በማዳከም ምን ሊያስከትል ይችላል?

ያልተለመደው ሁኔታ ከዶክተሮች ውስጥ አንዳቸውም በስራ ላይ አይሆኑም ማለት ነው. ይህ ለምን ሆነ? ምክንያቱም ግብይቱ በሌላ ግብይት ሊጣስ የሚችል ሁኔታን እየፈተሸ ነበር፣ እና በመገለል ምክንያት ይህን ለውጥ አላየንም።

ይህ የማይደገም ንባብ ተመሳሳይ ነው። በአማራጭ፣ መራጮች በእነዚህ መዝገቦች ላይ መቆለፊያዎችን ማስቀመጥ ይችላሉ።

skew ጻፍ እና ማንበብ skew የቀደሙት ያልተለመዱ ነገሮች ጥምረት ናቸው። skew ለመጻፍ ማሰብ ትችላለህ፣ እሱም በመሠረቱ ንባብ ነው። የሰራተኞችን ስም፣ ደመወዛቸውን እና የሚሰሩበትን ፕሮጀክት የያዘ ሰንጠረዥ አስቡበት፡-

በመረጃ ቋቶች ውስጥ የግብይት ማግለል ደረጃን በማዳከም ምን ሊያስከትል ይችላል?

በመረጃ ቋቶች ውስጥ የግብይት ማግለል ደረጃን በማዳከም ምን ሊያስከትል ይችላል?

በውጤቱም, የሚከተለውን ምስል አግኝተናል-እያንዳንዱ ሥራ አስኪያጅ የእነሱ ለውጥ ከበጀት በላይ መሄድ እንደማይችል በማሰቡ የሰራተኞች ለውጦችን በማድረግ ወጪን ከመጠን በላይ እንዲጨምር አድርጓል.

የችግሩ መንስኤ ልክ እንደ ፋንተም ንባብ ተመሳሳይ ነው።

ግኝቶች

በመረጃ ቋቱ ውስጥ ያለውን የግብይት ማግለል ደረጃን ማዝናናት በደህንነት እና በአፈጻጸም መካከል የሚደረግ የንግድ ልውውጥ ነው፡ የዚህ ደረጃ ምርጫ አንዳንድ ያልተለመዱ ሁኔታዎች ከተከሰቱ በንግዱ ላይ ሊደርሱ የሚችሉትን አደጋዎች ግምት ውስጥ በማስገባት መቅረብ አለበት።

ስለ ኮርሱ የበለጠ ይረዱ።

ምንጭ: hab.com

አስተያየት ያክሉ