14 ื“ื‘ืจื™ื ืฉื”ืœื•ื•ืื™ ืฉื™ื“ืขืชื™ ืœืคื ื™ ืฉื”ืชื—ืœืชื™ ืขื MongoDB

ืชืจื’ื•ื ื”ืžืืžืจ ื”ื•ื›ืŸ ืขืจื‘ ืชื—ื™ืœืช ื”ืงื•ืจืก "ืžืื’ืจื™ ืžื™ื“ืข ืœื ื™ื—ืกื™ื™ื".

14 ื“ื‘ืจื™ื ืฉื”ืœื•ื•ืื™ ืฉื™ื“ืขืชื™ ืœืคื ื™ ืฉื”ืชื—ืœืชื™ ืขื MongoDB

ื”ื‘ื”ืจื”:

  • ื—ืฉื•ื‘ ื‘ื™ื•ืชืจ ืœืคืชื— ืกื›ื™ืžื” ืœืžืจื•ืช ืฉื”ื™ื ืื•ืคืฆื™ื•ื ืœื™ืช ื‘- MongoDB.
  • ื‘ืื•ืคืŸ ื“ื•ืžื”, ื”ืื™ื ื“ืงืกื™ื ื—ื™ื™ื‘ื™ื ืœื”ืชืื™ื ืœืกื›ื™ืžื” ื•ื“ืคื•ืกื™ ื”ื’ื™ืฉื” ืฉืœืš.
  • ื”ื™ืžื ืข ืžืฉื™ืžื•ืฉ ื‘ื—ืคืฆื™ื ื’ื“ื•ืœื™ื ื•ืžืขืจื›ื™ื ื’ื“ื•ืœื™ื.
  • ื”ื™ื–ื”ืจ ืขื ื”ื’ื“ืจื•ืช MongoDB, ื‘ืžื™ื•ื—ื“ ื›ืฉืžื“ื•ื‘ืจ ื‘ืื‘ื˜ื—ื” ื•ืืžื™ื ื•ืช.
  • ืœ-MongoDB ืื™ืŸ ื›ืœื™ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ืฉืื™ืœืชื•ืช, ืœื›ืŸ ืขืœื™ืš ืœื”ื™ื•ืช ื–ื”ื™ืจ ื‘ืขืช ื‘ื™ืฆื•ืข ืคืขื•ืœื•ืช ืฉืื™ืœืชื”.

ืื ื™ ืขื•ื‘ื“ ืขื ืžืกื“ื™ ื ืชื•ื ื™ื ื›ื‘ืจ ื”ืจื‘ื” ืžืื•ื“ ื–ืžืŸ, ืื‘ืœ ืจืง ืœืื—ืจื•ื ื” ื’ื™ืœื™ืชื™ ืืช MongoDB. ื™ืฉ ื›ืžื” ื“ื‘ืจื™ื ืฉื”ืœื•ื•ืื™ ืฉื™ื“ืขืชื™ ืœืคื ื™ ืฉื”ืชื—ืœืชื™ ืœืขื‘ื•ื“ ืขื ื–ื”. ื›ืืฉืจ ืœืื“ื ื›ื‘ืจ ื™ืฉ ื ื™ืกื™ื•ืŸ ื‘ืชื—ื•ื ืžืกื•ื™ื, ื™ืฉ ืœื• ื“ืขื•ืช ืงื“ื•ืžื•ืช ืœื’ื‘ื™ ืžื” ื–ื” ืžืื’ืจื™ ืžื™ื“ืข ื•ืžื” ื”ื ืขื•ืฉื™ื. ื‘ืชืงื•ื•ื” ืœื”ืงืœ ืขืœ ืื—ืจื™ื ืœื”ื‘ื™ืŸ, ืื ื™ ืžืฆื™ื’ ืจืฉื™ืžื” ืฉืœ ื˜ืขื•ื™ื•ืช ื ืคื•ืฆื•ืช.

ื™ืฆื™ืจืช ืฉืจืช MongoDB ืœืœื ืื™ืžื•ืช

ืœืจื•ืข ื”ืžื–ืœ, MongoDB ืžื•ืชืงืŸ ืœืœื ืื™ืžื•ืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ. ืขื‘ื•ืจ ืชื—ื ืช ืขื‘ื•ื“ื” ืฉื”ื’ื™ืฉื” ืืœื™ื” ื”ื™ื ืžืงื•ืžื™ืช, ื ื•ื”ื’ ื–ื” ื ื•ืจืžืœื™. ืื‘ืœ ืžื›ื™ื•ื•ืŸ ืฉ-MongoDB ื”ื™ื ืžืขืจื›ืช ืžืจื•ื‘ืช ืžืฉืชืžืฉื™ื ืฉืื•ื”ื‘ืช ืœื”ืฉืชืžืฉ ื‘ื›ืžื•ื™ื•ืช ื’ื“ื•ืœื•ืช ืฉืœ ื–ื™ื›ืจื•ืŸ, ื™ื”ื™ื” ื˜ื•ื‘ ื™ื•ืชืจ ืื ืชืฉื™ืžื• ืื•ืชื” ืขืœ ืฉืจืช ืขื ื›ืžื” ืฉื™ื•ืชืจ RAM, ื’ื ืื ืืชื ื”ื•ืœื›ื™ื ืœื”ืฉืชืžืฉ ื‘ื” ืจืง ืœืคื™ืชื•ื—. ื”ืชืงื ื” ื‘ืฉืจืช ื“ืจืš ื™ืฆื™ืืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืขืœื•ืœื” ืœื”ื™ื•ืช ื‘ืขื™ื™ืชื™ืช, ื‘ืžื™ื•ื—ื“ ืื ื ื™ืชืŸ ืœื”ืคืขื™ืœ ืงื•ื“ javascript ื›ืœืฉื”ื• ื‘ื‘ืงืฉื” (ืœื“ื•ื’ืžื”, $where ื›ืจืขื™ื•ืŸ ืœ ื–ืจื™ืงื•ืช).

