เจฐเจฟเจฒเฉ‡เจธเจผเจจเจฒ เจ—เฉเจฐเจพเจซ DBMS EdgeDB 4.0 เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ

EdgeDB 4.0 เจนเฉเจฃ เจ‰เจชเจฒเจฌเจง เจนเฉˆเฅค เจ‡เจน เจ‡เฉฑเจ• เจฐเจฟเจฒเฉ‡เจธเจผเจจเจฒ-เจ—เฉเจฐเจพเจซ เจกเฉ‡เจŸเจพ เจฎเจพเจกเจฒ เจ…เจคเฉ‡ EdgeQL เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจญเจพเจธเจผเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจฒเฉœเฉ€เจตเจพเจฐ เจกเฉ‡เจŸเจพ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจนเฉˆเฅค เจ•เฉ‹เจก Python เจ…เจคเฉ‡ Rust (เจชเจพเจฐเจธเจฐ เจ…เจคเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจจ-เจจเจพเจœเจผเฉเจ• เจนเจฟเฉฑเจธเฉ‡) เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ Apache 2.0 เจฒเจพเจ‡เจธเฉˆเจ‚เจธ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจตเฉฐเจกเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ PostgreSQL เจเจก-เจ†เจจ เจตเจœเฉ‹เจ‚ เจตเจฟเจ•เจธเจค เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆเฅค Python, Go, Rust, .NET, Elixir, เจ…เจคเฉ‡ TypeScript/Javascript เจฒเจˆ เจ•เจฒเจพเจ‡เฉฐเจŸ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจ‰เจชเจฒเจฌเจง เจนเจจเฅค DBMS เจชเฉเจฐเจฌเฉฐเจงเจจ เจ…เจคเฉ‡ เจ‡เฉฐเจŸเจฐเจเจ•เจŸเจฟเจต เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ (REPL) เจฒเจˆ เจ•เจฎเจพเจ‚เจก-เจฒเจพเจˆเจจ เจŸเฉ‚เจฒ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค

เจ‡เฉฑเจ• เจธเจพเจฐเจฃเฉ€-เจ…เจงเจพเจฐเจฟเจค เจกเฉ‡เจŸเจพ เจฎเจพเจกเจฒ เจฆเฉ€ เจฌเจœเจพเจ, EdgeDB เจ†เจฌเจœเฉˆเจ•เจŸ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจ‡เฉฑเจ• เจ˜เฉ‹เจธเจผเจฃเจพเจคเจฎเจ• เจชเฉเจฐเจฃเจพเจฒเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจตเจฟเจฆเฉ‡เจธเจผเฉ€ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฆเฉ€ เจฌเจœเจพเจ, เจธเฉฐเจฆเจฐเจญ เจฆเฉเจ†เจฐเจพ เจฒเจฟเฉฐเจ• เจ•เจฐเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจธเจฌเฉฐเจง เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ (เจ‡เฉฑเจ• เจตเจธเจคเฉ‚ เจจเฉ‚เฉฐ เจฆเฉ‚เจœเฉ€ เจตเจธเจคเฉ‚ เจฆเฉ€ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจตเจœเฉ‹เจ‚ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ)เฅค

เจŸเจพเจˆเจช เจตเจฟเจ…เจ•เจคเฉ€ { เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ เจจเจพเจฎ: str; } เจ•เจฟเจธเจฎ เจฎเฉ‚เจตเฉ€ { เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ เจธเจฟเจฐเจฒเฉ‡เจ–: str; เจฎเจฒเจŸเฉ€ เจเจ•เจŸเจฐ: เจตเจฟเจ…เจ•เจคเฉ€; }

เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฎเจœเจผเจฌเฉ‚เจค โ€‹โ€‹เจธเฉฐเจชเจคเฉ€ เจŸเจพเจˆเจชเจฟเฉฐเจ—, เจธเฉฐเจชเฉฑเจคเฉ€ เจฎเฉเฉฑเจฒ เจชเจพเจฌเฉฐเจฆเฉ€เจ†เจ‚, เจ—เจฃเจจเจพ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚, เจ…เจคเฉ‡ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจตเฉ€ เจธเจฎเจฐเจฅเจฟเจค เจนเจจเฅค EdgeDB เจ†เจฌเจœเฉˆเจ•เจŸ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจธเจ•เฉ€เจฎ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚, เจœเฉ‹ เจ•เฉเจ เจนเฉฑเจฆ เจคเฉฑเจ• เจ‡เฉฑเจ• ORM เจฆเฉ€ เจฏเจพเจฆ เจฆเจฟเจตเจพเจ‰เจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ, เจตเจฟเฉฑเจš เจธเจ•เฉ€เจฎเจพเจ‚ เจจเฉ‚เฉฐ เจฎเจฟเจฒเจพเจ‰เจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ, เจตเฉฑเจ–-เจตเฉฑเจ– เจ†เจฌเจœเฉˆเจ•เจŸเจธ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจเจ•เฉ€เจ•เฉเจฐเจฟเจค JSON เจธเจนเจพเจ‡เจคเจพ เจธเจผเจพเจฎเจฒ เจนเจจเฅค

เจฌเจฟเจฒเจŸ-เจ‡เจจ เจŸเฉ‚เจฒ เจธเจ•เฉ€เจฎเจพ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ - เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ esdl เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจจเจฟเจฐเจงเจพเจฐเจค เจธเจ•เฉ€เจฎเจพ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ•เฉ‡เจตเจฒ "edgedb เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจฌเจฃเจพเจ“" เจ•เจฎเจพเจ‚เจก เจšเจฒเจพเจ“ เจ…เจคเฉ‡ DBMS เจธเจ•เฉ€เจฎเจพ เจตเจฟเฉฑเจš เจ…เฉฐเจคเจฐเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจชเจฐเจตเจพเจธ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเจ•เฉเจฐเจฟเจชเจŸ เจคเจฟเจ†เจฐ เจ•เจฐเฉ‡เจ—เจพเฅค เจจเจตเฉ€เจ‚ เจธเจ•เฉ€เจฎเจพเฅค เจธเจ•เฉ€เจฎเจพ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฆเจพ เจ‡เจคเจฟเจนเจพเจธ เจ†เจชเจฃเฉ‡ เจ†เจช เจŸเฉเจฐเฉˆเจ• เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจชเฉˆเจฆเจพ เจ•เจฐเจจ เจฒเจˆ GraphQL เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจญเจพเจธเจผเจพ เจ…เจคเฉ‡ EdgeDB เจฆเฉ€ เจ†เจชเจฃเฉ€ เจญเจพเจธเจผเจพ เจฆเฉ‹เจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจฒเฉœเฉ€เจตเจพเจฐ เจกเฉ‡เจŸเจพ เจฒเจˆ SQL เจฆเจพ เจ…เจจเฉเจ•เฉ‚เจฒเจจ เจนเฉˆเฅค เจธเฉ‚เจšเฉ€เจ†เจ‚ เจฆเฉ€ เจฌเจœเจพเจ, เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจจเจคเฉ€เจœเฉ‡ เจ‡เฉฑเจ• เจขเจพเจ‚เจšเจพเจ—เจค เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจธเจฌเจ•เจฟเจŠเจฐเฉ€เจ†เจ‚ เจ…เจคเฉ‡ JOIN เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจฌเจœเจพเจ, เจ‡เฉฑเจ• EdgeQL เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจจเฉ‚เฉฐ เจฆเฉ‚เจœเฉ€ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ‡เฉฑเจ• เจธเจฎเฉ€เจ•เจฐเจจ เจตเจœเฉ‹เจ‚ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉˆเฅค เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจ…เจคเฉ‡ เจฒเฉ‚เจช เจธเจฎเจฐเจฅเจฟเจค เจนเจจเฅค

