เชฐเชฟเชฒเซ‡เชถเชจเชฒ เช—เซเชฐเชพเชซ DBMS EdgeDB เชจเซเช‚ เชชเซเชฐเชฅเชฎ เชธเซเชฅเชฟเชฐ เชชเซเชฐเช•เชพเชถเชจ

EdgeDB DBMS เชจเซเช‚ เชชเซเชฐเชฅเชฎ เชธเซเชฅเชฟเชฐ เชชเซเชฐเช•เชพเชถเชจ เช‰เชชเชฒเชฌเซเชง เช›เซ‡, เชœเซ‡ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพ เชฎเซ‹เชกเชฒ เช…เชจเซ‡ EdgeQL เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชธเชพเชฅเซ‡ PostgreSQL เชฎเชพเช‚ เชเชก-เช“เชจ เช›เซ‡, เชœเซ‡ เชœเชŸเชฟเชฒ เช…เชงเชฟเช•เซเชฐเชฎเชฟเช• เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเซ‡เชฒ เช›เซ‡. เช•เซ‹เชก Python เช…เชจเซ‡ Rust เชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เช›เซ‡ เช…เชจเซ‡ Apache 2.0 เชฒเชพเชฏเชธเชจเซเชธ เชนเซ‡เช เชณ เชตเชฟเชคเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. Python, Go, Rust เช…เชจเซ‡ TypeScript/Javascript เชฎเชพเชŸเซ‡ เช•เซเชฒเชพเชฏเชจเซเชŸ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“ เชคเซˆเชฏเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. DBMS เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เช‡เชจเซเชŸเชฐเซ‡เช•เซเชŸเชฟเชต เช•เซเชตเซ‡เชฐเซ€ เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจ (REPL) เชฎเชพเชŸเซ‡ เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจ เชŸเซ‚เชฒเซเชธ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡.

เช•เซ‹เชทเซเชŸเช•-เช†เชงเชพเชฐเชฟเชค เชกเซ‡เชŸเชพ เชฎเซ‹เชกเซ‡เชฒเชจเซ‡ เชฌเชฆเชฒเซ‡, EdgeDB เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชชเซเชฐเช•เชพเชฐเซ‹ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช˜เซ‹เชทเชฃเชพเชคเซเชฎเช• เชธเชฟเชธเซเชŸเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เชตเชฟเชฆเซ‡เชถเซ€ เช•เซ€เชจเซ‡ เชฌเชฆเชฒเซ‡, เชธเช‚เชฆเชฐเซเชญ เชฆเซเชตเชพเชฐเชพ เชฒเชฟเช‚เช• เช•เชฐเชตเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชชเซเชฐเช•เชพเชฐเซ‹ เชตเชšเซเชšเซ‡เชจเชพ เชธเช‚เชฌเช‚เชงเชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡ (เชเช• เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช…เชจเซเชฏ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซ€ เชฎเชฟเชฒเช•เชค เชคเชฐเซ€เช•เซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡). เชชเซเชฐเช•เชพเชฐ เชตเซเชฏเช•เซเชคเชฟ { เชœเชฐเซ‚เชฐเซ€ เชฎเชฟเชฒเช•เชค เชจเชพเชฎ -> str; } เชŸเชพเช‡เชช เชฎเซ‚เชตเซ€ { เชœเชฐเซ‚เชฐเซ€ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€ เชŸเชพเช‡เชŸเชฒ -> str; เชฎเชฒเซเชŸเซ€ เชฒเชฟเช‚เช• เช…เชญเชฟเชจเซ‡เชคเชพเช“ -> เชตเซเชฏเช•เซเชคเชฟ; }

เช•เซเชตเซ‡เชฐเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชเชกเชชเซ€ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช‡เชจเซเชกเซ‡เช•เซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชฎเชœเชฌเซ‚เชค เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€ เชŸเชพเช‡เชชเชฟเช‚เช—, เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€ เชตเซ‡เชฒเซเชฏเซ เชฐเชฟเชธเซเชŸเซเชฐเชฟเช•เซเชถเชจเซเชธ, เช•เซ‹เชฎเซเชชเซเชฏเซเชŸเซ‡เชก เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€เช เช…เชจเซ‡ เชธเซเชŸเซ‹เชฐเซเชก เชชเซเชฐเซ‹เชธเชฟเชœเชฐ เชœเซ‡เชตเซ€ เชธเซเชตเชฟเชงเชพเช“ เชชเชฃ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡. EdgeDB เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเซเช•เซ€เชฎเชจเซ€ เชตเชฟเชถเซ‡เชทเชคเชพเช“, เชœเซ‡ เช•เช‚เชˆเช• เช…เช‚เชถเซ‡ ORM เชจเซ€ เชฏเชพเชฆ เช…เชชเชพเชตเซ‡ เช›เซ‡, เชคเซ‡เชฎเชพเช‚ เชธเซเช•เซ€เชฎเชพเชจเซ‡ เชฎเชฟเชถเซเชฐเชฟเชค เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ, เชตเชฟเชตเชฟเชง เช‘เชฌเซเชœเซ‡เช•เซเชŸเชฎเชพเช‚เชฅเซ€ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€ เชฒเชฟเช‚เช• เช•เชฐเชตเชพ เช…เชจเซ‡ เชธเช‚เช•เชฒเชฟเชค JSON เชธเชชเซ‹เชฐเซเชŸเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡.

เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชŸเซ‚เชฒเซเชธ เชธเซเช•เซ€เชฎเชพ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฃเชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ - เชเช• เช…เชฒเช— esdl เชซเชพเช‡เชฒเชฎเชพเช‚ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชธเซเช•เซ€เชฎเชพ เชฌเชฆเชฒเซเชฏเชพ เชชเช›เซ€, เชซเช•เซเชค "edgedb migration create" เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ‹ เช…เชจเซ‡ DBMS เชธเซเช•เซ€เชฎเชพเชฎเชพเช‚ เชคเชซเชพเชตเชคเซ‹เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเชถเซ‡ เช…เชจเซ‡ เชชเชฐเชธเซเชชเชฐ เชธเซเชฅเชณเชพเช‚เชคเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชถเซ‡. เชจเชตเซ€ เชธเซเช•เซ€เชฎเชพ. เชธเซเช•เซ€เชฎเชพ เชซเซ‡เชฐเชซเชพเชฐเซ‹เชจเซ‹ เช‡เชคเชฟเชนเชพเชธ เช†เชชเชฎเซ‡เชณเซ‡ เชŸเซเชฐเซ‡เช• เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เช•เซเชตเซ‡เชฐเซ€เช เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชฌเช‚เชจเซ‡ เช—เซเชฐเชพเชซเช•เซเชฏเซเชเชฒ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพ เช…เชจเซ‡ เชฎเชพเชฒเชฟเช•เซ€เชจเซ€ EdgeDB เชญเชพเชทเชพ, เชœเซ‡ เช…เชงเชฟเช•เซเชฐเชฎเชฟเช• เชกเซ‡เชŸเชพ เชฎเชพเชŸเซ‡ SQL เชจเซเช‚ เช…เชจเซเช•เซ‚เชฒเชจ เช›เซ‡, เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡. เชธเซ‚เชšเชฟเช“เชจเซ‡ เชฌเชฆเชฒเซ‡, เช•เซเชตเซ‡เชฐเซ€ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชฎเชพเชณเช–เชพเช—เชค เชฐเซ€เชคเซ‡ เชซเซ‹เชฐเซเชฎเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เชธเชฌเช•เซเชตเซ‡เชฐเซ€เช เช…เชจเซ‡ เชœเซ‹เช‡เชจเซเชธเชจเซ‡ เชฌเชฆเชฒเซ‡, เชคเชฎเซ‡ เชเช• EdgeQL เช•เซเชตเซ‡เชฐเซ€เชจเซ‹ เช…เชจเซเชฏ เช•เซเชตเซ‡เชฐเซ€เชฎเชพเช‚เชฅเซ€ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟ เชคเชฐเซ€เช•เซ‡ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชตเซเชฏเชตเชนเชพเชฐเซ‹ เช…เชจเซ‡ เชšเช•เซเชฐ เช†เชงเชพเชฐเชญเซ‚เชค เช›เซ‡. เชฎเซ‚เชตเซ€ เชชเชธเช‚เชฆ เช•เชฐเซ‹ { เชถเซ€เชฐเซเชทเช•, เช…เชญเชฟเชจเซ‡เชคเชพเช“: { เชจเชพเชฎ } } เชซเชฟเชฒเซเชŸเชฐ .เชถเซ€เชฐเซเชทเช• = "เชง เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ" เชฆเชพเช–เชฒ เช•เชฐเซ‹ เชฎเซ‚เชตเซ€ { เชถเซ€เชฐเซเชทเช• := "เชง เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชชเซเชจเชฐเซเชคเซเชฅเชพเชจ", เช…เชญเชฟเชจเซ‡เชคเชพเช“ := ( เชตเซเชฏเช•เซเชคเชฟ เชซเชฟเชฒเซเชŸเชฐ เชชเชธเช‚เชฆ เช•เชฐเซ‹. { 'เช•เซ‡เชจเซ เชฐเซ€เชตเซเชธ', 'เช•เซ‡เชฐเซ€-' เชฎเชพเช‚ เชจเชพเชฎ เชชเชธเช‚เชฆ เช•เชฐเซ‹ เชเชจ เชฎเซ‹เชธ', 'เชฒเซ‹เชฐเซ‡เชจเซเชธ เชซเชฟเชถเชฌเชฐเซเชจ' } ) } {0, 1, 2, 3} เชฏเซเชจเชฟเชฏเชจเชฎเชพเช‚ เชจเช‚เชฌเชฐ เชฎเชพเชŸเซ‡ ( { เชจเช‚เชฌเชฐ, เชจเช‚เชฌเชฐ + 0.5 } เชชเชธเช‚เชฆ เช•เชฐเซ‹ );

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