የግንኙነት ግራፍ DBMS EdgeDB 2.0 መልቀቅ

የ EdgeDB 2.0 DBMS መለቀቅ ቀርቧል፣ እሱም የግንኙነት ግራፍ ውሂብ ሞዴልን እና የ EdgeQL መጠይቅ ቋንቋን የሚተገበር፣ ከተወሳሰበ ተዋረድ ውሂብ ጋር ለመስራት የተመቻቸ። ኮዱ የተፃፈው በፓይዘን እና ዝገት (ተንታኝ እና አፈጻጸም ወሳኝ ክፍሎች) እና በ Apache 2.0 ፍቃድ ስር ነው። ፕሮጀክቱ ለ PostgreSQL እንደ ተጨማሪ እየተዘጋጀ ነው። የደንበኛ ቤተ-መጻሕፍት ለ Python፣ Go፣ Rust እና TypeScript/Javascript ተዘጋጅተዋል። ለዲቢኤምኤስ አስተዳደር እና በይነተገናኝ መጠይቅ አፈፃፀም (REPL) የትእዛዝ መስመር መሳሪያዎችን ያቀርባል።

በሰንጠረዥ ላይ ከተመሠረተ የውሂብ ሞዴል ይልቅ፣ EdgeDB በነገሮች ዓይነቶች ላይ የተመሠረተ ገላጭ ስርዓትን ይጠቀማል። ከባዕድ ቁልፎች ይልቅ በማጣቀሻ ማገናኘት በአይነቶች መካከል ያለውን ግንኙነት ለመግለጽ ጥቅም ላይ ይውላል (አንድ ነገር የሌላ ነገር ንብረት ሆኖ ሊያገለግል ይችላል)።

ዓይነት ሰው { የሚፈለግ የንብረት ስም -> str; ፊልም ይተይቡ { የሚፈለግ የንብረት ርዕስ -> str; ባለብዙ አገናኝ ተዋናዮች -> ሰው; }

የጥያቄ ሂደትን ለማፋጠን ኢንዴክሶችን መጠቀም ይቻላል። እንደ ጠንካራ የንብረት ትየባ፣ የንብረት ዋጋ ገደቦች፣ የተሰሉ ንብረቶች እና የተከማቹ ሂደቶች ያሉ ባህሪያት እንዲሁ ይደገፋሉ። የ EdgeDB የነገሮች ማከማቻ እቅድ ገፅታዎች፣ እሱም በተወሰነ መልኩ የ ORMን የሚያስታውስ፣ ንድፎችን የመቀላቀል ችሎታን፣ ከተለያዩ ነገሮች የተውጣጡ ንብረቶችን እና የተቀናጀ የJSON ድጋፍን ያካትታሉ።

አብሮገነብ መሳሪያዎች የሼማ ፍልሰትን ለማከማቸት ቀርበዋል - በተለየ የ esdl ፋይል ውስጥ የተገለጸውን ንድፍ ከቀየሩ በኋላ “edgedb migration create” የሚለውን ትዕዛዝ ብቻ ያሂዱ እና DBMS የመርሃግብር ልዩነቶችን ይተነትናል እና በይነተገናኝ ወደ የመሰደድ ስክሪፕት ያመነጫል። አዲስ እቅድ. የመርሃግብር ለውጦች ታሪክ በራስ-ሰር ክትትል ይደረግበታል።

ጥያቄዎችን ለማፍለቅ፣ ሁለቱም የግራፍQL መጠይቅ ቋንቋ እና የ SQL ለተዋረድ መረጃ መላመድ የሆነው የባለቤትነት EdgeDB ቋንቋ ይደገፋሉ። ከዝርዝሮች ይልቅ፣ የመጠይቅ ውጤቶቹ በተዋቀረ መንገድ ተቀርፀዋል፣ እና ከንዑስ መጠይቆች እና መቀላቀል ይልቅ፣ አንድ የ EdgeQL ጥያቄ በሌላ መጠይቅ ውስጥ እንደ መግለጫ መግለጽ ይችላሉ። ግብይቶች እና ዑደቶች ይደገፋሉ.

ፊልም ይምረጡ { ርዕስ፣ ተዋናዮች፡ {ስም} } ማጣሪያ Anne Moss', 'Laurence Fishburne' } ) } በ{0, 1, 2, 3} ህብረት ውስጥ ላለ ቁጥር ({ቁጥር, ቁጥር + 0.5} ን ይምረጡ);

በአዲሱ ስሪት:

  • አብሮ የተሰራ የድር በይነገጽ ለዳታቤዝ አስተዳደር ታክሏል፣ይህም ውሂብን እንዲያዩ እና እንዲያርትዑ፣የ EdgeQL መጠይቆችን እንዲያሄዱ እና ጥቅም ላይ የዋለውን የማከማቻ ዘዴን እንዲተነትኑ ያስችልዎታል። በይነገጹ በ "edgedb ui" ትዕዛዝ ተጀምሯል, ከዚያ በኋላ localhost ሲደርሱ ይገኛል.
    የግንኙነት ግራፍ DBMS EdgeDB 2.0 መልቀቅ
  • የ"GROUP" አገላለጽ ተተግብሯል፣ ይህም ውሂብ እና የቡድን ውሂብ በዘፈቀደ የ EdgeQL አገላለጾችን በመጠቀም እንዲከፋፈሉ እና እንዲያዋህዱ የሚያስችልዎት፣ በ SELECT ክወና ውስጥ ከመቧደን ጋር ተመሳሳይ ነው።
  • በእቃው ደረጃ ላይ መድረስን የመቆጣጠር ችሎታ. የመዳረሻ ደንቦች በማከማቻ ንድፍ ደረጃ ይገለፃሉ እና የተወሰኑ የነገሮችን ስብስብ በማምጣት፣ ለማስገባት፣ ለመሰረዝ እና ለማዘመን ክዋኔዎችን የመጠቀም ችሎታን እንዲገድቡ ያስችሉዎታል። ለምሳሌ፣ ደራሲው ብቻ ህትመቱን እንዲያዘምን የሚፈቅድ ህግ ማከል ይችላሉ።
  • በማከማቻ ንድፍ ውስጥ አለምአቀፍ ተለዋዋጮችን የመጠቀም ችሎታ ታክሏል። አዲስ አለምአቀፍ ተለዋዋጭ current_user ከተጠቃሚው ጋር እንዲተሳሰር ቀርቧል።
  • የእሴቶችን ክልል ለሚወስኑ አይነቶች ድጋፍ ታክሏል።
  • ለ Rust ቋንቋ ይፋዊ የደንበኛ ቤተ-መጽሐፍት ተዘጋጅቷል።
  • የ EdgeDB ሁለትዮሽ ፕሮቶኮል ተረጋግቷል፣ ይህም የተለያዩ ክፍለ ጊዜዎችን በተመሳሳይ የአውታረ መረብ ግንኙነት፣ በኤችቲቲፒ በማስተላለፍ፣ አለምአቀፍ ተለዋዋጮችን እና የአካባቢ ግዛቶችን በመጠቀም በአንድ ጊዜ ለማስኬድ ተችሏል።
  • ለሶኬት ማግበር የተጨመረ ድጋፍ፣ ይህም የአገልጋዩን ተቆጣጣሪ በማህደረ ትውስታ ውስጥ እንዳታቆዩ እና ግንኙነት ለመመስረት በሚሞክሩበት ጊዜ ብቻ እንዲያሄዱ ያስችልዎታል (በገንቢ ስርዓቶች ላይ ሀብቶችን ለመቆጠብ ጠቃሚ)።

ምንጭ: opennet.ru

አስተያየት ያክሉ