เจฎเฉ‚เจตเฉ€ เจšเฉเจฃเฉ‹ { เจธเจฟเจฐเจฒเฉ‡เจ–, เจ…เจญเจฟเจจเฉ‡เจคเจพ: { เจจเจพเจฎ } } เจซเจฟเจฒเจŸเจฐ .เจŸเจพเจˆเจŸเจฒ = "เจฆ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ" เจชเจพเจ“ เจฎเฉ‚เจตเฉ€ { เจธเจฟเจฐเจฒเฉ‡เจ– := "เจฆ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจชเฉเจจเจฐ-เจ‰เจฅเจพเจจ", เจ…เจญเจฟเจจเฉ‡เจคเจพ := ( เจตเจฟเจ…เจ•เจคเฉ€ เจซเจฟเจฒเจŸเจฐ เจšเฉเจฃเฉ‹เฅค { 'เจ•เฉ‡เจจเฉ‚ เจฐเฉ€เจตเจœเจผ', 'เจ•เฉˆเจฐเฉ€-' เจตเจฟเฉฑเจš เจจเจพเจฎ เจšเฉเจฃเฉ‹เฅค เจเจจ เจฎเฉŒเจธ', 'เจฒเฉŒเจฐเฉˆเจ‚เจธ เจซเจฟเจธเจผเจฌเจฐเจจ' }) }

เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš:

  • เจชเฉ‚เจฐเฉ‡-เจŸเฉˆเจ•เจธเจŸ เจ–เฉ‹เจœ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†, เจœเฉ‹ เจ•เจฟ fts เจชเจฒเฉฑเจ—เจ‡เจจ เจฐเจพเจนเฉ€เจ‚ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ•เจฟเจธเฉ‡ เจตเฉ€ เจตเจธเจคเฉ‚ เจจเฉ‚เฉฐ เจ–เฉ‹เจœเจฃเจฏเฉ‹เจ— เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, fts::index index เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹, เจ…เจคเฉ‡ เจ‡เฉฐเจกเฉˆเจ•เจธ เจ•เฉ€เจคเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ–เจพเจธ เจตเจพเจ•เฉฐเจธเจผ เจฆเฉ€ เจ–เฉ‹เจœ เจ•เจฐเจจ เจฒเจˆ, fts::search() เจซเฉฐเจ•เจธเจผเจจ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจจเจคเฉ€เจœเฉ‡ เจŸเจฟเจŠเจชเจฒเจพเจ‚ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจตเจพเจชเจธ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ เจœเจฟเจธ เจตเจฟเฉฑเจš เจฒเฉฑเจญเฉ€ เจ—เจˆ เจตเจธเจคเฉ‚ เจ…เจคเฉ‡ เจ‡เจธเจฆเจพ เจ–เฉ‹เจœ เจญเจพเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจฃ เจตเจœเฉ‹เจ‚: type Item { required available: bool { default := false; }; required name: str; required description: str; index fts::index on ( fts::with_options( .name, language := fts::Language.eng ) ); } with res := ( select fts::search(Item, 'candy corn', language := 'eng') ) select res.object {name, score := res.score} order by res.score desc;
  • เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจกเฉ‡เจŸเจพ เจ•เจฟเจธเจฎ, "เจฎเจฒเจŸเฉ€เจฐเฉ‡เจ‚เจœ," เจœเฉ‹เฉœเฉ€ เจ—เจˆ เจนเฉˆเฅค เจ‡เจน เจ…เจธเฉฐเจคเฉเจฒเจฟเจค เจ…เฉฐเจคเจฐเจพเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจฃ เจฒเจˆ เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ‡เฉฑเจ• เจœเจพเจ‚ เจ‡เฉฑเจ• เจคเฉ‹เจ‚ เจตเฉฑเจง เจฐเฉ‡เจ‚เจœเจพเจ‚ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจจเจฟเจฐเจงเจพเจฐเจค เจฐเฉ‡เจ‚เจœเจพเจ‚ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ“เจตเจฐเจฒเฉˆเจชเจฟเฉฐเจ— เจ–เฉ‡เจคเจฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจนเฉ€ เจธเจงเจพเจฐเจฃ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจธเจพเจฐเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจ‰เจชเจฒเจฌเจง เจฐเฉ‡เจ‚เจœ เจซเฉฐเจ•เจธเจผเจจ เจ…เจคเฉ‡ เจ“เจชเจฐเฉ‡เจŸเจฐ "เจฎเจฒเจŸเฉ€เจฐเฉ‡เจ‚เจœ" เจ•เจฟเจธเจฎ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค select multirange([range(8, 10)]) + range(1, 5) - range(3, 4);
  • HTTP เจ‰เฉฑเจคเฉ‡ GraphQL เจ…เจคเฉ‡ EdgeQL เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจจเฉ‚เฉฐ เจธเฉ€เจฎเจค เจ•เจฐเจจ เจฒเจˆ เจกเจฟเจซเฉŒเจฒเจŸ เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจจ เจธเจนเจพเจ‡เจคเจพ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ† เจ…เจคเฉ‡ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ†เฅค
  • เจ‡เฉฑเจ• เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจจ เจธเฉ‡เจตเจพ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจœเฉ‹ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ‰เจฆเจพเจนเจฐเจฃ เจคเฉ‹เจ‚ เจตเฉฑเจ–เจฐเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจนเฉˆ, "auth" เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ OAuth เจœเจพเจ‚ เจˆเจฎเฉ‡เจฒ เจ…เจคเฉ‡ เจชเจพเจธเจตเจฐเจก เจฐเจพเจนเฉ€เจ‚ เจฒเฉŒเจ—เจ‡เจจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • pgcrypto เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจนเฉˆเจธเจผเจฟเฉฐเจ— เจ…เจคเฉ‡ เจ‡เจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจฒเจˆ hmac, gen_salt, เจ…เจคเฉ‡ crypt เจซเฉฐเจ•เจธเจผเจจ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค select ext::pgcrypto::digest('encrypt this', 'sha1');
  • เจธเจŸเฉเจฐเจฟเฉฐเจ— เจธเจฎเจพเจจเจคเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ pg_trgm เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†เฅค
  • เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพเจตเจพเจ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจนเจจเฅค เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ–เจชเจค เจšเจพเจฒเฉ‚ เจนเฉˆ เจธเจฐเจตเจฐ 40% เจ˜เจŸเจพเจ‡เจ† เจ—เจฟเจ†เฅค EdgeQL เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจชเจพเจฐเจธเจฐ เจ•เฉ‹เจก เจจเฉ‚เฉฐ Rust เจตเจฟเฉฑเจš เจฆเฉเจฌเจพเจฐเจพ เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ†เฅค
  • EdgeQL เจนเฉเจฃ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจœเจพเจฃเฉ‡-เจชเจ›เจพเจฃเฉ‡ เจ•เฉฐเจกเฉ€เจธเจผเจจเจฒ เจเจ•เจธเจชเฉเจฐเฉˆเจธเจผเจจ เจธเจฟเฉฐเจŸเฉˆเจ•เจธ (เจœเฉ‡ ... เจซเจฟเจฐ .. เจนเฉ‹เจฐ ...) เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจนเฉเจฃ เจจเจฟเจฐเจงเจพเจฐเจค เจธเจผเจฐเจคเจพเจ‚ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจตเจธเจคเฉ‚เจ†เจ‚ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ, เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจจ เจ…เจคเฉ‡ เจฎเจฟเจŸเจพเจ‰เจฃ เจฒเจˆ เจ•เฉฐเจกเฉ€เจธเจผเจจเจฒ DML เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค to_bytes(), to_str(), enc::base64_encode, เจ…เจคเฉ‡ enc::base64_decode เจซเฉฐเจ•เจธเจผเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค "when" เจงเจพเจฐเจพ เจนเฉเจฃ เจŸเจฐเจฟเฉฑเจ—เจฐเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค select if count(Object) > 0 then 'got data' else 'no data'; select (select User filter .name = 'Alice') ?? (insert User { name := 'Alice' }); select enc::base64_encode(b'hello');
  • GraphQL เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจพเจ‚ เจตเจฟเฉฑเจš เจ—เจฒเฉ‹เจฌเจฒ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจชเจพเจธ เจ•เจฐเจจ เจฆเจพ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจคเจฐเฉ€เจ•เจพ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ - เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจ–เฉ‡เจคเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจฌเจœเจพเจ, เจนเฉเจฃ __globals__ เจ†เจฌเจœเฉˆเจ•เจŸ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจชเจพเจธ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉˆเฅค

    เจธเจฐเฉ‹เจค: opennet.ru
DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจตเจพเจฒเฉ€เจ†เจ‚ เจธเจพเจˆเจŸเจพเจ‚ เจฒเจˆ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ ๐Ÿ”ฅ DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจจเจพเจฒ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจตเฉˆเฉฑเจฌเจธเจพเจˆเจŸ เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ | ProHoster