{"id":103302,"date":"2022-02-12T03:36:45","date_gmt":"2022-02-12T01:36:45","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/pervyj-stabilnyj-reliz-relyaczionno-grafovoj-subd-edgedb"},"modified":"2022-02-12T03:36:45","modified_gmt":"2022-02-12T01:36:45","slug":"pervyj-stabilnyj-reliz-relyaczionno-grafovoj-subd-edgedb","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/pervyj-stabilnyj-reliz-relyaczionno-grafovoj-subd-edgedb","title":{"rendered":"Prvn\u00ed stabiln\u00ed vyd\u00e1n\u00ed rela\u010dn\u011b-grafov\u00e9 datab\u00e1zov\u00e9 SGBD EdgeDB","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Je dostupn\u00e1 prvn\u00ed stabiln\u00ed verze datab\u00e1zov\u00e9ho syst\u00e9mu EdgeDB, kter\u00fd p\u0159edstavuje roz\u0161\u00ed\u0159en\u00ed nad PostgreSQL s implementac\u00ed rela\u010dn\u011b-grafov\u00e9ho modelu dat a jazyka dotaz\u016f EdgeQL, optimalizovan\u00fdch pro pr\u00e1ci se slo\u017eit\u00fdmi hierarchick\u00fdmi daty. K\u00f3d je naps\u00e1n v jazyc\u00edch Python a Rust a je \u0161\u00ed\u0159en pod licenc\u00ed Apache 2.0. Klientsk\u00e9 knihovny jsou p\u0159ipraveny pro jazyky Python, Go, Rust a TypeScript\/Javascript. Je poskytov\u00e1no n\u00e1stroje p\u0159\u00edkazov\u00e9ho \u0159\u00e1dku pro spr\u00e1vu datab\u00e1ze a interaktivn\u00ed vykon\u00e1v\u00e1n\u00ed dotaz\u016f (REPL).      <\/p>\n<p>M\u00edsto modelu dat zalo\u017een\u00e9ho na tabulk\u00e1ch se v EdgeDB pou\u017e\u00edv\u00e1 deklarativn\u00ed syst\u00e9m zalo\u017een\u00fd na objektov\u00fdch typech. M\u00edsto ciz\u00edch kl\u00ed\u010d\u016f (foreign key) pro ur\u010den\u00ed vztahu mezi typy se pou\u017e\u00edv\u00e1 propojen\u00ed odkazy (jeden objekt m\u016f\u017ee b\u00fdt pou\u017eit jako vlastnost jin\u00e9ho objektu).        type Person {       required property name -&gt; str;     }     type Movie {       required property title -&gt; str;       multi link actors -&gt; Person;     }      <\/p>\n<p>Pro zrychlen\u00ed zpracov\u00e1n\u00ed dotaz\u016f mohou b\u00fdt pou\u017eity indexy. Tak\u00e9 jsou podporov\u00e1ny mo\u017enosti, jako je p\u0159\u00edsn\u00e9 typov\u00e1n\u00ed vlastnost\u00ed, omezen\u00ed hodnot vlastnost\u00ed, vypo\u010d\u00edt\u00e1van\u00e9 vlastnosti a ulo\u017een\u00e9 procedury. Zvl\u00e1\u0161tnost\u00ed objektov\u00e9ho sch\u00e9matu ukl\u00e1d\u00e1n\u00ed EdgeDB, kter\u00e9 se pon\u011bkud podob\u00e1 ORM, je mo\u017enost mixov\u00e1n\u00ed sch\u00e9mat, propojen\u00ed vlastnost\u00ed z r\u016fzn\u00fdch objekt\u016f a integrovan\u00e1 podpora JSON.     <\/p>\n<p>Jsou k dispozici vestav\u011bn\u00e9 n\u00e1stroje pro migraci sch\u00e9matu ukl\u00e1d\u00e1n\u00ed \u2014 po zm\u011bn\u011b sch\u00e9matu uveden\u00e9ho v samostatn\u00e9m esdl souboru sta\u010d\u00ed prov\u00e9st p\u0159\u00edkaz \u201eedgedb migration create\u201c a DBMS analyzuje rozd\u00edly ve sch\u00e9matu a interaktivn\u011b vygeneruje skript pro p\u0159echod na nov\u00e9 sch\u00e9ma. Historie zm\u011bn sch\u00e9matu se automaticky sleduje.    <\/p>\n<p>Pro vytv\u00e1\u0159en\u00ed dotaz\u016f se podporuje jak jazyk dotaz\u016f GraphQL, tak vlastn\u00ed jazyk EdgeDB, kter\u00fd p\u0159edstavuje adaptaci SQL pro hierarchick\u00e1 data. M\u00edsto seznam\u016f jsou v\u00fdsledky dotazu zobrazeny ve strukturovan\u00e9 podob\u011b a m\u00edsto poddotaz\u016f a operac\u00ed JOIN je poskytov\u00e1na mo\u017enost uv\u00e9st jeden dotaz EdgeQL jako v\u00fdraz uvnit\u0159 jin\u00e9ho dotazu. Podporuj\u00ed se transakce a smy\u010dky.         select Movie {       title,       actors: {         name       }     }     filter .title = &#171;The Matrix&#187;       insert Movie {       title := &#171;The Matrix Resurrections&#187;,       actors := (         select Person         filter .name in {           &#8216;Keanu Reeves&#8217;,           &#8216;Carrie-Anne Moss&#8217;,           &#8216;Laurence Fishburne&#8217;         }       )     }       for number in {0, 1, 2, 3}     union (       select { number, number + 0.5 }     );<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56682\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 EdgeDB, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u0441\u043e\u0431\u043e\u0439 \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043d\u0430\u0434 PostgreSQL \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e-\u0433\u0440\u0430\u0444\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u044f\u0437\u044b\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 EdgeQL, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u041a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 Python \u0438 Rust \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 Apache 2.0. \u041a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u044b \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 Python, Go, Rust \u0438 TypeScript\/Javascript. \u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u043a\u0438 \u0434\u043b\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-103302","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 EdgeDB, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u0441\u043e\u0431\u043e\u0439 \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043d\u0430\u0434 PostgreSQL \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e-\u0433\u0440\u0430\u0444\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u044f\u0437\u044b\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 EdgeQL, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/pervyj-stabilnyj-reliz-relyaczionno-grafovoj-subd-edgedb\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e-\u0433\u0440\u0430\u0444\u043e\u0432\u043e\u0439 \u0421\u0423\u0411\u0414 EdgeDB | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 EdgeDB, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u0441\u043e\u0431\u043e\u0439 \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043d\u0430\u0434 PostgreSQL \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e-\u0433\u0440\u0430\u0444\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u044f\u0437\u044b\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 EdgeQL, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/pervyj-stabilnyj-reliz-relyaczionno-grafovoj-subd-edgedb\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-02-12T01:36:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-02-12T01:36:45+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Prvn\u00ed stabiln\u00ed verze rela\u010dn\u011b-grafov\u00e9ho datab\u00e1zov\u00e9ho syst\u00e9mu EdgeDB | ProHoster","description":"Je dostupn\u00e1 prvn\u00ed stabiln\u00ed verze datab\u00e1zov\u00e9ho syst\u00e9mu EdgeDB, kter\u00fd p\u0159edstavuje roz\u0161\u00ed\u0159en\u00ed nad PostgreSQL s implementac\u00ed rela\u010dn\u011b-grafov\u00e9ho modelu dat a jazyka dotaz\u016f EdgeQL, optimalizovan\u00fdch pro pr\u00e1ci se slo\u017eit\u00fdmi.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/pervyj-stabilnyj-reliz-relyaczionno-grafovoj-subd-edgedb","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e-\u0433\u0440\u0430\u0444\u043e\u0432\u043e\u0439 \u0421\u0423\u0411\u0414 EdgeDB | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 EdgeDB, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u0441\u043e\u0431\u043e\u0439 \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043d\u0430\u0434 PostgreSQL \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e-\u0433\u0440\u0430\u0444\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u044f\u0437\u044b\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 EdgeQL, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/pervyj-stabilnyj-reliz-relyaczionno-grafovoj-subd-edgedb","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-02-12T01:36:45+00:00","article:modified_time":"2022-02-12T01:36:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"103302","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-02-12 01:37:45","updated":"2022-09-27 16:53:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/103302","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=103302"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/103302\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=103302"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=103302"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=103302"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}