{"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\/sv\/blog\/news\/microsoft-otkryl-kod-subd-documentdb-osnovannoj-na-postgresql","title":{"rendered":"Microsoft har \u00f6ppnat koden f\u00f6r databasen DocumentDB, baserad p\u00e5 PostgreSQL","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Microsoft har meddelat att de \u00f6ppnar koden f\u00f6r projektet DocumentDB, som kan anv\u00e4ndas som en frist\u00e5ende NoSQL-databas, som en plattform f\u00f6r att skapa egna lagringssystem eller som ett komplement f\u00f6r att lagra data i BSON-format i PostgreSQL-databasen. I praktiken anv\u00e4nds DocumentDB av Microsoft som basen f\u00f6r produkten \"Azure Cosmos DB for MongoDB\", som tillhandah\u00e5ller ett gr\u00e4nssnitt kompatibelt med den dokumentorienterade databasen MongoDB. Projektkoden \u00e4r skriven i C och distribueras under MIT-licens. DocumentDB-motorn \u00e4r implementerad som en till\u00e4gg ovanp\u00e5 PostgreSQL-databasen.    <\/p>\n<p>Precis som i MongoDB anv\u00e4nds ett JSON-likt format, BSON (Binary JSON), f\u00f6r att lagra strukturerade dokument i DocumentDB, vilket g\u00f6r det m\u00f6jligt att skapa hierarkiska strukturer d\u00e4r dokument och arrayer kan b\u00e4ddas in i andra dokument och arrayer. En avg\u00f6rande skillnad fr\u00e5n JSON \u00e4r anv\u00e4ndningen av dat serialisering i bin\u00e4r form. Projektet tillhandah\u00e5ller b\u00e5de NoSQL-operationer f\u00f6r att skapa, l\u00e4sa, uppdatera och ta bort data i BSON-format, samt ett API f\u00f6r standard PostgreSQL (DocumentDB kan ses som en variant av PostgreSQL med st\u00f6d f\u00f6r BSON). I DocumentDB kan funktioner f\u00f6r fulltexts\u00f6kning och operationer med vektor- och geospatiala datatyper anv\u00e4ndas.      <\/p>\n<p>Projektet best\u00e5r av tv\u00e5 komponenter:    <\/p>\n<ul>\n<li class=\"l\"> pg_documentdb_core \u2014 ett till\u00e4gg till PostgreSQL med implementering av BSON-typ och operationer f\u00f6r att arbeta med BSON-data i PostgreSQL.\n<li class=\"l\"> pg_documentdb \u2014 en offentlig API f\u00f6r DocumentDB med grundl\u00e4ggande operationer f\u00f6r att arbeta med dokument i BSON-format, behandla f\u00f6rfr\u00e5gningar och hantera index.  <\/ul>\n<p>Den f\u00f6rsta versionen av DocumentDB ger st\u00f6d f\u00f6r CRUD-operationer (skapande, l\u00e4sning, uppdatering, borttagning), index f\u00f6r enskilda BSON-f\u00e4lt, index f\u00f6r fulltexts\u00f6kning (kompatibla med RUM), vektor- och geografiska fr\u00e5gor (kompatibla med pg_vector och postgis), samt m\u00f6jligheter f\u00f6r att skapa fr\u00e5gor och aggregare f\u00f6r BSON-data.    <\/p>\n<p>Projektet FerretDB har redan \u00f6verg\u00e5tt till att anv\u00e4nda DocumentDB, som utvecklar en implementation av databashanteringssystemet MongoDB baserat p\u00e5 PostgreSQL. FerretDB g\u00f6r det m\u00f6jligt att utan f\u00f6r\u00e4ndringar i applikationernas kod byta ut den propriet\u00e4ra dokumentorienterade databashanteraren MongoDB mot en helt \u00f6ppen programvarustack baserad p\u00e5 PostgreSQL. Behovet av att ers\u00e4tta MongoDB f\u00f6rklaras av att detta databashanteringssystem har \u00f6verg\u00e5tt till SSPL-licens, som bygger p\u00e5 AGPLv3-licensen, men inte \u00e4r \u00f6ppen, eftersom den inneh\u00e5ller diskriminerande krav p\u00e5 att leverera inte bara koden f\u00f6r sj\u00e4lva applikationen utan ocks\u00e5 k\u00e4llkoden f\u00f6r alla komponenter som \u00e4r involverade i att tillhandah\u00e5lla molntj\u00e4nsten.     <\/p>\n<p>Inledningsvis handlade FerretDB:s arbete om att \u00f6vers\u00e4tta anrop till MongoDB till SQL-fr\u00e5gor f\u00f6r PostgreSQL, men fr\u00e5n och med version FerretDB 2.0, som \u00e4r i kandidatversion, har PostgreSQL-till\u00e4gget DocumentDB anv\u00e4nts f\u00f6r att st\u00f6dja BSON-formatet. \u00d6verg\u00e5ngen till anv\u00e4ndning av DocumentDB har m\u00f6jliggjort mer \u00e4n 20 g\u00e5nger h\u00f6gre prestanda f\u00f6r FerretDB f\u00f6r vissa typer av belastning. Bland andra nyheter i FerretDB 2.0 n\u00e4mns f\u00f6rb\u00e4ttrad kompatibilitet med MongoDB, m\u00f6jligheten till replikering och st\u00f6d f\u00f6r vektor-s\u00f6kning. Koden f\u00f6r FerretDB \u00e4r skriven i Go-spr\u00e5ket och distribueras under Apache 2.0-licensen.<br \/>\n<br \/>K\u00e4lla: <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\/sv\/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=\"sv_SE\" \/>\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\/sv\/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 har \u00f6ppnat koden f\u00f6r databashanteringssystemet DocumentDB, baserat p\u00e5 PostgreSQL | ProHoster","description":"Microsoft har tillk\u00e4nnagett att de \u00f6ppnar koden f\u00f6r projektet DocumentDB, som kan anv\u00e4ndas som en separat NoSQL-databashanterare, som en plattform f\u00f6r att bygga egna lagringssystem eller som ett tillskott f\u00f6r datalagring.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/microsoft-otkryl-kod-subd-documentdb-osnovannoj-na-postgresql","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/121505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=121505"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/121505\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=121505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=121505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=121505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}