{"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\/cs\/blog\/news\/vypusk-ferretdb-0-7-realizaczii-mongodb-na-baze-subd-postgresq","title":{"rendered":"Vyd\u00e1n\u00ed FerretDB 0.7, implementace MongoDB na b\u00e1zi DB PostgreSQL.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Byl zve\u0159ejn\u011bn projekt FerretDB 0.7, kter\u00fd umo\u017e\u0148uje nahradit dokumentov\u011b orientovanou datab\u00e1zi MongoDB PostgreSQL bez nutnosti m\u011bnit k\u00f3d aplikac\u00ed. FerretDB funguje jako proxy server, kter\u00fd p\u0159ev\u00e1d\u00ed dotazy na MongoDB na SQL dotazy do PostgreSQL, co\u017e umo\u017e\u0148uje pou\u017e\u00edvat PostgreSQL jako skute\u010dn\u00e9 \u00falo\u017ei\u0161t\u011b. K\u00f3d je naps\u00e1n v jazyce Go a je distribuov\u00e1n pod licenc\u00ed Apache 2.0.    <\/p>\n<p>Pot\u0159eba migrace m\u016f\u017ee vzniknout v d\u016fsledku p\u0159echodu MongoDB na neotev\u0159enou licenci SSPL, kter\u00e1 je zalo\u017eena na licenci AGPLv3, ale nen\u00ed otev\u0159en\u00e1, proto\u017ee obsahuje diskrimina\u010dn\u00ed po\u017eadavek na dod\u00e1n\u00ed nejen k\u00f3du samotn\u00e9 aplikace, ale i zdrojov\u00fdch k\u00f3d\u016f v\u0161ech komponent\u016f zapojen\u00fdch do poskytov\u00e1n\u00ed cloudov\u00e9 slu\u017eby.     <\/p>\n<p>Hlavn\u00ed c\u00edlovou skupinou FerretDB jsou u\u017eivatel\u00e9, kte\u0159\u00ed ve sv\u00fdch aplikac\u00edch nevyu\u017e\u00edvaj\u00ed pokro\u010dil\u00e9 funkce MongoDB, ale cht\u011bj\u00ed pou\u017e\u00edvat pln\u011b otev\u0159en\u00fd software. V sou\u010dasn\u00e9 f\u00e1zi v\u00fdvoje FerretDB zat\u00edm podporuje pouze \u010d\u00e1st funkc\u00ed MongoDB, kter\u00e9 jsou nej\u010dast\u011bji pou\u017e\u00edv\u00e1ny v typick\u00fdch aplikac\u00edch. Do budoucna pl\u00e1nuj\u00ed dos\u00e1hnout pln\u00e9 kompatibility s ovlada\u010di pro MongoDB a umo\u017enit pou\u017eit\u00ed FerretDB jako transparentn\u00ed n\u00e1hrady za MongoDB.      <\/p>\n<p>MongoDB okupuje mezery mezi rychl\u00fdmi a \u0161k\u00e1lovateln\u00fdmi syst\u00e9my, kter\u00e9 manipuluj\u00ed s daty ve form\u00e1tu kl\u00ed\u010d\/hodnota, a rela\u010dn\u00edmi DB, kter\u00e9 jsou funk\u010dn\u00ed a snadn\u00e9 na formulaci dotaz\u016f. MongoDB podporuje ukl\u00e1d\u00e1n\u00ed dokument\u016f v JSON-podobn\u00e9m form\u00e1tu, m\u00e1 dostate\u010dn\u011b flexibiln\u00ed jazyk pro formulaci dotaz\u016f, m\u016f\u017ee vytv\u00e1\u0159et indexy pro r\u016fzn\u00e9 ulo\u017een\u00e9 atributy, efektivn\u011b zaji\u0161\u0165uje ukl\u00e1d\u00e1n\u00ed velk\u00fdch bin\u00e1rn\u00edch objekt\u016f, podporuje logov\u00e1n\u00ed operac\u00ed p\u0159i zm\u011bn\u00e1ch a p\u0159id\u00e1v\u00e1n\u00ed dat do DB, m\u016f\u017ee fungovat podle paradigmatu Map\/Reduce, podporuje replikaci a budov\u00e1n\u00ed odoln\u00fdch konfigurac\u00ed.     <\/p>\n<p>Mezi zm\u011bnami ve FerretDB 0.7:  <\/p>\n<ul>\n<li class=\"l\"> Byla implementov\u00e1na diagnostick\u00e1 p\u0159\u00edkaz msg_explain, nezbytn\u00fd pro platformu Tigris.\n<li class=\"l\"> Do t\u00fdmu listCollections byla p\u0159id\u00e1na podpora filtr\u016f (mo\u017enost \"filter\").\n<li class=\"l\"> Bylo povoleno pou\u017eit\u00ed znaku \"-\" v n\u00e1zvech DB.\n<li class=\"l\"> Zv\u00fd\u0161il se po\u010det parametr\u016f podporovan\u00fdch v p\u0159\u00edkazu find.\n<li class=\"l\"> V bal\u00ed\u010dku wire s implementac\u00ed protokolu \"wire\" (protokol pro interakci s MongoDB) byla p\u0159id\u00e1na mo\u017enost kontroly dokument\u016f. Minim\u00e1ln\u011b podporovan\u00e1 verze protokolu wire byla sn\u00ed\u017eena na 13, co\u017e odpov\u00edd\u00e1 MongoDB 5.0.  <\/ul>\n<p>Zdroj: <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.3 - 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\/cs\/blog\/news\/vypusk-ferretdb-0-7-realizaczii-mongodb-na-baze-subd-postgresq\" \/>\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\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\/cs\/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\udd47Vyd\u00e1n\u00ed FerretDB 0.7, implementace MongoDB na b\u00e1zi datab\u00e1ze PostgreSQL | ProHoster","description":"Byl zve\u0159ejn\u011bn projekt FerretDB 0.7, kter\u00fd umo\u017e\u0148uje nahradit dokumentov\u011b orientovanou datab\u00e1zi MongoDB PostgreSQL bez nutnosti m\u011bnit k\u00f3d aplikac\u00ed.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-ferretdb-0-7-realizaczii-mongodb-na-baze-subd-postgresq","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\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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/105842","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=105842"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/105842\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=105842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=105842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=105842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}