Ukukhutshwa kokuqala okuzinzile kwegrafu yobudlelwane DBMS EdgeDB

Ukukhutshwa kokuqala okuzinzile kwe-EdgeDB DBMS kufumaneka, okuyiyongeza kwi-PostgreSQL kunye nokuphunyezwa kwemodeli yedatha yegrafu yobudlelwane kunye nolwimi lombuzo lwe-EdgeQL, olulungiselelwe ukusebenza kunye neenkcukacha eziyinkimbinkimbi ze-hierarchical. Ikhowudi ibhalwe kwiPython kunye neRust kwaye ihanjiswa phantsi kwelayisensi ye-Apache 2.0. Amathala eencwadi omthengi alungiselelwe iPython, Go, Rust kunye neTypeScript/Javascript. Ibonelela ngezixhobo zomgca womyalelo wolawulo lweDBMS kunye nokwenziwa kwemibuzo esebenzayo (REPL).

Esikhundleni semodeli yedatha esekelwe kwitafile, i-EdgeDB isebenzisa inkqubo yokubhengeza esekelwe kwiintlobo zezinto. Esikhundleni sezitshixo zangaphandle, ukudibanisa ngereferensi kusetyenziselwa ukuchaza ubudlelwane phakathi kweentlobo (into enye ingasetyenziswa njengepropati yenye into). uhlobo loMntu {igama lepropathi elifunekayo -> str; } uhlobo lweMovie {isihloko sepropathi esifunekayo -> str; abadlali abaninzi bekhonkco -> Umntu; }

Izalathisi zingasetyenziselwa ukukhawulezisa ukusetyenzwa kwemibuzo. Iimpawu ezinjengokuchwethezwa kwepropathi eyomeleleyo, izithintelo zexabiso lepropati, iipropathi ezibaliweyo, kunye neenkqubo ezigciniweyo nazo ziyaxhaswa. Iimpawu zeskimu sokugcina into ye-EdgeDB, ekhumbuza ngandlela-thile i-ORM, iquka ukukwazi ukuxuba i-schemas, iipropati zekhonkco ezivela kwizinto ezahlukeneyo, kunye nenkxaso ye-JSON edibeneyo.

Izixhobo ezakhelwe-ngaphakathi zibonelelwe ukugcina ukufuduka kwe-schema - emva kokutshintsha i-schema echazwe kwifayile ye-esdl eyahlukileyo, sebenzisa nje "i-edgedb migration create" umyalelo kwaye i-DBMS iya kuhlalutya iyantlukwano kwi-schema kwaye isebenzisane ivelise iskripthi sokufudukela kwi-schema. iskimu esitsha. Imbali yotshintsho lweschema ilandelwa ngokuzenzekelayo.

Ukuvelisa imibuzo, zombini ulwimi lwemibuzo yeGraphQL kunye nolwimi lwe-EdgeDB lobunikazi, oluyi-adaptation ye-SQL yedatha ye-hierarchical, iyaxhaswa. Esikhundleni soluhlu, iziphumo zemibuzo zifomathwa ngendlela ecwangcisiweyo, kwaye endaweni ye-subqueries kunye ne-JOIN, ungakhankanya umbuzo omnye we-EdgeQL njengentetho ngaphakathi komnye umbuzo. Iintengiselwano kunye nemijikelo ziyaxhaswa. khetha iMovie {isihloko, abadlali: {igama } } isihluzo .title = "I-Matrix" faka iMovie {isihloko := "I-Matrix Resurrections", abadlali := ( khetha Isihluzo soMntu .igama kwi- {'Keanu Reeves', 'Carrie- U-Anne Moss', 'uLaurence Fishburne'} )} ngenani kwi- {0, 1, 2, 3} umanyano (khetha {inombolo, inombolo + 0.5});

umthombo: opennet.ru

Yongeza izimvo