Gefa út tengslagrafið DBMS EdgeDB 2.0

Kynnt er útgáfa EdgeDB 2.0 DBMS, sem útfærir gagnalíkan tengslamynda og EdgeQL fyrirspurnarmálsins, fínstillt til að vinna með flókin stigveldisgögn. Kóðinn er skrifaður í Python og Rust (þáttur og afkastamikill hlutar) og er dreift undir Apache 2.0 leyfinu. Verkefnið er þróað sem viðbót fyrir PostgreSQL. Viðskiptavinasöfn eru undirbúin fyrir Python, Go, Rust og TypeScript/Javascript. Býður upp á skipanalínuverkfæri fyrir DBMS stjórnun og gagnvirka framkvæmd fyrirspurna (REPL).

Í stað töflubundins gagnalíkans notar EdgeDB yfirlýsingakerfi sem byggir á tegundum hluta. Í stað erlendra lykla er tenging með tilvísun notuð til að skilgreina tengsl milli tegunda (einn hlut er hægt að nota sem eiginleika annars hlutar).

tegund Persónu { áskilið eignarheiti -> str; } tegund Kvikmynd { krafist eignarheiti -> str; fjöltengla leikarar -> Persóna; }

Vísitölur er hægt að nota til að flýta fyrir vinnslu fyrirspurna. Eiginleikar eins og sterk eignagerð, takmarkanir á eignavirði, tölvueiginleikar og geymdar aðferðir eru einnig studdir. Eiginleikar EdgeDB-hlutageymslukerfisins, sem minnir nokkuð á ORM, felur í sér möguleika á að blanda saman skema, tengja eiginleika frá mismunandi hlutum og samþættan JSON-stuðning.

Innbyggð verkfæri eru til staðar til að geyma skemaflutning - eftir að hafa breytt stefinu sem tilgreint er í sérstakri esdl skrá, keyrðu bara "edgedb migration create" skipunina og DBMS mun greina muninn á skemanu og búa til gagnvirkt handrit til að flytja til nýtt skema. Saga skemabreytinga er sjálfkrafa rakin.

Til að búa til fyrirspurnir eru bæði GraphQL fyrirspurnarmálið og eigin EdgeDB tungumál, sem er aðlögun SQL fyrir stigveldisgögn, studd. Í stað lista eru fyrirspurnarniðurstöður sniðnar á skipulegan hátt og í stað undirfyrirspurna og JOINs geturðu tilgreint eina EdgeQL fyrirspurn sem tjáningu innan annarrar fyrirspurnar. Viðskipti og lotur eru studdar.

veldu Movie { title, actors: { name } } filter .title = "The Matrix" settu inn Movie { title := "The Matrix Resurrections", leikarar := ( veldu Person filter .name í { 'Keanu Reeves', 'Carrie- Anne Moss', 'Laurence Fishburne' } ) } fyrir tölu í {0, 1, 2, 3} sameiningu ( veldu { tala, tala + 0.5 } );

Í nýju útgáfunni:

  • Innbyggt vefviðmót hefur verið bætt við fyrir gagnagrunnsstjórnun, sem gerir þér kleift að skoða og breyta gögnum, keyra EdgeQL fyrirspurnir og greina geymslukerfið sem notað er. Viðmótið er ræst með „edgedb ui“ skipuninni, eftir það verður það aðgengilegt þegar þú opnar localhost.
    Gefa út tengslagrafið DBMS EdgeDB 2.0
  • „GROUP“ tjáningin hefur verið útfærð, sem gerir þér kleift að skipta og safna gögnum og hópa gögnum með því að nota handahófskenndar EdgeQL tjáningar, svipað og að flokka í SELECT aðgerð.
  • Geta til að stjórna aðgangi á hlutstigi. Aðgangsreglur eru skilgreindar á geymslukerfisstigi og leyfa þér að takmarka getu til að nota tiltekið sett af hlutum við að sækja, setja inn, eyða og uppfæra. Til dæmis er hægt að bæta við reglu sem gerir aðeins höfundi kleift að uppfæra rit.
  • Bætti við möguleikanum á að nota alþjóðlegar breytur í geymsluskemmunni. Ný alþjóðleg breyta current_user hefur verið lögð til að bindast notandanum.
  • Bætt við stuðningi við gerðir sem skilgreina gildissvið.
  • Búið er að útbúa opinbert viðskiptamannasafn fyrir tungumálið Rust.
  • EdgeDB tvöfaldur samskiptareglur hafa verið stöðugar, sem gerir það mögulegt að vinna úr nokkrum mismunandi lotum samtímis innan sömu nettengingar, áframsenda um HTTP, með því að nota alþjóðlegar breytur og staðbundin ríki.
  • Bætti við stuðningi við virkjun fals, sem gerir þér kleift að halda netþjóninum í minni og keyra hann aðeins þegar þú reynir að koma á tengingu (gagnlegt til að vista tilföng í þróunarkerfum).

Heimild: opennet.ru

Bæta við athugasemd