ããŒããã©ã³ã·ã³ã°ã®å®çŸ©
ããŒããã©ã³ã·ã³ã°ã¯ãå¿ããã¬ã¹ãã©ã³ã§åãåŸæ¥å¡ã®ãããªãã®ã ãã¬ã¹ãã©ã³ã¯ãŠã§ããµã€ãã§ããã顧客ã¯ããã«ã¢ã¯ã»ã¹ããããšãããŠãŒã¶ãŒã§ãããšæ³åããŠãã ããããã¹ãããäžäººã®ãŠã§ã€ãããŒãœã³ã«è² æ ãããããªãããã«ã顧客ãç°ãªãåžã«å²ãåœãŠãããã«ãããŒããã©ã³ã·ã³ã°ã¯ãã¹ã ãŒãºã§å¹ççãªåŠçãä¿èšŒããããã«ããŠãŒã¶ãŒãªã¯ãšã¹ããè€æ°ã®ãµãŒããŒããªãœãŒã¹ã«åæ£ããŸããããããããšã§ãåäžã®ãµãŒããŒããªã¯ãšã¹ãã«æ¯ãåãããããä»ã®ãµãŒããŒãæžåœã«åããŠããéãã¢ã€ãã«ç¶æ ã«ãªã£ããããããšããªããªããŸãã
ãã®ããŒãžã§åãäžããŠããïŒ
- ããŒããã©ã³ã·ã³ã°ã¯ã©ã®ããã«æ©èœããã®ãïŒ
- è² è·åæ£ã¢ã«ãŽãªãºã
- ããŒããã©ã³ãµãŒã®çš®é¡
- ããŒããã©ã³ã·ã³ã°ã®å©ç¹
- è² è·åæ£ã®æ¬ ç¹
- çµè«
ããŒããã©ã³ã·ã³ã°ã¯ã©ã®ããã«æ©èœããã®ãïŒ
ããŒããã©ã³ã·ã³ã°ãšã¯ãåä¿¡ãããããã¯ãŒã¯ãã©ãã£ãã¯ãããã¯ãšã³ããµãŒããŒããªãœãŒã¹ã®ã°ã«ãŒãã«åçã«åæ£ãããããã»ã¹ã§ãããã©ã³ã·ã³ã°ãè¡ãããšã§ã1ã€ã®ãµãŒããŒã«è² è·ãããããããªãããã«ããããã©ãŒãã³ã¹ã®äœäžã忢ã®ãªã¹ã¯ãæžãããŸãããŠãŒã¶ãŒãããªã¯ãšã¹ããæ¥ããšãããŒããã©ã³ãµãŒã¯ããŒã«å ã®ã©ã®ãµãŒããŒã«ãªã¯ãšã¹ããéãããæ±ºå®ããŸãããã®ããã»ã¹ã«ã¯ãã©ã®ãµãŒããŒãçŸåšæãè² è·ãå°ãªãããè©äŸ¡ããããšãå«ãŸãããããããŸããã
ãã®å€æåºæºã«ã¯ãçŸåšã®æ¥ç¶æ°ããµãŒããŒã®å¿çæéããŸãã¯ãµãŒããŒå šäœã®å®¹éãå«ãŸããŸãããªã¯ãšã¹ããåçã«åæ£ããããšã§ãããŒããã©ã³ã·ã³ã°ã¯ãããã¯ãŒã¯ã®é床ãšä¿¡é Œæ§ãç¶æããåãŠãŒã¶ãŒã®ãªã¯ãšã¹ããå¹ççã«åŠçãããããã«ããŸãããã®ã¢ãããŒãã¯ã倧éã®ãŠã§ããã©ãã£ãã¯ãåŠçãããŠã§ããµãŒãã¹ã®é«ãå¯çšæ§ãšããã©ãŒãã³ã¹ãç¶æããããã«éåžžã«éèŠã§ããæ§ã ãªããŒããã©ã³ã·ã³ã°ã¢ã«ãŽãªãºã ãå®è£ ããããšã§ã忣ããã»ã¹ãæé©åãããããã¯ãŒã¯ã®å®å®æ§ãé«ããŸãã
è² è·åæ£ã¢ã«ãŽãªãºã
ããŒããã©ã³ã·ã³ã°ã¢ã«ãŽãªãºã ãšã¯ããããã¯ãŒã¯ãã©ãã£ãã¯ãè€æ°ã®ãµãŒããŒã«å¹ççã«åæ£ãããã«ãŒã«ãææ³ã®ããšã§ããããããã®ã¢ã«ãŽãªãºã ã¯ãéçãšåçã®2çš®é¡ã«å€§å¥ããããããããã®ã¿ã€ãã«ã¯ãç°ãªããããã¯ãŒã¯ç°å¢ã«é©ããç¬èªã®ã¢ãããŒãããããŸãã
éçã¢ã«ãŽãªãºã ãµãŒããŒã®çŸåšã®ç¶æ ãèæ ®ããããšãªããã©ãã£ãã¯ãåé ããå€ãã®å Žåããããããæ±ºããããã«ãŒã«ã䜿çšããã
ãã€ãããã¯ã»ã¢ã«ãŽãªãºã ã¯ããå¿çæ§ãé«ããåãµãŒããŒã®ãªã¢ã«ã¿ã€ã ã®è² è·ãšããã©ãŒãã³ã¹ãèæ ®ãããã©ãã£ãã¯é åã«ã€ããŠããè¯ãæ å ±ã«åºã¥ããæ±ºå®ãäžãã
éçè² è·åæ£ã¢ã«ãŽãªãºã
éçããŒããã©ã³ã·ã³ã°ã¢ã«ãŽãªãºã ã¯ããµãŒããŒã®çŸåšã®ç¶æ ãããã©ãŒãã³ã¹ãèæ ®ããããšãªãããããããæ±ºããããæ¹æ³ã§ãããã¯ãŒã¯ãã©ãã£ãã¯ããµãŒããŒã«åçã«åæ£ãããããããã®ã¢ã«ãŽãªãºã ã¯ã·ã³ãã«ã§å®è£ ãç°¡åãªããšã§ç¥ãããŠãããäžè¬çãªäŸãšããŠã¯ã以äžã®ãããªãã®ãããïŒ
- ã©ãŠã³ãããã³ïŒ ãã¹ãŠã®ãµãŒãã«ãªã¯ãšã¹ããé çªã«åæ£ãããæéã®çµéãšãšãã«åçã«ãªã ããã«ããŸããäŸãã°ãã©ãŠã³ãããã³ã䜿ã£ãŠ éè€ã€ã³ããã¯ã¹ã«å¯Ÿããã¯ãšãª.
- ã©ã³ãã ã ïŒ å ¥ã£ãŠãããªã¯ãšã¹ããã©ã³ãã ã«å©çšå¯èœãªãµãŒããŒã«å²ãåœãŠãã
- ããã·ã¥åïŒ ããã·ã¥é¢æ°ã䜿çšããŠãé¡äŒŒã®ããŒã¿ãäžè²«ããŠãµãŒãã¯ã©ã¹ã¿ã®åãããŒãã«ããããããããã«ããŸããäŸãã°ãCouchbase Server㯠ãã±ãã (ã·ã£ãŒã)ãšCRC32ããã·ã³ã°ã»ã¢ã«ãŽãªãºã ã«ãããå¥ã®ããŒããã©ã³ã·ã³ã°ã»ãµãŒãã¹ãå¿ èŠãšããããšãªããã¯ã©ã¹ã¿å šäœã§å¹ççã«ããŒã¿ã忣ããããšãã§ããã
ãã®ãããªéçãªæ¹æ³ã¯ãããŒããã©ã³ã·ã³ã°ã«ãããããããèšå®ããããã¢ãããŒããæäŸãããµãŒããŒãåããããªèœåãæã¡ãã¯ãŒã¯ããŒããäžè²«ããŠå®å®ããŠãããããã©ãŒãã³ã¹ãé«ãåªå 床ãæã€ç°å¢ã§ã¯ç¹ã«å¹æçã§ãããããããéçãªããŒããã©ã³ã·ã³ã°ã¯ããã¹ãŠã®ãŠãŒã¹ã±ãŒã¹ã«æé©ãªéžæãšããããã§ã¯ãªãã

