Tuuina atu o le kalafi sootaga DBMS EdgeDB 2.0

O le faʻasalalauga o le EdgeDB 2.0 DBMS o loʻo tuʻuina atu, lea e faʻaaogaina ai le faʻataʻitaʻiga o faʻamaumauga o kalafi fesoʻotaʻiga ma le gagana fesili EdgeQL, faʻapitoa mo le galue i faʻamaumauga faʻapitoa lavelave. O le code o loʻo tusia i le Python ma Rust (parser ma faʻataʻitaʻiga-vaega vaega) ma tufatufaina i lalo ole laisene Apache 2.0. O loʻo faʻatulagaina le poloketi e avea o se faʻaopoopoga mo PostgreSQL. Ua saunia faletusi a le au faipisinisi mo le Python, Go, Rust ma TypeScript/Javascript. Tuuina atu meafaigaluega laina mo le pulega DBMS ma le faʻatinoina o fesili fesoʻotaʻi (REPL).

Nai lo se faʻataʻitaʻiga faʻamaumauga faʻavae laulau, EdgeDB faʻaaogaina se faiga faʻaalia e faʻavae i luga o ituaiga mea. Nai lo o ki mai fafo, faʻafesoʻotaʻi e ala i faʻamatalaga e faʻaaogaina e faʻamalamalama ai le va o ituaiga (e mafai ona faʻaaogaina le tasi mea e fai ma meatotino a se isi mea).

type Tagata { mana'omia le igoa o meatotino -> str; } type Ata tifaga { mana'omia le igoa o meatotino -> str; tele feso'ota'iga actors -> Tagata; }

E mafai ona fa'aoga fa'asino igoa e fa'avavevave ai fa'amatalaga. O vaega e pei o le malosi o le taina o mea totino, fa'atapula'a o tau o mea totino, mea fa'akomepiuta, ma fa'agaioiga teuina o lo'o lagolagoina fo'i. O foliga o le EdgeDB mea e teu ai mea, lea e faʻamanatuina ai se ORM, e aofia ai le mafai ona faʻafefiloi fuafuaga, fesoʻotaʻiga meatotino mai mea eseese, ma tuʻufaʻatasia le lagolago a le JSON.

O meafaigaluega faʻapipiʻi e tuʻuina atu mo le teuina o femalagaiga o fuafuaga - a maeʻa ona suia le fuafuaga ua faʻamaonia i se isi faila esdl, naʻo le faʻatonuina o le "edgedb migration create" poloaiga ma o le DBMS o le a suʻesuʻeina eseesega i le schema ma fefaʻasoaaʻi faʻapipiʻi se tusitusiga mo le faimalaga i le fuafuaga fou. E otometi lava ona siaki le tala fa'asolopito o suiga o fuafuaga.

Mo le fa'atupuina o fesili, e lagolagoina uma le gagana fesili a le GraphQL ma le gagana EdgeDB, o se fetuutuuna'iga o SQL mo fa'amaumauga fa'atulagaina, e lagolagoina. Nai lo lisi, o fa'ai'uga fesili e fa'atulagaina i se auala fa'atulagaina, ma nai lo so'oga ma SOI, e mafai ona e fa'ama'oti se tasi ole fesili EdgeQL e fai ma fa'amatalaga i totonu ole isi fesili. E lagolagoina fefa'atauaiga ma ta'amilosaga.

filifili Ata tifaga { title, tagata fai ata: { igoa } } filter .title = "The Matrix" faaofi Movie { title := "The Matrix Resurrections", actors := ( filifili Tagata faamama .igoa i { 'Keanu Reeves', 'Carrie- Anne Moss', 'Laurence Fishburne'} ) } mo le numera i {0, 1, 2, 3} iuni (filifili {numera, numera + 0.5});

I le lomiga fou:

  • Ua fa'aopoopoina se atina'e i luga ole laiga mo le pulega o fa'amaumauga, e mafai ai ona e va'ai ma fa'asa'o fa'amaumauga, fa'atautaia fesili a EdgeQL ma au'ili'ili le polokalame e teu ai mea na fa'aaogaina. O le atinaʻe o loʻo faʻalauiloaina e le "edgedb ui" poloaiga, a maeʻa ona avanoa pe a ulufale i le localhost.
    Tuuina atu o le kalafi sootaga DBMS EdgeDB 2.0
  • O le faʻaaliga "GROUP" ua faʻatinoina, e mafai ai ona e vaelua ma faʻapipiʻi faʻamaumauga ma faʻamaumauga faʻavae e faʻaaoga ai faʻamatalaga EdgeQL faʻapitoa, e tutusa ma le faʻavasegaina i se faʻagaioiga SELECT.
  • Malosiaga e pulea avanoa i le tulaga o mea. O tulafono avanoa e faʻamalamalamaina i le tulaga o le teuina o fuafuaga ma faʻatagaina oe e faʻatapulaʻa le mafai ona faʻaogaina se seti o mea faitino i le fetch, faʻaofi, tape, ma faʻafouina galuega. Mo se faʻataʻitaʻiga, e mafai ona e faʻaopoopoina se tulafono e faʻatagaina naʻo le tusitala e faʻafouina se lomiga.
  • Faʻaopoopo le gafatia e faʻaaoga ai fesuiaiga o le lalolagi i le polokalame teuina. O se suiga fou o le lalolagi current_user ua fuafuaina e fusifusia i le tagata fa'aoga.
  • Fa'aopoopoina le lagolago mo ituaiga e fa'amatala ai vaega o tau.
  • Ua saunia se faletusi a le tagata o tausia mo le gagana Rust.
  • O le EdgeDB binary protocol ua faʻamautuina, ua mafai ai ona faʻagasolo le tele o vasega eseese i le taimi e tasi i totonu o le fesoʻotaʻiga fesoʻotaʻiga tutusa, faʻafeiloaʻi e ala i le HTTP, faʻaaoga suiga o le lalolagi ma setete faʻapitonuʻu.
  • Faʻaopoopoina le lagolago mo le faʻagaoioia o socket, lea e mafai ai e oe ona aua neʻi teuina le pule o le server i le mafaufau ma faʻatautaia pe a taumafai e faʻavae se fesoʻotaʻiga (faʻaoga mo le faʻasaoina o punaoa i luga o faiga faʻavae).

puna: opennet.ru

Faaopoopo i ai se faamatalaga