ื™ืฉื ืŸ ืžืกืคืจ ืฉื™ื˜ื•ืช ืื™ืžื•ืช, ืืš ื”ืงืœื” ื‘ื™ื•ืชืจ ื”ื™ื ืœื”ื’ื“ื™ืจ ืžื–ื”ื” ืžืฉืชืžืฉ/ืกื™ืกืžื”. ื”ืฉืชืžืฉ ื‘ืจืขื™ื•ืŸ ื”ื–ื” ื‘ื–ืžืŸ ืฉืืชื” ื—ื•ืฉื‘ ืขืœ ืื™ืžื•ืช ืžืคื•ืืจ ื”ืžื‘ื•ืกืก ืขืœ LDAP. ื‘ื›ืœ ื”ื ื•ื’ืข ืœืื‘ื˜ื—ื”, MongoDB ืฆืจื™ืš ืœื”ื™ื•ืช ืžืขื•ื“ื›ืŸ ื›ืœ ื”ื–ืžืŸ, ื•ื™ื•ืžื ื™ื ืฆืจื™ื›ื™ื ืœื”ื™ื‘ื“ืง ืชืžื™ื“ ืขื‘ื•ืจ ื’ื™ืฉื” ืœื ืžื•ืจืฉื™ืช. ืœื“ื•ื’ืžื”, ืื ื™ ืื•ื”ื‘ ืœื‘ื—ื•ืจ ื™ืฆื™ืื” ืื—ืจืช ื‘ืชื•ืจ ื™ืฆื™ืืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ.

ืืœ ืชืฉื›ื— ืœืื’ื“ ืืช ืžืฉื˜ื— ื”ื”ืชืงืคื” ืœ-MongoDB

ืจืฉื™ืžืช ืื‘ื˜ื—ื” ืฉืœ MongoDB ืžื›ื™ืœ ืขืฆื•ืช ื˜ื•ื‘ื•ืช ืœื”ืคื—ืชืช ื”ืกื™ื›ื•ืŸ ืœื—ื“ื™ืจืช ืจืฉืช ื•ืœื“ืœื™ืคืช ื ืชื•ื ื™ื. ืงืœ ืœืฆื—ืฆื— ืืช ื–ื” ื•ืœื”ื’ื™ื“ ืฉืฉืจืช ืคื™ืชื•ื— ืœื ืฆืจื™ืš ืจืžืช ืื‘ื˜ื—ื” ื’ื‘ื•ื”ื”. ืขื ื–ืืช, ื–ื” ืœื ื›ืœ ื›ืš ืคืฉื•ื˜ ื•ื–ื” ื—ืœ ืขืœ ื›ืœ ืฉืจืชื™ MongoDB. ื‘ืคืจื˜, ืื ืื™ืŸ ืกื™ื‘ื” ืžืฉื›ื ืขืช ืœื”ืฉืชืžืฉ mapReduce, group ืื• $ ืื™ืคื”, ืขืœื™ืš ืœื”ืฉื‘ื™ืช ืืช ื”ืฉื™ืžื•ืฉ ื‘ืงื•ื“ ืฉืจื™ืจื•ืชื™ ื‘-JavaScript ืขืœ ื™ื“ื™ ื›ืชื™ื‘ื” ื‘ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” javascriptEnabled:false. ืžื›ื™ื•ื•ืŸ ืฉืงื•ื‘ืฆื™ ื ืชื•ื ื™ื ืื™ื ื ืžื•ืฆืคื ื™ื ื‘-MongoDB ื”ืกื˜ื ื“ืจื˜ื™, ื”ื’ื™ื•ื ื™ ืœื”ืคืขื™ืœ ืืช MongoDB ืื™ืชื• ืžืฉืชืžืฉ ืžืกื•ืจ, ื‘ืขืœ ื’ื™ืฉื” ืžืœืื” ืœืงื‘ืฆื™ื, ืขื ื’ื™ืฉื” ืžื•ื’ื‘ืœืช ืจืง ืืœื™ื• ื•ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ื‘ืงืจื•ืช ื”ื’ื™ืฉื” ืœืงื‘ืฆื™ื ืฉืœ ืžืขืจื›ืช ื”ื”ืคืขืœื” ืขืฆืžื”.

ืฉื’ื™ืื” ื‘ืขืช ืคื™ืชื•ื— ื”ืžืขื’ืœ

MongoDB ืื™ื ื• ืžืฉืชืžืฉ ื‘ืกื›ื™ืžื”. ืื‘ืœ ื–ื” ืœื ืื•ืžืจ ืฉืื™ืŸ ืฆื•ืจืš ื‘ืชื•ื›ื ื™ืช. ืื ืืชื” ืจืง ืจื•ืฆื” ืœืื—ืกืŸ ืžืกืžื›ื™ื ืœืœื ื›ืœ ื“ืคื•ืก ืขืงื‘ื™, ืื—ืกื ื ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžื”ื™ืจ ื•ืงืœ, ืื‘ืœ ืฉืœื™ืคืชื ืžืื•ื—ืจ ื™ื•ืชืจ ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืงืฉื”. ืžืžืฉ ืงืฉื”.

