አሊባባ በPolarDB ፣ በ PostgreSQL ላይ የተመሠረተ የተሰራጨ ዲቢኤምኤስ ኮድ ከፍቷል።

በPosgreSQL ላይ የተመሰረተው አሊባባ፣ ከቻይና የአይቲ ኩባንያዎች አንዱ የሆነው የተከፋፈለው DBMS PolarDB ምንጭ ኮድ ከፍቷል። PolarDB በተለያዩ የክላስተር ኖዶች ላይ በተሰራጨው አጠቃላይ የአለምአቀፍ ዳታቤዝ አውድ ውስጥ ለኤሲአይዲ ግብይቶች በታማኝነት እና ለተከፋፈለ የመረጃ ማከማቻ መሳሪያዎች የ PostgreSQL አቅምን ያራዝመዋል። PolarDB በተጨማሪም አንድ ወይም ከዚያ በላይ አንጓዎች ከተሳኩ በኋላ መረጃን ወደነበረበት ለመመለስ የተከፋፈለ የSQL መጠይቅ ሂደትን፣ የስሕተት መቻቻልን እና ተጨማሪ የውሂብ ማከማቻን ይደግፋል። ማከማቻዎን ማስፋት ከፈለጉ በቀላሉ አዲስ ኖዶችን ወደ ክላስተር ማከል ይችላሉ። ኮዱ በ Apache 2.0 ፍቃድ ስር ተከፍቷል።

PolarDB ሁለት አካላትን ያቀፈ ነው - ማራዘሚያዎች እና ለ PostgreSQL የንጣፎች ስብስብ። ጥገናዎች የPostgreSQL ኮር አቅምን ያሰፋሉ፣ እና ቅጥያዎች ከPostgreSQL ተለይተው የሚተገበሩ ክፍሎችን ያካትታሉ፣ እንደ የተከፋፈለ የግብይት አስተዳደር ዘዴ፣ አለምአቀፍ አገልግሎቶች፣ የተከፋፈለ የSQL መጠይቅ ፕሮሰሰር፣ ተጨማሪ ሜታዳታ፣ ለክላስተር አስተዳደር መሳሪያዎች፣ የክላስተር ማሰማራት እና ፍልሰትን ቀላል ማድረግ። ነባር ስርዓቶች ወደ እሱ.

ፕላቹ ለPostgreSQL ኮር ለተለያዩ የማግለል ደረጃዎች ብዜት (MVCC፣ Multiversion concurrency control) በመጠቀም ትይዩ የመረጃ ተደራሽነትን ለመቆጣጠር የሚያስችል ዘዴን ይጨምራል። አብዛኛው የPolarDB ተግባር በቅጥያዎች ውስጥ ተካትቷል፣ ይህም በ PostgreSQL ላይ ያለውን ጥገኝነት የሚቀንስ እና በPolarDB ላይ የተመሰረቱ መፍትሄዎችን ማዘመን እና መተግበርን ቀላል ያደርገዋል (ወደ አዲስ የ PostgreSQL ስሪቶች ሽግግርን ቀላል ያደርገዋል እና ከ PostgreSQL ጋር ሙሉ ተኳሃኝነትን ይይዛል)። ክላስተርን ለማስተዳደር የpgxc_ctl Toolkit ጥቅም ላይ ይውላል፣ ከPostgreSQL-XC እና PostgreSQL-XL በተመሳሳዩ መገልገያ።

በክላስተር ውስጥ ሶስት መሰረታዊ አካላት አሉ፡ የውሂብ ጎታ ኖዶች (ዲኤን)፣ የክላስተር አስተዳዳሪ (CM) እና የግብይት አስተዳደር አገልግሎት (TM)። በተጨማሪም፣ የፕሮክሲ ሎድ ሚዛኔን መጠቀም ይቻላል። እያንዳንዱ አካል የተለየ ሂደት ነው እና በተለየ አገልጋይ ላይ ሊሰራ ይችላል. የውሂብ ጎታ አንጓዎች ከደንበኞች የ SQL ጥያቄዎችን ያገለግላሉ እና በተመሳሳይ ጊዜ እንደ ሌሎች የውሂብ ጎታ አንጓዎች ተሳትፎ የተከፋፈለ የጥያቄ አፈፃፀም አስተባባሪዎች ሆነው ያገለግላሉ። የክላስተር አስተዳዳሪው የእያንዳንዱን የውሂብ ጎታ መስቀለኛ መንገድ ሁኔታ ይከታተላል፣ የክላስተር ውቅረትን ያከማቻል እና ኖዶችን ለመቆጣጠር፣ ለመደገፍ፣ ለመጫን፣ ለማዘመን፣ ለመጀመር እና ለማቆም የሚረዱ መሳሪያዎችን ያቀርባል። የግብይት አስተዳደር አገልግሎቱ በጥቅሉ ውስጥ ያለውን አጠቃላይ ታማኝነት የማስጠበቅ ኃላፊነት አለበት።

