ืžืขืœื“ื•ื ื’ ืคื•ืŸ FerretDB 0.3, ืึทืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ MongoDB ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ PostgreSQL DBMS

ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ FerretDB 0.3 ืคึผืจื•ื™ืขืงื˜ ืื™ื– ืืจื•ื™ืก, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืคืึทืจื‘ื™ื™ึทื˜ืŸ ื“ื™ ื“ืึธืงื•ืžืขื ื˜-ืึธืจื™ืขื ื˜ื™ื“ DBMS MongoDB ืžื™ื˜ PostgreSQL ืึธืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืงืึธื“. FerretDB ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ื•ื•ื™ ืึท ืคึผืจืึทืงืกื™ ืกืขืจื•ื•ืขืจ ื•ื•ืึธืก ื˜ืจืึทื ืกืœื™ื™ืฅ ืงืึทืœืœืก ืฆื• MongoDB ืื™ืŸ SQL ืคึฟืจืื’ืŸ ืฆื• PostgreSQL, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื ื•ืฆืŸ PostgreSQL ื•ื•ื™ ื“ื™ ืคืึทืงื˜ื™ืฉ ืกื˜ืึธืจื™ื“ื–ืฉ. ื“ืขืจ ืงืึธื“ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ Go ืื•ืŸ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื•ื ื˜ืขืจ ื“ื™ Apache 2.0 ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ.

ื“ื™ ื ื•ื™ื˜ ืคึฟืึทืจ ืžื™ื’ืจืึทื˜ื™ืึธืŸ ืงืขืŸ ืื•ื™ืคืฉื˜ื™ื™ืŸ ืื™ืŸ ืงืฉืจ ืžื™ื˜ ื“ื™ ื™ื‘ืขืจื’ืึทื ื’ ืคื•ืŸ MongoDB ืฆื• ื“ื™ ืคึผืจืึทืคึผืจื™ื™ืึทื˜ืขืจื™ SSPL ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ, ื•ื•ืึธืก ืื™ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ AGPLv3 ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ, ืึธื‘ืขืจ ืื™ื– ื ื™ืฉื˜ ืึธืคืŸ, ื•ื•ื™ื™ึทืœ ืขืก ื›ึผื•ืœืœ ืึท ื“ื™ืกืงืจื™ืžื™ื ืึทื˜ืึธืจื™ ืคืึธื“ืขืจื•ื ื’ ืฆื• ืฆื•ืฉื˜ืขืœืŸ ืื•ื ื˜ืขืจ ื“ื™ SSPL ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื ื™ื˜ ื‘ืœื•ื™ื– ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืงืึธื“ ื–ื™ืš , ืึธื‘ืขืจ ืื•ื™ืš ื“ื™ ืžืงื•ืจ ืงืึธื•ื“ื– ืคื•ืŸ ืึทืœืข ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ื™ื ื•ื•ืึทืœื•ื•ื“ ืื™ืŸ ื“ื™ ื˜ื ื™ื™ึท ื•ื•ืึธืœืงืŸ ื“ื™ื ืกื˜.

ื“ืขืจ ืขืจืฉื˜ื™ืง ืฆื™ืœ ื•ื™ืœืขื ืคื•ืŸ FerretDB ืื™ื– ื™ื•ื–ืขืจื– ื•ื•ืึธืก ื˜ืึธืŸ ื ื™ื˜ ื ื•ืฆืŸ ื“ื™ ืึทื•ื•ืึทื ืกื™ืจื˜ืข ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ืคื•ืŸ MongoDB ืื™ืŸ ื–ื™ื™ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–, ืึธื‘ืขืจ ื•ื•ื™ืœืŸ ืฆื• ื ื•ืฆืŸ ืึท ื’ืึธืจ ืึธืคึฟืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืึธื ืœื™ื™ื’ืŸ. ืื™ืŸ ื“ืขื ืงืจืึทื ื˜ ื‘ื™ื ืข ืคื•ืŸ โ€‹โ€‹ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’, FerretDB ื ืึธืš ืฉื˜ื™ืฆื˜ ื‘ืœื•ื™ื– ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ MongoDB ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ื•ื•ืึธืก ื–ืขื ืขืŸ ืžืขืจืกื˜ ืึธืคื˜ ื’ืขื ื™ืฆื˜ ืื™ืŸ ื˜ื™ืคึผื™ืฉ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–. ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜, ื–ื™ื™ ืคึผืœืึทื ื™ืจืŸ ืฆื• ื“ืขืจื’ืจื™ื™ื›ืŸ ืคื•ืœ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืžื™ื˜ ื“ืจื™ื•ื•ืขืจืก ืคึฟืึทืจ MongoDB ืื•ืŸ ืฆื•ืฉื˜ืขืœืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื ื•ืฆืŸ FerretDB ื•ื•ื™ ืึท ื˜ืจืึทื ืกืคึผืขืจืึทื ื˜ ืคืึทืจื‘ื™ื™ึทื˜ ืคึฟืึทืจ MongoDB.