ืžืืžืจ ืงืœืืกื™"6 ื›ืœืœื™ ืืฆื‘ืข ืœืขื™ืฆื•ื‘ ืกื›ืžืช MongoDB" ื–ื” ืฉื•ื•ื” ืงืจื™ืื”, ื•ืชื›ื•ื ื•ืช ื›ืžื• ืกื™ื™ืจ ืกื›ื™ืžื” ื‘ื›ืœื™ ื”ืฆื“ ื”ืฉืœื™ืฉื™ Studio 3T ื›ื“ืื™ ืœื”ืฉืชืžืฉ ืœื‘ื“ื™ืงื•ืช ืจื’ื™ืœื•ืช ืฉืœ ืžืขื’ืœื™ื.

ืืœ ืชืฉื›ื— ืืช ืกื“ืจ ื”ืžื™ื•ืŸ

ืฉื›ื—ืช ืกื“ืจ ื”ืžื™ื•ืŸ ืขืœื•ืœื” ืœื’ืจื•ื ืœื™ื•ืชืจ ืชืกื›ื•ืœ ื•ืœื‘ื–ื‘ื•ื– ื–ืžืŸ ืจื‘ ื™ื•ืชืจ ืžื›ืœ ืชืฆื•ืจื” ืœื ื ื›ื•ื ื” ืื—ืจืช. ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, MongoBD ืžืฉืชืžืฉ ืžื™ื•ืŸ ื‘ื™ื ืืจื™. ืื‘ืœ ืœื ืกื‘ื™ืจ ืฉื–ื” ื™ื”ื™ื” ืฉื™ืžื•ืฉื™ ืœืืฃ ืื—ื“. ืกื•ื’ื™ื ื‘ื™ื ืืจื™ื™ื ืจื’ื™ืฉื™ื ืœืื•ืชื™ื•ืช ืจื™ืฉื™ื•ืช, ืจื’ื™ืฉื•ืช ืœืžื‘ื˜ื ื ื—ืฉื‘ื• ืœืื ื›ืจื•ื ื™ื–ื ืžื•ื–ืจ ื™ื—ื“ ืขื ื—ืจื•ื–ื™ื, ืงืคื˜ื ื™ื ื•ืฉืคืžื™ื ืžืชื•ืœืชืœื™ื ืขื•ื“ ื‘ืฉื ื•ืช ื”-80 ืฉืœ ื”ืžืื” ื”ืงื•ื“ืžืช. ื›ืขืช ื”ืฉื™ืžื•ืฉ ื‘ื”ื ื”ื•ื ื‘ืœืชื™ ื ืกืœื—. ื‘ื—ื™ื™ื ื”ืืžื™ืชื™ื™ื, "ืื•ืคื ื•ืข" ื–ื”ื” ืœ"ืื•ืคื ื•ืข". ื•"ื‘ืจื™ื˜ื ื™ื”" ื•"ื‘ืจื™ื˜ื ื™ื”" ื”ืŸ ืื•ืชื• ืžืงื•ื. ืื•ืช ืงื˜ื ื” ื”ื™ื ืคืฉื•ื˜ ื”ืžืงื‘ื™ืœื” ื”ื’ื“ื•ืœื” ืฉืœ ืื•ืช ื’ื“ื•ืœื”. ื•ืืœ ืชื ื™ืข ืื•ืชื™ ืœืžื™ื™ืŸ ื“ื™ืืงืจื™ื˜ื™ื. ื‘ืขืช ื™ืฆื™ืจืช ืžืกื“ ื ืชื•ื ื™ื ื‘- MongoDB, ื”ืฉืชืžืฉ ื‘ืื™ืกื•ืฃ ืœื ืจื’ื™ืฉ ืœื”ื“ื’ืฉื” ื• ื”ื™ืจืฉื, ื”ืชื•ืืžื™ื ืืช ื”ืฉืคื” ื• ืชืจื‘ื•ืช ืžืฉืชืžืฉ ืžืขืจื›ืช. ื–ื” ื™ืงืœ ื‘ื”ืจื‘ื” ืขืœ ื”ื—ื™ืคื•ืฉ ื‘ื ืชื•ื ื™ ืžื—ืจื•ื–ืช.

ืฆื•ืจ ืื•ืกืคื™ื ืขื ืžืกืžื›ื™ื ื’ื“ื•ืœื™ื

MongoDB ืฉืžื—ื” ืœืืจื— ืžืกืžื›ื™ื ื’ื“ื•ืœื™ื ืขื“ 16MB ื‘ืื•ืกืคื™ื, ื• GridFS ืžื™ื•ืขื“ ืœืžืกืžื›ื™ื ื’ื“ื•ืœื™ื ื™ื•ืชืจ ืž-16 MB. ืื‘ืœ ืจืง ื‘ื’ืœืœ ืฉื ื™ืชืŸ ืœืžืงื ืฉื ืžืกืžื›ื™ื ื’ื“ื•ืœื™ื, ืœืื—ืกืŸ ืื•ืชื ืฉื ื–ื” ืœื ืจืขื™ื•ืŸ ื˜ื•ื‘. MongoDB ื™ืขื‘ื•ื“ ื”ื›ื™ ื˜ื•ื‘ ืื ืืชื” ืžืื—ืกืŸ ืžืกืžื›ื™ื ื‘ื•ื“ื“ื™ื ื‘ื’ื•ื“ืœ ืฉืœ ื›ืžื” ืงื™ืœื•ื‘ื™ื™ื˜ื™ื, ื•ืžืชื™ื™ื—ืก ืืœื™ื”ื ื™ื•ืชืจ ื›ืžื• ืฉื•ืจื•ืช ื‘ื˜ื‘ืœืช SQL ืจื—ื‘ื”. ืžืกืžื›ื™ื ื’ื“ื•ืœื™ื ื™ื”ื•ื• ืžืงื•ืจ ืœื‘ืขื™ื•ืช ืขื ืคึผึดืจื™ื•ึนืŸ.

