የመጀመሪያው የ EdgeDB የተረጋጋ ልቀት አሁን ይገኛል። ውስብስብ ተዋረዳዊ መረጃዎችን ለመስራት የተመቻቸ የሪአክቲቭ-ግራፍ ዳታ ሞዴልን እና የ EdgeQL መጠይቅ ቋንቋን የሚተገብር የ PostgreSQL ተጨማሪ ነው። ኮዱ በፓይዘን እና በሩስት የተጻፈ ሲሆን በ Apache 2.0 ፈቃድ ስር ይሰራጫል። የደንበኛ ቤተ-መጻሕፍት ለፓይዘን፣ ጎ፣ ሩስት እና ታይፕስክሪፕት/ጃቫስክሪፕት ይገኛሉ። DBMSን ለማስተዳደር እና በይነተገናኝ የጥያቄ አፈፃፀም (REPL) የትእዛዝ መስመር መሳሪያዎች ቀርበዋል።
በሰንጠረዥ ላይ የተመሰረተ የውሂብ ሞዴል ከመጠቀም ይልቅ፣ EdgeDB በነገር ዓይነቶች ላይ የተመሠረተ ገላጭ ስርዓት ይጠቀማል። ከውጭ ቁልፎች ይልቅ፣ ማገናኛ በአይነቶች መካከል ያለውን ግንኙነት ለመግለጽ ይጠቅማል (አንድ ነገር የሌላ ነገር ንብረት ሆኖ ሊያገለግል ይችላል)። አይነት ሰው { የሚያስፈልገው የንብረት ስም -> str; } አይነት ፊልም { የሚያስፈልገው የንብረት ርዕስ -> str; ባለብዙ አገናኝ ተዋናዮች -> ሰው; }
የጥያቄ ሂደትን ለማፋጠን ኢንዴክሶችን መጠቀም ይቻላል። እንደ ጠንካራ የንብረት ትየባ፣ የንብረት ዋጋ ገደቦች፣ የተሰሉ ንብረቶች እና የተከማቹ ሂደቶች ያሉ ባህሪያት እንዲሁ ይደገፋሉ። የ EdgeDB የነገሮች ማከማቻ እቅድ ገፅታዎች፣ እሱም በተወሰነ መልኩ የ ORMን የሚያስታውስ፣ ንድፎችን የመቀላቀል ችሎታን፣ ከተለያዩ ነገሮች የተውጣጡ ንብረቶችን እና የተቀናጀ የJSON ድጋፍን ያካትታሉ።
አብሮገነብ መሳሪያዎች የሼማ ፍልሰትን ለማከማቸት ቀርበዋል - በተለየ የ esdl ፋይል ውስጥ የተገለጸውን ንድፍ ከቀየሩ በኋላ “edgedb migration create” የሚለውን ትዕዛዝ ብቻ ያሂዱ እና DBMS የመርሃግብር ልዩነቶችን ይተነትናል እና በይነተገናኝ ወደ የመሰደድ ስክሪፕት ያመነጫል። አዲስ እቅድ. የመርሃግብር ለውጦች ታሪክ በራስ-ሰር ክትትል ይደረግበታል።
የጥያቄ ድጋፍ የ GraphQL እና የ EdgeDB የራሱን የመጠይቅ ቋንቋ ያካትታል፣ ይህም ለተዋረድ ውሂብ የSQL መላመድ ነው። ከዝርዝሮች ይልቅ፣ የመጠይቅ ውጤቶች የተዋቀሩ ናቸው፣ እና ከንዑስ ጥያቄዎች እና JOINs ይልቅ፣ አንድ የ EdgeQL መጠይቅን በሌላ መጠይቅ ውስጥ እንደ አገላለጽ መግለጽ ይችላሉ። ግብይቶች እና ዑደቶች ይደገፋሉ። ይምረጡ ፊልም { title, actors: { name } } filter .title = "The Matrix" insert Movie { title := "The Matrix Resurrections", actors := (በ{0, 1, 2, 3} ውስጥ ላለው ቁጥር Person filter .nameን ይምረጡ (select { number, number + 0.5 });
ምንጭ: opennet.ru