Couchbaseã¯ãããŒã¿ã¹ãã¬ãŒãžã®è² è·åæ£ã«CRC32ã䜿çšããŠããŸãã
åçè² è·åæ£ã¢ã«ãŽãªãºã
åçããŒããã©ã³ã·ã³ã°ã¢ã«ãŽãªãºã ã¯ãçŸåšã®ç¶æ ãšããã©ãŒãã³ã¹ãèæ ®ããããšã§ããµãŒããŒéã®ãããã¯ãŒã¯ãã©ãã£ãã¯ã忣ããããããæŽç·Žãããæ¹æ³ã§ãããããã®ã¢ã«ãŽãªãºã ã¯ãå€åãããããã¯ãŒã¯æ¡ä»¶ããµãŒããŒè² è·ããã©ãã£ãã¯ãã¿ãŒã³ã«åçã«é©å¿ããå€åããã¯ãŒã¯ããŒãã倿§ãªãµãŒããŒèœåãæã€ç°å¢ã«æé©ã§ããåçããŒããã©ã³ã·ã³ã°ã¢ã«ãŽãªãºã ã®äž»ãªã¿ã€ãã¯ä»¥äžã®éãïŒ
- æãå°ãªãã³ãã¯ã·ã§ã³ïŒ ã¢ã¯ãã£ããªæ¥ç¶ãæãå°ãªããµãŒããŒã«æ°ãããªã¯ãšã¹ããéãããšã§ãããžãŒã§ãªããµãŒããŒãåªå ããã
- æå°ã®å¿çæéïŒ æè¿ã®ãªã¯ãšã¹ãã«å¯ŸããŠæãå¿çæéã®çããµãŒããŒãéžæããããšã§ãé床ãæé©åããŸãã
- ãªãœãŒã¹ããŒã¹ã®ããŒããã©ã³ã·ã³ã°ïŒ å šäœçãªå®¹éãç¹å®ã®ãªãœãŒã¹ïŒCPUãã¡ã¢ãªãªã©ïŒãèæ ®ããŠãæãå©çšå¯èœãªãªãœãŒã¹ãæã€ãµãŒããŒã«ãªã¯ãšã¹ãã忣ããã
- å éè² è·åæ£ïŒ 容éãŸãã¯ããã©ãŒãã³ã¹ææšã«åºã¥ããŠãµãŒããŒã«éã¿ãå²ãåœãŠãããå€ãã®ãªã¯ãšã¹ãããã容éã®å€§ãããµãŒããŒã«éä¿¡ãã
åçãªã¢ã«ãŽãªãºã ã¯ãåäžã®ãµãŒããŒãããã«ããã¯ã«ãªããªãããã«ããã®ã«åœ¹ç«ã¡ããµãŒããŒã®ããã©ãŒãã³ã¹ãå€§å¹ ã«å€åãããããã©ãã£ãã¯ãæ¥å¢ãããããããšãããããç°å¢ã§ç¹ã«æçšã§ããåçããŒããã©ã³ã·ã³ã°ã®é©å¿æ§ã«ãããããã©ãŒãã³ã¹ãç¶æãããµãŒããŒãžã®éè² è·ãé¿ããããšãéèŠãªãå€ãã®é«ãã©ãã£ãã¯ãé«å€åã·ããªãªã«é©ããéžæè¢ãšãªããŸãã
éçè² è·åæ£ãšåçè² è·åæ£ã®é·æãšçæ
éçããŒããã©ã³ã·ã³ã°ã¯å®è£ ãç°¡åã§ããã©ãã£ãã¯åæ£ã®äºæž¬å¯èœæ§ãæäŸãããããµãŒããŒè² è·ããããã¯ãŒã¯ãã©ãã£ãã¯ã®çªç¶ã®å€åã«å¯Ÿå¿ããæè»æ§ã«æ¬ ããã
åçããŒããã©ã³ã·ã³ã°ã¯é©å¿æ§ããããå¿çæ§ãé«ãããèšå®ãè€éã§ã远å ã®åŠçãªãŒããŒããããçºçããå¯èœæ§ãããã
Couchbaseã®CRC32ã¡ãœããã¯éçã§ãããCouchbaseã¯ããã« å€æ¬¡å å°ºåºŠæ§ææ³ïŒMDSïŒããã«ãããåã ã®ããŒã¿ããŒã¹ãµãŒãã¹ãåå¥ã«æ¡åŒµããããšãã§ããŸããMDSã¯ãã¯ãŒã¯ããŒãã®åé¢ããã¯ãšãªãããŒã¿ãã€ã³ããã¯ã¹ãæ€çŽ¢ãåæãã€ãã³ãã®åãµãŒãã¹ã®åé¢ãªã©ããã©ãã£ãã¯ç®¡çã®æè»æ§ãåäžãããŸãã