ื™ืฆื™ืจืช ืžืกืžื›ื™ื ืขื ืžืขืจื›ื™ื ื’ื“ื•ืœื™ื

ืžืกืžื›ื™ื ื™ื›ื•ืœื™ื ืœื”ื›ื™ืœ ืžืขืจื›ื™ื. ืขื“ื™ืฃ ืื ืžืกืคืจ ื”ืืœืžื ื˜ื™ื ื‘ืžืขืจืš ืจื—ื•ืง ืžืœื”ื™ื•ืช ืžืกืคืจ ื‘ืŸ ืืจื‘ืข ืกืคืจื•ืช. ืื ืืœืžื ื˜ื™ื ืžืชื•ื•ืกืคื™ื ืœืžืขืจืš ืœืขืชื™ื ืงืจื•ื‘ื•ืช, ื”ื•ื ื™ื’ื“ืœ ืžื”ืžืกืžืš ื”ืžื›ื™ืœ ืื•ืชื• ื•ื™ืฆื˜ืจืš ืœื”ื™ื•ืช ืœื–ื•ื–, ืžื” ืฉืื•ืžืจ ืฉื–ื” ื™ื”ื™ื” ื”ื›ืจื—ื™ ืขื“ื›ืŸ ื’ื ืื™ื ื“ืงืกื™ื. ื‘ืขืช ื”ื•ืกืคืช ืžืกืžืš ืžื—ื“ืฉ ืœืื™ื ื“ืงืก ืขื ืžืขืจืš ื’ื“ื•ืœ, ื”ืื™ื ื“ืงืกื™ื ืœืจื•ื‘ ื™ื•ื—ืœืคื•, ืžื›ื™ื•ื•ืŸ ืฉื™ืฉ ืฉื™ื, ืืฉืจ ืžืื—ืกืŸ ืืช ื”ืื™ื ื“ืงืก ืฉืœื•. ื”ื•ืกืคื” ืžื—ื“ืฉ ืœืื™ื ื“ืงืก ืžืชืจื—ืฉืช ื’ื ื›ืืฉืจ ืžืกืžืš ืžื•ื›ื ืก ืื• ื ืžื—ืง.

ืœ-MongoDB ื™ืฉ ืžืฉื”ื• ืฉื ืงืจื "ื’ื•ืจื ืžื™ืœื•ื™", ื”ืžืกืคืง ืžืงื•ื ืœืžืกืžื›ื™ื ืœืฆืžื•ื— ื›ื“ื™ ืœืžื–ืขืจ ื‘ืขื™ื” ื–ื•.
ืืชื” ืขืฉื•ื™ ืœื—ืฉื•ื‘ ืฉืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ื‘ืœื™ ืื™ื ื“ืงืก ืžืขืจืš. ืœืžืจื‘ื” ื”ืฆืขืจ, ื”ื™ืขื“ืจ ืื™ื ื“ืงืกื™ื ืขืœื•ืœ ืœื’ืจื•ื ืœืš ืœื‘ืขื™ื•ืช ืื—ืจื•ืช. ืžื›ื™ื•ื•ืŸ ืฉืžืกืžื›ื™ื ื ืกืจืงื™ื ืžืชื—ื™ืœืชื• ื•ืขื“ ืกื•ืคื•, ื”ื—ื™ืคื•ืฉ ืื—ืจ ืืœืžื ื˜ื™ื ื‘ืกื•ืฃ ื”ืžืขืจืš ื™ื™ืงื— ื–ืžืŸ ืจื‘ ื™ื•ืชืจ, ื•ืจื•ื‘ ื”ืคืขื•ืœื•ืช ื”ืงืฉื•ืจื•ืช ืœืžืกืžืš ื›ื–ื” ืœึฐื”ึทืึตื˜.

ืืœ ืชืฉื›ื— ืฉืกื“ืจ ื”ืฉืœื‘ื™ื ื‘ืฆื‘ื™ืจื” ื—ืฉื•ื‘

ื‘ืžืขืจื›ืช ืžืกื“ ื ืชื•ื ื™ื ืขื ืื•ืคื˜ื™ืžื™ื–ืฆื™ื™ืช ืฉืื™ืœืชื•ืช, ื”ืฉืื™ืœืชื•ืช ืฉืืชื” ื›ื•ืชื‘ ื”ืŸ ื”ืกื‘ืจื™ื ืขืœ ืžื” ืืชื” ืจื•ืฆื” ืœืงื‘ืœ, ืœื ืื™ืš ืœื”ืฉื™ื’ ืืช ื–ื”. ื”ืžื ื’ื ื•ืŸ ื”ื–ื” ืขื•ื‘ื“ ื‘ืื ืœื•ื’ื™ื” ืœื”ื–ืžื ื” ื‘ืžืกืขื“ื”: ื‘ื“ืจืš ื›ืœืœ ืืชื” ืคืฉื•ื˜ ืžื–ืžื™ืŸ ืžื ื”, ื•ืœื ื ื•ืชืŸ ื”ื•ืจืื•ืช ืžืคื•ืจื˜ื•ืช ืœื˜ื‘ื—.

