rqlite 6.0 መልቀቅ፣ በSQLite ላይ የተመሰረተ የተከፋፈለ ስህተትን የሚቋቋም DBMS

የተከፋፈለው DBMS rqlite 6.0 መለቀቅ ቀርቧል፣ እሱም SQLite እንደ ማከማቻ ሞተር የሚጠቀም እና የተመሳሰሉ ማከማቻዎችን ክላስተር ስራ እንዲያደራጁ ያስችልዎታል። የ rqlite አንዱ ባህሪ የተከፋፈለ ስህተትን የሚቋቋም ማከማቻ የመትከል፣ የመዘርጋት እና የመንከባከብ ቀላልነት ነው፣ በተወሰነ መልኩ ከ etcd እና Consul ጋር ተመሳሳይ ነው፣ ነገር ግን ከቁልፍ/ዋጋ ቅርጸት ይልቅ ተዛማጅ የመረጃ ሞዴል መጠቀም። የፕሮጀክት ኮድ በ Go ውስጥ ተጽፎ በ MIT ፈቃድ ተሰራጭቷል።

ሁሉንም አንጓዎች በተመሳሰለ ሁኔታ ለማቆየት፣ የራፍት ስምምነት ስልተ-ቀመር ጥቅም ላይ ይውላል። Rqlite የመጀመሪያውን የSQLite ቤተ-መጽሐፍት እና መደበኛውን go-sqlite3 ሾፌር ይጠቀማል፣ በላዩ ላይ የደንበኛ ጥያቄዎችን የሚያስኬድ፣ ወደ ሌሎች አንጓዎች የሚባዛ እና በመሪ መስቀለኛ መንገድ ምርጫ ላይ የጋራ መግባባትን የሚከታተል ንብርብር ይከፈታል።

በመረጃ ቋቱ ላይ ለውጦች ሊደረጉ የሚችሉት እንደ መሪ በተመረጠው መስቀለኛ መንገድ ብቻ ነው ፣ ነገር ግን ከጽሑፍ ስራዎች ጋር ግንኙነቶች እንዲሁ በክላስተር ውስጥ ላሉ ሌሎች አንጓዎች ሊላኩ ይችላሉ ፣ ይህም ጥያቄውን ለመድገም የመሪውን አድራሻ ይመልሳል (በሚቀጥለው እትም እነሱ ወደ መሪው የጥያቄዎችን አውቶማቲክ ማስተላለፍ ለመጨመር ቃል ገብቷል)። ዋናው አጽንዖት ስህተትን መቻቻል ላይ ነው, ስለዚህ የዲቢኤምኤስ ሚዛኖች በንባብ ስራዎች ብቻ እና የፅሁፍ ስራዎች ማነቆዎች ናቸው. የ rqlite ክላስተርን ከአንድ መስቀለኛ መንገድ ማሄድ ይቻላል እና ይህ መፍትሄ የስህተት መቻቻልን ሳያቀርቡ የ SQLite በ HTTP ላይ ለመድረስ ሊያገለግል ይችላል።

በእያንዳንዱ መስቀለኛ መንገድ ላይ ያለው የ SQLite ውሂብ በፋይል ውስጥ አልተቀመጠም, ነገር ግን በማህደረ ትውስታ ውስጥ. ከ Raft ፕሮቶኮል ትግበራ ጋር በንብርብር ደረጃ ፣ በመረጃ ቋቱ ውስጥ ለውጦችን የሚያደርጉ የሁሉም SQLite ትዕዛዞች መዝገብ ተቀምጧል። ይህ ምዝግብ ማስታወሻ በማባዛት ጊዜ (በሌሎች አንጓዎች ላይ ጥያቄዎችን በማባዛት ደረጃ) አዲስ መስቀለኛ መንገድ ሲጀምር ወይም ከግንኙነት ማጣት በማገገም ላይ ይውላል። የምዝግብ ማስታወሻውን መጠን ለመቀነስ አውቶማቲክ ማሸግ ጥቅም ላይ ይውላል ፣ ይህም ከተወሰኑ ለውጦች በኋላ ይጀምራል እና በዲስክ ላይ ወደ ቅጽበታዊ ገጽ እይታ ይመራዋል ፣ ከዚህ ጋር በተያያዘ አዲስ ምዝግብ ማስታወሻ መያዝ ይጀምራል (በማህደረ ትውስታ ውስጥ ያለው የውሂብ ጎታ ሁኔታ ከቅጽበተ-ፎቶው + ከተጠራቀመው የለውጥ መዝገብ ጋር ተመሳሳይ ነው)።

