人çã®ãã¹ãŠã®ããšã¯ãå°ãªããšãäžåºŠã¯è©ŠããŠã¿ã䟡å€ããããšèšãããŸãã ãªã¬ãŒã·ã§ãã« DBMS ã®æäœã«æ
£ããŠããå Žåã¯ãå°ãªããšãäžè¬çãªéçºã«ãããŠãå®éã« NoSQL ã«æ
£ãã䟡å€ããããŸãã çŸåšããã®ãã¯ãããžãŒã®æ¥éãªçºå±ã«ããããã®ãããã¯ã«é¢ããŠã¯å€ãã®å¯Ÿç«ããæèŠãæ¿ããè°è«ããããç¹ã«é¢å¿ãé«ãŸã£ãŠããŸãã
ããããã¹ãŠã®è«äºã®æ¬è³ªãæãäžããŠã¿ããšããããã¯ééã£ãã¢ãããŒãã«ãã£ãŠçããŠããããšãããããŸãã NoSQL ããŒã¿ããŒã¹ãå¿
èŠãªå Žæã§æ£ç¢ºã«äœ¿çšãããŠãŒã¶ãŒã¯æºè¶³ãããã®ãœãªã¥ãŒã·ã§ã³ãããã¹ãŠã®å©ç¹ã享åã§ããŸãã ãããŠããã®ãã¯ãããžãŒããŸã£ããé©çšã§ããªãäžèœè¬ãšããŠãã®ãã¯ãããžãŒã«äŸåããŠããå®éšè
ã¯ã倧ããªã¡ãªãããåŸãããã«ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®é·æã倱ã£ãŠå€±æããŠããŸãã
Cassandra DBMS ã«åºã¥ããœãªã¥ãŒã·ã§ã³ã®å®è£
ã«ãããç§ãã¡ã®çµéšã«ã€ããŠã話ããŸããç§ãã¡ãçŽé¢ããªããã°ãªããªãã£ãããšãå°é£ãªç¶æ³ããã©ã®ããã«æãåºããããNoSQL ã䜿çšããããšã§ã¡ãªãããåŸããããã©ãããè¿œå ã®åªåãè³éãã©ãã«æè³ããå¿
èŠããã£ãã®ããªã©ã§ãã ã
æåã®ã¿ã¹ã¯ã¯ãé話ãäœããã®ã¹ãã¬ãŒãžã«èšé²ããã·ã¹ãã ãæ§ç¯ããããšã§ãã
ã·ã¹ãã ã®åäœåçã¯æ¬¡ã®ãšããã§ãã å ¥åã«ã¯ãåŒã³åºãã®æ§é ãèšè¿°ããç¹å®ã®æ§é ãæã€ãã¡ã€ã«ãå«ãŸããŸãã 次ã«ãã¢ããªã±ãŒã·ã§ã³ã¯ããã®æ§é ãé©åãªåã«æ ŒçŽãããŠããããšã確èªããŸãã å°æ¥çã«ã¯ãä¿åãããé話ã¯ãå å ¥è ã®ãã©ãã£ãã¯æ¶è²»ã«é¢ããæ å ± (æéãé話ãæ®é«å±¥æŽ) ã衚瀺ããããã«äœ¿çšãããŸãã
圌ãã Cassandra ãéžãã çç±ã¯éåžžã«æããã§ãã圌女ã¯ãã·ã³ã¬ã³ã®ããã«æžããç°¡åã«ã¹ã±ãŒã©ãã«ã§ããã©ãŒã«ããã¬ã©ã³ãã§ãã
ãããçµéšãç§ãã¡ã«äžããŠããããã®ã§ã
ã¯ããããŒãã®é害ã¯æ²åã§ã¯ãããŸããã ããã Cassandra ã®èé害æ§ã®æ¬è³ªã§ãã ããã ããŒãã¯çããŠããŠããåæã«ããã©ãŒãã³ã¹ãäœäžãå§ããå¯èœæ§ããããŸãã çµå±ã®ãšãããããã¯ã¯ã©ã¹ã¿ãŒå šäœã®ããã©ãŒãã³ã¹ã«çŽã¡ã«åœ±é¿ãäžããŸãã
Cassandra ã¯ãOracle ãå¶çŽã§ããªããæã£ãŠãããããã«ãããªããä¿è·ããŸãããã ãããŠãã¢ããªã±ãŒã·ã§ã³ã®äœæè ããããäºåã«ç解ããŠããªãã£ãå ŽåãCassandra ã«å°çããããã«ã¯ãªãªãžãã«ãããæªããããŸããã å°çããŸããããå ¥ããŠãããŸãã
IB ã¯ããã®ãŸãŸã®ç¶æ ã§ç¡æã® Cassandra ã匷ãå«ã£ãŠããŸããã ãŠãŒã¶ãŒã¢ã¯ã·ã§ã³ã®ãã°ãæš©å©ã®åºå¥ã¯ãããŸããã é話ã«é¢ããæ å ±ã¯å人ããŒã¿ãšã¿ãªãããŸããã€ãŸããäœããã®æ¹æ³ã§ãã®æ å ±ãèŠæ±/å€æŽããããšããè©Šã¿ã¯ãã¹ãŠããã®åŸã®ç£æ»ã®å¯èœæ§ãèæ ®ããŠèšé²ããå¿ èŠããããŸãã ãŸãããŠãŒã¶ãŒããšã«ç°ãªãã¬ãã«ã§æš©éãåé¢ããå¿ èŠãããããšã«ã泚æããå¿ èŠããããŸãã åçŽãªéçšãšã³ãžãã¢ãšãããŒã¹ããŒã¹å šäœãèªç±ã«åé€ã§ããã¹ãŒããŒç®¡çè ã¯ã圹å²ã責任ãæš©éãç°ãªããŸãã ãã®ãããªã¢ã¯ã»ã¹æš©ã®å·®å¥åããªããšãANY æŽåæ§ã¬ãã«ã䜿çšããå Žåãããæ©ããããŒã¿ã®äŸ¡å€ãšæŽåæ§ãå³åº§ã«çåèŠãããããšã«ãªããŸãã
é話ã«ã¯ããŸããŸãªæ¡ä»¶ã«å¯Ÿããæ¬æ Œçãªåæãšå®æçãªãµã³ããªã³ã°ã®äž¡æ¹ãå¿ èŠã§ããããšãèæ ®ããŠããŸããã§ããã éžæãããã¬ã³ãŒãã¯åé€ãããæžãæããããããšã«ãªã£ãŠãããã (ã¿ã¹ã¯ã®äžéšãšããŠãããŒã¿ãæåã«èª€ã£ãŠã«ãŒãã«å ¥ã£ããšãã«ããŒã¿ãæŽæ°ããããã»ã¹ããµããŒãããå¿ èŠããããŸã)ãããã§ã¯ Cassandra ã¯ç§ãã¡ã®å人ã§ã¯ãããŸããã Cassandra ã¯è²¯éç®±ã®ãããªãã®ã§ããç©ãå ¥ããã®ã«ã¯äŸ¿å©ã§ãããæ°ãæ°ããããšã¯ã§ããŸããã
ãã¹ããŸãŒã³ãžã®ããŒã¿è»¢éäžã«åé¡ãçºçããŸãã (ãã¹ãã§ã¯ 5 ããŒããããã ã§ã¯ 20 ããŒã)ã ãã®å Žåããã³ãã¯äœ¿çšã§ããŸããã
Cassandra ã«æžã蟌ãã¢ããªã±ãŒã·ã§ã³ã®ããŒã¿ ã¹ããŒãã®æŽæ°ã«é¢ããåé¡ã ããŒã«ããã¯ã«ãã倧éã®ãã¥ãŒã ã¹ããŒã³ãçæãããäºæãã¬æ¹æ³ã§çç£æ§ãäœäžããå¯èœæ§ããããŸããã Cassandra ã¯èšé²çšã«æé©åãããŠãããæžã蟌ã¿åã«ããŸãèãããæ¢åã®ããŒã¿ã«å¯Ÿããæäœããã¹ãŠèšé²ã«ãªããŸãã ã€ãŸããäžèŠãªãã®ãåé€ããããšã§ãããã«å€ãã®ã¬ã³ãŒããäœæããããã®ãã¡ã®äžéšã®ã¿ã«å¢ç³ãä»ããããããšã«ãªããŸãã
æ¿å ¥æã«ã¿ã€ã ã¢ãŠããçºçããŸãã ã«ãµã³ãã©ã¯é²é³ã§ã¯çŸããã§ããã æã ãå ¥ã£ãŠããæµãã圌女ãèããå°æãããããšããããŸãã ããã¯ãã¢ããªã±ãŒã·ã§ã³ãäœããã®çç±ã§æ¿å ¥ã§ããªãè€æ°ã®ã¬ã³ãŒãã埪ç°ãå§ãããšçºçããŸãã ãããŠãgc.logãé ãã¯ãšãªã®ã·ã¹ãã ãã°ããããã° ãã°ãä¿çäžã®å§çž®ã«é¢ããã¡ããªã¯ã¹ãç£èŠããæ¬ç©ã® DBA ãå¿ èŠã«ãªããŸãã
ã¯ã©ã¹ã¿ãŒå
ã®è€æ°ã®ããŒã¿ã»ã³ã¿ãŒã ã©ãããèªãã§ã©ãããæžãã®ãïŒ
ããããèªã¿åããšæžã蟌ã¿ã«åãããã®ã§ããããïŒ ãããããªããæžã蟌ã¿ãŸãã¯èªã¿åãã®ããã«ã¢ããªã±ãŒã·ã§ã³ã®è¿ãã« DC ãããã¹ãã§ãããã? ãŸããééã£ãäžè²«æ§ã¬ãã«ãéžæãããšãæ¬åœã®ã¹ããªãã ãã¬ã€ã³ãçºçããããšã«ãªãã®ã§ã¯ãªãã§ãããã? ããããã®çåãæªç¥ã®èšå®ãå®éã«ããã£ãŠã¿ããå¯èœæ§ããããããããŸãã
ã©ããã£ãŠæ±ºããã
ããŒãã®æ²äžãé²ãããã«ãSWAP ã¯ç¡å¹ã«ãªããŸããã ãããŠãã¡ã¢ãªãäžè¶³ããŠããå ŽåãããŒãã¯ããŠã³ãã倧ã㪠gc äžæåæ¢ãçºçããããšã¯ãããŸããã
ãããã£ãŠãããŒã¿ããŒã¹å ã®ããžãã¯ã«ã¯äŸåããªããªããŸããã ã¢ããªã±ãŒã·ã§ã³éçºè ã¯èªããåèšç·Žããç¬èªã®ã³ãŒãã§ç©æ¥µçã«äºé²çãè¬ãå§ããŠããŸãã ããŒã¿ã®ä¿åãšåŠçãçæ³çã«æ確ã«åé¢ããŸãã
DataStax ãããµããŒããè³Œå ¥ããŸããã ããã¯ã¹åããã Cassandra ã®éçºã¯ãã§ã«çµäºããŠããŸã (æåŸã®ã³ããã㯠2018 幎 XNUMX æã§ãã)ã åæã«ãDatastax ã¯åªãããµãŒãã¹ãšãæ¢åã® IP ãœãªã¥ãŒã·ã§ã³ãä¿®æ£ããã³é©å¿ãããå€æ°ã®ãœãªã¥ãŒã·ã§ã³ãæäŸããŸãã
Cassandra ã¯éžæã¯ãšãªã«ã¯ããŸã䟿å©ã§ã¯ãªãããšã«ã泚æããŠãã ããã ãã¡ãããCQL ã¯ãŠãŒã¶ãŒã«ãšã£ãŠ (Trift ãšæ¯èŒããŠ) 倧ããªé²æ©ã§ãã ãããããã®ãããªäŸ¿å©ãªçµåãä»»æã®ãã£ãŒã«ãã«ããèªç±ãªãã£ã«ã¿ãªã³ã°ãã¯ãšãªæé©åæ©èœã«æ £ããŠããéšéå šäœãããããããã®éšéãèŠæ ãäºæ ã®è§£æ±ºã«åãçµãã§ããå ŽåãCassandra ã®ãœãªã¥ãŒã·ã§ã³ã¯ãããã®éšéã«ãšã£ãŠæµå¯Ÿçã§æãã«èŠããã§ãããã ãããŠãç§ãã¡ã¯ååãã©ã®ããã«ãµã³ãã«ãäœæãããã決å®ãå§ããŸããã
XNUMX ã€ã®ãªãã·ã§ã³ãæ€èšããŸãããæåã®ãªãã·ã§ã³ã§ã¯ãåŒã³åºãã C* ã ãã§ãªããã¢ãŒã«ã€ãããã Oracle ããŒã¿ããŒã¹ã«ãæžããŸãã ãã ããC* ãšã¯ç°ãªãããã®ããŒã¿ããŒã¹ã«ã¯åœæã®é話ã®ã¿ãä¿åãããŸã (åè«æ±ã®å Žåã«ååãªé話ã¹ãã¬ãŒãžã®æ·±ã)ã ããã§ã次ã®åé¡ãããã«ããããŸãã: åæçã«æžããšãé«éæ¿å ¥ã«é¢é£ãã C* ã®å©ç¹ããã¹ãŠå€±ãããŸã; éåæçã«æžããšãå¿ èŠãªãã¹ãŠã®åŒã³åºãã Oracle ã«å°éãããšããä¿èšŒã¯ãŸã£ãããããŸããã ãã©ã¹ã®ç¹ã XNUMX ã€ãããŸãããã倧ããªç¹ã¯ãæäœã«ã¯äœ¿ãæ £ããåã PL/SQL Developer ãæ®ã£ãŠããããšãã€ãŸããå®è³ªçã«ãFacadeããã¿ãŒã³ãå®è£ ããŠããããšã§ãã C* ããã®åŒã³åºããã¢ã³ããŒãããOracle ã®å¯Ÿå¿ããããŒãã«ãããšã³ãªããã¡ã³ãçšã®ããŒã¿ãååŸããçµæã®ãµã³ãã«ãçµåããŠçµæãååŸããã¡ã«ããºã ãå®è£ ããŸãããã®åŸããã®çµæãäœããã®æ¹æ³ã§äœ¿çšããŸã (ããŒã«ããã¯ãç¹°ãè¿ããåæãè³è³)ã çæ: ããã»ã¹ã¯éåžžã«è€æ°ã®ã¹ããããããªããããã«ãéçšæ åœè çšã®ã€ã³ã¿ãŒãã§ãŒã¹ããããŸããã
çµå±ãç§ãã¡ã¯ XNUMX çªç®ã®éžæè¢ã«èœã¡çããŸããã Apache Spark ã䜿çšããŠãããŸããŸãª jar ãããµã³ããªã³ã°ããŸããã ãã®ã¡ã«ããºã ã®æ¬è³ªã¯ Java ã³ãŒãã«ãŸãšããããŠãããæå®ãããã㌠(ãµãã¹ã¯ã©ã€ããŒãåŒã³åºãæé - ã»ã¯ã·ã§ã³ ããŒ) ã䜿çšããŠãC* ããããŒã¿ãæœåºããã ãã§ãªããä»ã®ããŒã¿ããŒã¹ãã匷åã«å¿ èŠãªããŒã¿ãæœåºããŸãã ãã®åŸãã¡ã¢ãªå ã§ããããçµåããçµæã®ããŒãã«ã«çµæã衚瀺ããŸãã ç«è±ã®äžã«ã¯ã¢ã®å·£ã®ãããªé¢ãæããŠã¿ããšãããéåžžã«äœ¿ãããããã®ã«ãªããŸããã
å·¥æ¥çšãã¹ãããŒã¿ã®æŽæ°ã®åé¡ã解決ããéãç§ãã¡ã¯åã³ããã€ãã®è§£æ±ºçãæ€èšããŸããã ã©ã¡ãã Sstloader ãä»ããŠè»¢éããããã¹ã ãŸãŒã³å ã®ã¯ã©ã¹ã¿ãŒã XNUMX ã€ã®éšåã«åå²ãããªãã·ã§ã³ãããããããããããã¢ãŒã·ã§ã³çšã®ã¯ã©ã¹ã¿ãŒãšåãã¯ã©ã¹ã¿ãŒã«äº€äºã«å±ãããããSstloader ã«ãã£ãŠé§åãããŸãã ãã¹ããæŽæ°ãããšãããããã亀æããããšãèšç»ãããŸããããã¹ãã§åäœããéšåã¯ã¯ãªã¢ãããŠéçšç°å¢ã«å ¥ããããäžæ¹ã¯åå¥ã«ããŒã¿ã®åŠçãéå§ããŸãã ããããããäžåºŠèããçµæã転éãã䟡å€ã®ããããŒã¿ãããåççã«è©äŸ¡ããåŒã³åºãèªäœã¯ãã¹ãçšã«äžè²«æ§ã®ãªããšã³ãã£ãã£ã§ãããå¿ èŠã«å¿ããŠããã«çæãããããã¢ãŒã·ã§ã³ ããŒã¿ ã»ããã«ã¯è»¢éãã䟡å€ããªãããšãããããŸããããã¹ãã 移åãã䟡å€ã®ããã¹ãã¬ãŒãž ãªããžã§ã¯ããããã€ããããŸããããããã¯æåéã XNUMX ã€ã®ããŒãã«ã§ãããããã»ã©éããã®ã§ã¯ãããŸããã ãããã£ãŠãç§ãã¡ã¯ 解決çãšããŠãSpark ãåã³åœ¹ã«ç«ã¡ãŸããããã®å©ããåããŠãããŒãã«éã§ããŒã¿ã転éããããã®ã¹ã¯ãªãã prom-test ãäœæããç©æ¥µçã«äœ¿çšãå§ããŸããã
çŸåšã®å±éããªã·ãŒã§ã¯ãããŒã«ããã¯ãªãã§äœæ¥ã§ããŸãã ããã¢ãŒã·ã§ã³ã®åã«å¿ é ã®ãã¹ãå®è¡ãããã倱æããŠãããã»ã©é«ãã¯ãããŸããã 倱æããå Žåã«ã¯ããã€ã§ãã±ãŒã¹ã¹ããŒã¹ãåé€ããŠãã¹ããŒã å šäœãæåããããŒã«ããããšãã§ããŸãã
Cassandra ãç¶ç¶çã«å©çšã§ããããã«ããã«ã¯ã圌ã ãã§ã¯ãªã dba ãå¿ èŠã§ãã ã¢ããªã±ãŒã·ã§ã³ã䜿çšããå šå¡ããçŸåšã®ç¶æ³ãã©ãã§ã©ã®ããã«ç¢ºèªããã°ããã®ããã¿ã€ã ãªãŒã«åé¡ã蚺æããæ¹æ³ãç解ããå¿ èŠããããŸãã ãããè¡ãããã«ãDataStax OpsCenter (ã¯ãŒã¯ããŒãã®ç®¡çãšç£èŠ)ãCassandra Driver ã·ã¹ãã ã®ã¡ããªã¯ã¹ (C* ãžã®æžã蟌ã¿ã®ã¿ã€ã ã¢ãŠãæ°ãC* ããã®èªã¿åãã®ã¿ã€ã ã¢ãŠãæ°ãæå€§åŸ æ©æéãªã©) ãç©æ¥µçã«äœ¿çšããæäœãç£èŠããŸããã¢ããªã±ãŒã·ã§ã³èªäœã®ãCassandra ãšã®é£æºã
åã®è³ªåã«ã€ããŠèãããšããäž»ãªãªã¹ã¯ãã©ãã«ããã®ããããããŸããã ãããã¯ãã¹ãã¬ãŒãžãžã®è€æ°ã®ç¬ç«ããã¯ãšãªããã®ããŒã¿ã衚瀺ããããŒã¿è¡šç€ºãã©ãŒã ã§ãã ãã®ããã«ããŠãããªãäžè²«æ§ã®ãªãæ å ±ãåŸãããšãã§ããŸãã ãããããã®åé¡ã¯ãXNUMX ã€ã®ããŒã¿ã»ã³ã¿ãŒã®ã¿ã䜿çšããŠããå Žåã«ãåæ§ã«é¢é£ããã§ãããã ãããã£ãŠãããã§æãåççãªã®ã¯ããã¡ããããµãŒãããŒã㣠ã¢ããªã±ãŒã·ã§ã³ã§ããŒã¿ãèªã¿åãããã®ãããé¢æ°ãäœæããããŒã¿ãåäžæéå ã«ç¢ºå®ã«åä¿¡ãããããã«ããããšã§ãã ããã©ãŒãã³ã¹ã®èŠ³ç¹ããèªã¿åããšæžã蟌ã¿ãåå²ããããšã«é¢ããŠèšãã°ãDC éã®æ¥ç¶ã倱ããããšãäºãã«å®å šã«ççŸãã XNUMX ã€ã®ã¯ã©ã¹ã¿ãŒãçºçããå¯èœæ§ããããšãããªã¹ã¯ã«ãã£ãŠäžæãããŸããã
ãã®çµæãä»ã®ãšããã æžã蟌ã¿ã®å Žå㯠EACH_QUORUMãèªã¿åãã®å Žåã¯æŽåæ§ã¬ãã«ã§åæ¢ - LOCAL_QUORUM
ç°¡åãªææ³ãšçµè«
çµæãšããŠåŸããããœãªã¥ãŒã·ã§ã³ãéçšãµããŒããšãããªãéçºã®èŠéãã®èŠ³ç¹ããè©äŸ¡ããããã«ããã®ãããªéçºãä»ã«ã©ãã«é©çšã§ããããèããããšã«ããŸããã
ããã«ããéœåã®è¯ããšãã«æ¯æãããªã©ã®ããã°ã©ã ã®ããŒã¿ ã¹ã³ã¢ãªã³ã° (æ å ±ã C* ã«ããŒãããSpark ã¹ã¯ãªããã䜿çšããŠèšç®)ãé åããšã®éèšã«ããã¯ã¬ãŒã ã®èšç®ãããŒã«ã®ä¿åãããŒã«ã«åºã¥ããŠãŒã¶ãŒ ã¢ã¯ã»ã¹æš©ã®èšç®ãããªãã¯ã¹ã
ã芧ã®ãšãããã¬ããŒããªãŒã¯å¹ åºããå€åœ©ã§ãã ãããŠãããç§ãã¡ã NoSQL ã®æ¯æè /å察è ã®é£å¶ãéžæããå Žåãç§ãã¡ã¯æ¯æè ã«å ããããšã«ãªããŸãããªããªããç§ãã¡ã¯å©ç¹ã享åããŠããããŸãã«ç§ãã¡ãæåŸ ããŠãããšããã ããã§ãã
ããã«äœ¿çšã§ãã Cassandra ãªãã·ã§ã³ã§ãããªã¢ã«ã¿ã€ã ã§ã®æ°Žå¹³ã¹ã±ãŒãªã³ã°ãå¯èœã§ãã·ã¹ãã å ã®ããŒã¿å¢å ã®åé¡ããŸã£ããç°¡åã«è§£æ±ºã§ããŸãã åŒã³åºãéèšãèšç®ããããã®éåžžã«é«è² è·ãªã¡ã«ããºã ãå¥ã®åè·¯ã«ç§»åããã¢ããªã±ãŒã·ã§ã³ã®ã¹ããŒããšããžãã¯ãåé¢ããŠãããŒã¿ããŒã¹èªäœã«ã«ã¹ã¿ã ãžã§ããšãªããžã§ã¯ããèšè¿°ãããšããæªãç¿æ £ãåãé€ãããšãã§ããŸããã ã©ã® DC ã§èšç®ãå®è¡ããã©ã® DC ã§ããŒã¿ãèšé²ããããéžæããŠæ§æããé«éåããæ©äŒãåŸãããåã ã®ããŒããš DC å šäœã®äž¡æ¹ã®ã¯ã©ãã·ã¥ã«å¯ŸããŠä¿éºããããŸããã
ç§ãã¡ã®ã¢ãŒããã¯ãã£ãæ°ãããããžã§ã¯ãã«é©çšãããã§ã«ããçšåºŠã®çµéšãããã®ã§ãäžèšã®ãã¥ã¢ã³ã¹ãããã«èæ ®ããŠãããã€ãã®ééããé²ããæåã¯é¿ããããªãã£ãããã€ãã®éãè§ãæ»ããã«ããããšèããŠããŸãã
ããšãã°ã Cassandra ã®ææ°æ å ±ãã¿ã€ã ãªãŒã«è¿œè·¡ãããªããªããç§ãã¡ãåŸãåé¡ã®ããªãã®æ°ã¯ãã§ã«ç¥ãããŠãããä¿®æ£ãããŠããããã§ãã
ããŒã¿ããŒã¹èªäœãš Spark ã®äž¡æ¹ãåãããŒãã«é 眮ããªãã§ãã ãã (ãŸãã¯å³å¯ã«ã蚱容ããããªãœãŒã¹äœ¿çšéã§å²ã)ãSpark ã¯äºæ³ãããå€ãã® OP ãæ¶è²»ããå¯èœæ§ãããããããªã¹ãããåé¡çªå· 1 ãããã«åŸãããŸãã
ãããžã§ã¯ãã®ãã¹ã段éã§ã®ç£èŠãšéçšèœåãåäžãããŸãã æåã¯ããœãªã¥ãŒã·ã§ã³ã®æœåšçãªãã¹ãŠã®æ¶è²»è ãå¯èœãªéãèæ ®ããŸãããªããªããããã¯ããŒã¿ããŒã¹æ§é ãæçµçã«äŸåãããã®ã ããã§ãã
æé©åãå¯èœã«ããããã«ãçµæãšããŠåŸãããåè·¯ãæ°åå転ãããŸãã ã©ã®ãã£ãŒã«ããã·ãªã¢ã«åã§ããããéžæããŸãã æãæ£ç¢ºãã€æé©ã«èæ ®ããããã«ã©ã®ãããªè¿œå ããŒãã«ãäœæããå¿ èŠãããããç解ããèŠæ±ã«å¿ããŠå¿ èŠãªæ å ±ãæäŸããŸã (ããšãã°ã次ã®ãããªããŸããŸãªå èš³ãèæ ®ããŠãåãããŒã¿ãç°ãªãããŒãã«ã«ä¿åã§ãããšæ³å®ããŸã)ãç°ãªãåºæºã䜿çšãããšãèªã¿åããªã¯ãšã¹ãã® CPU æéãå€§å¹ ã«ç¯çŽã§ããŸã)ã
æªããããŸãã TTL ã®ä»å ãšå€ãããŒã¿ã®æ¶å»ãçŽã¡ã«æäŸããŸãã
CassandraããããŒã¿ãããŠã³ããŒãããå Žå ã¢ããªã±ãŒã·ã§ã³ ããžãã¯ã¯ããã¹ãŠã®è¡ãäžåºŠã«ã¡ã¢ãªã«ããŒããããã®ã§ã¯ãªãããããã§éžæãããããã«ãFETCH ååã«åºã¥ããŠåäœããå¿ èŠããããŸãã
ãããžã§ã¯ãã説æãããŠãããœãªã¥ãŒã·ã§ã³ã«è»¢éããåã«è¡ãããšããå§ãããŸãã äžé£ã®è¡çªãã¹ããå®æœããŠã·ã¹ãã ã®èé害æ§ããã§ãã¯ããXNUMX ã€ã®ããŒã¿ã»ã³ã¿ãŒã§ã®ããŒã¿æ倱ãäžå®æéã«ãããç ŽæããããŒã¿ã®åŸ©å ãããŒã¿ã»ã³ã¿ãŒéã®ãããã¯ãŒã¯ã®ããããã¢ãŠããªã©ã ãã®ãããªãã¹ãã¯ãææ¡ãããã¢ãŒããã¯ãã£ã®é·æãšçæãè©äŸ¡ã§ããã ãã§ãªãããã¹ããå®æœãããšã³ãžãã¢ã«ãšã£ãŠè¯ããŠã©ãŒã ã¢ããç·Žç¿ã«ããªããéçšç°å¢ã§ã·ã¹ãã é害ãåçŸãããå Žåã«ç¿åŸããã¹ãã«ã¯æ±ºããŠç¡é§ã§ã¯ãããŸããã
éèŠãªæ å ± (è«æ±çšããŒã¿ãå å ¥è è² åµã®èšç®ãªã©) ãæ±ãå Žåã¯ãDBMS ã®æ©èœã«ãã£ãŠçãããªã¹ã¯ã軜æžããããŒã«ã«ã泚æãæã䟡å€ããããŸãã ããšãã°ãnodesync ãŠãŒãã£ãªã㣠(Datastax) ã䜿çšãã次ã®é åºã§äœ¿çšããããã®æé©ãªæŠç¥ãéçºããŸãã äžè²«æ§ãä¿ã€ããã«ãCassandra ã«é床ã®è² è·ãäžããªãã§ãã ããã ç¹å®ã®æéã®ç¹å®ã®ããŒãã«ã«å¯ŸããŠã®ã¿äœ¿çšããŸãã
çåŸXNUMXãæåŸã®ã«ãµã³ãã©ã¯ã©ããªãã®ã§ããããïŒ äžè¬ã«ãæªè§£æ±ºã®åé¡ã¯ãããŸããã ãŸããé倧ãªäºæ ãããŒã¿æ倱ãèš±ãããŸããã§ããã ã¯ãã以åã«ã¯çºçããªãã£ãããã€ãã®åé¡ãè£ãããšãèããå¿ èŠããããŸããããæçµçã«ã¯ãããã«ãã£ãŠã¢ãŒããã¯ã㣠ãœãªã¥ãŒã·ã§ã³ã倧ããæãããšã¯ãããŸããã§ããã äœãæ°ããããšã«ææŠããããšæã£ãŠããŠããããæãããåæã«ããŸããã£ããããããªãã®ã§ããã°ãç¡æã®ãã®ã¯äœããªããšããäºå®ãåãå ¥ããæºåãããŠãã ããã å€ãåŸæ¥ã®ãœãªã¥ãŒã·ã§ã³ãããç解ããããã¥ã¡ã³ãã詳ãã調ã¹ãç¬èªã®ã¬ãŒããçµã¿ç«ãŠãå¿ èŠããããŸãããŸããã©ã®ã¬ãŒããããªããåŸ ã£ãŠããããäºåã«ç¥ãçè«ã¯ãããŸããã
åºæïŒ habr.com