Kutulutsidwa kwa graph yaubale DBMS EdgeDB 2.0

Kutulutsidwa kwa EdgeDB 2.0 DBMS kwaperekedwa, komwe kumagwiritsa ntchito fanizo lachidziwitso chazithunzi ndi chilankhulo cha EdgeQL, chokongoletsedwa kuti chigwire ntchito ndi zovuta zotsogola. Khodiyo idalembedwa mu Python ndi Rust (magawo ofunikira komanso ofunikira kwambiri) ndipo imagawidwa pansi pa chilolezo cha Apache 2.0. Ntchitoyi ikupangidwa ngati chowonjezera cha PostgreSQL. Makasitomala amalaibulale amakonzedwera Python, Go, Rust ndi TypeScript/Javascript. Amapereka zida za mzere wamalamulo pakuwongolera kwa DBMS ndikuchita kwamafunso (REPL).

M'malo mwachitsanzo cha deta yochokera patebulo, EdgeDB imagwiritsa ntchito dongosolo lolengeza potengera mitundu ya zinthu. M'malo mwa makiyi akunja, kugwirizanitsa ndi kufotokozera kumagwiritsidwa ntchito kufotokozera mgwirizano pakati pa mitundu (chinthu chimodzi chingagwiritsidwe ntchito ngati katundu wa chinthu china).

lembani Munthu {dzina lofunikira -> str; } lembani Kanema {mutu wofunikira -> str; ochita maulalo angapo -> Munthu; }

Ma index angagwiritsidwe ntchito kufulumizitsa kukonzanso kwamafunso. Zinthu monga kulemba mwamphamvu kwa katundu, zoletsa mtengo wa katundu, katundu wopangidwa ndi makompyuta, ndi ndondomeko zosungidwa zimathandizidwanso. Mawonekedwe a dongosolo losungira zinthu la EdgeDB, lomwe limakumbutsanso za ORM, limaphatikizapo kuthekera kosakaniza schemas, kulumikiza katundu kuchokera kuzinthu zosiyanasiyana, ndi thandizo la JSON lophatikizidwa.

Zida zomangidwira zimaperekedwa kuti zisungire kusamuka kwa schema - mutasintha schema yomwe yafotokozedwa mufayilo yosiyana ya esdl, ingoyendetsani lamulo la "edgedb migration create" ndipo DBMS isanthula kusiyana kwa schema ndikupanga script kuti isamukire ku schema watsopano. Mbiri yakusintha kwa schema imatsatiridwa yokha.

Kuti mupange mafunso, chilankhulo cha mafunso a GraphQL komanso chilankhulo cha EdgeDB, chomwe ndikusintha kwa SQL pazida zotsogola, zimathandizidwa. M'malo mwa mindandanda, zotsatira zamafunso zimasinthidwa mwadongosolo, ndipo m'malo mwa subqueries ndi JOINs, mutha kufotokozera funso limodzi la EdgeQL ngati mawu mkati mwafunso lina. Zochita ndi zozungulira zimathandizidwa.

sankhani Kanema {mutu, ochita zisudzo: { dzina } } fyuluta .title = "Matrix" lowetsani Kanema {mutu := "The Matrix Resurrections", ochita := ( sankhani Zosefera za Munthu .name mu {'Keanu Reeves', 'Carrie- Anne Moss', 'Laurence Fishburne'} )} pa chiwerengero mu {0, 1, 2, 3} mgwirizano ( sankhani {nambala, nambala + 0.5});

Mu mtundu watsopano:

  • Mawonekedwe opangidwa ndi intaneti awonjezedwa kuti ayang'anire database, kukulolani kuti muwone ndikusintha deta, funsani mafunso a EdgeQL ndikusanthula ndondomeko yosungirako yomwe imagwiritsidwa ntchito. Mawonekedwewa amayambitsidwa ndi lamulo la "edgedb ui", pambuyo pake limapezeka mukalowa localhost.
    Kutulutsidwa kwa graph yaubale DBMS EdgeDB 2.0
  • Mawu a "GROUP" akhazikitsidwa, kukulolani kuti mugawane ndikuphatikiza deta ndi gulu lamagulu pogwiritsa ntchito mawu osamveka a EdgeQL, ofanana ndi kuyika m'magulu mu Opareshoni ya SELECT.
  • Kutha kuwongolera mwayi pamlingo wa chinthu. Malamulo ofikira amatanthauzidwa pamlingo wosungira schema ndipo amakulolani kuti muchepetse kuthekera kogwiritsa ntchito zinthu zina potenga, kuyika, kufufuta, ndikusintha ntchito. Mwachitsanzo, mukhoza kuwonjezera lamulo limene limalola wolemba yekha kusintha zofalitsa.
  • Adawonjezera kuthekera kogwiritsa ntchito zosinthika zapadziko lonse lapansi mu schema yosungirako. Mtundu watsopano wapadziko lonse wapano_user waperekedwa kuti ugwirizane ndi wogwiritsa ntchito.
  • Thandizo lowonjezera la mitundu yomwe imatanthauzira milingo.
  • Laibulale yovomerezeka ya kasitomala ya chilankhulo cha dzimbiri yakonzedwa.
  • Pulogalamu ya binary ya EdgeDB yakhazikika, ndikupangitsa kuti pakhale zotheka kukonza magawo angapo nthawi imodzi mkati mwa kulumikizana komweko, kutumiza kudzera pa HTTP, pogwiritsa ntchito mitundu yapadziko lonse lapansi ndi mayiko am'deralo.
  • Thandizo lowonjezera pakutsegula kwa socket, lomwe limakupatsani mwayi kuti musamakumbukire chosungira seva ndikuyendetsa pokha poyesa kukhazikitsa kulumikizana (kothandiza posungira zinthu pamakina opanga mapulogalamu).

Source: opennet.ru

Kuwonjezera ndemanga