Ukukhishwa kokuqala okuzinzile kwegrafu yobudlelwano i-DBMS EdgeDB

Ukukhishwa kokuqala okuzinzile kwe-EdgeDB DBMS kuyatholakala, okuyisengezo ku-PostgreSQL ngokuqaliswa kwemodeli yedatha yegrafu ehlobene kanye nolimi lombuzo lwe-EdgeQL, olulungiselelwe ukusebenza ngedatha ye-hierarchical eyinkimbinkimbi. Ikhodi ibhalwe ngePython neRust futhi isatshalaliswa ngaphansi kwelayisensi ye-Apache 2.0. 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', 'Laurence Fishburne' } )} ngenombolo kunyunyana ethi {0, 1, 2, 3} ( khetha {inombolo, inombolo + 0.5} );

Source: opennet.ru

Engeza amazwana