በPostgreSQL DBMS ላይ የተመሰረተ የመጀመሪያው የተረጋጋ የFerretDB፣ MongoDB ትግበራ

የFerretDB 1.0 ፕሮጀክት መለቀቅ ታትሟል፣ ይህም በሰነድ ላይ ያተኮረውን DBMS MongoDB በPostgreSQL ለመተካት በመተግበሪያው ኮድ ላይ ለውጦችን ሳያደርጉ ያስችልዎታል። FerretDB ወደ MongoDB የሚደረጉ ጥሪዎችን ወደ SQL መጠይቆች ወደ PostgreSQL የሚተረጉም እንደ ተኪ አገልጋይ ነው፣ ይህም PostgreSQLን እንደ ትክክለኛው ማከማቻ ለመጠቀም ያስችላል። ስሪት 1.0 ለአጠቃላይ ጥቅም የተዘጋጀ የመጀመሪያው የተረጋጋ ልቀት ምልክት ተደርጎበታል። ኮዱ በGo ውስጥ ተጽፎ በApache 2.0 ፈቃድ ስር ተሰራጭቷል።

የ FerretDB ዋና ዒላማ ታዳሚዎች በሞንጎዲቢ የላቁ ባህሪያትን በአፕሊኬሽኖቻቸው ውስጥ የማይጠቀሙ፣ ነገር ግን ሙሉ ለሙሉ ክፍት የሆነ የሶፍትዌር ቁልል መጠቀም የሚፈልጉ ተጠቃሚዎች ናቸው። አሁን ባለበት የዕድገት ደረጃ፣ FerretDB በተለምዶ አፕሊኬሽኖች ውስጥ በብዛት ጥቅም ላይ የሚውሉትን የሞንጎዲቢ ባህሪያትን ይደግፋል። FerretDBን የመተግበር አስፈላጊነት ከMongoDB ወደ ነፃ ያልሆነ SSPL ፈቃድ ሽግግር ጋር ተያይዞ ሊነሳ ይችላል ፣ይህም በ AGPLv3 ፈቃድ ላይ የተመሠረተ ፣ ግን ክፍት አይደለም ፣ ምክንያቱም በ SSPL ፈቃድ ብቻ ሳይሆን ለማቅረብ አድሎአዊ መስፈርት ስላለው የመተግበሪያ ኮድ ራሱ፣ ግን በደመና አገልግሎቶች አቅርቦት ላይ የተሳተፉ የሁሉም አካላት ምንጭ ኮዶች።

MongoDB በቁልፍ/ዋጋ ውሂብ ላይ በሚሰሩ ፈጣን እና ሊሰሉ በሚችሉ ስርዓቶች እና በተግባራዊ እና ለመጠየቅ ቀላል በሆኑ ተዛማጅ ዲቢኤምኤስ መካከል ያለውን ቦታ ይይዛል። ሞንጎዲቢ ሰነዶችን በJSON በሚመስል ቅርፀት ማከማቸትን ይደግፋል፣ መጠይቆችን ለማመንጨት የሚያስችል ምቹ ቋንቋ አለው፣ ለተለያዩ የተከማቹ ባህሪያት ኢንዴክሶችን መፍጠር ይችላል፣ ትላልቅ ሁለትዮሽ ነገሮችን በብቃት ማከማቸት፣ ለውጦችን እና ውሂብን ወደ ዳታቤዝ ለመጨመር ስራዎችን መመዝገብን ይደግፋል። በፓራዳይም ካርታ/መቀነስ መሠረት መሥራት፣ ማባዛትን ይደግፋል እና ስህተትን የሚቋቋሙ ውቅሮችን መገንባት።

በ FerretDB 1.0 ውስጥ ካሉት ለውጦች መካከል፡-

  • አንድ ወይም ከዚያ በላይ ኢንዴክሶችን ወደ ስብስብ ለመፍጠር እና ለመጣል የcreatIndexes እና dropIndexes ትዕዛዞችን ተግባራዊ አድርጓል።
  • የጌትሞር ትዕዛዝ ተተግብሯል ከትእዛዞች አፈፃፀም የተገኘውን የውጤት አዲስ ክፍል እንደ ፍለጋ እና ድምር ያሉ ጠቋሚን የሚመልሱ።
  • የቡድን እሴቶች ድምርን ለማስላት ለ$ sum aggregationoperator ድጋፍ ታክሏል።
  • ቁጥሩን ለመገደብ እና ሲደመር ሰነዶችን ለመዝለል ለ$limit እና $skip ኦፕሬተሮች ተጨማሪ ድጋፍ።
  • ሲደመር ሰነዶችን ለመቁጠር ለ$count ኦፕሬተር ታክሏል።
  • በመጪ ሰነዶች ውስጥ የድርድር መስኮችን ለመተንተን እና ለእያንዳንዱ የድርድር አካል የተለየ ሰነድ ያለው ዝርዝር ለመቅረጽ ለ$unwind ኦፕሬተር ታክሏል።
  • የስብስብ እና የውሂብ ጎታ ስታቲስቲክስ እና የውሂብ መጠን ለማግኘት ለcollStats፣dbStats እና dataSize ትዕዛዞች ታክሏል ከፊል ድጋፍ።

ምንጭ: opennet.ru

አስተያየት ያክሉ