ื‘-MongoDB ืืชื” ืžื•ืจื” ืœื˜ื‘ื—. ืœื“ื•ื’ืžื”, ืขืœื™ืš ืœื•ื•ื“ื ืฉื”ื ืชื•ื ื™ื ืขื•ื‘ืจื™ื reduce ืžื•ืงื“ื ื›ื›ืœ ื”ืืคืฉืจ ื‘ืฆื ืจืช ื‘ืืžืฆืขื•ืช $match ะธ $project, ื•ื”ืžื™ื•ืŸ ืžืชืจื—ืฉ ืจืง ืœืื—ืจ reduce, ื•ืฉื”ื—ื™ืคื•ืฉ ืžืชืจื—ืฉ ื‘ื“ื™ื•ืง ื‘ืกื“ืจ ื”ืจืฆื•ื™. ืฉื™ืžื•ืฉ ื‘ืžื™ื˜ื•ื‘ ืฉืื™ืœืชื•ืช ืฉืžื‘ื˜ืœ ืขื‘ื•ื“ื” ืžื™ื•ืชืจืช, ืžืกื“ืจ ืืช ื”ืฉืœื‘ื™ื ื‘ืฆื•ืจื” ืื•ืคื˜ื™ืžืœื™ืช ื•ื‘ื•ื—ืจ ืกื•ื’ื™ ื”ืฆื˜ืจืคื•ืช ื™ื›ื•ืœ ืœืงืœืงืœ ืื•ืชืš. ืขื MongoDB, ื™ืฉ ืœืš ื™ื•ืชืจ ืฉืœื™ื˜ื” ื‘ืžื—ื™ืจ ืฉืœ ื ื•ื—ื•ืช.

ื›ืœื™ื ื›ืžื• ืกื˜ื•ื“ื™ื• 3T ื™ืคืฉื˜ ืืช ื”ื‘ื ื™ื™ื” ืฉืœ ืฉืื™ืœืชื•ืช ืฆื‘ื™ืจื” ื‘ MongoDB. ื”ืชื›ื•ื ื” Aggregation Editor ืžืืคืฉืจืช ืœืš ืœื”ื—ื™ืœ ื”ืฆื”ืจื•ืช ืฆื™ื ื•ืจ ืฉืœื‘ ืื—ื“ ื‘ื›ืœ ืคืขื, ื•ืœื‘ื“ื•ืง ื ืชื•ื ื™ ืงืœื˜ ื•ืคืœื˜ ื‘ื›ืœ ืฉืœื‘ ื›ื“ื™ ืœืคืฉื˜ ืืช ื ื™ืคื•ื™ ื”ื‘ืื’ื™ื.

ืฉื™ืžื•ืฉ ื‘ื”ืงืœื˜ื” ืžื”ื™ืจื”

ืœืขื•ืœื ืืœ ืชื’ื“ื™ืจ ืืช ืืคืฉืจื•ื™ื•ืช ื”ื›ืชื™ื‘ื” ืฉืœ MongoDB ืœืžื”ื™ืจื•ืช ื’ื‘ื•ื”ื” ืืš ืืžื™ื ื•ืช ื ืžื•ื›ื”. ื”ืžืฆื‘ ื”ื–ื” "ืชื™ืง ื•ืฉื›ื—" ื ืจืื” ืžื”ื™ืจ ื›ื™ ื”ืคืงื•ื“ื” ืžื•ื—ื–ืจืช ืœืคื ื™ ืฉื”ื›ืชื™ื‘ื” ืžืชืจื—ืฉืช. ืื ื”ืžืขืจื›ืช ืงื•ืจืกืช ืœืคื ื™ ืฉื”ื ืชื•ื ื™ื ื ื›ืชื‘ื™ื ืœื“ื™ืกืง, ื”ื ื™ืื‘ื“ื• ื•ื™ืกืชื™ื™ื ื‘ืžืฆื‘ ืœื ืขืงื‘ื™. ืœืžืจื‘ื” ื”ืžื–ืœ, 64-bit MongoDB ืžื•ืคืขืœืช ื‘ืจื™ืฉื•ื.

ืžื ื•ืขื™ ื”ืื—ืกื•ืŸ MMAPv1 ื•-WiredTiger ืžืฉืชืžืฉื™ื ื‘ืจื™ืฉื•ื ื›ื“ื™ ืœืžื ื•ืข ื–ืืช, ืื ื›ื™ WiredTiger ื™ื›ื•ืœ ืœื”ืชืื•ืฉืฉ ืขื“ ื”ืื—ืจื•ืŸ ื”ืขืงื‘ื™ ื ืงื•ื“ืช ืฉืœื™ื˜ื”, ืื ื”ืจื™ืฉื•ื ืžื•ืฉื‘ืช.

ืจื™ืฉื•ื ื‘ื™ื•ืžืŸ ืžื‘ื˜ื™ื— ืฉืžืกื“ ื”ื ืชื•ื ื™ื ื ืžืฆื ื‘ืžืฆื‘ ืขืงื‘ื™ ืœืื—ืจ ื”ืฉื—ื–ื•ืจ ื•ืฉื•ืžืจ ืขืœ ื›ืœ ื”ื ืชื•ื ื™ื ืขื“ ืœื›ืชื™ื‘ืชื ืœื™ื•ืžืŸ. ืชื“ื™ืจื•ืช ื”ื”ืงืœื˜ื•ืช ืžื•ื’ื“ืจืช ื‘ืืžืฆืขื•ืช ื”ืคืจืžื˜ืจ commitIntervalMs.

