{"id":121505,"date":"2025-01-27T15:46:01","date_gmt":"2025-01-27T13:46:01","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/microsoft-otkryl-kod-subd-documentdb-osnovannoj-na-postgresql"},"modified":"2025-01-27T15:46:01","modified_gmt":"2025-01-27T13:46:01","slug":"microsoft-otkryl-kod-subd-documentdb-osnovannoj-na-postgresql","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/news\/microsoft-otkryl-kod-subd-documentdb-osnovannoj-na-postgresql","title":{"rendered":"Microsoft otvoril k\u00f3d datab\u00e1zov\u00e9ho syst\u00e9mu DocumentDB, zalo\u017een\u00e9ho na PostgreSQL","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Spolo\u010dnos\u0165 Microsoft ozn\u00e1mila otvorenie k\u00f3du projektu DocumentDB, ktor\u00fd m\u00f4\u017ee by\u0165 pou\u017eit\u00fd ako samostatn\u00e1 NoSQL datab\u00e1za, ako platforma na vytv\u00e1ranie vlastn\u00fdch syst\u00e9mov ukladania alebo ako doplnok na ukladanie d\u00e1t vo form\u00e1te BSON v datab\u00e1ze PostgreSQL. V praxi sa DocumentDB pou\u017e\u00edva v Microsoft ako z\u00e1klad produktu \u201eAzure Cosmos DB pre MongoDB\u201c, ktor\u00fd poskytuje rozhranie kompatibiln\u00e9 s dokumentovo orientovanou datab\u00e1zou MongoDB. K\u00f3d projektu je nap\u00edsan\u00fd v jazyku C a je \u0161\u00edren\u00fd pod licenciou MIT. Engine DocumentDB je realizovan\u00fd vo forme nadstavby nad datab\u00e1zou PostgreSQL.    <\/p>\n<p>Rovnako ako v MongoDB, na ukladanie \u0161trukt\u00farovan\u00fdch dokumentov v DocumentDB sa vyu\u017e\u00edva form\u00e1t podobn\u00fd JSON-u BSON (Bin\u00e1rny JSON), ktor\u00fd umo\u017e\u0148uje vytv\u00e1ra\u0165 hierarchick\u00e9 \u0161trukt\u00fary, kde m\u00f4\u017eu by\u0165 jedny dokumenty a polia vlo\u017een\u00e9 do in\u00fdch dokumentov a pol\u00ed. K\u013e\u00fa\u010dov\u00fdm rozdielom od JSON-u je pou\u017eitie serializ\u00e1cie \u00fadajov do bin\u00e1rneho zobrazenia. Projekt poskytuje ako NoSQL oper\u00e1cie na vytv\u00e1ranie, \u010d\u00edtanie, aktualiz\u00e1ciu a odstra\u0148ovanie \u00fadajov vo form\u00e1te BSON, tak aj API pre \u0161tandardn\u00fd PostgreSQL (DocumentDB sa m\u00f4\u017ee pova\u017eova\u0165 za variant PostgreSQL s podporou BSON). V DocumentDB m\u00f4\u017eu by\u0165 pou\u017eit\u00e9 mo\u017enosti fulltextov\u00e9ho vyh\u013ead\u00e1vania, oper\u00e1cie nad vektorov\u00fdmi a geografick\u00fdmi typmi \u00fadajov.      <\/p>\n<p>Projekt pozost\u00e1va z dvoch komponentov:    <\/p>\n<ul>\n<li class=\"l\"> pg_documentdb_core \u2014 roz\u0161\u00edrenie pre PostgreSQL s implement\u00e1ciou typu BSON a oper\u00e1ciami na pr\u00e1cu s d\u00e1tami BSON v PostgreSQL.\n<li class=\"l\"> pg_documentdb \u2014 verejne dostupn\u00e9 API DocumentDB so z\u00e1kladn\u00fdmi oper\u00e1ciami na pr\u00e1cu s dokumentmi vo form\u00e1te BSON, spracovanie dotazov a spr\u00e1va indexov.  <\/ul>\n<p>Prv\u00e9 vydanie DocumentDB poskytuje podporu oper\u00e1ci\u00ed CRUD (vytv\u00e1ranie, \u010d\u00edtanie, aktualiz\u00e1cia, odstra\u0148ovanie), indexy pre jednotliv\u00e9 polia BSON, indexy pre fulltextov\u00e9 vyh\u013ead\u00e1vanie (kompatibiln\u00e9 s RUM), vektorov\u00e9 a priestorov\u00e9 dotazy (kompatibiln\u00e9 s pg_vector a postgis), mo\u017enosti na formovanie dotazov a agreg\u00e1ciu \u00fadajov BSON.    <\/p>\n<p>Na pou\u017e\u00edvanie DocumentDB u\u017e pre\u0161iel projekt FerretDB, ktor\u00fd vyv\u00edja implement\u00e1ciu DBMS MongoDB zalo\u017een\u00fa na DBMS PostgreSQL. FerretDB umo\u017e\u0148uje bez zmien v k\u00f3de aplik\u00e1ci\u00ed nahradi\u0165 propriet\u00e1rnu dokumentovo orientovan\u00fa DBMS MongoDB plne otvoren\u00fdm softv\u00e9rov\u00fdm stackom, zalo\u017een\u00fdm na PostgreSQL. Potreba nahradi\u0165 MongoDB je vysvetlen\u00e1 prechodom tejto DBMS na licenciu SSPL, ktor\u00e1 je zalo\u017een\u00e1 na licencii AGPLv3, ale nie je otvoren\u00e1, preto\u017ee obsahuje diskrimina\u010dn\u00fa po\u017eiadavku na dod\u00e1vku pod licenciou SSPL nielen k\u00f3du samotnej aplik\u00e1cie, ale aj zdrojov\u00fdch textov v\u0161etk\u00fdch komponentov zapojen\u00fdch do poskytovania cloudovej slu\u017eby.     <\/p>\n<p>P\u00f4vodne pr\u00e1ca FerretDB spo\u010d\u00edvala v preklade po\u017eiadaviek na MongoDB do SQL dotazov na PostgreSQL, ale od verzie FerretDB 2.0, ktor\u00e1 je vo f\u00e1ze kandid\u00e1ta na vydanie, bolo na realiz\u00e1ciu podpory form\u00e1tu BSON zapojen\u00e9 PostgreSQL roz\u0161\u00edrenie DocumentDB. Prechod na pou\u017e\u00edvanie DocumentDB umo\u017enil viac ako 20-n\u00e1sobn\u00e9 zv\u00fd\u0161enie v\u00fdkonu FerretDB pre niektor\u00e9 typy z\u00e1\u0165a\u017ee. Medzi \u010fal\u0161\u00edmi novinkami FerretDB 2.0 sa zlep\u0161ila kompatibilita s MongoDB, mo\u017enos\u0165 replik\u00e1cie a podpora vektorov\u00e9ho vyh\u013ead\u00e1vania. K\u00f3d FerretDB je naprogramovan\u00fd v jazyku Go a je distribuovan\u00fd pod licenciou Apache 2.0.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62621\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e\u0431 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 DocumentDB, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f NoSQL \u0421\u0423\u0411\u0414, \u043a\u0430\u043a \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043a\u0430\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 BSON \u0432 \u0421\u0423\u0411\u0414 PostgreSQL. \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 DocumentDB \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 Microsoft \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u044b \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 &#171;Azure Cosmos DB for MongoDB&#187;, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 [&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-121505","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e\u0431 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 DocumentDB, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f NoSQL \u0421\u0423\u0411\u0414, \u043a\u0430\u043a \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043a\u0430\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432.\" \/>\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\/sk\/blog\/news\/microsoft-otkryl-kod-subd-documentdb-osnovannoj-na-postgresql\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\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\udd47Microsoft \u043e\u0442\u043a\u0440\u044b\u043b \u043a\u043e\u0434 \u0421\u0423\u0411\u0414 DocumentDB, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 PostgreSQL | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e\u0431 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 DocumentDB, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f NoSQL \u0421\u0423\u0411\u0414, \u043a\u0430\u043a \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043a\u0430\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/news\/microsoft-otkryl-kod-subd-documentdb-osnovannoj-na-postgresql\" \/>\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=\"2025-01-27T13:46:01+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-01-27T13:46:01+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\udd47Microsoft otvoril k\u00f3d DBMS DocumentDB, zalo\u017eenej na PostgreSQL | ProHoster","description":"Spolo\u010dnos\u0165 Microsoft ozn\u00e1mila otvorenie k\u00f3du projektu DocumentDB, ktor\u00fd m\u00f4\u017ee by\u0165 pou\u017e\u00edvan\u00fd ako samostatn\u00e1 NoSQL DBMS, ako platforma na vytvorenie vlastn\u00fdch syst\u00e9mov ukladania alebo ako doplnok na ukladanie d\u00e1t v.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/news\/microsoft-otkryl-kod-subd-documentdb-osnovannoj-na-postgresql","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","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\udd47Microsoft \u043e\u0442\u043a\u0440\u044b\u043b \u043a\u043e\u0434 \u0421\u0423\u0411\u0414 DocumentDB, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 PostgreSQL | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e\u0431 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 DocumentDB, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f NoSQL \u0421\u0423\u0411\u0414, \u043a\u0430\u043a \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043a\u0430\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432.","og:url":"https:\/\/prohoster.info\/sk\/blog\/news\/microsoft-otkryl-kod-subd-documentdb-osnovannoj-na-postgresql","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":"2025-01-27T13:46:01+00:00","article:modified_time":"2025-01-27T13:46:01+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"121505","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":"2026-01-23 10:01:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 10:01:22","updated":"2026-01-23 10:01:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/121505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=121505"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/121505\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=121505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=121505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=121505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}