የመተግበሪያ ዳታቤዝዎን እንዴት ምትኬ ማስቀመጥ እንደሚቻል (እና በትክክል መመለስ)
የመተግበሪያ ዳታቤዝዎን ምትኬ ለማስቀመጥ ዳታቤዙን በተወሰነ መርሃ ግብር ወደ ፋይል ያውጡ (ለPostgres መደበኛው መሣሪያ pg_dump ነው)፣ ቅጂዎቹን ከዳታቤዙ ተለይተው ወዳለ ቦታ ያስቀምጡ፣ እና በየጊዜው አንዱን ወደ ባዶ ዳታቤዝ መልሰው ስራ መስራቱን ያረጋግጡ። ለአደገኛ ለውጥ ከመደረጉ በፊት ተጨማሪ ምትኬ ይውሰዱ። የኮድ ምትኬዎ፣ ይኸውም GitHub ሪፖዚቶሪም ሆነ ማውጫ፣ ዳታዎን አያካትትም።
ይህ መመሪያ ትንሽ መተግበሪያ የሚያስተዳድሩ እና ስለመጥፋቱ መጨነቅ ማቆም የሚፈልጉ ሰዎችን ይመለከታል። ለምሳሌነት Postgres ይጠቀማል፤ ምክንያቱም አብዛኛዎቹ በAI የተገነቡ መተግበሪያዎች Postgres ይጠቀማሉ፤ ነገር ግን መርሆቹ ለማንኛውም ዳታቤዝ ይሠራሉ።
ምትኬ ምን መሸፈን አለበት
መተግበሪያ ከዳታቤዙ የበለጠ ነው። እያንዳንዱ ምትኬ የየትኛውን ክፍል እንደሚጠብቅ ይወቁ።
| ምን | የሚኖርበት ቦታ | እንዴት ምትኬ እንደሚቀመጥ |
|---|---|---|
| ኮድ | የፕሮጀክት ፋይሎች፣ Git | GitHub ማመሳሰል ወይም የፕሮጀክት ማውጣት |
| ዳታ (ተጠቃሚዎች፣ መዝገቦች) | ዳታቤዙ | በመርሃ ግብር የዳታቤዝ ማውጣት |
| የተጫኑ ፋይሎች | Object storage | ባልዲውን መቅዳት፣ ወይም ዋናዎቹን በሌላ ቦታ ማስቀመጥ |
| ሚስጥሮች እና ቅንብሮች | የፕሮጀክት ቅንብሮች፣ የአቅራቢ ዳሽቦርዶች | የይለፍ ቃል አስተዳዳሪ፣ ወቅታዊ ሆኖ መቀመጥ |
የማይተካው ክፍል ዳታው ነው። ኮድ እንደገና ሊጻፍ፣ ቅንብሮች እንደገና ሊገቡ ይችላሉ፤ የደንበኞችዎ ትዕዛዞች ግን አይችሉም።
ደረጃ 1: ምን ያህል ማጣት እንደሚችሉ ይወስኑ
ሁለት ጥያቄዎች የምትኬ እቅድዎን ይወስናሉ:
- ምን ያህል የቅርብ ጊዜ ውሂብ ማጣት ይችላሉ? በየቀኑ አንድ ጊዜ ምትኬ ካስቀመጡ እና ዳታቤዙ ምሽት ላይ ቢወድቅ፣ የዚያ ቀን ለውጦች ይጠፋሉ። ለትንሽ የግል መተግበሪያ ይህ ምናልባት ችግር ላይሆን ይችላል። ትዕዛዝ የሚቀበል መተግበሪያ ከሆነ ግን ችግር ሊሆን ይችላል።
- መተግበሪያው ለመመለስ ሲሰራ ምን ያህል ጊዜ ሊቆም ይችላል? ትንሽ ዳታቤዝ በደቂቃዎች ውስጥ ይመለሳል። ትልቅ ዳታቤዝ ግን ብዙ ጊዜ ሊወስድ ይችላል፤ ያንን ቀድሞ ማወቅ ያስፈልጋል።
ለአብዛኛዎቹ ትናንሽ መተግበሪያዎች በየቀኑ አውቶማቲክ ምትኬ እና ከአደገኛ ለውጦች በፊት በእጅ ምትኬ ጥሩ መነሻ ነው። በገንዘብ ወይም በጤና መረጃ የተያያዙ መተግበሪያዎች ግን ተደጋጋሚ ምትኬ፣ ወይም በማንኛውም ጊዜ መመለስ የሚያስችል (point-in-time recovery) የሚሰጥ የሚተዳደር ዳታቤዝ ያስፈልጋቸዋል። ይህ ማለት ወደ የመጨረሻው ምትኬ ብቻ ሳይሆን ወደ ማንኛውም ጊዜ መመለስ መቻል ማለት ነው።
ደረጃ 2: አስተናጋጅዎ ምን እንደሚያደርግ ያረጋግጡ
ብዙ የሚተዳደሩ የዳታቤዝ አቅራቢዎች አውቶማቲክ ምትኬ ይወስዳሉ። ይፈትሹ:
- ምትኬዎች ለዕቅድዎ ነቅተዋል? በምን ያህል ጊዜ ይሰራሉ?
- ለምን ያህል ጊዜ ይቆያሉ?
- ወደ የተወሰነ ጊዜ መመለስ ይቻላል ወይስ ለዕለታዊ ቅጽበታዊ ቅጂ ብቻ ነው?
- ምትኬውን ማውረድ ይቻላል ወይስ በአቅራቢው ስርዓት ውስጥ ብቻ ነው መመለስ የሚቻለው?
የአቅራቢው ምትኬዎች ጠቃሚ ናቸው፤ ነገር ግን ከዳታቤዙ ጋር አንድ የውድቀት ነጥብ ይጋራሉ፦ መለያው። መለያው ከተዘጋ፣ ከታገደ ወይም ፕሮጀክቱ ከተሰረዘ ምትኬዎቹም አብረው ሊጠፉ ይችላሉ። ለዚህ ነው የራስዎን ቅጂ ማስቀመጥ የሚፈልጉት።
ደረጃ 3: pg_dump በመጠቀም ዱምፕ ይስሩ
pg_dump የPostgres ዳታቤዝን ወደ ፋይል ያወጣል። ወጥ የሆነ ቅጽበታዊ ምስል ያነብባል፤ ስለዚህ መተግበሪያው ሥራው እየተሰራ እያለ መሥራቱን ይቀጥላል።
መተግበሪያዎ አስቀድሞ በአካባቢ ተለዋዋጭ ውስጥ ያለውን የግንኙነት ሕብረቁምፊ በመጠቀም የተለመደ ትእዛዝ:
pg_dump "$DATABASE_URL" --format=custom --no-owner --file=backup-2026-09-29.dump
አማራጮቹ የሚያደርጉት:
--format=customበኋላpg_restoreማንበብ የሚችለውን የታመቀ ፋይል ይጽፋል፤ እና በኋላ ነጠላ ሰንጠረዦችን ብቻ እንዲመልሱ ያስችላል። በምትኩ ሊነበብ የሚችል.sqlፋይል ከፈለጉ--format=plainይጠቀሙ።--no-ownerየባለቤትነት ትእዛዞችን ያስወግዳል፤ ይህም ወደ ሌላ ዳታቤዝ ሲመልሱ ቀላል ያደርገዋል።- በፋይሉ ስም ያለው ቀን ምትኬዎችን እርስ በእርሳቸው እንዲለዩ ያደርጋል።
የpg_dump ስሪት ከዳታቤዝዎ የPostgres ስሪት ጋር እኩል ወይም አዲስ መሆን አለበት። ያረጀ pg_dump መሥራት ሊከለክል ይችላል።
በAI እየገነቡ ከሆነ እና የትእዛዝ መስመሩን መንካት ካልፈለጉ እንዲህ ብለው መጠየቅ ይችላሉ:
Create a backup of the app's database using pg_dump in custom format, with today's date in the file name. Don't print the connection string or any secret. Tell me the file name and its size when it's done.
ይህን በእንግሊዝኛ ወይም በአማርኛ መጠየቅ ይቻላል፤ ዋናው ነገር የግንኙነት ሕብረቁምፊውን ወይም ማንኛውንም ሚስጥር እንዳያትም መጠየቅ ነው።
ደረጃ 4: አውቶማቲክ ያድርጉት
በእጅ ምትኬ ይረሳል። ከእርስዎ ማዋቀር ጋር በሚስማማ መንገድ አውቶማቲክ ያድርጉት:
- የዳታቤዝ አቅራቢዎ የመርሃ ግብር ምትኬዎች፣ ካቀረበ።
- የመርሃ ግብር ሥራ በሰርቨር ወይም በCI አገልግሎት ላይ
pg_dumpየሚያስኬድ እና ፋይሉን ወደ ማከማቻ የሚሰቅል። - የተስተናገደ የምትኬ አገልግሎት ከዳታቤዝዎ ጋር የሚገናኝ።
የትኛውንም ቢመርጡ ሲከሽፍ እንዲነግርዎ ያድርጉ። ለሦስት ወራት በጸጥታ የከሸፈ የምትኬ ሥራ የታወቀ አስፈሪ ታሪክ ነው።
ደረጃ 5: ቅጂዎችን ሌላ ቦታ ያስቀምጡ
የአውራ ጣት ደንቡ ብዙ ጊዜ 3-2-1 ተብሎ ይጠራል፦ ሦስት ቅጂዎች፣ በሁለት የተለያዩ የማከማቻ ዓይነቶች፣ እና አንዱ ከቦታው ውጭ። ለትንሽ መተግበሪያ ተግባራዊ ስሪቱ:
- ቀጥታው ዳታቤዝ
- የአቅራቢው የራሱ አውቶማቲክ ምትኬዎች
- የራስዎ ዱምፖች በተለየ ማከማቻ፣ ለምሳሌ በሌላ መለያ ውስጥ ያለ object storage ባልዲ
በተጨማሪም:
- መዳረሻን ይገድቡ። ምትኬ የሁሉንም ተጠቃሚ ውሂብ ይዟል። ልክ እንደ ቀጥታው ዳታቤዝ ይያዙት።
- የማቆያ ፖሊሲ ይኑርዎት። ለምሳሌ ለሁለት ሳምንት በየቀኑ እና ለአንድ ዓመት በወር አንድ ጊዜ። ያረጁ ምትኬዎችን ሆን ብለው ይሰርዙ፤ እና የግል መረጃ በጥያቄ እንዲሰረዝ የግላዊነት ሕጎች ሊጠይቁ እንደሚችሉ ያስታውሱ።
- ምትኬዎችን ወደ Git ፈጽሞ አትስቀሉ። በሪፖዚቶሪ ውስጥ ያለ ዱምፕ ለዳታ መፍሰስ የሚጠብቅ አደጋ ነው።
ደረጃ 6: መመለስን ይሞክሩ
ምትኬ የሚጠቅመው የመጨረሻው ስኬታማ መመለስዎ ያህል ብቻ ነው። ቢያንስ በየጥቂት ወራት፣ እና የምትኬ ሂደቱ ላይ ማንኛውም ለውጥ ከተደረገ በኋላ:
- አዲስ ባዶ ዳታቤዝ ይፍጠሩ። ለመሞከር በቀጥታው ላይ ፈጽሞ አትመልሱ።
- የቅርብ ጊዜውን ምትኬ ወደ እሱ ይመልሱ:
pg_restore --no-owner --dbname="$TEST_DATABASE_URL" backup-2026-09-29.dump
ለተራ .sql ፋይል በምትኩ psql "$TEST_DATABASE_URL" -f backup.sql ይጠቀሙ።
- ሁሉም ሰንጠረዦች መኖራቸውን ያረጋግጡ፣ የረድፍ ቁጥሮችን ከቀጥታው ዳታቤዝ ጋር ያወዳድሩ፣ እና ጥቂት የቅርብ ጊዜ መዝገቦችን ይመልከቱ።
- ከቻሉ የመተግበሪያውን ቅጂ ወደ እሱ አመልክተው ይግቡ።
- መመለሱ ምን ያህል ጊዜ እንደወሰደ ይጻፉ። ያ እውነተኛው የማገገሚያ ጊዜዎ ነው።
ደረጃ 7: ከአደገኛ ለውጦች በፊት ምትኬ ይውሰዱ
ከሚከተለው በፊት አዲስ ምትኬ ይውሰዱ:
- ዓምዶችን የሚያጠፋ ወይም የሚቀይር የዳታቤዝ ማይግሬሽን ማስኬድ
- በጅምላ ዳታ ማስገባት
- AI ወኪሉ በዳታ ሞዴሉ ላይ ትልቅ ለውጥ እንዲያደርግ መፍቀድ
- የቆዩ መዝገቦችን መሰረዝ
በAI የተገነባ መተግበሪያ ውስጥ ወኪሉ የሰንጠረዥ አወቃቀርን እንደ የባህሪ አካል ሊቀይር ይችላል። ቼክፖይንቶች እና ቨርዥን ቁጥጥር ኮድዎን ወደ ኋላ ይመልሳሉ፤ ነገር ግን የተሰረዙ ረድፎችን መልሰው አያመጡም። ከትልቅ ለውጥ በፊት የሰላሳ ሰከንድ ምትኬ ርካሽ ዋስትና ነው።
የተለመዱ ስህተቶች
- Git ወይም የኮድ ማውጣት ምትኬ ነው ብሎ ማሰብ። ኮዱን ይይዛል፤ ዳታውን አይደለም።
- መመለስን ፈጽሞ አለመሞከር። ብዙ ምትኬዎች ሲያስፈልጉ ብቻ ባዶ፣ ያልተሟሉ ወይም የማይነበቡ ሆነው ይወጣሉ።
- ምትኬዎችን በዳታቤዙ ተመሳሳይ መለያ ውስጥ ማስቀመጥ። አንድ የተጠለፈ ወይም የተዘጋ መለያ ሁለቱንም ያጠፋል።
- የተጫኑ ፋይሎችን መርሳት። ዳታቤዙ የፋይሉን መንገድ ያከማቻል፤ ምስሉ ራሱ በማከማቻ ውስጥ ይኖራል።
- ሚስጥሮችን በምትኬ ስክሪፕቶች ውስጥ መተው። የግንኙነት ሕብረቁምፊውን ከአካባቢ ተለዋዋጭ ያንብቡ፤ ከስክሪፕቱ ጽሑፍ ፈጽሞ አይሁን። ኤፒአይ ቁልፎችን እንዴት መጠበቅ እንደሚቻል ይመልከቱ።
ምትኬ እና Mythex
የMythex ፕሮጀክቶች የተሰጠ Postgres ዳታቤዝ ሊኖራቸው ይችላል፤ የግንኙነት ዝርዝሮቹ ወደ ስራ ቦታው እና ወደ የታተመው መተግበሪያ ይገባሉ። የMythex ሰነዶች የዳታቤዝ ምትኬ ወይም መመለስ ባህሪ አይገልጹም፤ ስለዚህ የራስዎን እቅድ ያውጡ፦ ወኪሉን ዱምፕ እንዲያዘጋጅ ይጠይቁ፣ ያውርዱት እና በደህና ቦታ ያስቀምጡት፤ በተለይም ከትልልቅ ለውጦች በፊት። የፕሮጀክት ማውጣት (Pro) ኮድዎን ይይዛል፤ ሚስጥሮች እና node_modules ይቀራሉ፤ የዳታቤዝ ረድፎችን አያካትትም። በሰነዶቹ ውስጥ ዳታቤዝ እና የዳታ ባለቤትነት ይመልከቱ። ስለ ዳታቤዙ ራሱ ተጨማሪ ለማወቅ Postgres ምንድን ነው ያንብቡ።
የምትኬ ማረጋገጫ ዝርዝር
- ምን ያህል ውሂብ ማጣት እንደሚችሉ እና ምን ያህል ጊዜ ሊቆሙ እንደሚችሉ ወስነዋል
- የዳታቤዝ አስተናጋጅዎ ምን አውቶማቲክ ምትኬ እንደሚሰጥ ፈትሸዋል
- የራስዎ ዱምፕ በመርሃ ግብር ይሰራል፣ እና ሲከሽፍ ያስጠነቅቅዎታል
- ቅጂዎቹ ከዳታቤዙ ተለይተው፣ መዳረሻ በተገደበ ቦታ ተቀምጠዋል
- የማቆያ ፖሊሲ ተጽፎ ተቀምጧል
- የተጫኑ ፋይሎችም እንደ ዳታቤዙ ምትኬ ተቀምጠዋል
- መመለስ ወደ ባዶ ዳታቤዝ ተሞክሯል፣ የረድፍ ቁጥሮችም ተፈትሸዋል
- ከእያንዳንዱ አደገኛ ለውጥ በፊት ምትኬ ይወሰዳል
ጥያቄዎች
የመተግበሪያዬን ዳታቤዝ ምን ያህል ጊዜ ምትኬ ማስቀመጥ አለብኝ?
ማጣት በሚችሉት የውሂብ መጠን ላይ ይወሰናል። ለአብዛኛዎቹ ትናንሽ መተግበሪያዎች በየቀኑ አውቶማቲክ ምትኬ ዝቅተኛው ምክንያታዊ ደረጃ ነው፤ እንደ ማይግሬሽን፣ የዳታ ማስገቢያ ወይም ትልቅ አዲስ ባህሪ ካሉ አደገኛ ለውጦች በፊት ደግሞ በእጅ ምትኬ ይጨምሩ።
ኮዴን ማውጣት ዳታዬን ምትኬ ከማስቀመጥ ጋር ተመሳሳይ ነው?
አይደለም። የኮድ ማውጣት ወይም የGitHub ሪፖዚቶሪ የመተግበሪያዎ ፋይሎችን ይይዛል፤ በዳታቤዝዎ ውስጥ ያሉትን ረድፎች አይይዝም። ተጠቃሚዎችዎ፣ ትዕዛዞችዎ እና ልጥፎችዎ በዳታቤዝ ውስጥ ይኖራሉ እና የራሳቸው ምትኬ ያስፈልጋቸዋል።
pg_dump ምንድን ነው?
pg_dump ዳታቤዝን ወደ ፋይል ለማውጣት ከPostgres ጋር የሚመጣ መደበኛ የትእዛዝ መስመር መሣሪያ ነው። ግልጽ SQL ወይም የታመቀ ብጁ ቅርጸት መጻፍ ይችላል፤ ተጓዳኝ የመመለሻ መሣሪያዎቹ SQL ፋይሎችን ለማስመለስ psql እና ብጁ ቅርጸቱን ለማስመለስ pg_restore ናቸው።
ምትኬዬ መስራቱን እንዴት አውቃለሁ?
መልሰው ያስመልሱት። ምትኬውን ለየብቻ ባዶ በሆነ ዳታቤዝ ውስጥ ይጫኑ፤ ከዚያም ሰንጠረዦቹ መኖራቸውን፣ የረድፍ ቁጥሮች እና ጥቂት የቅርብ ጊዜ መዝገቦች ከቀጥታው ዳታ ጋር መመሳሰላቸውን ያረጋግጡ። ፈጽሞ ያልመለሱት ምትኬ ግምት ብቻ ነው።
የዳታቤዝ ምትኬዎችን የት ማስቀመጥ አለብኝ?
ከዳታቤዙ ራሱ ተለይቶ በሌላ ቦታ፣ በተሻለ ሁኔታ በሌላ አቅራቢ ወይም መለያ፣ እና መዳረሻው ለእርስዎ ብቻ በተገደበ ሁኔታ ያስቀምጡ። ምትኬዎች የተጠቃሚዎችዎን ሁሉንም ውሂብ ይዘዋል፤ ስለዚህ እንደ ቀጥታው ዳታቤዝ በጥንቃቄ ይያዙ።