ื“ืขืจ ืขืจืฉื˜ืขืจ ืกื˜ืึทื‘ื™ืœ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ ืจื™ืœื™ื™ืฉืึทื ืึทืœ ื’ืจืึทืคื™ืง DBMS EdgeDB

ื“ืขืจ ืขืจืฉื˜ืขืจ ืกื˜ืึทื‘ื™ืœ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ EdgeDB DBMS ืื™ื– ื‘ืืจืขื›ื˜ื™ื’ื˜, ื•ื•ืึธืก ืื™ื– ืึทืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• PostgreSQL ืžื™ื˜ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ืจื™ืœื™ื™ืฉืึทื ืึทืœ ื’ืจืึทืคื™ืง ื“ืึทื˜ืŸ ืžืึธื“ืขืœ ืื•ืŸ ื“ื™ EdgeQL ืึธื ืคึฟืจืขื’ ืฉืคึผืจืึทืš, ืึธืคึผื˜ื™ืžื™ื–ืขื“ ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืงืึธืžืคึผืœืขืงืก ื›ื™ื™ืขืจืึทืจืงืึทืงืึทืœ ื“ืึทื˜ืŸ. ื“ืขืจ ืงืึธื“ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ Python ืื•ืŸ Rust ืื•ืŸ ืื™ื– ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื•ื ื˜ืขืจ ื“ื™ Apache 2.0 ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ. ืงืœื™ืขื ื˜ ืœื™ื™ื‘ืจืขืจื™ื– ื–ืขื ืขืŸ ืฆื•ื’ืขื’ืจื™ื™ื˜ ืคึฟืึทืจ Python, Go, Rust ืื•ืŸ TypeScript/Javascript. ืคึผืจืึธื•ื•ื™ื“ืขืก ื‘ืึทืคึฟืขืœืŸ ืฉื•ืจื” ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ DBMS ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืื•ืŸ ื™ื ื˜ืขืจืึทืงื˜ื™ื•ื• ืึธื ืคึฟืจืขื’ ื“ื•ืจื›ืคื™ืจื•ื ื’ (REPL).

ืึทื ืฉื˜ืึธื˜ ืึท ื˜ื™ืฉ-ื‘ืื–ื™ืจื˜ ื“ืึทื˜ืŸ ืžืึธื“ืขืœ, EdgeDB ื ื™ืฆื˜ ืึท ื“ืขืงืœืึทืจืึทื˜ื™ื•ื•ืข ืกื™ืกื˜ืขื ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื›ื™ื™ืคืขืฅ ื˜ื™ื™ืคึผืก. ืึทื ืฉื˜ืึธื˜ ืคืจืขืžื“ ืฉืœื™ืกืœืขืŸ, ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ ื“ื•ืจืš ื“ืขืจืžืึธื ืขืŸ ืื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ื“ืขืคื™ื ื™ืจืŸ ื“ื™ ืฉื™ื™ื›ื•ืช ืฆื•ื•ื™ืฉืŸ ื˜ื™ื™ืคึผืก (ืื™ื™ืŸ ื›ื™ื™ืคืขืฅ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ื•ื•ื™ ืึท ืคืึทืจืžืึธื’ ืคื•ืŸ ืืŸ ืื ื“ืขืจ ื›ื™ื™ืคืขืฅ). ื˜ื™ืคึผ ืžืขื ื˜ืฉ { ืคืืจืœืื ื’ื˜ ืคืึทืจืžืึธื’ ื ืึธืžืขืŸ -> str; } ื˜ื™ืคึผ ืคึฟื™ืœื { ืคืืจืœืื ื’ื˜ ืคืึทืจืžืึธื’ ื˜ื™ื˜ืœ -> str; ืžื•ืœื˜ื™ ืœื™ื ืง ืึทืงื˜ืขืจื– -> ืžืขื ื˜ืฉ; }