Couchbaseã®å€æ¬¡å ã¹ã±ãŒãªã³ã°ã¯ããµãŒãã¹åäœã§è² è·åæ£ããããã®ç°¡çŽ åãããæ§æãæäŸããŸãã
Couchbase ServerãšCouchbase Capella⢠DBaaSã¯è¿œå ã®ããŒããã©ã³ãµãŒãå¿ èŠãšããŸããããCouchbaseã® åæã²ãŒããŠã§ã€ ã®ãããªããŒããã©ã³ãµãŒã¯ãã¢ãã€ã«ã»ã¢ããªã±ãŒã·ã§ã³ã»ããŒã¿ã«ãšã£ãŠæçã§ãã NGINX æ°Žå¹³ã¹ã±ãŒãªã³ã°Sync Gatewayã®ã¯ã©ãŠã管çããŒãžã§ã³ã䜿çšããå©ç¹ã®1ã€ã ã«ãã©ã»ã¢ããªã»ãµãŒãã¹ããŒããã©ã³ã·ã³ã°ããã«ãã€ã³ãããŠããããã远å ã®ãããã€ãã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ãå¿ èŠãšããªãããšã§ãããã®ãã«ãã€ã³ã»ãã©ã³ã·ã³ã°ã«ããã管çãã¢ããã°ã¬ãŒããããããé©çšãããµãŒãã¹ã1ã€å°ãªããªããŸãã
ããŒããã©ã³ãµãŒã®çš®é¡
ããŒããã©ã³ãµãŒã®çš®é¡ã«ã¯ããããç¬èªã®å©ç¹ãããããããã¯ãŒã¯ç°å¢ãããã©ãŒãã³ã¹èŠä»¶ãã¹ã±ãŒã©ããªãã£ã®å¿ èŠæ§ãäºç®ãªã©ã®èŠçŽ ã«åºã¥ããŠéžæããå¿ èŠããããããŒããã©ã³ãµãŒã®äž»ãªçš®é¡ã¯ä»¥äžã®éãïŒ
- ããŒããŠã§ã¢ããŒã¹ã®ããŒããã©ã³ãµãŒïŒ ãããã¯ãé«ãã©ãã£ãã¯ã·ããªãªã§å ç¢ãªæ§èœãçºæ®ããããã«èšèšãããç©çããã€ã¹ã§ãããä¿¡é Œæ§ã¯é«ãããã³ã¹ããé«ããç©ççãªå°å ¥å¶éãããã
- ãœãããŠã§ã¢ããŒã¹ã®ããŒããã©ã³ãµãŒïŒ ãããã¯ä»®æ³ãã·ã³ãã¯ã©ãŠãç°å¢ã§å®è¡ããããããé«ãæè»æ§ãšå®¹æãªã¹ã±ãŒã©ããªãã£ãæäŸããåçãªã¯ãŒã¯ããŒããå€åããã¯ãŒã¯ããŒãã«é©ããŠããã
- ã¯ã©ãŠãããŒã¹ã®ããŒããã©ã³ãµãŒïŒ ã¯ã©ãŠãã»ãµãŒãã¹ã»ãã©ãããã©ãŒã ã«ãã£ãŠæäŸãããã¯ã©ãŠãã»ãµãŒãã¹ãšããŸãçµ±åãããããªã³ãã¬ãã¹ã®ããŒããŠã§ã¢ãå¿ èŠãšãããç°¡åãªå°å ¥ãšæ¡åŒµæ§ãæäŸããã
- ã¢ããªã±ãŒã·ã§ã³ããŒããã©ã³ãµãŒïŒ ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã«ç¹åããã¢ããªã±ãŒã·ã§ã³ã¬ã€ã€ãŒã§åäœãããURLãããããŒãªã©ã®ã³ã³ãã³ãã«åºã¥ãé«åºŠãªãã©ãã£ãã¯åæ£ãæäŸããã
ããŒããã©ã³ã·ã³ã°ã®å©ç¹
ããŒããã©ã³ã·ã³ã°ã¯ãå¹ççã§ä¿¡é Œæ§ãé«ããå ç¢ãªãããã¯ãŒã¯éçšãç¶æããããã«äžå¯æ¬ ãªæ°å€ãã®å©ç¹ãæäŸããŸãããããã«ã¯ä»¥äžãå«ãŸããŸãïŒ
ç©ºå®€ç¶æ³ ããŒããã©ã³ã·ã³ã°ã¯ãåã ã®ãµãŒããŒãéè² è·ã«ãªãã®ãé²ããåäžé害ç¹ãã·ã¹ãã å šäœãäžæãããªãããã«ããããšã§ããµãŒããŒã®å¯çšæ§ãé«ããŸãããŸããå¿çæéãççž®ããã·ã¹ãã å šäœã®ããã©ãŒãã³ã¹ãåäžãããŸãã
ã¹ã±ãŒã©ããªãã£ïŒ ããŒããã©ã³ã·ã³ã°ã¯ãå€åãããã©ãã£ãã¯è² è·ã«å¿ããŠãªãœãŒã¹ã®å¢æžã容æã«ããŸããããã«ãããããŒã¯æãéèŠã®å€åã«å¯Ÿå¿ããäžè²«ããããã©ãŒãã³ã¹ãä¿èšŒãããŸãã
åé·æ§ãšãã§ã€ã«ãªãŒããŒïŒ ãããµãŒããŒã«é害ãçºçããå ŽåãããŒããã©ã³ã·ã³ã°ã«ãã£ãŠä»ã®ãµãŒããŒã«ãã©ãã£ãã¯ãè¿åãããç¶ç¶çãªãµãŒãã¹ã®å¯çšæ§ã確ä¿ããããšãã§ããã
ã¡ã³ããã³ã¹ãšã¢ããã°ã¬ãŒã ãµãŒããŒãã¢ããããŒãã®ããã«ãªãã©ã€ã³ã«ãªã£ããšããããŒããã©ã³ãµãŒã¯ãµãŒãã¹ãäžæããããšãªãããã©ãã£ãã¯ãä»ã®ãµãŒããŒã«ãªãã€ã¬ã¯ãããããšãã§ããã
ãããã®å©ç¹ãçžãŸã£ãŠãããŒããã©ã³ã·ã³ã°ã¯ææ°ã®ãããã¯ãŒã¯ãšãŠã§ããµãŒãã¹ç®¡çã«ãããäžå¯æ¬ ãªããŒã«ãšãªãããŠãŒã¶ãŒãžã®ã¹ã ãŒãºã§äžæã®ãªããµãŒãã¹ãä¿èšŒããŸãã
è² è·åæ£ã®æ¬ ç¹
ããŒããã©ã³ã·ã³ã°ã¯å€§ããªå©ç¹ãããããããåæã«èª²é¡ã䌎ãã以äžã®ãããªãã®ã ïŒ
è€éãïŒ ããŒããã©ã³ã·ã³ã°ãœãªã¥ãŒã·ã§ã³ã®å®è£ ãšç®¡çã¯ãç¹ã«å€§èŠæš¡ã§ãã€ãããã¯ãªç°å¢ã§ã¯è€éã«ãªããã¡ã§ãããã®è€éãã¯ãã°ãã°å°éçãªç¥èãå¿ èŠãšããã»ããã¢ãããšç¶ç¶çãªã¡ã³ããã³ã¹ã®ããã®ããŒããŠã§ã¢ããœãããŠã§ã¢ã人件費ãå¢å ãããå¯èœæ§ããããŸãã
åŸ ã¡æéïŒ ããŒããã©ã³ãµãŒãçµç±ããŠãã©ãã£ãã¯ãèªå°ããéçšã§é å»¶ãçºçããããšãããããããã¯äžè¬çã«ãããããã§ããã
èšå®ãã¹ïŒ ããŒããã©ã³ã·ã³ã°ã®èšå®ã誀ããšããã©ãã£ãã¯ã®åæ£ãããŸãããããããŠã³ã¿ã€ã ãçºçããããšããããã
åäžé害ç¹ïŒ é©åãªãã§ã€ã«ãªãŒããŒã·ã¹ãã ããªããŸãŸããŒããã©ã³ãµãŒã«é害ãçºçãããšããµãŒãã¹ã®å€§å¹ ãªäžæã«ã€ãªããå¯èœæ§ãããã
ãããã®æ¬ ç¹ã¯ãããŒããã©ã³ã·ã³ã°ã»ãœãªã¥ãŒã·ã§ã³ãå°å ¥ããéã«ãå ¥å¿µãªèšç»ã匷åºãªæ§æãç¶ç¶çãªç®¡çãéèŠã§ããããšãæµ®ã圫ãã«ããŠããã
çµè«
ããŒããã©ã³ã·ã³ã°ã¢ã«ãŽãªãºã ã®ãã¥ã¢ã³ã¹ãçš®é¡ããããã¯ãŒã¯ããã©ãŒãã³ã¹ãžã®åœ±é¿ãçè§£ããããšã¯ãå¹ççãªãããã¯ãŒã¯ç®¡çã«äžå¯æ¬ ã§ããã©ãŠã³ãããã³ãCouchbaseã®CRC32ã®ãããªéçãªã¢ã«ãŽãªãºã ãã·ã³ãã«ããšäºæž¬å¯èœæ§ãæäŸããäžæ¹ã§ãæå°æ¥ç¶ããªãœãŒã¹ããŒã¹ã®è² è·åæ£ã®ãããªåçãªã¢ã«ãŽãªãºã ã¯ãå€åããç°å¢ã§ã®é©å¿æ§ãæäŸããŸãã
è² è·åæ£ãèãããšããããããã®ã¿ã€ãã®ã¢ã«ãŽãªãºã ã®é·æãšçæãæ¯èŒæ€èšããããšãäžå¯æ¬ ã ãéçãªæ¹æ³ã¯ç°¡åã ãæè»æ§ã«æ¬ ããåçãªæ¹æ³ã¯é©å¿å¯èœã ãè€éã ããããã¯ãŒã¯ã®ããŒãºã«åã£ããã®ãèŠã€ããã«ã¯ãããŒããŠã§ã¢ããŒã¹ããœãããŠã§ã¢ããŒã¹ãã¯ã©ãŠãããŒã¹ãã¢ããªã±ãŒã·ã§ã³ããŒã¹ã®æ§ã ãªããŒããã©ã³ãµãŒãæ€èšããå¿ èŠãããã
广çãªããŒããã©ã³ã·ã³ã°ã®éµã¯ãã客æ§ã®ãããã¯ãŒã¯ã®èŠä»¶ã課é¡ã«åãããŠãé©åãªæŠç¥ãšããŒã«ãéžæããããšã«ãããŸãããããªãæ¢æ±ãšè©³çŽ°ãªæŽå¯ã®ããã«
- ã«é¢ããCouchbaseã®ããã¥ã¡ã³ããåç §ããŠãã ããã CRC32ã¢ã«ãŽãªãºã ãããŠ å€æ¬¡å ã¹ã±ãŒãªã³ã° ç¹å®ã®ã·ããªãªã«ãããéçããŒããã©ã³ã·ã³ã°ã®å®è£ æ¹æ³ãçè§£ãã
- ãªãœãŒã¹ åçè² è·åæ£æè¡ ãã©ãã£ãã¯ãå€ããå€åããããç°å¢ãžã®å¯Ÿå¿ã«ã€ããŠããæ·±ãçè§£ããããã«
- 次ã®ãããªããŸããŸãªããŒããã©ã³ãµãŒè£œåããµãŒãã¹ãè©äŸ¡ããã NGINX, AWS Elastic Load Balancingãã㊠Azure ããŒããã©ã³ãµãŒ æ©èœãæ¡åŒµæ§ãªãã·ã§ã³ãæ¢åã®ãããã¯ãŒã¯ã»ã€ã³ãã©ã¹ãã©ã¯ãã£ãšã®çµ±åæ©èœãæ¯èŒããŸãã
- ãã®ä» Couchbaseã«é¢é£ããæŠå¿µ