Tokollo ea pele e tsitsitseng ea graph ea kamano DBMS EdgeDB

Tokollo ea pele e tsitsitseng ea EdgeDB DBMS e teng, e leng tlatsetso ho PostgreSQL ka ts'ebetsong ea mohlala oa data oa graph e amanang le puo ea potso ea EdgeQL, e ntlafalitsoeng bakeng sa ho sebetsa le data e rarahaneng ea maemo a holimo. Khoutu e ngotsoe ka Python le Rust mme e ajoa tlasa laesense ea Apache 2.0. Lilaebrari tsa bareki li lokiselitsoe Python, Go, Rust le TypeScript/Javascript. E fana ka lisebelisoa tsa mohala oa taelo bakeng sa taolo ea DBMS le phetisetso ea lipotso tse kopanetsoeng (REPL).

Sebakeng sa mohlala oa data o thehiloeng tafoleng, EdgeDB e sebelisa mokhoa oa phatlalatso o thehiloeng ho mefuta ea lintho. Sebakeng sa linotlolo tsa kantle ho naha, ho hokahanya ka litšupiso ho sebelisoa ho hlalosa kamano lipakeng tsa mefuta (ntho e le 'ngoe e ka sebelisoa e le thepa ea ntho e' ngoe). mofuta oa Motho {lebitso le hlokahalang la thepa -> str; } mofuta oa Movie {sehlooho se hlokahalang sa thepa -> str; batšoantšisi ba lihokelo tse ngata -> Motho; }

Li-index li ka sebelisoa ho potlakisa ts'ebetso ea lipotso. Likarolo tse kang ho thaepa ka matla thepa, lithibelo tsa boleng ba thepa, thepa e baloang ka komporo, le mekhoa e bolokiloeng le tsona lia tšehetsoa. Likarolo tsa leano la polokelo ea lintho tsa EdgeDB, tse batlang li hopotsa ORM, li kenyelletsa bokhoni ba ho kopanya schemas, ho hokahanya thepa ho tsoa linthong tse fapaneng, le tšehetso e kopaneng ea JSON.

Lisebelisoa tse hahelletsoeng li fanoe bakeng sa ho boloka schema migration - kamora ho fetola schema e boletsoeng faeleng e arohaneng ea esdl, tsamaisa feela taelo ea "edgedb migration create" mme DBMS e tla sekaseka liphapang tsa schema mme ka kopanelo e hlahise script bakeng sa ho fallela ho schema e ncha. Nalane ea liphetoho tsa schema e lateloa ka bo eona.

Ho hlahisa lipotso, lipuo tsa lipotso tsa GraphQL le puo ea EdgeDB ea mong'a ntlo, e leng phetoho ea SQL bakeng sa lintlha tsa maemo a phahameng, lia tšehetsoa. Sebakeng sa manane, liphetho tsa lipotso li hlophisitsoe ka mokhoa o hlophisitsoeng, mme sebakeng sa subqueries le JOIN, o ka hlakisa potso e le 'ngoe ea EdgeQL joalo ka polelo ka har'a potso e' ngoe. Litšebelisano le lipotoloho lia tšehetsoa. khetha Movie {sehlooho, batšoantšisi: {lebitso } } sefa .title = "The Matrix" kenya Movie { title := "The Matrix Resurrections", actors := ( khetha Person filter .name in {'Keanu Reeves', 'Carrie- Anne Moss ',' Laurence Fishburne '} )} bakeng sa nomoro ho {0, 1, 2, 3} bonngoe ( khetha {nomoro, nomoro + 0.5} );

Source: opennet.ru

Eketsa ka tlhaloso