æè¿ç¥ã£ãã®ã§ããã
çªç¶ãç§ã MongoDB ãæè·ããŠããããã«æããå Žåã¯ã以äžããèªã¿ãã ããã
æ°ãããã¬ã³ã
ç§ã¯ãèšãã«åã°ãªãã»ã©é·å¹ŽãœãããŠã§ã¢æ¥çã«æºãã£ãŠããŸããããããã§ããç§ãã¡ã®æ¥çã襲ããã¬ã³ãã®äžéšã«ãããŸããã§ããã ç§ã¯ 4GLãAOPãã¢ãžã£ã€ã«ãSOAãWeb 2.0ãAJAXããããã¯ãã§ãŒã³ã®å°é ãç®ã®åœããã«ããŠããŸããâŠãªã¹ãã¯ç¡éã§ãã æ¯å¹Žæ°ãããã¬ã³ããçãŸããŸãã æ¥éã«è¡°éãã€ã€ãããã®ãããã°ããœãããŠã§ã¢ã®éçºæ¹æ³ãæ ¹æ¬çã«å€ãã€ã€ãããã®ããããŸãã
æ°ãããã¬ã³ããçãŸãããã³ã«ãããçš®ã®äžè¬çãªè奮ãçãŸããŸãã人ã
ã¯èªãããŒãã«é£ã³èŸŒãããä»ã®äººãçã¿åºãéšé³ãèŠãŠã矀è¡ã«ç¶ããŸãã ãã®ããã»ã¹ã¯ Gartner ã«ãã£ãŠäœç³»åãããŠããŸãã
ããããææããã£ã XNUMX ã€ã®ç¹å®ã®å®è£ ã«ãã£ãŠæšé²ãããæ°ããã€ãããŒã·ã§ã³ãçºçããŸã (ãŸãã¯ããã®å Žåã®ããã«åå°æ¥ããããšããããŸã)ã NoSQL ã®å Žåãèªå€§åºå㯠MongoDB ã®åºçŸãšæ¥éãªå°é ã«ãã£ãŠå€§ããæšé²ãããŸããã MongoDB ããã®åŸåãå§ããããã§ã¯ãããŸãããå®éã倧æã€ã³ã¿ãŒãããäŒæ¥ã¯å€§éã®ããŒã¿ã®åŠçã«åé¡ãæ±ãå§ãããããéãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®åŸ©æŽ»ã«ã€ãªãããŸããã äžè¬çãªåã㯠Google ã® Bigtable ã Facebook ã® Cassandra ãªã©ã®ãããžã§ã¯ãããå§ãŸããŸããããã»ãšãã©ã®éçºè ãã¢ã¯ã»ã¹ã§ãã NoSQL ããŒã¿ããŒã¹ã®æãæåã§ã¢ã¯ã»ã¹ããããå®è£ ãšãªã£ãã®ã¯ MongoDB ã§ããã
泚: ããã¥ã¡ã³ã ããŒã¿ããŒã¹ãšãåããŒã¿ããŒã¹ãããŒ/å€ã¹ãã¢ããŸã㯠NoSQL ã®äžè¬çãªå®çŸ©ã«è©²åœãããã®ä»ã®çš®é¡ã®ããŒã¿ ã¹ãã¢ãæ··åããŠãããšæããããããããŸããã ãããŠãããªãã¯æ£ããã§ãã ããããåœæã¯æ··ä¹±ãæ¯é ããŠããŸããã 誰ãã NoSQL ã«å€¢äžã«ãªããããããã¹ãŠã«ãªã£ãŠããŸã 絶察㫠ããããå€ãã®äººã¯ããŸããŸãªãã¯ãããžãŒã®éããç解ããŠããŸããã§ããã å€ãã®äººã«ãšã£ãŠãMongoDB 㯠å矩㮠ããŒSQLã
ãããŠéçºè ãã¡ã¯ããã«é£ã³ã€ããŸããã ããããåé¡ã解決ããããã«éæ³ã®ããã«æ¡åŒµã§ããã¹ããŒãã¬ã¹ ããŒã¿ããŒã¹ã®ã¢ã€ãã¢ã¯ãéåžžã«é åçã§ããã 2014 幎é ãXNUMX 幎åã«ã¯ MySQLãPostgresãSQL Server ãªã©ã®ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã䜿çšãããŠãããã¹ãŠã®å Žæã§ãMongoDB ããŒã¿ããŒã¹ããããã€ãããŠããããã«èŠããŸããã çç±ãå°ãããšããããã Web ã®èŠæš¡ã§ãããšããããããããªãã®ããããç§ã®ããŒã¿ã¯éåžžã«ç·©ããã«æ§é åãããŠãããã¹ããŒãããªããŠãããŒã¿ããŒã¹ã«ããŸãåãŸãããšããããææ ®æ·±ããã®ãŸã§ãããŸããŸãªçããåŸãããŸãã
MongoDB ãšäžè¬çãªããã¥ã¡ã³ã ããŒã¿ããŒã¹ã¯ãåŸæ¥ã®ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®å€ãã®åé¡ã解決ããŠããããšãèŠããŠããããšãéèŠã§ãã
- å³æ Œãªã¹ããŒã : ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã§ã¯ãããŒã¿ãåçã«çæãããŠããå Žåãã©ã³ãã ãªãç°ãªããããŒã¿åãå€æ°äœæããããããã«ããŒã¿ BLOB ãããã·ã¥ããããæ§æã䜿çšããå¿
èŠããããŸãã
EAV âŠããããã¹ãŠã«ã¯é倧ãªæ¬ ç¹ããããŸãã - ã¹ã±ãŒãªã³ã°ã®é£ãã: ããŒã¿ãå€ãã㊠XNUMX ã€ã®ãµãŒããŒã«åãŸããªãå ŽåãMongoDB ã¯è€æ°ã®ãã·ã³ã«ã¹ã±ãŒã«ã¢ãŠãã§ããã¡ã«ããºã ãæäŸããŸããã
- è€éãªåè·¯ã®å€æŽ: 移è¡ã¯ãããŸãã! ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã§ã¯ãããŒã¿ããŒã¹ã®æ§é ãå€æŽããããšã¯å€§ããªåé¡ã«ãªãå¯èœæ§ããããŸã (ç¹ã«å€§éã®ããŒã¿ãããå Žå)ã MongoDB ã¯ããã»ã¹ãå€§å¹ ã«ç°¡çŽ åããããšãã§ããŸããã ãŸããéåžžã«ç°¡åã«ãªã£ãã®ã§ãå€åºå ã§ã¹ããŒããæŽæ°ããã ãã§ãéåžžã«è¿ éã«äœæ¥ãé²ããããšãã§ããŸãã
- æžã蟌ã¿ããã©ãŒãã³ã¹: ç¹ã«é©åã«èª¿æŽãããå ŽåãMongoDB ã®ããã©ãŒãã³ã¹ã¯è¯å¥œã§ããã ãã°ãã°æ¹å€ããã MongoDB ã®ããã«äœ¿ããæ§æã§ããããã€ãã®çŽ æŽãããããã©ãŒãã³ã¹æ°å€ã瀺ããŸããã
ãã¹ãŠã®ãªã¹ã¯ã¯ããªãã«ãããŸã
MongoDB ã®æœåšçãªå©ç¹ã¯ãç¹ã«ç¹å®ã®çš®é¡ã®åé¡ã«å¯ŸããŠã¯éåžžã«å€§ããªãã®ã§ããã æèãç解ãããäœã®çµéšãæããã«äžèšã®ãªã¹ããèªããšãMongoDB ãæ¬åœã«é©æ°ç㪠DBMS ã§ãããšããå°è±¡ãåãããããããŸããã å¯äžã®åé¡ã¯ãäžèšã®å©ç¹ã«ã¯å€ãã®æ³šæäºé ã䌎ãããšã§ããããã®äžéšã以äžã«ç€ºããŸãã
å ¬å¹³ãæãããã«èšããšã10gen/MongoDB Inc. ã«ã¯èª°ãããŸããã 以äžãçå®ã§ã¯ãªããšã¯èšããŸããããããã¯åãªã劥åã§ãã
- ååŒã®æ倱A: ãã©ã³ã¶ã¯ã·ã§ã³ã¯ãå€ãã®ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ (ãã¹ãŠã§ã¯ãããŸããããã»ãšãã©) ã®äžæ žæ©èœã§ãã ãã©ã³ã¶ã¯ã·ã§ã³ãšã¯ãè€æ°ã®æäœãã¢ãããã¯ã«å®è¡ã§ããããŒã¿ã®äžè²«æ§ã確ä¿ã§ããããšãæå³ããŸãã ãã¡ãããNoSQL ããŒã¿ããŒã¹ã§ã¯ããã©ã³ã¶ã¯ã·ã§ã³æ§ã XNUMX ã€ã®ããã¥ã¡ã³ãå ã«åããããšããXNUMX ãã§ãŒãº ã³ãããã䜿çšããŠãã©ã³ã¶ã¯ã·ã§ã³ ã»ãã³ãã£ã¯ã¹ãååŸããããšãã§ããŸãã ãã ãããã®æ©èœã¯èªåã§å®è£ ããå¿ èŠããããŸã...ããã¯å°é£ã§æéã®ãããäœæ¥ãšãªãå¯èœæ§ããããŸãã æäœã®ã¢ãããã¯æ§ãä¿èšŒããããšãäžå¯èœã§ãããããããŒã¿ããŒã¹å ã®ããŒã¿ãç¡å¹ãªç¶æ ã«ãªããŸã§åé¡ã«æ°ã¥ããªãããšããããããŸãã 泚: ãã©ã³ã¶ã¯ã·ã§ã³ã¯æšå¹Ž MongoDB 4.0 ã§å°å ¥ãããŸããããããã€ãã®å¶éããããšå€ãã®äººãèããŠããŸãã ãã®èšäºã®çµè«ã¯å€ãããŸããããã¯ãããžãŒãããŒãºã«ã©ã®ããã«é©åããããè©äŸ¡ããŠãã ããã
- ãªã¬ãŒã·ã§ãã«æŽåæ§ã®åªå€± (å€éšããŒ): ããŒã¿ã«ãªã¬ãŒã·ã§ã³ã·ãããããå Žåã¯ãããããã¢ããªã±ãŒã·ã§ã³ã«é©çšããå¿ èŠããããŸãã ãããã®é¢ä¿ãå°éããããŒã¿ããŒã¹ãäœæãããšãã¢ããªã±ãŒã·ã§ã³ãã€ãŸãããã°ã©ãã®äœæ¥ãå€§å¹ ã«è»œæžãããŸãã
- ããŒã¿æ§é ãé©çšã§ããªã: å³å¯ãªã¹ããŒãã¯å€§ããªåé¡ã«ãªãããšããããŸãããè³¢ã䜿çšããã°ãé©åãªããŒã¿æ§é åã®ããã®åŒ·åãªã¡ã«ããºã ã§ããããŸãã MongoDB ã®ãããªããã¥ã¡ã³ã ããŒã¿ããŒã¹ã¯ãã¹ããŒãã®æè»æ§ã«åªããŠããŸããããã®æè»æ§ã«ãããããŒã¿ãã¯ãªãŒã³ã«ä¿ã€è²¬ä»»ã倱ãããŸãã ãããã«æ³šæããªããšãæåŸ ãã圢åŒã§ä¿åãããŠããªãããŒã¿ãåŠçããããã«ã¢ããªã±ãŒã·ã§ã³ã«å€§éã®ã³ãŒããèšè¿°ããããšã«ãªããŸãã åœç€Ÿã® Simple Thread ã§ããèšãããããã«ãã¢ããªã±ãŒã·ã§ã³ã¯ãã€ãæžãæããããŸãããããŒã¿ã¯æ°žä¹ ã«æ®ããŸãã 泚: MongoDB ã¯ã¹ããŒãæ€èšŒããµããŒãããŠããŸããããã¯äŸ¿å©ã§ããããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ãšåãä¿èšŒã¯æäŸãããŸããã ãŸããã¹ããŒãæ€èšŒãè¿œå ãŸãã¯å€æŽããŠããã³ã¬ã¯ã·ã§ã³å ã®æ¢åã®ããŒã¿ã«ã¯åœ±é¿ããŸããã æ°ããã¹ããŒãã«åŸã£ãŠããŒã¿ãæŽæ°ããŠããããšã確èªããå¿ èŠããããŸãã ããã§ããŒãºã«ååãã©ããã¯èªåã§å€æããŠãã ããã
- ç¬èªã®ã¯ãšãªèšèª / ããŒã« ãšã³ã·ã¹ãã ã®åªå€±: SQL ã®åºçŸã¯çµ¶å¯Ÿçãªé©åœã§ããããã以æ¥äœãå€ãã£ãŠããŸããã ããã¯ä¿¡ããããªãã»ã©åŒ·åãªèšèªã§ãããéåžžã«è€éã§ããããŸãã JSON ãã©ã°ã¡ã³ãã§æ§æãããããŒã¿ããŒã¹ ã¯ãšãªãæ°ããèšèªã§æ§ç¯ããå¿ èŠããããšããããšã¯ãSQL ã®çµéšããã人ã ã«ãšã£ãŠã¯å€§ããªåŸéã§ãããšèããããŠããŸãã IDE ããã¬ããŒã ããŒã«ã«è³ããŸã§ãSQL ããŒã¿ããŒã¹ãšå¯Ÿè©±ããããŒã«ãæ°å€ãååšããŸãã SQL ããµããŒãããŠããªãããŒã¿ããŒã¹ã«ç§»è¡ãããšããããã®ããŒã«ã®ã»ãšãã©ã䜿çšã§ããªããªãããããŒã«ã䜿çšããã«ã¯ããŒã¿ã SQL ã«å€æããå¿ èŠããããããã¯æã£ãŠãããããé£ããå ŽåããããŸãã
MongoDB ã«é Œã£ãéçºè ã®å€ãã¯ããã¬ãŒããªããããç解ããŠããããçã£å ã« MongoDB ããã©ã€ã㪠ããŒã¿ ã¹ãã¢ãšããŠèšå®ããããšã«åãæããããšããããããŸããã ãã®åŸãå ã«æ»ãã®ã¯ä¿¡ããããªãã»ã©å°é£ã«ãªãããšããããããŸããã
ãã£ãšéãæ¹æ³ã¯äœã ã£ãã§ãããã?
誰ããé ããé£ã³éããŠåºã«æ¿çªããããã§ã¯ãããŸããã ããããããªãã®æ°ã®ãããžã§ã¯ãããMongoDB ããŒã¹ãé©åããªãå Žæã«ã€ã³ã¹ããŒã«ãããŠãããä»åŸäœå¹Žãããã䜿çšããªããã°ãªããªãããšã«ãªããŸãã ãããã®çµç¹ããã¯ãããžãŒã®éžæã系統çã«æ€èšããã®ã«æéããããŠããããå€ãã®çµç¹ãå¥ã®éžæãããŠããã§ãããã
é©åãªãã¯ãããžãŒãéžæããã«ã¯ã©ãããã°ããã§ãããã? æè¡è©äŸ¡ã®ããã®äœç³»çãªæ çµã¿ãäœæããè©Šã¿ãããã€ããããŸããã
å€ãã®ãã¯ãããžãŒã¯ããã£ã XNUMX ã€ã®åºæ¬çãªè³ªåãããã ãã§è³¢ãè©äŸ¡ã§ããŸãã åé¡ã¯ãæéããããŠåèŠãªãçããèŠã€ãã責任ãæã£ãŠçãããã人ãèŠã€ããããšã«ãããŸãã
äœããã®åé¡ã«çŽé¢ããªããã°ãæ°ããããŒã«ã¯å¿ èŠãããŸããã ãããã
質å 1: ç§ã解決ããããšããŠããåé¡ã¯äœã§ãã?
äœããã®åé¡ã«çŽé¢ããªããã°ãæ°ããããŒã«ã¯å¿ èŠãããŸããã ãããã 解決çãæ¢ããŠããåé¡ãèããå¿ èŠã¯ãããŸããã æ°ãããã¯ãããžãŒãæ¢åã®ãã¯ãããžãŒããå€§å¹ ã«è§£æ±ºã§ããªãåé¡ã«çŽé¢ããŠããå Žåãé€ããããã§è°è«ããå¿ èŠã¯ãããŸããã ä»ã®äººããã®ãã¯ãããžãŒã䜿çšããŠããã®ãèŠãããã«ãã®ãã¯ãããžãŒã®äœ¿çšãæ€èšããŠããå Žåã¯ããã®äººãæ±ããŠããåé¡ã«ã€ããŠèããèªåããã®ãããªåé¡ãæ±ããŠãããã©ãããå°ããŠãã ããã ä»ã®äººããã¯ãããžãŒã䜿çšããŠããããããã¯ãããžãŒãåãå ¥ããã®ã¯ç°¡åã§ãããé£ããã®ã¯ãèªåãåãåé¡ã«çŽé¢ããŠãããã©ãããç¥ãããšã§ãã
質å 2: äœã足ããªãã®ã§ãããã?
確ãã«ãããã¯ããé£ãã質åã§ããå€ããã¯ãããžãŒãšæ°ãããã¯ãããžãŒã®äž¡æ¹ãæãäžããŠç解ããå¿ èŠãããããã§ãã æ°ãããã®ã䜿ã£ãŠäœããæ§ç¯ãããããã®çµéšãæã€ååãããªãéããæ°ãããã®ãæ¬åœã«ç解ã§ããªãå ŽåããããŸãã
ã©ã¡ããæã£ãŠããªãå Žåã¯ããã®ååã®äŸ¡å€ãå€æããããã«å¯èœãªæå°éã®æè³ã«ã€ããŠèããã®ãçã«ããªã£ãŠããŸãã ãŸããæè³ãè¡ã£ãå Žåããã®æ±ºå®ãèŠãã®ã¯ã©ãã»ã©é£ããã§ãããã?
人ã¯ãã€ããã¹ãŠãå°ç¡ãã«ãã
ãããã®è³ªåã«ã§ããã ãå ¬å¹³ã«çããããšãããšããXNUMX ã€èŠããŠãããŠãã ãããããã¯ã人éã®æ¬æ§ãšæŠããªããã°ãªããªããšããããšã§ãã ãã¯ãããžãŒãå¹æçã«è©äŸ¡ããã«ã¯ãå æããªããã°ãªããªãèªç¥ãã€ã¢ã¹ãå€æ°ãããŸãã 以äžã«ã»ãã®äžéšã瀺ããŸãã
éåæ°ã«å ããããšã®å¹æ 誰ãã圌ã®ããšãç¥ã£ãŠããŸãããããã§ã圌ãšæŠãã®ã¯é£ããã§ãã ãã¯ãããžãŒãå®éã®ããŒãºã«æ¬åœã«åã£ãŠãããã©ããã確èªããŠãã ãããããã«ãã£å¹æ å€ãã®éçºè ã¯ãé·å¹Žåãçµãã§ãããã¯ãããžãŒãéå°è©äŸ¡ããæ°ãããã¯ãããžãŒã®å©ç¹ãé倧è©äŸ¡ããåŸåããããŸãã ããã°ã©ããŒã ãã§ãªãã誰ãããã®èªç¥ãã€ã¢ã¹ã®åœ±é¿ãåããŸãããã©ã¹ã®å±æ§å¹æ ç§ãã¡ã¯ããããã®ã ããèŠãŠãããã§ãªããã®ãèŠå€±ã£ãŠããŸãåŸåããããŸãã æ°ãããã¯ãããžãŒãæ¬è³ªçã«é倧è©äŸ¡ããã ãã§ãªãããã®æ¬ ç¹ãç¡èŠãããããç®æ°ããã®å¹æãšçžãŸã£ãŠæ··ä¹±ãçããå¯èœæ§ããããŸãã.
客芳çãªè©äŸ¡ã¯ç°¡åã§ã¯ãããŸããããæ ¹åºã«ããèªç¥ãã€ã¢ã¹ãç解ããããšã§ãããåççãªææ決å®ãã§ãââãããã«ãªããŸãã
ãµããªãŒ
ã€ãããŒã·ã§ã³ãçŸãããšãã¯ã次㮠XNUMX ã€ã®è³ªåã«çŽ°å¿ã®æ³šæãæã£ãŠçããå¿ èŠããããŸãã
- ãã®ããŒã«ã¯å®éã®åé¡ã解決ããŸãã?
- ç§ãã¡ã¯ãã¬ãŒããªããç解ã§ããŠããŸãã?
ããã XNUMX ã€ã®è³ªåã«èªä¿¡ãæã£ãŠçããããšãã§ããªãå Žåã¯ãæ°æ©äžãã£ãŠèããŠãã ããã
ã§ã¯ãla MongoDB ã¯äžè¬çã«æ£ããéžæã ã£ãã®ã§ãããã? ãã¡ããã¯ã; ã»ãšãã©ã®ãšã³ãžãã¢ãªã³ã°æè¡ãšåæ§ã«ãããã¯å€ãã®èŠå ã«äŸåããŸãã ããã XNUMX ã€ã®è³ªåã«åçãã人ã®å€ãã¯ãMongoDB ã®æ©æµãåããŠãããä»åŸãæ©æµãåãç¶ããŠããŸãã ãŸã ã®æ¹ã«ãšã£ãŠã¯ãèªå€§åºåãµã€ã¯ã«ãééããããšã«ã€ããŠãããã»ã©èŠçã§ã¯ãªã貎éãªæèšãåŠã¹ãããšãé¡ã£ãŠããŸãã
å 責äºé
ã¯ã£ãããããŠããããã®ã¯ãç§ã¯ MongoDB ã奜ãã§ãå«ãã§ããªããšããããšã§ãã MongoDB ã解決ããã®ã«æé©ãªçš®é¡ã®åé¡ããããŸããã§ããã 10gen/MongoDB Inc. ã¯ç¥ã£ãŠããŸãã åœåã¯éåžžã«å€§èã«è¡åããå®å
šã§ãªãããã©ã«ããèšå®ããããããããŒã¿ãæ±ãããã®ã¯ã³ã¹ããã ãœãªã¥ãŒã·ã§ã³ãšã㊠MongoDB ãããããå Žæ (ç¹ã«ããã«ãœã³) ã§å®£äŒããŸããã ããããããã¯ééã£ã決æã ã£ãã§ãããã ããããããã§èª¬æããã¢ãããŒããè£ä»ããããŠããŸãããããã®åé¡ã¯ããã¯ãããžã®è¡šé¢çãªè©äŸ¡ã§ãéåžžã«è¿
éã«æ€åºã§ãããšããããšã§ãã
åºæïŒ habr.com