ืืืฆืืช ืืืืืืจื ืฉื EdgeDB 2.0 DBMS, ืืืืืฉืืช ืืช ืืืื ื ืชืื ื ืืืจืฃ ืืืชืืืืกืืชื ืืืช ืฉืคืช ืืฉืืืืชืืช EdgeQL, ืืืชืืืช ืืขืืืื ืขื ื ืชืื ืื ืืืจืจืืืื ืืืจืืืื. ืืงืื ืืชืื ื-Python ื-Rust (ืื ืชื ืืืืงืื ืงืจืืืืื ืืืืฆืืขืื) ืืืืคืฅ ืชืืช ืจืืฉืืื Apache 2.0. ืืคืจืืืงื ืืคืืชื ืืชืืกืฃ ืขืืืจ PostgreSQL. ืกืคืจืืืช ืืงืื ืืืื ืืช ืขืืืจ Python, Go, Rust ื-TypeScript/Javascript. ืืกืคืง ืืื ืฉืืจืช ืคืงืืื ืื ืืืื DBMS ืืืืฆืืข ืฉืืืืชืืช ืืื ืืจืืงืืืืืืช (REPL).
ืืืงืื ืืืื ื ืชืื ืื ืืืืกืก ืืืื, EdgeDB ืืฉืชืืฉ ืืืขืจืืช ืืฆืืจืชืืช ืืืืืกืกืช ืขื ืกืืื ืืืืืืงืืื. ืืืงืื ืืคืชืืืช ืืจืื, ืืงืืฉืืจ ืืคื ืืคื ืื ืืฉืืฉ ืืืืืจืช ืืงืฉืจ ืืื ืืืคืืกืื (ื ืืชื ืืืฉืชืืฉ ืืืืืืืงื ืืื ืืืืคืืื ืฉื ืืืืืืงื ืืืจ).
ืืงืื ืืื { ืฉื ืืืคืืื ื ืืจืฉ -> str; } ืืงืื Movie { required property title -> str; ืฉืืงื ืื ืืจืืื ืงืืฉืืจ -> ืืื; }
ื ืืชื ืืืฉืชืืฉ ืืืื ืืงืกืื ืืื ืืืืืฅ ืืช ืขืืืื ืืฉืืืืชืืช. ืชืืื ืืช ืืื ืืงืืื ืืืงื ืฉื ื ืืกืื, ืืืืืืช ืขื ืขืจื ื ืืกืื, ืืืคืืื ืื ืืืืฉืืื ืื ืืืื ืืืืืกื ืื ื ืชืืืืช ืื ืื. ืืชืืื ืืช ืฉื ืกืืืืช ืืืกืื ืืืืืืืงืืื EdgeDB, ืฉืืืืืจื ืืขื ORM, ืืืืืืช ืืช ืืืืืืช ืืขืจืื ืกืืืืช, ืงืืฉืืจ ืืืคืืื ืื ืืืืืืืงืืื ืฉืื ืื ืืชืืืื ืืฉืืืืช ื-JSON.
ืืืื ืืืื ืื ืืกืืคืงืื ืืืืกืื ืืขืืจืช ืกืืืื - ืืืืจ ืฉืื ืื ืืกืืืื ืฉืฆืืื ื ืืงืืืฅ esdl ื ืคืจื, ืคืฉืื ืืคืขื ืืช ืืคืงืืื "edgedb migration create" ืื-DBMS ืื ืชื ืืช ืืืืืืื ืืกืืืื ืืืคืืง ืืืืคื ืืื ืืจืืงืืืื ืกืงืจืืคื ืืืขืืจื ื- ืกืืืื ืืืฉื. ืืืืกืืืจืื ืฉื ืฉืื ืืืื ืืกืืืื ืืชืืฆืขืช ืืืขืงื ืืืืืืื.
ืืื ืืืฆืืจ ืฉืืืืชืืช, ื ืชืืืืช ืื ืฉืคืช ืืฉืืืืชืืช GraphQL ืืื ืฉืคืช EdgeDB ืืงื ืืื ืืช, ืฉืืื ืืชืืื ืฉื SQL ืื ืชืื ืื ืืืจืจืืืื. ืืืงืื ืจืฉืืืืช, ืชืืฆืืืช ืืฉืืืืชื ืืขืืฆืืืช ืืฆืืจื ืืืื ืืช, ืืืืงืื ืฉืืืืชืืช ืืฉื ื ื-JOIN, ื ืืชื ืืฆืืื ืฉืืืืชืช EdgeQL ืืืช ืืืืืื ืืชืื ืฉืืืืชื ืืืจืช. ืขืกืงืืืช ืืืืืืจืื ื ืชืืืื.
ืืืจ ืกืจื { title, actors: { name } } filter .title = "The Matrix" insert Movie { title := "The Matrix Resurrections", ืฉืืงื ืื := (ืืืจ Person filter .name ื-{ 'Keanu Reeves', 'Carrie- Anne Moss', 'Laurence Fishburne' } ) } ืขืืืจ ืืกืคืจ ืืืืืื {0, 1, 2, 3} (ืืืจ { ืืกืคืจ, ืืกืคืจ + 0.5 } );
ืืืจืกื ืืืืฉื:
- ืืชืืืกืฃ ืืืฉืง ืืื ืืจื ื ืืืื ื ืื ืืืื ืืกื ื ืชืื ืื, ืืืืคืฉืจ ืื ืืืฆืื ืืืขืจืื ื ืชืื ืื, ืืืจืืฅ ืฉืืืืชืืช EdgeQL ืืื ืชื ืืช ืขืจืืช ืืืืกืื ืฉืื ื ืขืฉื ืฉืืืืฉ. ืืืืฉืง ืืืคืขื ืขื ืืื ืืคืงืืื "edgedb ui", ืืืืืจ ืืื ืืื ืืืคื ืืืืื ืืขืช โโืืืฉื ื-localhost.
- ืืืืืื "GROUP" ืืืฉื, ืืืืคืฉืจ ืื ืืืืง ืืืฆืืืจ ื ืชืื ืื ืืืงืืฅ ื ืชืื ืื ืืืืฆืขืืช ืืืืืื EdgeQL ืฉืจืืจืืชืืื, ืืืืื ืืงืืืืฅ ืืคืขืืืช SELECT.
- ืืืืืช ืืฉืืื ืืืืฉื ืืจืืช ืืืืืืืงื. ืืืื ืืืฉื ืืืืืจืื ืืจืืช ืกืืืืช ืืืืกืื ืืืืคืฉืจืื ืื ืืืืืื ืืช ืืืืืืช ืืืฉืชืืฉ ืืงืืืฆื ืืกืืืืช ืฉื ืืืืืืงืืื ืืคืขืืืืช ืืืืืจ, ืืืกืคื, ืืืืงื ืืขืืืื. ืืืืืื, ื ืืชื ืืืืกืืฃ ืืื ืืืืคืฉืจ ืจืง ืืืืืจ ืืขืืื ืคืจืกืื.
- ื ืืกืคื ืืช ืืืืืืช ืืืฉืชืืฉ ืืืฉืชื ืื ืืืืืืืื ืืกืืืืช ืืืืกืื. ืืฉืชื ื ืืืืืื ืืืฉ current_user ืืืฆืข ืืืืงืฉืจ ืืืฉืชืืฉ.
- ื ืืกืคื ืชืืืื ืืกืืืื ืืืืืืจืื ืืืืื ืขืจืืื.
- ืืืื ื ืกืคืจืืืช ืืงืืืืช ืจืฉืืืช ืืฉืคืช Rust.
- ืืคืจืืืืงืื ืืืื ืืจื EdgeDB ืืืฆื, ืื ืฉืืืคืฉืจ ืืขืื ืืกืคืจ ืืคืขืืืช ืฉืื ืืช ืื-ืืื ืืช ืืชืื ืืืชื ืืืืืจ ืจืฉืช, ืืขืืจื ืืืืฆืขืืช HTTP, ืืืืฆืขืืช ืืฉืชื ืื ืืืืืืืื ืืืฆืืื ืืงืืืืื.
- ื ืืกืคื ืชืืืื ืืืคืขืืช ืฉืงืขืื, ืืืืคืฉืจืช ืื ืื ืืฉืืืจ ืืช ืืืืคื ืืฉืจืช ืืืืืจืื ืืืืคืขืื ืืืชื ืจืง ืืืฉืจ ืื ืกืื ืืืฆืืจ ืืืืืจ (ืฉืืืืฉื ืืืืกืืื ืืืฉืืืื ืืืขืจืืืช ืืคืชืืื).
ืืงืืจ: OpenNet.ru