{"id":105842,"date":"2022-12-05T21:36:57","date_gmt":"2022-12-05T19:36:57","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-ferretdb-0-7-realizaczii-mongodb-na-baze-subd-postgresq"},"modified":"2022-12-05T21:36:57","modified_gmt":"2022-12-05T19:36:57","slug":"vypusk-ferretdb-0-7-realizaczii-mongodb-na-baze-subd-postgresq","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-ferretdb-0-7-realizaczii-mongodb-na-baze-subd-postgresq","title":{"rendered":"Wydanie FerretDB 0.7, implementacji MongoDB oparty na systemie DB PostgreSQL","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Opublikowano wydanie projektu FerretDB 0.7, kt\u00f3re umo\u017cliwia zast\u0105pienie dokumentowej bazy danych MongoDB PostgreSQL bez wprowadzania zmian w kodzie aplikacji. FerretDB realizuje si\u0119 jako serwer proxy, przekszta\u0142caj\u0105cy \u017c\u0105dania do MongoDB w zapytania SQL do PostgreSQL, co pozwala u\u017cywa\u0107 PostgreSQL jako rzeczywistego magazynu. Kod napisano w j\u0119zyku Go i jest rozpowszechniany na licencji Apache 2.0.    <\/p>\n<p>Potrzeba migracji mo\u017ce wynika\u0107 z przej\u015bcia MongoDB na nienatywn\u0105 licencj\u0119 SSPL, kt\u00f3ra opiera si\u0119 na licencji AGPLv3, ale nie jest otwarta, poniewa\u017c zawiera dyskryminuj\u0105ce wymaganie dotycz\u0105ce dostarczania pod licencj\u0105 SSPL nie tylko kodu samej aplikacji, ale tak\u017ce \u017ar\u00f3d\u0142owych tekst\u00f3w wszystkich komponent\u00f3w zaanga\u017cowanych w \u015bwiadczenie us\u0142ugi chmurowej.     <\/p>\n<p>G\u0142\u00f3wn\u0105 grup\u0105 docelow\u0105 FerretDB s\u0105 u\u017cytkownicy, kt\u00f3rzy nie korzystaj\u0105 w swoich aplikacjach z zaawansowanych mo\u017cliwo\u015bci MongoDB, ale chc\u0105 u\u017cywa\u0107 w pe\u0142ni otwartego stosu oprogramowania. Na obecnym etapie rozwoju FerretDB wspiera tylko cz\u0119\u015b\u0107 mo\u017cliwo\u015bci MongoDB, najcz\u0119\u015bciej stosowanych w typowych aplikacjach. W przysz\u0142o\u015bci planuje si\u0119 osi\u0105gni\u0119cie pe\u0142nej zgodno\u015bci z driverami do MongoDB i umo\u017cliwienie korzystania z FerretDB jako przejrzystego zamiennika dla MongoDB.      <\/p>\n<p>MongoDB zajmuje nisz\u0119 pomi\u0119dzy szybkimi i skalowalnymi systemami operuj\u0105cymi danymi w formacie klucz\/warto\u015b\u0107 a relacyjnymi bazami danych, funkcjonalnymi i wygodnymi w tworzeniu zapyta\u0144. MongoDB wspiera przechowywanie dokument\u00f3w w formacie podobnym do JSON, ma wystarczaj\u0105co elastyczny j\u0119zyk do formu\u0142owania zapyta\u0144, mo\u017ce tworzy\u0107 indeksy dla r\u00f3\u017cnych przechowywanych atrybut\u00f3w, efektywnie zapewnia przechowywanie du\u017cych obiekt\u00f3w binarnych, wspiera logowanie operacji zmiany i dodawania danych do bazy danych, mo\u017ce dzia\u0142a\u0107 zgodnie z paradygmatem Map\/Reduce, wspiera replikacj\u0119 i budowanie konfiguracji odpornych na awarie.     <\/p>\n<p>W\u015br\u00f3d zmian w FerretDB 0.7:  <\/p>\n<ul>\n<li class=\"l\"> Zrealizowano diagnozuj\u0105c\u0105 komend\u0119 msg_explain, niezb\u0119dn\u0105 dla platformy Tigris.\n<li class=\"l\"> Do zespo\u0142u listCollections dodano wsparcie dla filtr\u00f3w (opcja &#171;filter&#187;).\n<li class=\"l\"> Zezwolono na u\u017cycie znaku &#171;-&#187; w nazwach baz danych.\n<li class=\"l\"> Zwi\u0119kszono liczb\u0119 parametr\u00f3w wspieranych w komendzie find.\n<li class=\"l\"> W pakiecie wire z implementacj\u0105 protoko\u0142u &#171;wire&#187; (protok\u00f3\u0142 do interakcji z MongoDB) dodano mo\u017cliwo\u015b\u0107 weryfikacji dokument\u00f3w. Minimalna wspierana wersja protoko\u0142u wire zosta\u0142a obni\u017cona do 13, co odpowiada MongoDB 5.0.  <\/ul>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58267\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 FerretDB 0.7, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0421\u0423\u0411\u0414 MongoDB \u043d\u0430 PostgreSQL \u0431\u0435\u0437 \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u043a\u043e\u0434 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. FerretDB \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043a\u0430\u043a \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440, \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a MongoDB \u0432 SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a PostgreSQL, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c PostgreSQL \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430. \u041a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go \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. \u041f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0432 \u0441\u0432\u044f\u0437\u0438 [&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-105842","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 FerretDB 0.7, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0421\u0423\u0411\u0414 MongoDB \u043d\u0430 PostgreSQL \u0431\u0435\u0437 \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u043a\u043e\u0434 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.\" \/>\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\/pl\/blog\/news\/vypusk-ferretdb-0-7-realizaczii-mongodb-na-baze-subd-postgresq\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\u0412\u044b\u043f\u0443\u0441\u043a FerretDB 0.7, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 MongoDB \u043d\u0430 \u0431\u0430\u0437\u0435 \u0421\u0423\u0411\u0414 PostgreSQ | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 FerretDB 0.7, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0421\u0423\u0411\u0414 MongoDB \u043d\u0430 PostgreSQL \u0431\u0435\u0437 \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u043a\u043e\u0434 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-ferretdb-0-7-realizaczii-mongodb-na-baze-subd-postgresq\" \/>\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-12-05T19:36:57+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-12-05T19:36:57+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\udd47Wersja FerretDB 0.7, implementacja MongoDB na bazie bazy danych PostgreSQL | ProHoster","description":"Opublikowano wersj\u0119 projektu FerretDB 0.7, kt\u00f3ra pozwala na zast\u0105pienie dokumentowo-orientowanej bazy danych MongoDB PostgreSQL bez wprowadzania zmian w kodzie aplikacji.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-ferretdb-0-7-realizaczii-mongodb-na-baze-subd-postgresq","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\u0412\u044b\u043f\u0443\u0441\u043a FerretDB 0.7, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 MongoDB \u043d\u0430 \u0431\u0430\u0437\u0435 \u0421\u0423\u0411\u0414 PostgreSQ | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 FerretDB 0.7, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0421\u0423\u0411\u0414 MongoDB \u043d\u0430 PostgreSQL \u0431\u0435\u0437 \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u043a\u043e\u0434 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-ferretdb-0-7-realizaczii-mongodb-na-baze-subd-postgresq","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-12-05T19:36:57+00:00","article:modified_time":"2022-12-05T19:36:57+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/105842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=105842"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/105842\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=105842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=105842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=105842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}