ื›ื“ื™ ืœื”ื™ื•ืช ื‘ื˜ื•ื— ื‘ืขืจื›ื™ื, ื•ื“ื ืฉื”ืจื™ืฉื•ื ืžื•ืคืขืœ ื‘ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” (storage.journal.enabled)ื•ืชื“ื™ืจื•ืช ื”ื”ืงืœื˜ื•ืช ืžืชืื™ืžื” ืœื›ืžื•ืช ื”ืžื™ื“ืข ืฉืืชื” ื™ื›ื•ืœ ืœื”ืจืฉื•ืช ืœืขืฆืžืš ืœืื‘ื“.

ืžื™ื•ืŸ ืœืœื ืื™ื ื“ืงืก

ื‘ืขืช ื—ื™ืคื•ืฉ ื•ืฆื‘ื™ืจื”, ืœืขื™ืชื™ื ืงืจื•ื‘ื•ืช ื™ืฉ ืฆื•ืจืš ืœืžื™ื™ืŸ ื ืชื•ื ื™ื. ื ืงื•ื•ื” ืฉื–ื” ื™ื™ืขืฉื” ื‘ืื—ื“ ื”ืฉืœื‘ื™ื ื”ืกื•ืคื™ื™ื, ืœืื—ืจ ืกื™ื ื•ืŸ ื”ืชื•ืฆืื” ืขืœ ืžื ืช ืœืฆืžืฆื ืืช ื›ืžื•ืช ื”ื ืชื•ื ื™ื ื”ืžืžื•ื™ื ื™ื. ื•ื’ื ื‘ืžืงืจื” ื–ื”, ืœืžื™ื•ืŸ ืชืฆื˜ืจืš - ืžื“ื“. ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืื™ื ื“ืงืก ื‘ื•ื“ื“ ืื• ืžื•ืจื›ื‘.

ืื ืื™ืŸ ืื™ื ื“ืงืก ืžืชืื™ื, MongoDB ืชืกืชื“ืจ ื‘ืœืขื“ื™ื•. ื™ืฉ ืžื’ื‘ืœืช ื–ื™ื›ืจื•ืŸ ืฉืœ 32 ืžื’ื”-ื‘ื™ื™ื˜ ืขืœ ื”ื’ื•ื“ืœ ื”ื›ื•ืœืœ ืฉืœ ื›ืœ ื”ืžืกืžื›ื™ื ื‘ ืคืขื•ืœื•ืช ืžื™ื•ืŸ, ื•ืื MongoDB ื™ื’ื™ืข ืœื’ื‘ื•ืœ ื”ื–ื”, ืื– ื”ื•ื ื™ื–ืจื•ืง ืฉื’ื™ืื” ืื• ื™ื—ื–ื•ืจ ืขืจื›ืช ืจืฉื•ืžื•ืช ืจื™ืงื”.

ื—ืคืฉ ืœืœื ืชืžื™ื›ื” ื‘ืื™ื ื“ืงืก

ืฉืื™ืœืชื•ืช ื—ื™ืคื•ืฉ ืžื‘ืฆืขื•ืช ืคื•ื ืงืฆื™ื” ื“ื•ืžื” ืœืคืขื•ืœืช JOIN ื‘-SQL. ื›ื“ื™ ืœืขื‘ื•ื“ ื‘ืฆื•ืจื” ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ, ื”ื ืฆืจื™ื›ื™ื ืืช ื”ืื™ื ื“ืงืก ืฉืœ ื”ืขืจืš ืฉืœ ื”ืžืคืชื— ื”ืžืฉืžืฉ ื›ืžืคืชื— ื”ื–ืจ. ื–ื” ืœื ืžื•ื‘ืŸ ืžืืœื™ื• ื›ื™ ื”ืฉื™ืžื•ืฉ ืœื ื‘ื ืœื™ื“ื™ ื‘ื™ื˜ื•ื™ explain(). ืžื“ื“ื™ื ื›ืืœื” ืžืชื•ื•ืกืคื™ื ืœืื™ื ื“ืงืก ืฉื ื›ืชื‘ ื‘ื• explain(), ืฉื‘ืชื•ืจื• ืžืฉืžืฉ ืืช ืžืคืขื™ืœื™ ื”ืฆื™ื ื•ืจื•ืช $match ะธ $sort, ื›ืฉื”ื ื ืคื’ืฉื™ื ื‘ืชื—ื™ืœืช ื”ืฆื™ื ื•ืจ. ืื™ื ื“ืงืกื™ื ื™ื›ื•ืœื™ื ื›ืขืช ืœื›ืกื•ืช ื›ืœ ืฉืœื‘ ืฆื™ื ื•ืจ ืฆื‘ื™ืจื”.

ื‘ื™ื˜ื•ืœ ื”ืกื›ืžื” ืœืฉื™ืžื•ืฉ ื‘ืจื™ื‘ื•ื™ ืขื“ื›ื•ื ื™ื

