{"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\/pt\/blog\/news\/microsoft-otkryl-kod-subd-documentdb-osnovannoj-na-postgresql","title":{"rendered":"A Microsoft abriu o c\u00f3digo da SGBD DocumentDB, baseada em PostgreSQL.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A Microsoft anunciou a abertura do c\u00f3digo do projeto DocumentDB, que pode ser utilizado como um banco de dados NoSQL independente, como uma plataforma para criar sistemas de armazenamento pr\u00f3prios ou como um complemento para armazenar dados no formato BSON em bancos de dados PostgreSQL. Na pr\u00e1tica, o DocumentDB \u00e9 usado pela Microsoft como a base do produto \u2018Azure Cosmos DB for MongoDB\u2019, que fornece uma interface compat\u00edvel com o banco de dados orientado a documentos MongoDB. O c\u00f3digo do projeto \u00e9 escrito em C e \u00e9 distribu\u00eddo sob a licen\u00e7a MIT. O mecanismo DocumentDB \u00e9 implementado como uma extens\u00e3o do banco de dados PostgreSQL.    <\/p>\n<p>Assim como no MongoDB, para o armazenamento de documentos estruturados, o DocumentDB utiliza um formato semelhante ao JSON chamado BSON (Binary JSON), permitindo a cria\u00e7\u00e3o de estruturas hier\u00e1rquicas nas quais documentos e arrays podem ser incorporados em outros documentos e arrays. A principal diferen\u00e7a em rela\u00e7\u00e3o ao JSON \u00e9 a utiliza\u00e7\u00e3o de serializa\u00e7\u00e3o de dados em uma representa\u00e7\u00e3o bin\u00e1ria. O projeto fornece opera\u00e7\u00f5es NoSQL para criar, ler, atualizar e excluir dados no formato BSON, bem como uma API padr\u00e3o para PostgreSQL (o DocumentDB pode ser considerado uma variante do PostgreSQL com suporte a BSON). O DocumentDB pode utilizar funcionalidades de pesquisa de texto completo e opera\u00e7\u00f5es sobre tipos de dados vetoriais e geoespaciais.      <\/p>\n<p>O projeto \u00e9 composto por dois componentes:    <\/p>\n<ul>\n<li class=\"l\"> pg_documentdb_core \u2014 uma extens\u00e3o para PostgreSQL com implementa\u00e7\u00e3o do tipo BSON e opera\u00e7\u00f5es para trabalhar com dados BSON no PostgreSQL.\n<li class=\"l\"> pg_documentdb \u2014 API p\u00fablica do DocumentDB com opera\u00e7\u00f5es b\u00e1sicas para trabalhar com documentos no formato BSON, processamento de consultas e gerenciamento de \u00edndices.  <\/ul>\n<p>A primeira vers\u00e3o do DocumentDB oferece suporte a opera\u00e7\u00f5es CRUD (cria\u00e7\u00e3o, leitura, atualiza\u00e7\u00e3o, exclus\u00e3o), \u00edndices para campos BSON individuais, \u00edndices para pesquisa de texto completo (compat\u00edveis com RUM), consultas vetoriais e geoespaciais (compat\u00edveis com pg_vector e postgis), al\u00e9m de recursos para formular consultas e agregar dados BSON.    <\/p>\n<p>O projeto FerretDB j\u00e1 adotou o DocumentDB, que desenvolve a implementa\u00e7\u00e3o do SGBD MongoDB baseado no SGBD PostgreSQL. O FerretDB permite substituir o SGBD propriet\u00e1rio MongoDB por uma pilha de software totalmente aberta, baseada em PostgreSQL, sem a necessidade de modificar o c\u00f3digo dos aplicativos. A necessidade de substituir o MongoDB se explica pela mudan\u00e7a deste SGBD para a licen\u00e7a SSPL, que \u00e9 baseada na licen\u00e7a AGPLv3, mas n\u00e3o \u00e9 considerada aberta, pois inclui uma exig\u00eancia discriminat\u00f3ria de que tanto o c\u00f3digo do pr\u00f3prio aplicativo quanto os c\u00f3digos-fonte de todos os componentes envolvidos na presta\u00e7\u00e3o do servi\u00e7o em nuvem sejam fornecidos sob a licen\u00e7a SSPL.     <\/p>\n<p>Inicialmente, o trabalho do FerretDB se resumia a traduzir chamadas do MongoDB em consultas SQL ao PostgreSQL, mas a partir da vers\u00e3o 2.0 do FerretDB, que est\u00e1 em fase de candidato a lan\u00e7amento, um extens\u00e3o do PostgreSQL chamada DocumentDB \u00e9 utilizada para implementar o suporte ao formato BSON. A transi\u00e7\u00e3o para o uso do DocumentDB permitiu aumentar a performance do FerretDB em mais de 20 vezes para alguns tipos de carga. Outras inova\u00e7\u00f5es na vers\u00e3o 2.0 incluem melhorias na compatibilidade com o MongoDB, a possibilidade de replica\u00e7\u00e3o e suporte \u00e0 busca vetorial. O c\u00f3digo do FerretDB \u00e9 escrito em Go e \u00e9 distribu\u00eddo sob a licen\u00e7a Apache 2.0.<br \/>\n<br \/>Fonte: <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.3 - 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\/pt\/blog\/news\/microsoft-otkryl-kod-subd-documentdb-osnovannoj-na-postgresql\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47A Microsoft abriu o c\u00f3digo do SGBD DocumentDB, baseado no PostgreSQL | ProHoster","description":"A Microsoft anunciou a abertura do c\u00f3digo do projeto DocumentDB, que pode ser utilizado como um SGBD NoSQL independente, como uma plataforma para criar sistemas pr\u00f3prios de armazenamento ou como um complemento para armazenamento de dados.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/microsoft-otkryl-kod-subd-documentdb-osnovannoj-na-postgresql","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/121505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=121505"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/121505\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=121505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=121505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=121505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}