SEMrushã®å ŽåããäŒç€Ÿã䜿çšããŠããèšèªãšæè¡ããå°ããã®ã¯æå³ããããŸãããããã§ã¯ãåããŒã ã«æ倧éã®èªåŸæ§ãæäŸãããããã¹ãŠã®äººã«å
±éããæå°éã«æããŸãã ããããç¹å®ã®ããŒã ã¯éåžžã«è³ªåããã¹ããã®ã§ãã
ãããžã§ã¯ãã®1ã€ãScalaãC ++ãSparkãClickHouseã䜿çšããŠããããšãåŠã³ãŸããã Scalaã®éžæèªäœã¯éæšæºã§ãããC ++ãšã®çµã¿åããã¯ããã«å°ãªãé »åºŠã§èŠã€ããããšãã§ããŸããYandexã®ClickHouse DBMSãæãäžè¬çãªéžæã§ã¯ãªããããããããã¹ãŠã®åäœã«ã€ããŠè³ªåããããšã«ããŸããã
ã¢ã¬ã¯ãµã³ããŒã»ã¢ããŸããåçããŸããã
-ãŸããSEMrushã«æå±ããŠããããŒã ãæããŠãã ããã
-ããã¯ãšã³ãéçºè
ããã«ãŒã³ããŒã ããã©ãã£ãã¯åæãããžã§ã¯ãã ããã©ããããGoogleã¢ããªãã£ã¯ã¹ã®ãããªããšãè¡ããŸã-ããããçš®é¡ã®cãªçµ±èšææ³ã䜿çšããŠãã€ã³ã¿ãŒãããäžã®ãµã€ãã®ã¡ããªãã¯ãå
åãããŸãã
-ãªãScalaã䜿çšããããšã«æ±ºããã®ã§ãã-Sparkãæã£ãŠãããšããäºå®ããŸãã¯ãã®ä»ã®çç±ã®ããã§ããïŒ çŸåšãéåžžã®Javaã¯Sparkã䜿çšããã®ã«æªããªããšããæèŠããããŸãããããã«ã€ããŠããªãã®çµéšã¯äœãšèšã£ãŠããŸããïŒ
-ãã¡ãã客芳çã§ããã°ãSparkã¯Scalaã§æžãããŠããããã§ãã Javaã¯éåžžã«ããŸãé©åããŸãããæšæºæ©èœãèŠéããå§ããå ŽåãScalaã«ã¢ãžã¥ãŒã«ãè¿œå ããæ¹ã䟿å©ã§ãã å人çã«ã¯ãSparkæ§é ã®æ©èœãæ¡åŒµããæé»ã®ã¯ã©ã¹ãèšè¿°ããã®ãã©ãã»ã©ç°¡åã§åçŽããæ³åããããšã¯ã§ããŸããã岩ããããžã§ã¯ãã«ãã©ãã°ããå¿
èŠããããŸãã
ã¯ããæé«ã®ããã¥ã¡ã³ãã¯ã³ãŒãã§ãã Sparkã³ãŒãã調ã¹ãããšãå¿
èŠãªå ŽåããããŸãããããã§ã¯ãã®ã³ãŒããèšè¿°ãããŠããèšèªãç¥ããªããŠãäœãããŸããã 人çã®äŸã¯ãjdbcãä»ããŠClickHouseã«ããŒã¿ãæ¿å
¥ã§ããããã«ãSQLãã¢ã®æ¹èšãèå¥ããŠç»é²ããããšã§ãã æããã«ããã®ç¹ã¯ææžåãããŠãããããšã©ãŒãã©ãã«ããã®ãããããŠãããæé€ããããã«äœãå®è£
ããå¿
èŠãããã®ãââãç解ããããã«ã¹ããŒã¯ã³ãŒãã調ã¹ãªããã°ãªããŸããã§ããã
ãããŠã䞻芳çãªåŽé¢ã«ã€ããŠè©±ããšãé·ã話ã§ãã ç§ã®ä»¥åã®çµéšã¯ãã¬ã³ã ã§ããããã俳åªãžã®æãåŒãåºããåãå Žæã§é¢æ°åããã°ã©ãã³ã°ã«èå³ãæã€ããã«ãªããŸãããç§ã¯ErlangãHaskellãScalaã§å§ããŸããã OOPãšFPã®å
±ééšåãšããŠã®Scalaãããã«ã¯Akkaããã-éžæã¯æããã§ã:)
-ãã·ã¢ã§ã¯Scalaã䜿çšãã人ã¯ã»ãšãã©ããªããããå®éã®çµéšã§ããããšãå€æããããšãäœãåã°ããäœãçãã®ããå°ããããšæããŸãã
-äžè¬ã«ãã³ãŒãã®ç°¡æœããéçºã®é床ãã©ã€ãã©ãªã®æ°ïŒJavaã§èšè¿°ãããã©ã€ãã©ãªãå«ãïŒã«æºè¶³ããŠããŸãã ã¢ãŒã©ã³ã®åŸããããã³ã°ã®éåžžã®ãã¿ãŒã³ã¯éåžžã«äžè¶³ããŠããŸãã çã¿ã ãã§ãªãããââã°ãžã®å¯ŸåŠã«ãåé¡ãçããããšããããŸãã äžæ¹ã§ãå«æã«ãããç°¡æœãã€æè»ã«æžãããšãã§ããŸãããäžæ¹ã§ãã³ã³ãã€ã«æ®µéã§ãäœãééã£ãŠããã®ããç解ããã®ãé£ããå ŽåããããŸãã ãã ããããã§ã¯ããã³ãã¬ãŒãã¯ã©ã¹ã®ãšã©ãŒã«å¯ŸããŠgccã衚瀺ãããããã¯ãã¹ã®çš®é¡ãæãåºããŸãã
çŽç²ã«ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ãã®ã¯ãå®éã«æ倧ã®çã¿ããããããŸãã ã³ã³ãã¥ãŒãã£ã³ã°ã¯ã©ã¹ã¿ã¯ãããªãæ°ãŸãããªãã®ã§ãã ãã®èšç®ã¯ãã¡ã¢ãªäžè¶³ã®ããäžå€®ã«èœã¡ãŸãã ãã£ã¹ã¯ã®1ã€ã®äžã®ãã®å Žæã¯çªç¶çµäºããŸãã 次ã«ãDCã®ãããã¯ãŒã¯ã©ã°ã®ããã«ãããŒããè±èœããŸãã åæ£ã·ã¹ãã ã®ãã°ã¯äžè¬çã«å¥ã®åé¡ã§ãã ãã®ãããªåé¡ã®èšºæãšè§£æ¶ã¯ãããªãé¢åãªäœæ¥ã§ãã
-ScalaãšC ++ã®äž¡æ¹ã¯ããæ°åŒ±ãªäººåãã§ã¯ãªããèšèªã§å®è©ããããŸãã 1ã€ã®ãããžã§ã¯ãã§ãã®ãããªçµã¿åããã§ç掻ããŠããã®ã¯äœã§ããïŒ åœŒã¯å
žåçãªãã®ãããã¯ããã«ãããŒãã³ã¢ãã§ããããšãå€æããŸããããåŸèŒ©ããããè¡ãã®ã¯é£ããã§ããïŒ
-C ++ã®æ¹ãé£ãããªãããã§ãã ãäºéã®è§£æŸãŸãã¯ç ŽæãããŸãã¯ã¡ã¢ãªãªãŒã¯ãæéãã䟡å€ãããå ŽåããããŸãã 16é²ãšãã£ã¿ã§ã®ã¡ã¢ãªãã³ãã®æååæãªã©ãå€ãã®ããšãè¡ãå¿
èŠããããŸããã Scalaã§ã¯ãããããååãªåŸ®åŠãããããŸããã足ãæã¡èœãšãæ¹æ³ã¯å°ãªããªããŸãã
ãŸãã6æã«ã¯ãC ++ã§ã¯ã©ã¹ã䜿çšããCã¹ã¿ã€ã«ãããã³Scalaã§-å¥åŠãªæ§æã䜿çšããJavaã¹ã¿ã€ã«ã§äœæããªãããšãæãå°é£ãªå ŽåããããŸãã
-ãããããã¹ãŠãæè¡çã«åŒ·åã§ãããšããäºå®ã«ãããèšèª/æè¡ã®éžæã«è²»çšãæ¯æãå¿
èŠããããŸããããã®ãããªãããžã§ã¯ãã§äººã
ãèŠã€ããããšã¯å°é£ã§ããïŒ
-ãã¡ããã 2çªç®ã®ããã¯ãšã³ãã«ç©ºããã§ããŸããã ããããéäž»æµã®èšèªã§äººãèŠã€ããåé¡ã¯éåžžã«æ·±å»ã§ããããã100ïŒ
ã®äžèŽãçŽæ¥æ¢ããŠããããã§ã¯ãããŸããã ããšãã°ãC ++ãScalaãç¥ã£ãŠãã人ã¯éåžžã«é©ããŠããŸãã ãŸãã¯Scala / JavaãšSparkããã ãC ++ãªãã æ®ããæããŸãã
-ClickHouseã«ç§»ããŸããããããã§éžæããçç±ã¯äœã§ããïŒ
ãåççãªæéå
ã«æ°ååã®ã€ãã³ããä¿åããã³åŠçã§ããåºç€ãå¿
èŠã§ãããã ClickHouseã¯ãŸãã«ãã®åºç€ã§ãã
-Yandexã¯ãClickHouseã«ã¯çããããå
ã«éžæè¢ããªãããªã©ã®çŸããåèªãçºé³ããŸãããŸããå®éã®çµéšã§ãã®ãããªåèªãã©ãã ã確èªããŠããŸããã ClickHouseã®äœ¿çšã誰ã«å§ããŸããïŒ
-ããŠããã€ãŠVerticaã«ã€ããŠçå£ã«èããŠããŸããã ãŸããçŸåšã®ã·ã¹ãã ã®åæéšåã®ãããã¿ã€ããSpark / Hiveå°çšã«äœ¿çšããŠããŸããããå€ãã®äžéçãªãæåãã¢ã¯ã·ã§ã³ãå¿
èŠã§ããããã®çµæãåäœãéåžžã«é
ããªããŸããã äœããã®åœ¢ã§éžæè¢ããããšèšã£ãŠã¿ãŸããããããã§ã¯ãç¹å®ã®ãããžã§ã¯ãã®ãã©ã¹ãšãã€ãã¹ã®ãã©ã³ã¹ãéžæããå¿
èŠããããŸãã ClickHouseã¯ãäœããã®åœ¢ã§Webåæã«é¢é£ãããããžã§ã¯ãã«æé©ã§ãã
-ClickHouseã¯æ¯èŒçè¥ãéçºã§ãïŒå°ãªããšãããªãŒãã³ãœãŒã¹ãžã®ç§»è¡ããæ°ããã°ïŒã å¹²æžããŸããïŒ ã³ãŒã³ãåããŠãã°ã¬ããŒããéä¿¡ãã圌女ã®ãå
é§è
ããšäžç·ã§ããïŒ
-æã
ãäžèŠæãããªæ©èœã®æ¬ åŠãå°æããŸãã 次ã®ååæã®ããŒããããã«ã¯äœãããããŸãã é倧ã§ã¯ãªããã°ã«åºããããŸããããå
é§è
ã§ã¯ãããŸããã§ãã-誰ãããã§ã«æ¬ é¥ããããŸããã äžè¬ã«ãäž»èŠãªæ©èœã¯æŽã£ãŠããããã°ã¯éåžžã«è¿
éã«ä¿®æ£ãããŸãã
-ClickHouseã®äœ¿çšã¯ããã·ã¢ã§äœæããããšããäºå®ã«äœããã®åœ±é¿ãäžããŸããïŒ ãã®éçºè
ã¯ãè
äžæ¯ãã§ãããšæããŠããŸããïŒåœŒããšã³ãã¥ãã±ãŒã·ã§ã³ãåããŸããïŒ
-ClickHouseã«ã¯ãã·ã¢èªã®ãã¬ã°ã©ã ãã£ããããããéçºè
ããã®è³ªåã«å¯Ÿããåçãéåžžã«ãã°ããåŸãããšãã§ããŸãã éåžžã«é«äŸ¡ãªãµããŒãã蚺æãããã³åé¡ã®è§£æ±ºçãåããäŒæ¥åã補åã§ãã£ãŠããæ¯é±ãRe [100500]ïŒããšæžãããŠããããšããããŸãã ãã®æ©äŒãå©çšããŠãYandexããŒã å
šè¬ãšAlexey Milovidovã«å人çã«å©ããŠãããããšã«æè¬ããŸãã
-ããªãã®æèŠã§ã¯ãSEMrushã®ãããŒã ã®ç¬ç«æ§ãã¯ãéžæãããã¯ãããžãŒã¹ã¿ãã¯ã®éžæã«ã©ã®çšåºŠåœ±é¿ããŸãããã
-ç§ã¯ã»ãšãã©äœããªããšæããŸãã ç§ãã¡ã¯ãã€ãç®ãèŠãŸããããä»æ¥ããScalaã«æžããŠã¿ããããšã¯èšããªãã£ãã éçºè
ã®ãããªæªçãã¯èš±ãããŸããã æåã«ãC ++ã®ã¿ã§ãããžã§ã¯ããäœæããŸããã ããæç¹ã§ã圌ãã¯ç 究çšã®ãããã¿ã€ããäœæããŸããããããã¯çç£ã§ã¯äœ¿çšãããŸããã§ããã ãããããããæžãã®ã¯éåžžã«éããèšç®ã®äžŠååãéåžžã«ç°¡åã«ãªããéçºã¯éåžžã«åŸæŒããããŠå®è£
ããããšã«ãªããŸããã 以åã®ä»äºã®çµéšã«ãããšããããäŒçµ±çãªãäŒç€Ÿã§ã¯ãããã»ã¹ã¯äŒŒããã®ã«ãªããŸãããããã¿ã€ããäœæããé·æãšçæãè©äŸ¡ããŸãã ãã¡ãããéèŠãªæ¡ä»¶ã¯ãµããŒããšãããªãéçºãæäŸããããšã§ããã€ãŸãã瀟å
ã®æ°äººãã¹ã¿ãã¯ã«ç²Ÿéãããããžã§ã¯ãããããã¯ã¢ãããã§ããããã«ããå¿
èŠããããŸãã
-ããŒã ãç¬èªã«ã¹ã¿ãã¯ãéžæãããšããäºå®ã«ããããããããé£äººãã®çµéšãã©ã®ããã«åœ±é¿ããããç解ããããšæããŸãã ã¹ã¿ãã¯ã圢æããããšããä»ã®ã³ã³ããŒãã³ãã¯SEMrushã§ãã®ã³ã³ããŒãã³ããç©æ¥µçã«äœ¿çšããŠããŸãããïŒããã¯æ±ºå®ã«åœ±é¿ããŸãããïŒ
-åœç¶ãç§ãã¡ã¯é£äººãããã«æã£ãŠãããã®ã«èå³ããããŸãã Sparkã¯ãç§ãã¡èªèº«ã®ç 究ãšçµ±èšã®ããã«RïŒDããŒã ã䜿çšããŠããŸããã 圌ãã¯çµéšãåŒãç¶ããŸããã ClickHouseã¯ãããŒã¿ãŠã§ã¢ããŠã¹ã«é¢ãã質åãçºçãããšãã«ãå¥ã®ããŒã ãšäžç·ã«èª¿æ»ããã³å®è£
ãéå§ããŸããã
-ãããŠãããªãèªèº«ã¯ä»ã®äººã«ã©ã®ãããç©æ¥µçã«åœ±é¿ãäžããŠããŸããïŒ äŒç€Ÿå
ã§åœŒãã®å°éç¥èãScalaãClickHouseãšå
±æããããšã¯ã©ã®ãããã®é »åºŠã§èµ·ãããŸããïŒããã¯ããããç§ãã¡ãããããã«ã€ãªãããŸããïŒ
-Scalaã§ãå¥ã®ããŒã ãå·çãéå§ããŸããã ãããŠäžè¬çã«ãClickHouseã¯åœŒããèšãããã«ããã°ã€ã³ãããŠããŸãã ä»ã®ããŒã ãšçµéšãç©æ¥µçã«äŒãã亀æããŸãã æå³çã«å®£äŒãããŠããããã§ã¯ãããŸãããããã¯ãªãã¯ããŠã¹ããããšèããŸãããïŒ ãŸãããå®æçã«çºçããããšèããŠããŸãã