ืฉื™ื˜ื” db.collection.update() ืžืฉืžืฉ ืœืฉื™ื ื•ื™ ื—ืœืง ืžืžืกืžืš ืงื™ื™ื ืื• ื”ืžืกืžืš ื›ื•ืœื•, ืขื“ ืœื”ื—ืœืคื” ืžืœืื”, ื‘ื”ืชืื ืœืคืจืžื˜ืจ ืฉืชืฆื™ื™ืŸ update. ืžื” ืฉืœื ื›ืœ ื›ืš ื‘ืจื•ืจ ื”ื•ื ืฉื”ื•ื ืœื ื™ืขื‘ื“ ืืช ื›ืœ ื”ืžืกืžื›ื™ื ื‘ืื•ืกืฃ ืืœื ืื ืชื’ื“ื™ืจ ืืช ื”ืืคืฉืจื•ืช multi ืœืขื“ื›ืŸ ืืช ื›ืœ ื”ืžืกืžื›ื™ื ื”ืขื•ืžื“ื™ื ื‘ืงืจื™ื˜ืจื™ื•ื ื™ ื”ื‘ืงืฉื”.

ืืœ ืชืฉื›ื— ืืช ื”ื—ืฉื™ื‘ื•ืช ืฉืœ ืกื“ืจ ื”ืžืคืชื—ื•ืช ื‘ื˜ื‘ืœืช ื—ืฉื™ืฉ

ื‘-JSON, ืื•ื‘ื™ื™ืงื˜ ืžื•ืจื›ื‘ ืžืื•ืกืฃ ืœื ืžืกื•ื“ืจ ืฉืœ ื’ื•ื“ืœ ืืคืก ืื• ื™ื•ืชืจ ื–ื•ื’ื•ืช ืฉื/ืขืจืš, ื›ืืฉืจ ืฉื ื”ื•ื ืžื—ืจื•ื–ืช ื•ืขืจืš ื”ื•ื ืžื—ืจื•ื–ืช, ืžืกืคืจ, ื‘ื•ืœื™ืื ื™, null, ืื•ื‘ื™ื™ืงื˜ ืื• ืžืขืจืš.