የ rqlite ባህሪዎች

  • የተለየ SQLite መጫን ሳያስፈልግ ክላስተር ለማሰማራት ቀላል።
  • የተደገመ SQL ማከማቻ በፍጥነት የማግኘት ችሎታ።
  • በስራ ፕሮጀክቶች ውስጥ ለመጠቀም ዝግጁ (የምርት-ደረጃ).
  • መረጃን በቡድን ሁነታ ለማዘመን እና የክላስተር መሪ መስቀለኛ መንገድን ለመወሰን የሚያስችል የኤችቲቲፒ(ኤስ) ኤፒአይ መኖር። እንዲሁም የትእዛዝ መስመር በይነገጽ እና ለSQLite የተገነቡ የተለያዩ የደንበኛ ቤተ-መጽሐፍትን የመጠቀም ችሎታን ይሰጣል።
  • በተለዋዋጭ ስብስቦችን ለመፍጠር የሚያስችልዎ ሌሎች አንጓዎችን ለመለየት አገልግሎት መገኘት።
  • በአንጓዎች መካከል የመረጃ ልውውጥን ለማመስጠር ድጋፍ።
  • በሚያነቡበት ጊዜ የመረጃውን ተዛማጅነት እና ወጥነት የመፈተሽ ደረጃን የማዋቀር ችሎታ።
  • የጋራ መግባባትን በመወሰን ላይ የማይሳተፉ እና ለንባብ ስራዎች የክላስተርን ሚዛን ለመጨመር ጥቅም ላይ የሚውሉ አንጓዎችን በንባብ-ብቻ ሁነታ የማገናኘት አማራጭ ችሎታ።
  • በአንድ ጥያቄ ውስጥ ትዕዛዞችን በማጣመር ላይ በመመስረት የራስዎን የግብይቶች አይነት መደገፍ (በ BEGIN ፣ COMMIT ፣ ROLLBACK ፣ SAVEPOINT እና መልቀቅ ላይ የተመሰረቱ ግብይቶች አይደገፉም)።
  • ትኩስ ምትኬዎችን ለመፍጠር ድጋፍ.

አዲሱ ልቀት ለትክክለኛው የክላስተር ኖዶች የማንበብ እና የመጻፍ ጥያቄዎችን የማዘዋወር ሂደትን በማሻሻል የክላስተር አስተማማኝነትን ለመጨመር የታለሙ ጉልህ የስነ-ህንፃ ለውጦችን ያስተዋውቃል። rqlite nodes አሁን በራፍት ፕሮቶኮል በአንጓዎች መካከል የተመሰረቱ የ TCP ግንኙነቶችን በመጠቀም በመካከላቸው በርካታ ምክንያታዊ ግንኙነቶችን ማባዛት ይችላሉ። ጥያቄው የመሪውን ስልጣን የሚፈልግ ከሆነ ግን ወደ ሁለተኛ ደረጃ መስቀለኛ መንገድ ከተላከ, የሁለተኛ ደረጃ መስቀለኛ መንገድ የመሪውን አድራሻ ወስኖ ለደንበኛው ማስተላለፍ ይችላል Raft Consensus ስሌት.

ለውጡ የተለየ የሜታዳታ ማመሳሰል አካል አስፈላጊነትን አስቀርቷል እና የራፍት ግዛት እና ሜታዳታ የተለየ አያያዝን አስቀርቷል። የሁለተኛ ደረጃ አንጓዎች አሁን የመሪው መስቀለኛ መንገድ አድራሻን ሲፈልጉ አስፈላጊ በሚሆንበት ጊዜ ብቻ ጥያቄዎችን ወደ መሪ ኖድ ይልካሉ። ኤፒአይ በክላስተር ውስጥ ስላሉ ሌሎች አንጓዎች ሁኔታ መረጃ የማግኘት ችሎታን ይሰጣል። የ ".sysdump" ትዕዛዝ በትእዛዝ መስመር በይነገጽ ላይ ተጨምሯል.

ምንጭ: opennet.ru

አስተያየት ያክሉ