{"id":107696,"date":"2023-04-04T12:48:31","date_gmt":"2023-04-04T10:48:31","guid":{"rendered":"https:\/\/prohoster.info\/?p=107696"},"modified":"2023-04-04T19:05:56","modified_gmt":"2023-04-04T17:05:56","slug":"pervyj-stabilnyj-vypusk-ferretdb-realizaczii-mongodb-na-baze-subd-postgresql","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/pervyj-stabilnyj-vypusk-ferretdb-realizaczii-mongodb-na-baze-subd-postgresql","title":{"rendered":"Prima versiune stabil\u0103 a FerretDB, o implementare MongoDB bazat\u0103 pe baza de date PostgreSQL","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A fost publicat\u0103 versiunea 1.0 a proiectului FerretDB, care permite \u00eenlocuirea sistemului de gestionare a bazelor de date orientate pe documente MongoDB cu PostgreSQL f\u0103r\u0103 modific\u0103ri \u00een codul aplica\u021biilor. FerretDB este implementat ca un server proxy, care traduce solicit\u0103rile c\u0103tre MongoDB \u00een interog\u0103ri SQL pentru PostgreSQL, permi\u021b\u00e2nd utilizarea PostgreSQL ca stocare efectiv\u0103. Versiunea 1.0 este marcat\u0103 ca prima versiune stabil\u0103, preg\u0103tit\u0103 pentru utilizare pe scar\u0103 larg\u0103. Codul este scris \u00een limbajul Go \u0219i este distribuit sub licen\u021ba Apache 2.0.        <\/p>\n<p>Publicul \u021bint\u0103 principal al FerretDB sunt utilizatorii care nu folosesc func\u021bionalit\u0103\u021bile avansate ale MongoDB \u00een aplica\u021biile lor, dar doresc s\u0103 utilizeze un stoc de software complet deschis. \u00cen acest stadiu de dezvoltare, FerretDB suport\u0103 un subansamblu de func\u021bionalit\u0103\u021bi MongoDB, cele mai frecvent utilizate \u00een aplica\u021biile tipice. Necesitatea implement\u0103rii FerretDB poate ap\u0103rea \u00een contextul trecerii MongoDB la o licen\u021b\u0103 ne-gratuit\u0103 SSPL, care se bazeaz\u0103 pe licen\u021ba AGPLv3, dar nu este deschis\u0103, deoarece con\u021bine cerin\u021ba discriminatorie de a oferi nu doar codul aplica\u021biei, ci \u0219i codul surs\u0103 pentru toate componentele implicate \u00een furnizarea serviciului cloud sub licen\u021ba SSPL.         <\/p>\n<p>MongoDB ocup\u0103 un loc \u00eentre sistemele rapide \u0219i scalabile care opereaz\u0103 cu date \u00een format cheie\/valoare \u0219i sistemele de gestionare a bazelor de date rela\u021bionale, care sunt func\u021bionale \u0219i convenabile pentru formularea interog\u0103rilor. MongoDB suport\u0103 stocarea documentelor \u00een format asem\u0103n\u0103tor JSON, are un limbaj destul de flexibil pentru formularea interog\u0103rilor, poate crea indici pentru diverse atribute stocate, asigur\u0103 eficient stocarea obiectelor binare mari, suport\u0103 jurnalizarea opera\u021biunilor de modificare \u0219i ad\u0103ugare a datelor \u00een BD, poate func\u021biona conform paradigmei Map\/Reduce, suport\u0103 replicarea \u0219i construirea configura\u021biilor redundante.     <\/p>\n<p>Printre modific\u0103rile din FerretDB 1.0:  <\/p>\n<ul>\n<li class=\"l\"> Au fost implementate comenzile createIndexes \u0219i dropIndexes pentru a crea \u0219i \u0219terge unul sau mai multe indec\u0219i pentru o colec\u021bie.\n<li class=\"l\"> A fost implementat\u0103 comanda getMore pentru a returna un nou lot de rezultate ob\u021binute \u00een urma execut\u0103rii comenzilor care returneaz\u0103 un cursor, cum ar fi find \u0219i aggregate.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 suportul pentru operatorul de agregare $sum pentru a calcula suma valorilor dintr-un grup.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 suportul pentru operatorii $limit \u0219i $skip pentru a limita num\u0103rul \u0219i a s\u0103ri peste documente \u00een timpul agreg\u0103rii.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 suportul pentru operatorul $count pentru a num\u0103ra documentele \u00een timpul agreg\u0103rii.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 suportul pentru operatorul $unwind pentru a desface c\u00e2mpurile array din documentele de intrare \u0219i a forma o list\u0103 cu un document separat pentru fiecare element din array.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 suportul par\u021bial pentru comenzile collStats, dbStats \u0219i dataSize pentru a ob\u021bine statistici despre colec\u021bie \u0219i baza de date, precum \u0219i dimensiunea datelor.            <\/ul>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58915\">opennet.ro<\/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 1.0, \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. \u0412\u0435\u0440\u0441\u0438\u044f 1.0 \u043e\u0442\u043c\u0435\u0447\u0435\u043d\u0430 \u043a\u0430\u043a \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a, \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0434\u043b\u044f \u043f\u043e\u0432\u0441\u0435\u043c\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u041a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go \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-107696","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.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 1.0, \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\/ro\/blog\/news\/pervyj-stabilnyj-vypusk-ferretdb-realizaczii-mongodb-na-baze-subd-postgresql\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\u041f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a FerretDB, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 MongoDB \u043d\u0430 \u0431\u0430\u0437\u0435 \u0421\u0423\u0411\u0414 PostgreSQL | 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 1.0, \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\/ro\/blog\/news\/pervyj-stabilnyj-vypusk-ferretdb-realizaczii-mongodb-na-baze-subd-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=\"2023-04-04T10:48:31+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-04-04T17:05:56+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\udd47Prima versiune stabil\u0103 a FerretDB, implementarea MongoDB pe baza sistemului de gestionare a bazelor de date PostgreSQL | ProHoster","description":"A fost publicat\u0103 versiunea 1.0 a proiectului FerretDB, care permite \u00eenlocuirea sistemului de gestionare a bazelor de date orientate pe documente MongoDB cu PostgreSQL f\u0103r\u0103 modific\u0103ri \u00een codul aplica\u021biilor.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/pervyj-stabilnyj-vypusk-ferretdb-realizaczii-mongodb-na-baze-subd-postgresql","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\u041f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a FerretDB, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 MongoDB \u043d\u0430 \u0431\u0430\u0437\u0435 \u0421\u0423\u0411\u0414 PostgreSQL | 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 1.0, \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\/ro\/blog\/news\/pervyj-stabilnyj-vypusk-ferretdb-realizaczii-mongodb-na-baze-subd-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":"2023-04-04T10:48:31+00:00","article:modified_time":"2023-04-04T17:05:56+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\/ro\/wp-json\/wp\/v2\/posts\/107696","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=107696"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/107696\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=107696"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=107696"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=107696"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}