ืœืจื•ืข ื”ืžื–ืœ, BSON ืฉืžื” ื“ื’ืฉ ืจื‘ ืขืœ ืกื“ืจ ื‘ืขืช ื”ื—ื™ืคื•ืฉ. ื‘-MongoDB, ืกื“ืจ ื”ืžืคืชื—ื•ืช ื‘ืชื•ืš ืื•ื‘ื™ื™ืงื˜ื™ื ืžื•ื‘ื ื™ื ืขื ื™ื™ื ื™ืื›ืœื•ืžืจ { firstname: "Phil", surname: "factor" } - ื–ื” ืœื ืื•ืชื• ื“ื‘ืจ ื›ืžื• { { surname: "factor", firstname: "Phil" }. ื›ืœื•ืžืจ, ืขืœื™ืš ืœืื—ืกืŸ ืืช ืกื“ืจ ืฆืžื“ื™ ื”ืฉื/ืขืจืš ื‘ืžืกืžื›ื™ื ืฉืœืš ืื ืืชื” ืจื•ืฆื” ืœื”ื™ื•ืช ื‘ื˜ื•ื— ืœืžืฆื•ื ืื•ืชื.

ืืœ ืชื‘ืœื‘ืœ "ืจื™ืง" ะธ "ืœื ืžื•ื’ื“ืจ"

ืขืจืš "ืœื ืžื•ื’ื“ืจ" ืžืขื•ืœื ืœื ื”ื™ื” ืชืงืฃ ื‘-JSON, ืœืคื™ ืชืงืŸ ืจืฉืžื™ JSON (ECMA-404 ืกืขื™ืฃ 5), ืœืžืจื•ืช ืฉื”ื•ื ื ืžืฆื ื‘ืฉื™ืžื•ืฉ ื‘-JavaScript. ื™ืชืจ ืขืœ ื›ืŸ, ืขื‘ื•ืจ BSON ื”ื•ื ืžื™ื•ืฉืŸ ื•ื”ื•ื ืžื•ืžืจ ืœ $null, ื•ื–ื” ืœื ืชืžื™ื“ ืคืชืจื•ืŸ ื˜ื•ื‘. ืœื”ื™ืžื ืข ืžืœื”ืฉืชืžืฉ "ืœื ืžื•ื’ื“ืจ" ื‘- MongoDB.

ืœื”ืฉืชืžืฉ $limit() ะฑะตะท $sort()

ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื›ืืฉืจ ืืชื” ืžืคืชื— ื‘- MongoDB, ื–ื” ืฉื™ืžื•ืฉื™ ืจืง ืœืจืื•ืช ื“ื•ื’ืžื” ืฉืœ ื”ืชื•ืฆืื” ืฉืชื•ื—ื–ืจ ืžืฉืื™ืœืชื” ืื• ืฆื‘ื™ืจื”. ืขื‘ื•ืจ ืžืฉื™ืžื” ื–ื• ืชืฆื˜ืจืš $limit(), ืื‘ืœ ื–ื” ืœื ืืžื•ืจ ืœื”ื™ื•ืช ื‘ืงื•ื“ ื”ืกื•ืคื™ ืืœื ืื ื›ืŸ ืืชื” ืžืฉืชืžืฉ ื‘ื• ืงื•ื“ื $sort. ืžื›ื•ื ืื™ ื–ื” ื”ื›ืจื—ื™ ื›ื™ ืื—ืจืช ืื™ื ืš ื™ื›ื•ืœ ืœื”ื‘ื˜ื™ื— ืืช ืกื“ืจ ื”ืชื•ืฆืื”, ื•ืœื ืชื•ื›ืœ ืœืจืื•ืช ื‘ืื•ืคืŸ ืืžื™ืŸ ืืช ื”ื ืชื•ื ื™ื. ื‘ืจืืฉ ื”ืชื•ืฆืื” ืชืงื‘ืœื• ืขืจื›ื™ื ืฉื•ื ื™ื ื‘ื”ืชืื ืœืžื™ื•ืŸ. ื›ื“ื™ ืœืขื‘ื•ื“ ื‘ืฆื•ืจื” ืžื”ื™ืžื ื”, ืฉืื™ืœืชื•ืช ื•ืื’ืจื’ืฆื™ื•ืช ื—ื™ื™ื‘ื•ืช ืœื”ื™ื•ืช ื“ื˜ืจืžื™ื ื™ืกื˜ื™ื•ืช, ื›ืœื•ืžืจ ืœื”ืคื™ืง ืืช ืื•ืชืŸ ืชื•ืฆืื•ืช ื‘ื›ืœ ืคืขื ืฉื”ืŸ ืžื‘ื•ืฆืขื•ืช. ืงื•ื“ ืฉืžื›ื™ืœ $limit(), ืื‘ืœ ืœื $sort, ืœื ื™ื”ื™ื” ื“ื˜ืจืžื™ื ื™ืกื˜ื™ ื•ืขืœื•ืœ ืœื’ืจื•ื ืœืื—ืจ ืžื›ืŸ ืœืฉื’ื™ืื•ืช ืฉืงืฉื” ื™ื”ื™ื” ืœืืชืจ ืื•ืชืŸ.

ืžืกืงื ื”

ื”ื“ืจืš ื”ื™ื—ื™ื“ื” ืœื”ืชืื›ื–ื‘ ืž-MongoDB ื”ื™ื ืœื”ืฉื•ื•ืช ืื•ืชื• ื™ืฉื™ืจื•ืช ืœืกื•ื’ ืื—ืจ ืฉืœ ืžืกื“ ื ืชื•ื ื™ื, ื›ืžื• DBMS, ืื• ืœื‘ื•ื ืœื”ืฉืชืžืฉ ื‘ื• ืขืœ ืกืžืš ืฆื™ืคื™ื•ืช ืžืกื•ื™ืžื•ืช. ื–ื” ื›ืžื• ืœื”ืฉื•ื•ืช ืชืคื•ื– ืœืžื–ืœื’. ืžืขืจื›ื•ืช ืžืกื“ื™ ื ืชื•ื ื™ื ืžืฉืจืชื•ืช ืžื˜ืจื•ืช ืกืคืฆื™ืคื™ื•ืช. ืขื“ื™ืฃ ืคืฉื•ื˜ ืœื”ื‘ื™ืŸ ื•ืœื”ืขืจื™ืš ืืช ื”ื”ื‘ื“ืœื™ื ื”ืืœื” ื‘ืขืฆืžืš. ื–ื” ื™ื”ื™ื” ื—ื‘ืœ ืœืœื—ื•ืฅ ืขืœ ืžืคืชื—ื™ MongoDB ืขืœ ื ืชื™ื‘ ืฉืื™ืœืฅ ืื•ืชื ืœืจื“ืช ื‘ื ืชื™ื‘ DBMS. ืื ื™ ืจื•ืฆื” ืœืจืื•ืช ื“ืจื›ื™ื ื—ื“ืฉื•ืช ื•ืžืขื ื™ื™ื ื•ืช ืœืคืชืจื•ืŸ ื‘ืขื™ื•ืช ื™ืฉื ื•ืช, ื›ืžื• ื”ื‘ื˜ื—ืช ืฉืœืžื•ืช ื”ื ืชื•ื ื™ื ื•ื™ืฆื™ืจืช ืžืขืจื›ื•ืช ื ืชื•ื ื™ื ืขืžื™ื“ื•ืช ื‘ืคื ื™ ื›ืฉืœื™ื ื•ื”ืชืงืคื•ืช ื–ื“ื•ื ื™ื•ืช.

ื”ื”ืงื“ืžื” ืฉืœ MongoDB ืฉืœ ACID ื˜ืจื ื–ืงืฆื™ื•ื ืœื™ื•ืช ื‘ื’ืจืกื” 4.0 ื”ื™ื ื“ื•ื’ืžื” ื˜ื•ื‘ื” ืœื”ื›ื ืกืช ืฉื™ืคื•ืจื™ื ื—ืฉื•ื‘ื™ื ื‘ืฆื•ืจื” ื—ื“ืฉื ื™ืช. ืขืกืงืื•ืช ืžืจื•ื‘ื•ืช ืžืกืžื›ื™ื ื•ืžืกืคืจ ื”ืฆื”ืจื•ืช ื”ืŸ ื›ืขืช ืื˜ื•ืžื™ื•ืช. ื›ืžื• ื›ืŸ, ื ื™ืชืŸ ืœื”ืชืื™ื ืืช ื”ื–ืžืŸ ื”ื ื“ืจืฉ ืœืจื›ื™ืฉืช ืžื ืขื•ืœื™ื ื•ืœืกื™ื•ื ืขืกืงืื•ืช ืฉื ืชืงืขื•, ื•ื›ืŸ ืœืฉื ื•ืช ืืช ืจืžืช ื”ื‘ื™ื“ื•ื“.

14 ื“ื‘ืจื™ื ืฉื”ืœื•ื•ืื™ ืฉื™ื“ืขืชื™ ืœืคื ื™ ืฉื”ืชื—ืœืชื™ ืขื MongoDB

ืงืจื ืขื•ื“:

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”