ื™ื ื“ืขืงืกื™ื– ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ืคืึทืจื’ื™ื›ืขืจืŸ ืึธื ืคึฟืจืขื’ ืคึผืจืึทืกืขืกื™ื ื’. ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืึทื–ืึท ื•ื•ื™ ืฉื˜ืึทืจืง ืคืึทืจืžืึธื’ ื˜ื™ื™ืคึผื™ื ื’, ืคืึทืจืžืึธื’ ื•ื•ืขืจื˜ ืจื™ืกื˜ืจื™ืงืฉืึทื ื–, ืงืึทืžืคึผื™ื•ื˜ืึทื“ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืื•ืŸ ืกื˜ืึธืจื“ ืคึผืจืึธื•ืกื™ื“ื–ืฉืขืจื– ื–ืขื ืขืŸ ืื•ื™ืš ื’ืขืฉื˜ื™ืฆื˜. ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืคื•ืŸ ื“ื™ EdgeDB ืึทื‘ื“ื–ืฉืขืงืฅ ืกื˜ืึธืจื™ื“ื–ืฉ ืกื›ืขืžืข, ื•ื•ืึธืก ืื™ื– ืขืคึผืขืก ืจืขืžืึทื ื™ืกืึทื ื˜ ืคื•ืŸ ืึทืŸ ORM, ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืžื™ืฉืŸ ืกื˜ืฉืขืžืึทืก, ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืคื•ืŸ ืคืึทืจืฉื™ื“ืขื ืข ืึทื‘ื“ื–ืฉืขืงืฅ ืื•ืŸ ื™ื ืึทื’ืจื™ื™ื˜ื™ื“ JSON ืฉื˜ื™ืฆืŸ.

ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืžื›ืฉื™ืจื™ื ื–ืขื ืขืŸ ืฆื•ื’ืขืฉื˜ืขืœื˜ ืคึฟืึทืจ ืกื˜ืึธืจื™ื ื’ ืกื˜ืฉืขืžืึท ืžื™ื’ืจืึทื˜ื™ืึธืŸ - ื ืึธืš ื˜ืฉืึทื ื’ื™ื ื’ ื“ื™ ืกื˜ืฉืขืžืึท ืกืคึผืขืกื™ืคื™ืขื“ ืื™ืŸ ืึท ื‘ืึทื–ื•ื ื“ืขืจ esdl ื˜ืขืงืข, ื ืึธืจ ืœื•ื™ืคืŸ ื“ื™ "edgedb migration create" ื‘ืึทืคึฟืขืœ ืื•ืŸ ื“ื™ DBMS ื•ื•ืขื˜ ืึทื ืึทืœื™ื™ื– ื“ื™ ื“ื™ืคืขืจืึทื ืกื™ื– ืื™ืŸ ื“ื™ ืกื˜ืฉืขืžืึท ืื•ืŸ ื™ื ื˜ืขืจืึทืงื˜ื™ื•ื•ืœื™ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืึท ืฉืจื™ืคื˜ ืคึฟืึทืจ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืฆื• ื“ื™ ืกื˜ืฉืขืžืึท. ื ื™ื™ึท ืกื›ืขืžืข. ื“ื™ ื’ืขืฉื™ื›ื˜ืข ืคื•ืŸ โ€‹โ€‹ืกื˜ืฉืขืžืึท ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ื– ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื˜ืจืึทืงื˜.

ืฆื• ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืคึฟืจืื’ืŸ, ื‘ื™ื™ื“ืข ื“ื™ GraphQL ืึธื ืคึฟืจืขื’ ืฉืคึผืจืึทืš ืื•ืŸ ื“ื™ ืคึผืจืึทืคึผืจื™ื™ืึทื˜ืขืจื™ EdgeDB ืฉืคึผืจืึทืš, ื•ื•ืึธืก ืื™ื– ืึทืŸ ืึทื“ืึทืคึผื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ SQL ืคึฟืึทืจ ื›ื™ื™ืขืจืึทืจืงืึทืงืึทืœ ื“ืึทื˜ืŸ, ื–ืขื ืขืŸ ื’ืขืฉื˜ื™ืฆื˜. ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืจืฉื™ืžื•ืช, ืึธื ืคึฟืจืขื’ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ื–ืขื ืขืŸ ืคืึธืจืžืึทื˜ื˜ืขื“ ืื™ืŸ ืึท ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื•ื•ืขื’, ืื•ืŸ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืกื•ื‘ืงื•ื•ืขืจื™ื– ืื•ืŸ JOINs, ืื™ืจ ืงืขื ืขืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืื™ื™ืŸ EdgeQL ืึธื ืคึฟืจืขื’ ื•ื•ื™ ืึทืŸ ืื•ื™ืกื“ืจื•ืง ืื™ืŸ ืืŸ ืื ื“ืขืจ ืึธื ืคึฟืจืขื’. ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืื•ืŸ ืกื™ื™ืงืึทืœื– ื–ืขื ืขืŸ ื’ืขืฉื˜ื™ืฆื˜. ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ืคึฟื™ืœื { ื˜ื™ื˜ืœ, ืึทืงื˜ืขืจื–: { ื ืึธืžืขืŸ } } ืคื™ืœื˜ืขืจ .title = "ื“ื™ ืžืึทื˜ืจื™ืฅ" ืึทืจื™ื™ึทื ืœื™ื™ื’ืŸ ืคึฟื™ืœื { ื˜ื™ื˜ืœ := "ื“ื™ ืžืึทื˜ืจื™ืฅ ืจืขืกื•ืจืจืขืงื™ืึธื ืก", ืึทืงื˜ืขืจื–:= (ืกืขืœืขืงื˜ื™ืจืŸ ืžืขื ื˜ืฉ ืคื™ืœื˜ืขืจ .ื ืึธืžืขืŸ ืื™ืŸ {'Keanu Reeves', 'Carrie- Anne Moss', 'Laurence Fishburne' }) } ืคึฟืึทืจ ื ื•ืžืขืจ ืื™ืŸ {0, 1, 2, 3} ืคืึทืจื‘ืึทื ื“ (ืกืขืœืขืงื˜ื™ืจืŸ { ื ื•ืžืขืจ, ื ื•ืžืขืจ + 0.5});

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’