MongoDB ืึทืงื™ืึทืคึผื™ื™ื– ืึท ื ื™ืฉืข ืฆื•ื•ื™ืฉืŸ ืฉื ืขืœ ืื•ืŸ ืกืงืึทืœืึทื‘ืœืข ืกื™ืกื˜ืขืžืขืŸ ื•ื•ืึธืก ืึทืจื‘ืขื˜ืŸ ืื•ื™ืฃ ืฉืœื™ืกืœ / ื•ื•ืขืจื˜ ื“ืึทื˜ืŸ ืื•ืŸ ืจื™ืœื™ื™ืฉืึทื ืึทืœ ื“ื‘ืžืก ื•ื•ืึธืก ื–ืขื ืขืŸ ืคืึทื ื’ืงืฉืึทื ืึทืœ ืื•ืŸ ื’ืจื™ื ื’ ืฆื• ืึธื ืคืจืขื’. MongoDB ืฉื˜ื™ืฆื˜ ืกื˜ืึธืจื™ื ื’ ื“ืึธืงื•ืžืขื ื˜ืŸ ืื™ืŸ ืึท JSON-ื•ื•ื™ ืคึฟืึธืจืžืึทื˜, ื”ืื˜ ืึท ืคืขืจืœื™ ืคืœืขืงืกืึทื‘ืึทืœ ืฉืคึผืจืึทืš ืคึฟืึทืจ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืคึฟืจืื’ืŸ, ืงืขื ืขืŸ ืฉืึทืคึฟืŸ ื™ื ื“ืขืงืกื™ื– ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืŸ ืกื˜ืึธืจื“ ืึทื˜ืจืึทื‘ื™ื•ืฅ, ื™ืคื™ืฉืึทื ื˜ืœื™ ื’ื™ื˜ ืกื˜ืึธืจื™ื“ื–ืฉ ืคื•ืŸ ื’ืจื•ื™ืก ื‘ื™ื™ื ืขืจื™ ืึทื‘ื“ื–ืฉืขืงืฅ, ืฉื˜ื™ืฆื˜ ืœืึธื’ื™ื ื’ ืคื•ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืฆื• ื˜ื•ื™ืฉืŸ ืื•ืŸ ืœื™ื™ื’ืŸ ื“ืึทื˜ืŸ ืฆื• ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก. ืึทืจื‘ืขื˜ ืื™ืŸ ืœื•ื™ื˜ ืžื™ื˜ ื“ื™ ืคึผืึทืจืึทื“ื™ื’ื ืžืึทืคึผืข / ืจืขื“ื•ืกืข, ืฉื˜ื™ืฆื˜ ืจืขืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื•ืŸ ื‘ื•ื™ืขืŸ ืฉื•ืœื“-ื˜ืึธืœืขืจืึทื ื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื–.

ะ’ ะฒั‹ะฟัƒัะบะต FerretDB 0.3 ั€ะตะฐะปะธะทะพะฒะฐะฝะฐ ะบะพะผะฐะฝะดะฐ findAndModify ะธะทะผะตะฝััŽั‰ะฐั ะดะพะบัƒะผะตะฝั‚, ะฝะพ ะฒะพะทะฒั€ะฐั‰ะฐัŽั‰ะฐั ะตะณะพ ะฟะตั€ะฒะพะฝะฐั‡ะฐะปัŒะฝัƒัŽ ะฒะตั€ัะธัŽ. ะ ะตะฐะปะธะทะพะฒะฐะฝั‹ ะพะฟะตั€ะฐั‚ะพั€ั‹ ะพะฑะฝะพะฒะปะตะฝะธั ะฟะพะปะตะน โ€” $inc ะธ $set. ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัะพั€ั‚ะธั€ะพะฒะบะธ ัะบะฐะปัั€ะฝั‹ั… ั‚ะธะฟะพะฒ ะดะฐะฝะฝั‹ั….

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’