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

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

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

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

ืฆื•ื•ื™ืฉืŸ ื“ื™ ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ FerretDB 1.0:

  • ื“ื™ ืงืึธืžืึทื ื“ื– ืฆื• ืฉืึทืคึฟืŸ ืื•ืŸ ื•ื™ืกืžืขืงืŸ ืื™ื™ื ืขืจ ืึธื“ืขืจ ืžืขืจ ื™ื ื“ืขืงืกื™ื– ืื™ืŸ ืึท ื–ืึทืžืœื•ื ื’, ื–ืขื ืขืŸ ื™ืžืคึผืœืึทืžืขื ืึทื“ ื“ื™ ืงืึทืžืึทื ื“ื– ืคื•ืŸ CreateIndexes ืื•ืŸ DropIndexes.
  • ื“ืขืจ getMore ื‘ืึทืคึฟืขืœ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ืฆื• ื•ื•ื™ื™ึทื–ืŸ ืึท ื ื™ื™ึทืข ื˜ื™ื™ืœ ืคื•ืŸ ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ ืงืึทืžืึทื ื“ื– ื•ื•ืึธืก ืฆื•ืจื™ืงืงื•ืžืขืŸ ืึท ืœื•ื™ืคึฟืขืจ, ืึทื–ืึท ื•ื•ื™ ื’ืขืคึฟื™ื ืขืŸ ืื•ืŸ ืึทื’ื’ืจืขื’ืึทื˜ืขื“.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ $ ืกืึทื ืึทื’ื’ืจืขื’ืึทื˜ื™ืึธืŸ ืึธืคึผืขืจืึทื˜ืึธืจ ืฆื• ืจืขื›ืขื ืขืŸ ื“ื™ ืกืึทื›ืึทืงืœ ืคื•ืŸ ื’ืจื•ืคึผืข ื•ื•ืึทืœื•ืขืก.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ $ ืœื™ืžื™ื˜ ืื•ืŸ $ ื”ืึธืคึผืงืขืŸ ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืฆื• ื‘ืึทื’ืจืขื ืขืฆืŸ ื“ื™ ื ื•ืžืขืจ ืื•ืŸ ื”ืึธืคึผืงืขืŸ ืคื•ืŸ ื“ืึธืงื•ืžืขื ื˜ืŸ ื‘ืขืฉืึทืก ืึทื’ื’ืจืขื’ืึทื˜ื™ืึธืŸ.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ $ count ืึธืคึผืขืจืึทื˜ืึธืจ ืคึฟืึทืจ ืงืึทื•ื ื˜ื™ื ื’ ื“ืึธืงื•ืžืขื ื˜ืŸ ื‘ืขืฉืึทืก ืึทื’ื’ืจืขื’ืึทื˜ื™ืึธืŸ.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ $ ืึทื ื•ื•ื™ื™ื ื“ ืึธืคึผืขืจืึทื˜ืึธืจ ืฆื• ืคึผืึทืจืก ืžืขื ื’ืข ืคืขืœื“ืขืจ ืื™ืŸ ื™ื ืงืึทืžื™ื ื’ ื“ืึธืงื•ืžืขื ื˜ืŸ ืื•ืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืึท ืจืฉื™ืžื” ืžื™ื˜ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ื“ืึธืงื•ืžืขื ื˜ ืคึฟืึทืจ ื™ืขื“ืขืจ ืžืขื ื’ืข ืขืœืขืžืขื ื˜.
  • ืึทื“ื“ืขื“ ืคึผืึทืจื˜ื™ื™ื™ืฉ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ืงืึธืœืœืกื˜ืึทื˜ืก, ื“ื‘ืกื˜ืึทื˜ืก ืื•ืŸ ื“ืึทื˜ืึทืกื™ื–ืข ืงืึทืžืึทื ื“ื– ืฆื• ื‘ืึทืงื•ืžืขืŸ ืกื˜ืึทื˜ื™ืกื˜ื™ืง ื•ื•ืขื’ืŸ ื“ื™ ื–ืึทืžืœื•ื ื’ ืื•ืŸ ื“ื™ื™ื˜ืึทื‘ื™ื™ืก, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ื“ืึทื˜ืŸ ื’ืจื™ื™ืก.

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

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