Ukukhishwa kwegrafu yobudlelwano DBMS EdgeDB 2.0

Ukukhishwa kwe-EdgeDB 2.0 DBMS kwethulwa, esebenzisa imodeli yedatha yegrafu ehlobene kanye nolimi lombuzo lwe-EdgeQL, olulungiselelwe ukusebenza ngedatha eyinkimbinkimbi ye-hierarchical. Ikhodi ibhalwe nge-Python ne-Rust (izingxenye ezihlukanisayo nezibalulekile zokusebenza) futhi isatshalaliswa ngaphansi kwelayisensi ye-Apache 2.0. Iphrojekthi ithuthukiswa njengesengezo se-PostgreSQL. Imitapo yolwazi yeklayenti ilungiselwe iPython, Go, Rust kanye ne-TypeScript/Javascript. Ihlinzeka ngamathuluzi omugqa womyalo wokuphathwa kwe-DBMS kanye nokwenziwa kombuzo osebenzisanayo (REPL).

Esikhundleni semodeli yedatha esekwe etafuleni, i-EdgeDB isebenzisa isistimu yokumemezela esekelwe ezinhlotsheni zezinto. Esikhundleni sokhiye bangaphandle, ukuxhumanisa ngereferensi kusetshenziselwa ukuchaza ubudlelwano phakathi kwezinhlobo (into eyodwa ingasetshenziswa njengempahla yenye into).

thayipha Umuntu {igama lempahla elidingekayo -> str; } thayipha i-Movie {isihloko sesakhiwo esidingekayo -> str; abadlali abaningi bezixhumanisi -> Umuntu; }

Izinkomba zingasetshenziswa ukusheshisa ukucutshungulwa kwemibuzo. Izici ezifana nokuthayipha kwesakhiwo okuqinile, imikhawulo yenani lesakhiwo, izakhiwo ezibaliwe, nezinqubo ezigciniwe nazo ziyasekelwa. Izici zohlelo lwe-EdgeDB lwesitoreji sento, esisikhumbuza ngandlela thize i-ORM, zifaka ikhono lokuhlanganisa ama-schema, izakhiwo zokuxhumanisa ezivela ezintweni ezihlukene, nokusekelwa okuhlanganisiwe kwe-JSON.

Amathuluzi akhelwe ngaphakathi ahlinzekelwe ukugcina ukuthuthwa kwe-schema - ngemva kokushintsha i-schema esicaciswe kufayela le-esdl elihlukile, vele usebenzise umyalo othi "edgedb migration create" futhi i-DBMS izohlaziya umehluko ku-schema futhi ikhiqize ngokuhlanganyela iskripthi sokuthuthela ku-schema. i-schema entsha. Umlando wezinguquko ze-schema ulandelelwa ngokuzenzakalelayo.

Ukuze ukhiqize imibuzo, kokubili ulimi lombuzo lwe-GraphQL kanye nolimi lobunikazi lwe-EdgeDB, okuwukuguqulwa kwe-SQL yedatha ye-hierarchical, kuyasekelwa. Esikhundleni sohlu, imiphumela yemibuzo ifomethwe ngendlela ehlelekile, futhi esikhundleni semibuzo engaphansi kanye nama-JOIN, ungacacisa umbuzo owodwa we-EdgeQL njengesisho phakathi komunye umbuzo. Okwenziwayo nemijikelezo kuyasekelwa.

khetha I-Movie {isihloko, abalingisi: {igama } } isihlungi .title = "I-Matrix" faka i-Movie {isihloko := "I-Matrix Resurrections", abadlali := ( khetha Isihlungi Somuntu .igama kokuthi {'Keanu Reeves', 'Carrie- U-Anne Moss', u-'Laurence Fishburne' } )} ngenombolo {0, 1, 2, 3} inyunyana ( khetha {inombolo, inombolo + 0.5} );

Enguqulweni entsha:

  • Isixhumi esibonakalayo sewebhu esakhelwe ngaphakathi sengeziwe sokulawulwa kwesizindalwazi, esikuvumela ukuthi ubuke futhi uhlele idatha, usebenzise imibuzo ye-EdgeQL futhi uhlaziye uhlelo lokugcina olusetshenzisiwe. I-interface yethulwa ngomyalo we-"edgedb ui", ngemuva kwalokho iyatholakala uma ufinyelela i-localhost.
    Ukukhishwa kwegrafu yobudlelwano DBMS EdgeDB 2.0
  • Isisho esithi “GROUP” siqalisiwe, esikuvumela ukuthi uhlukanise futhi uhlanganise idatha nedatha yeqembu usebenzisa izinkulumo ze-EdgeQL ezingafaneleki, ezifana nokuhlanganisa ekusebenzeni KHETHA.
  • Ikhono lokulawula ukufinyelela ezingeni lento. Imithetho yokufinyelela ichazwa ezingeni le-schema sesitoreji futhi ikuvumela ukuthi ukhawulele ikhono lokusebenzisa isethi ethile yezinto ekulandeni, ekufakeni, ekususeni, nasekubuyekezeni imisebenzi. Isibonelo, ungangeza umthetho ovumela umbhali kuphela ukuthi abuyekeze okushicilelwe.
  • Kwengezwe amandla okusebenzisa okuguquguqukayo komhlaba kuhlelo lwesitoreji. Kuphakanyiswe i-variable variable global current_user ukuthi ibophezele kumsebenzisi.
  • Usekelo olungeziwe lwezinhlobo ezichaza ububanzi bamanani.
  • Umtapo wolwazi weklayenti osemthethweni wolimi lwe-Rust usulungisiwe.
  • Iphrothokholi ye-EdgeDB kanambambili isizinzile, okwenza kube nokwenzeka ukucubungula izikhathi eziningana ezahlukene ngesikhathi esisodwa ngaphakathi koxhumano lwenethiwekhi efanayo, ukudlulisela phambili nge-HTTP, kusetshenziswa okuguquguqukayo komhlaba kanye nezifunda zendawo.
  • Ukwesekwa okwengeziwe kokuvula isokhethi, okukuvumela ukuthi ungasigcini isibambi seseva kumemori futhi usisebenzise kuphela lapho uzama ukusungula uxhumano (oluwusizo ekulondolozeni izinsiza ezinhlelweni zonjiniyela).

Source: opennet.ru

Engeza amazwana