አሊባባ በPolarDB ፣ በ PostgreSQL ላይ የተመሠረተ የተሰራጨ ዲቢኤምኤስ ኮድ ከፍቷል።

PolarDB በሁሉም አንጓዎች ላይ የጋራ ማከማቻ ሳይጠቀም በተለያዩ ኖዶች ላይ በሚከማችበት ጊዜ የሚሰራጨው በ Shared-ምንም የተከፋፈለ የኮምፒዩተር አርክቴክቸር ነው፣ እና እያንዳንዱ መስቀለኛ መንገድ ከእሱ ጋር ለተገናኘው የውሂብ ክፍል ሀላፊነት አለበት እና ተዛማጅ ጥያቄዎችን ያከናውናል ወደ መረጃው. እያንዳንዱ ሠንጠረዥ በዋናው ቁልፍ ላይ በመመስረት ሃሺንግ በመጠቀም ወደ ክፍሎች (sharding) ይከፋፈላል። ጥያቄው በተለያዩ አንጓዎች ላይ የሚገኘውን መረጃ የሚሸፍን ከሆነ፣ የተከፋፈለ የግብይት ማስፈጸሚያ ሞተር እና የግብይት አስተባባሪ ነቅተዋል አቶሚዝም፣ ወጥነት፣ ማግለል እና አስተማማኝነት (ACID)።

ስህተት መቻቻልን ለማረጋገጥ እያንዳንዱ ክፍል ቢያንስ ወደ ሶስት አንጓዎች ይባዛል። ሀብቶችን ለመቆጠብ፣ የተሟላው መረጃ ሁለት ቅጂዎችን ብቻ ያካትታል፣ እና አንደኛው የመፃፍ መዝገብ (WAL) ለማከማቸት የተገደበ ነው። ሙሉ ቅጂዎች ካሉት ከሁለቱ አንጓዎች አንዱ እንደ መሪ ተመርጦ በጥያቄዎች ሂደት ውስጥ ይሳተፋል። ሁለተኛው መስቀለኛ መንገድ በጥያቄ ውስጥ ላለው የውሂብ ክፍል እንደ መለዋወጫ ሆኖ ያገለግላል, ሦስተኛው ደግሞ መሪ መስቀለኛ መንገድ ምርጫ ላይ ይሳተፋል እና ሙሉ ቅጂዎች ጋር ሁለት አንጓዎች ውድቀት ሁኔታ ውስጥ መረጃ ወደነበረበት ለመመለስ ጥቅም ላይ ሊውል ይችላል. በክላስተር ኖዶች መካከል ያለው የውሂብ ማባዛት በፓክሶስ ስልተ-ቀመር የተደራጀ ሲሆን ይህም አስተማማኝ ያልሆኑ አንጓዎች ባሉበት አውታረ መረብ ውስጥ ወጥ የሆነ የጋራ መግባባት ፍቺን ያረጋግጣል።

የፖላርዲቢ ዲቢኤምኤስ ሙሉ ተግባር ከሶስት ልቀቶች በላይ ለመገለጥ መታቀዱን ልብ ይሏል፡ በመጀመሪያው እትም የማባዛት፣ ከፍተኛ ተገኝነት እና የክላስተር አስተዳደር መሳሪያዎች ይታተማሉ። ሁለተኛው ልቀት የተከፋፈለ የግብይት አፈጻጸም ስርዓት አቋራጭ ACIDን እና የተከፋፈለ የSQL አፈፃፀምን ያሳያል። ሶስተኛው ልቀት ለPostgreSQL ፕለጊን እና በተለዋዋጭ የመረጃ ማከፋፈያ መሳሪያዎች በኖዶች ውስጥ፣ የተመቻቸ የክፍሎችን አቀማመጥ ጥሩ አፈፃፀምን ለማግኘት እና አዳዲስ ኖዶችን በመጨመር ክላስተርን የማስፋት ችሎታን ይጨምራል።

ምንጭ: opennet.ru

አስተያየት ያክሉ