
SQLãèµ·åããéã®å¢åã«åæãã-NoSQL
ã³ã³ãã¥ãŒã¿æ代ã®åæããã人é¡ã¯ææ°é¢æ°çã«å¢å ããããŒã¿ãåéããŠããŸãããããã«äŒŽããããŒã¿ã¹ãã¬ãŒãžãåŠçãåæã·ã¹ãã ã®èŠä»¶ãå¢å€§ããŠããŸãã ãã®ãããéå»10幎éã§ããœãããŠã§ã¢éçºè ã¯SQLããå¢å ããããŒã¿éã«åãããŠæ¡åŒµã§ããªãæ§åŒã®ãã¯ãããžãŒãšããŠæŸæ£ããŸãã-ãã®çµæãNoSQLããŒã¿ããŒã¹ãç»å ŽããŸããïŒMapReduceããã³BigtableãCassandraãMongoDBãªã©ã
ãã ããSQLã¯ä»çãŸãå€ãããŸããã ãã¹ãŠã®äž»èŠãªã¯ã©ãŠããµãŒãã¹ãããã€ããŒã¯ã人æ°ã®ãããããŒãžããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãµãŒãã¹ãæäŸããŠããŸããAmazonRDS ã Google Cloud SQL ã Azure Database for PostgreSQL ïŒæåéãä»å¹Žéå§ïŒãªã©ã§ãã Amazonã«ãããšãPostgreSQLãšMySQLã«æºæ ããAuroraããŒã¿ããŒã¹ã¯ã AWSã®æŽå²ã®äžã§æãæ¥æé·ããŠãããµãŒãã¹ ã ã«ãªããŸããã Hadoopããã³Sparkãã©ãããã©ãŒã ã®äžäœã«ããSQLã€ã³ã¿ãŒãã§ãŒã¹ã人æ°ã倱ãããšã¯ãããŸããã ãããŠå æãKafkaã¯SQLãµããŒããéå§ããŸãã ã ãã®èšäºã®èè ã¯ãèªåèªèº«ãSQLãå®å šã«ãµããŒãããæ°ããæç³»åããŒã¿ããŒã¹ãéçºããŠããããšãæ§ããã«èªããŠããŸãã
ãã®èšäºã§ã¯ãæ¯ãåãSQLã«æ»ã£ãçç±ãšãããŒã¿ããŒã¹ã®éçºãšåæã®å°é家ã«æåŸ ããããšãç解ããããšããŸãã
Alconostã«ç¿»èš³
ããŒã1.æ°ããåžæ
SQLãè¿ãããçç±ãç解ããããã«ãæåã«æ»ã£ãŠããã®ãã¯ãããžãŒãç»å Žããçç±ãèŠãŠã¿ãŸãããã

ãã¹ãŠã®è¯ãç©èªã®ããã«ãç§ãã¡ã®ãã®ã¯70幎代ã«å§ãŸããŸã
ãã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯ã70幎代åé ã«IBM Researchã§çãŸããŸããã åœæãã¯ãšãªèšèªã¯è€éãªæ°åŠè«çã«åºã¥ããŠãããããã»ã©è€éã§ã¯ãªãè¡šèšæ³ã«åºã¥ããŠããŸããã çŒãããŠã®2ã€ã®ç§åŠåè£ãããã«ããã§ã³ããªã³ãšã¬ã€ã¢ã³ããã€ã¹ã¯ããªã¬ãŒã·ã§ãã«ããŒã¿ã¢ãã«ã«æéãåããŸããããåæã«ã䜿çšãããã¯ãšãªèšèªããã®æ®åã劚ããããšã«æ°ä»ããŸããã 圌ãã¯ãã æ°åŠãã³ã³ãã¥ãŒã¿ãŒããã°ã©ãã³ã°ã®ã³ãŒã¹ãåè¬ããŠããªããŠãŒã¶ãŒã«ãšã£ãŠãã䟿å©ãª ãæ°ããã¯ãšãªèšèªãéçºããããšã決ããŸããã

SQLïŒé ç®AãBïŒãšSQLïŒ ãœãŒã¹ ïŒã®åã®ã¯ãšãªèšèª
æ³åããŠã¿ãŠãã ãããã€ã³ã¿ãŒããããããœã³ã³ããããŸãããCãåºçãããã°ããã§ãã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ã®åéã®2人ã®è¥ãå°é家ã¯ãã ã³ã³ãã¥ãŒã¿ãŒæ¥çã®æåã¯ãŠãŒã¶ãŒã«ããŽãªã®çºå±ã«ãã倧ããäŸåããèšç·Žãåããã³ã³ãã¥ãŒã¿ãŒã®å°é家ã§ã¯ãããŸãã ãã 圌ãã¯è±èªãšåããããç°¡åã«èªãããšãã§ããã¯ãšãªèšèªãå¿ èŠãšããŠããŸããããåæã«ããŒã¿ããŒã¹ã®ç®¡çãšæäœãå¯èœã«ããŸããã
ãã®çµæãSQLã§ããã1974幎ã«äžçã«åããŠå°å ¥ãããŸãããä»åŸæ°å幎ã§éåžžã«æ®åããŸãã ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ããœãããŠã§ã¢æ¥çïŒããšãã°ãSystem RãIngresãDB2ãOracleãSQL ServerãPostgreSQLãMySQLããã®ä»å€æ°ïŒã«å®çããã«ã€ããŠãSQLã¯ããŒã¿ããŒã¹ã€ã³ã¿ã©ã¯ã·ã§ã³èšèªãšããŠåºãæ®åãã競äºãæ¿åãããšã³ã·ã¹ãã ã§äžè¬çã«åãå ¥ããããããã«ãªããŸããã
ïŒæ®å¿µãªãããã¬ã€ã¢ã³ãã»ãã€ã¹ã¯SQLã®æåãèŠãããšãã§ããŸããã§ãããSQLã«é¢ããæåã®å ±åã®1ãæåŸã®1ãæã§è³åèç€ã§äº¡ããªããŸããã26æ³ã§ã圌ã«ã¯ãŸã 劻ãšåšãããŸãããïŒ
ãã°ããã®éãSQLããã®ã¿ã¹ã¯ãå®äºãããã¹ãŠãé 調ã«é²ãã§ããããã«èŠããŸãã...ããããã€ã³ã¿ãŒããããç»å ŽããŸããã
ããŒã2. NoSQLã®é襲
ãã§ã³ããªã³ãšãã€ã¹ã¯ãSQLã®éçºäžãã«ãªãã©ã«ãã¢ãå¥ã®ææãªãããžã§ã¯ãã«åãçµãã§ããããšãç¥ããŸããã§ããã ãã®ãããžã§ã¯ãã¯ARPANET㧠ããã®ç幎ææ¥ã¯1969幎10æ29æ¥ã§ãã

ã¢ã«ãããããããã¯ãŒã¯ã®äœæè ïŒãã¹ãŠã§ã¯ãããŸããïŒãæçµçã«çŸä»£ã®ã€ã³ã¿ãŒãããïŒ ãœãŒã¹ ïŒã«ãªããŸãã
ãã°ããã®éãSQLã¯éããªååšãå°ããŸãã-1989幎ã«å¥ã®ãšã³ãžãã¢ãWorld Wide WebãçºæããŸããã

ã€ã³ã¿ãŒããããçºæããç©çåŠè ïŒ ãœãŒã¹ ïŒ
Webãšã€ã³ã¿ãŒãããã¯éèã®ããã«æé·ããåºããã䜿ãæ £ããäžçãæ°ãåããªãã»ã©å€åãããŠããŸãããããŒã¿ããŒã¹ã¹ãã·ã£ãªã¹ãã«ã¯éåžžã«å ·äœçãªé çã®çš®ããããŸãã
ã€ã³ã¿ãŒãããã®æé·ã«äŒŽãããœãããŠã§ã¢éçºè ã¯ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ããã®ãããªè² è·ãåŠçã§ããªãããšãçºèŠããŸããã æ°çŸäžã®ããŒã¿ããŒã¹ãææã§å«ã³ããŸãã§çªç¶æ²é»ããéè² è·ã«ãªã£ããã®ããã«ããã©ãŒã¹ã«ã¯inããããŸããã
ãã®åŸã2ã€ã®æ°ããã€ã³ã¿ãŒããããžã£ã€ã¢ã³ããçªç Žå£ãéããŸãã-ããŒã¿éã®å¢å ã®åé¡ã解決ããããã«èšèšãããç¬èªã®åæ£éãªã¬ãŒã·ã§ãã«ã·ã¹ãã ãéçºããŸããïŒMapReduceïŒ 2004幎ã®å ¬é ïŒããã³Googleã®BigtableïŒ 2006幎ã®å ¬é ïŒããã³DynamoïŒ 2007幎ã®å ¬é ïŒã¢ããŸã³ããã è¥æ²ãªåå£ã«èœã¡ããããªãã·ã¥ãããèšäºã¯ãéãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®è¯ãåç©«ããããããŸããïŒHadoopïŒMapReduceã 2006ã«åºã¥ãïŒãCassandraïŒèè ã¯BigtableãšDynamoã«è§ŠçºãããŸããã 2008 ïŒãMongoDBïŒ 2009 ïŒãªã©ãæ°ããã·ã¹ãã ã¯äž»ã«ãŒãããäœæããããããSQLã䜿çšããªãã£ãããããNoSQLã®åãããæ¡å€§ããŸããã
GoogleãšAmazonã®äœæã¯ãèè èªèº«ãæ³å®ãããããã¯ããã«åºç¯ã«åºãã£ãŠããããã§ãã ãããŠããããèµ·ãã£ãçç±ã¯ç解ã§ããŸããNoSQLã·ã¹ãã ã¯æ°ãããã®ã§ããã ã¹ã±ãŒã©ããªãã£ãšãã¯ãŒãçŽæããŸããã éçºãæåãããããã®æã£åãæ©ãæ¹æ³ã®ããã«æããŸããã ãããŠãåé¡ãåºå§ããŸããã

NoSQLã®èªæã«è² ããéçºè ã ããããªãã§ãã ããã
éçºè ã¯ããã«ãSQLã®æ¬ åŠãå®éã«å€§å¹ ã«å¶éããããšã«æ°ä»ããŸããã åNoSQLããŒã¿ããŒã¹ã«ã¯ç¬èªã®ã¯ãšãªèšèªãããã次ã®ããšãæå³ããŸãããããå€ãã®èšèªãåŠç¿ããïŒããã³ååãèšç·ŽããïŒå¿ èŠããããŸããã ãããã®ããŒã¿ããŒã¹ãã¢ããªã±ãŒã·ã§ã³ã«æ¥ç¶ããããšã¯ããå°é£ã§ãããããã«ãã倧éã®äžå®å®ãªããã«ãŠã§ã¢ãäœæããå¿ èŠããããŸããã ãµãŒãããŒãã£ã®ãšã³ã·ã¹ãã ããªã-ããã¯ãäŒæ¥ãããŒã¿ããŒã¹ãèŠèŠåããŠæäœããããã®ç¬èªã®ããŒã«ãéçºããå¿ èŠãããããšãæå³ããŸãã
NoSQLèšèªãç»å Žããã°ãããªã®ã§ãå®å šã«åŒã³åºãããšã¯ã§ããŸããã§ãããããšãã°ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã§ã¯ãé·å¹Žã«ããã£ãŠãå¿ èŠãªæ©èœãSQLã«è¿œå ããäœæ¥ãè¡ããŸããïŒããšãã°ãJOINïŒã ãã®ãããªæªçãã¯ãã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã§ã®è€éããæå³ããŸãã JOINæŒç®åãååšããªãããšãéæ£èŠåã«ã€ãªãããããŒã¿ã®èšåŒµãšæè»æ§ã®æ¬ åŠããããããŸããã
NoSQLãã£ã³ãã®äžéšã®ããŒã¿ããŒã¹ã«ã¯ãç¬èªã®SQLã«äŒŒãã¯ãšãªèšèªãè¿œå ãããŠããŸãïŒCassandraããŒã¿ããŒã¹ã®CQLãªã©ïŒã ãããŠããã°ãã°ããæªããªãã ãã§ãïŒããäžè¬çãªãã®ãšã»ãŒäžèŽããã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšãããšãå®éã«ã¯ãããå€ãã®ç²Ÿç¥çãªåªåãå¿ èŠã«ãªããŸãã

SQLã«äŒŒãã¯ãšãªèšèªã¯ãã¹ã¿ãŒãŠã©ãŒãºã®ãããªããŒã¹ãã·ã£ã«ãšãã£ã·ã§ã³ãã«äŒŒãŠããŸãã æš¡å£ãé¿ããŸãã ïŒãããŠããç¹å¥ãªäŒæ¥ã®åé¡ããèŠãªãã§ãã ãããïŒ
ãã§ã«åæ段éã«ããäžéšã®å°é家ã¯ãNoSQLã§åé¡ãçºèŠããŸããïŒããšãã°ã DeWittãStonebreaker-2008幎 ïŒã æéãçµã€ã«ã€ããŠã圌ãã¯åœŒãèªèº«ã®ããŒããªçµéšãããããã®åé¡ãæãããŸããŸãå€ãã®ãœãããŠã§ã¢éçºè ã«ãã£ãŠå ãããŸããã
ããŒã3. SQLãªã¿ãŒã³
æåã¯ãããŒã¯ãµã€ããã«èªãããŠããœãããŠã§ã¢éçºè ã¯ããã«å ãèŠãŠãåŸã ã«SQLã«æ»ãå§ããŸããã
æåã¯ãSQLã€ã³ã¿ãŒãã§ãŒã¹ãHadoopããã³ïŒå°ãåŸã§ïŒSparkãã©ãããã©ãŒã ã®äžã«ç»å Žãããããæ¥çã¯ãSQLã ãã§ãªããããNoSQLããšããŠç解ãå§ããŸããïŒè¯ãè©Šã¿ã§ãïŒã
次ã«ãNewSQLãç»å ŽããŸããããnew SQLãã¯ãå®å šãªSQLãµããŒããåããã¹ã±ãŒã©ãã«ãªããŒã¿ããŒã¹ã§ãã ãªã³ã©ã€ã³ãã©ã³ã¶ã¯ã·ã§ã³åŠçïŒOLTPïŒãåããæåã®ã¹ã±ãŒã©ãã«ãªããŒã¿ããŒã¹ã®1ã€ã¯ãããµãã¥ãŒã»ããå·¥ç§å€§åŠãšãã©ãŠã³å€§åŠã®Hã¹ãã¢ïŒ 2008幎ã«å ¬é ïŒã§ããã ãŸããGoogleã¯éçºãªãã§ã¯ã§ããŸããã§ããïŒSpannerã«é¢ããæåã®èšäºïŒ 2012幎ã®åºçç© ãèè ã®äžã«ã¯MapReduceã®ã¯ãªãšã€ã¿ãŒãããŸãïŒãå瀟ã¯SQLã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšãããžãªã¬ããªã±ãŒã·ã§ã³ããŒã¿ããŒã¹ãžã®åããäž»å°ããCockroachDBïŒ 2014 gã ïŒã
åæã«ãPostgreSQLã³ãã¥ããã£ã埩掻ãå§ããŸããïŒããšãã°ãJSONããŒã¿ã¿ã€ãïŒ2012ïŒã PostgreSQL 10ã®æ°æ©èœã®ãµã©ããªã©ãéèŠãªæ¹åãç»å ŽããŸããïŒã»ã¯ã·ã§ãã³ã°ãšã¬ããªã±ãŒã·ã§ã³ã®çµã¿èŸŒã¿ãµããŒãã®æ¹åãJSONã®å šææ€çŽ¢ã®ãµããŒããªã©ãã®ä»ïŒä»å¹Ž10æã«ãªãªãŒã¹ïŒã CitusDBïŒ 2016 ïŒããããã®è¡ã®èè ïŒ TimescaleDB ã ä»å¹ŽãªãªãŒã¹ ïŒãªã©ã®ä»ã®éçºè ã¯ãç¹æ®ãªã¯ãŒã¯ããŒãåãã«PostgreSQLãã¹ã±ãŒãªã³ã°ããæ°ããæ¹æ³ãçºèŠããŸããã

TimescaleDBã®éçºã§èŸ¿ã£ãéã¯ãæ¥çå šäœãšéåžžã«ãã䌌ãŠããŸãã åæã®å éšããŒãžã§ã³ã§ã¯ãTimescaleDBã«ã¯ç¬èªã®SQLã©ã€ã¯ãªã¯ãšãªèšèªãioQLãããããŸãããã¯ããããŒã¯ãµã€ããç§ãã¡ãèªæããŸãããç§ãã¡èªèº«ã®ã¯ãšãªèšèªã倧ããªå©ç¹ã§ããããã«æãããŸããã æåã¯ãããã¯è€éã«èŠããŸããã§ãããããããŠäºæ³ä»¥äžã«å€ãã®äœæ¥ãããããšãããããŸãããããšãã°ãæ§æã決å®ãããã³ãã¯ã¿ããéçºãããŠãŒã¶ãŒã«ãã®èšèªãæããå¿ èŠããããŸãããç§ãã¡ã¯èªåã®èšèªã§ãããšããããšã§ãïŒ -ã¯ãšãªã®æ£ããæ§æãåžžã«æ¢ããŠãããSQLã§å®å šã«è¡šçŸã§ããŸãã
ãããã£ãŠãç¬èªã®ã¯ãšãªèšèªãéçºããããšã¯ç¡æå³ã§ããããšã«æ°ä»ãããšãã§ãã ããã«ãããSQLã«åãæ¿ããæé«ã®æè¡ãœãªã¥ãŒã·ã§ã³ã®1ã€ã§ããããšãå€æããŸããããŸã£ããæ°ããäžçãç§ãã¡ã«éãããŸããã çŸåšãç§ãã¡ã®ããŒã¿ããŒã¹ã¯ãŸã 5ãæåã§ããããŠãŒã¶ãŒã¯æ¢ã«ããŒã¿ããŒã¹ã䜿çšããŠããã«äœ¿çšã§ããããã«ãèŠèŠåããŒã«ïŒTableauïŒãã人æ°ã®ORMã®ã³ãã¯ã¿ãŒãå€ãã®ããã¯ã¢ããããŒã«ãšãªãã·ã§ã³ãããã¥ã¢ã«ãšãã³ãã«é¢ããå€ãã®çŽ æŽãããæ©èœãåããŠããŸãæ§æãªã©
ç§ãã¡ã®èšèãåãå ¥ããå¿ èŠã¯ãããŸãããGoogleãäœãããã®ãèŠãŠã¿ãŸãããã

10幎以äžã«ããããGoogleã¯ããŒã¿ããŒã¹éçºãšé¢é£ã€ã³ãã©ã¹ãã©ã¯ãã£ã®æåç·ã«ããŸãã ãããã£ãŠã圌ããããŠããããšã«çŽ°å¿ã®æ³šæãæãå¿ èŠããããŸãã
æè¿ãªãªãŒã¹ãããSpannerããŒã¿ããŒã¹ã«é¢ãã2çªç®ã®äž»èŠãªGoogleã®åºçç©ïŒ SpannerïŒBecoming a SQL System-ãSpanner into a SQL systemãã2017幎5æïŒãèŠããšãç§ãã¡ãå°éããçµè«ã確èªãããŠããããšãããããŸãã
ããšãã°ãGoogleã®ãšã³ãžãã¢ã¯Bigtableã§ã·ã¹ãã ãæ§ç¯ãå§ããŸããããSQLããªãããã«åé¡ãçºçããããšãããããŸããã
ããããã®ã·ã¹ãã ã¯ããŒã¿ããŒã¹ãšããŠããã€ãã®å©ç¹ãæäŸããŸããããã¢ããªã±ãŒã·ã§ã³éçºè ããã°ãã°äŸåããåŸæ¥ã®ããŒã¿ããŒã¹æ©èœã®å€ããæ¬ ããŠããŸããã éèŠãªäŸã¯ãããèãæãããã¯ãšãªèšèªã®æ¬ åŠã§ãããã®ãããããŒã¿ãåŠçããã³éèšããã¢ããªã±ãŒã·ã§ã³ã®éçºè ã¯è€éãªã³ãŒããæžãå¿ èŠããããŸããã ãã®çµæãSpannerããã¯ãšãªã®å®è¡ãããŒã¿ããŒã¹ã®ä»ã®ã¢ãŒããã¯ãã£æ©èœïŒå³å¯ãªäžè²«æ§ãã°ããŒãã«ã¬ããªã±ãŒã·ã§ã³ãªã©ïŒãšå¯æ¥ã«é¢é£ããå®å šã«æ©èœããSQLã·ã¹ãã ã«å€ããããšã«ããŸããã
èšäºã®åŸåã§ã圌ãã¯NoSQLããSQLãžã®ç§»è¡ããã詳现ã«å®èšŒããŠããŸãã
ãå ã®SpannerããŒã¿ããŒã¹APIã«ã¯ããã€ã³ãæ€çŽ¢ãå®è¡ããããŸããŸãªç¯å²ã®ã€ã³ã¿ãŒãªãŒãããŒãã«ãæ€çŽ¢ããããã®NoSQLã¡ãœããããããŸããã ãNoSQLã®ã¡ãœããã䜿çšãããšãã·ã¹ãã ã®èµ·åãç°¡åã«ãªããåçŽãªæ€çŽ¢ã¿ã¹ã¯ã«ã䟿å©ã«ãªããŸããããããŒã¿ãžã®ã¢ã¯ã»ã¹ãããŒã¿ã®èšç®ã®ããè€éãªãã¿ãŒã³ãèšè¿°ããå ŽåãSQLã«ã¯å€§ããªå©ç¹ããããŸã
ãŸãããã®èšäºã¯ãSQLãžã®ç§»è¡ãSpannerãããžã§ã¯ãã§æ¢ãŸã£ãã®ã§ã¯ãªããå®éã«ã¯äŒç€Ÿã®ä»ã®ãã¯ãããžãŒã«ãåºãã£ãŠãããšè¿°ã¹ãŠããŸããä»æ¥ã§ã¯ãSQLã®äžè¬çãªæ¹èšãããã€ãã®ã·ã¹ãã ã§äœ¿çšãããŠããŸãïŒ
ãSpannerããŒã¿ããŒã¹ã®SQLã³ã¢ã¯ãå éšïŒF1ãšDremelã®éïŒãšå€éšã·ã¹ãã ïŒBigQueryãªã©ïŒã®äž¡æ¹ãå«ãä»ã®ããã€ãã®Googleã·ã¹ãã ãšçµã¿åãããŠãæšæºSQLãã䜿çšããŸã...
瀟å ã®ãŠãŒã¶ãŒã«ãšã£ãŠããã®ã¢ãããŒãã¯è€æ°ã®ã·ã¹ãã ã§äœæ¥ããéã®éå£ãæžãããŸãã Spannerã§SQLã¯ãšãªãäœæããéçºè ãŸãã¯ããŒã¿ã¢ããªã¹ãã¯ãæ§æã®è€éããNULLåŠçãªã©ãå¿é ããããšãªããDremelã·ã¹ãã ã§ã¹ãã«ã䜿çšã§ããŸãã
ãã®ã¢ãããŒãã®æåã¯ãããèªäœãç©èªã£ãŠããŸãã çŸåšãSpannerã¯ãAdWordsãGoogle Playãªã©ã®äž»èŠãªGoogleã·ã¹ãã ã®ãã©ãããã©ãŒã ã§ãããšåæã«ãã æœåšçãªã¯ã©ãŠããã©ãããã©ãŒã ã®é¡§å®¢ã¯ãSQLã®äœ¿çšã«å§åçã«é¢å¿ãæã£ãŠããŸããã
NoSQLã®åãããããããGoogleãä»æ¥SQLã«æ»ã£ãŠããããšã¯æ³šç®ã«å€ããŸãã ïŒãããã£ãŠãäžéšã®äººã¯çåã«æã£ãïŒã Googleã®éçºè ã¯ããã°ããŒã¿æ¥çã10幎ééªéããªãã£ãã®ãïŒ ãïŒ
ããŒã¿åŠçæ¥çã®æªæ¥ïŒããã«ããã¯ãšããŠã®SQL
ã³ã³ãã¥ãŒã¿ãããã¯ãŒã¯ã«ã¯ãããã«ããã¯ãªã©ããããŸãã
ãã®ã¢ã€ãã¢ã¯ã次ã®ããã«å®åŒåã§ããäž»ãªåé¡ã解決ããããã«çãŸããŸããã ãããã¯ãŒã¯ããã€ã¹ãåããäžã®æ©åšå±€ãšäžã®ãœãããŠã§ã¢å±€ã®äžçš®ã®ããã€ããæ³åããŠãã ããã ãããã¯ãŒã¯ããã€ã¹ã¯å€§ããç°ãªãå ŽåããããŸãã å€ãã®ç°ãªãã¢ããªã±ãŒã·ã§ã³ããœãããŠã§ã¢ãåæ§ã§ãã ã¿ã¹ã¯ã¯ã䜿çšããæ©åšã«é¢ä¿ãªãããœãããŠã§ã¢ããããã¯ãŒã¯ã«æ¥ç¶ã§ããããã«ããããšã§ãã ãããã¯ãŒã¯æ©åšã¯ããœãããŠã§ã¢ã«é¢ä¿ãªãããããã¯ãŒã¯èŠæ±ã®åŠçæ¹æ³ãç¥ãå¿ èŠããããŸãã

ãããã¯ãŒã¯æè¡ã®ããã«ããã¯ïŒ ãœãŒã¹ ïŒ
ãããã¯ãŒã¯ã§ã¯ãIPã®ããã«ããã¯ã¯ããã«ããã¯ã§ããããã¯ãããŒã«ã«ãããã¯ãŒã¯åãã®äœã¬ãã«ãããã¯ãŒã¯ãããã³ã«ãšãé«ã¬ãã«ã®ã¢ããªã±ãŒã·ã§ã³ããã³ãã©ã³ã¹ããŒããããã³ã«ãšã®éã®å ±éã€ã³ã¿ãŒãã§ãŒã¹ãšããŠæ©èœããŸãã ïŒ ããã«è¯ã説æããããŸããïŒãããŠãç°¡çŽ åããããã«ããã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯ã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ã§äžè¬çã«åãå ¥ããããŠããŸããããã«ããããããã¯ãŒã¯ãæ¥ç¶ããããã€ã¹éã§ããŒã¿ã亀æã§ããŸãã ãããŠããã®ããããã¯ãŒã¯ã®ãããã¯ãŒã¯ãã¯ãä»æ¥ç¥ãããŠããããã«ãããŸããŸãªæ å ±ã«æºã¡ãå€é¢çãªã€ã³ã¿ãŒãããã«å€ãããŸããã
ãã®èšäºã®èè ã¯ãSQLãããŒã¿åæã®ããã«ããã¯ã«ãªã£ããšèããŠããŸãã
ç§ãã¡ã¯ãããŒã¿ããäžçã§æã貎éãªãªãœãŒã¹ãã«ãªãã€ã€ããæ代ã«çããŠããŸãïŒ ãšã³ããã¹ãã2017幎5æ ïŒã ãã®çµæãç¹æ®ãªããŒã¿ããŒã¹ïŒOLAPãæç³»åããŒã¿ããŒã¹ãããã¥ã¡ã³ãçšããŒã¿ããŒã¹ãã°ã©ããªã©ïŒãããŒã¿åŠçããŒã«ïŒHadoopãSparkãFlinkïŒãããŒã¿è»¢éãã¹ïŒKafkaãRabbitMQïŒã®ãã«ã³ããªã¢ççºãã芳å¯ããããšãã§ããŸããã ïŒãªã©ããµãŒãããŒãã£ã®èŠèŠåããŒã«ïŒTableauãGrafanaãPowerBIãSupersetïŒãWebãã¬ãŒã ã¯ãŒã¯ïŒRailsãDjangoïŒããŸãã¯ããŒã¿ããŒã¹ã䜿çšããç¹å¥ã«èšèšãããã¢ããªã±ãŒã·ã§ã³ãªã©ããã®ãããªããŒã¿ã€ã³ãã©ã¹ãã©ã¯ãã£ã§åäœããå€æ°ã®ã¢ããªã±ãŒã·ã§ã³ãç»å ŽããŠããŸãã

ã³ã³ãã¥ãŒã¿ãããã¯ãŒã¯ã®å Žåãšåæ§ã«ãäžéšã«ã€ã³ãã©ã¹ãã©ã¯ãã£ããããäžéšã«ã¢ããªã±ãŒã·ã§ã³ãããè€éãªããã€ãããããŸãã ååãšããŠããã®ãã€ãæ©èœãããã«ã¯ãå€ãã®æ¥ç¶ã³ãŒããäœæããå¿ èŠããããŸãã ãããããã®ãããªã³ãŒãã¯ä¿¡é Œã§ããŸãããæ éã«ä¿å®ããå¿ èŠããããŸãã
ãã®ãã€ã®åéšåãçžäºã«ããåãã§ããããã«ããå ±éã®ã€ã³ã¿ãŒãã§ãŒã¹ãå¿ èŠã§ãã äœãããããã§ã«æ¥çæšæºãšãªã£ãŠãããã®ããããŸãã æå°éã®åŽåã§ç°ãªãã¬ã€ã€ãŒã亀æã§ããããã«ãããã®ã
ãããŠããããSQLã®å Žæã§ããIPãšåæ§ã«ãSQLã¯äžè¬çãªã€ã³ã¿ãŒãã§ã€ã¹ã§ãã
ããããSQLã¯äŸç¶ãšããŠIPãããã³ã«ãããæ®éçã§ãã人ã ã¯ããŒã¿ãåæããå¿ èŠããããSQLèšèªã®ã¯ãšãªã¯æå³ãããšããã«äººãèªãããšãã§ããŸãã
SQLã¯å®ç§ã§ããïŒ ãã ããããã»ãšãã©ã®ããŒã¿ããŒã¹ã®å°é家ã«ããç¥ãããŠããã®ã¯ãã®èšèªã§ãã ãã¡ãããã©ããã§ãèªç¶èšèªã«ããçŠç¹ãåœãŠãã€ã³ã¿ãŒãã§ã€ã¹ã®äœæ¥ããã§ã«é²è¡äžã§ããããã®ãããªã·ã¹ãã ã¯äœã«æ¥ç¶ãããŸããïŒ SQLãžã
ãããã£ãŠããã€ã®æäžéšã«ã¯å¥ã®ã¬ã€ã€ãŒãããããã®ã¬ã€ã€ãŒãç§ãã¡ã§ãã
SQLãè¿ã
SQLãè¿ã-ããã®äž»ãªçç±ã¯ãNoSQLããŒã«ãæ¥ç¶ããããã®ããã«ãŠã§ã¢ãæžãã®ãéå±ã ããã§ã¯ãããŸããã ãããŠãå€ãã®æ°ããèšèªã§å°é家ãèšç·Žããããšã¯é£ãããšããããšã§ã¯ãããŸããã ãããŠããã®åºæºãèããã¹ãã§ã¯ãããŸããã
äž»ãªçç±ã¯ãç§ãã¡ã®äžçã¯ããŒã¿ã§ãã£ã±ãã ããã§ãã ãããããããç§ãã¡ã¯èªåã®æèŠãšç¥çµç³»ã«é Œã£ãŠãããåŠçããŠããŸããã ä»ãç§ãã¡ã®ããŒããŠã§ã¢ã·ã¹ãã ãšãœãããŠã§ã¢ã¯ãç§ãã¡ãå©ããã®ã«ååã¹ããŒãã«ãªã£ãŠããŸãã ç§ãã¡ã¯ç§ãã¡ã®åšãã®äžçãããããç解ãããã®ã§ãããå€ãã®ããŒã¿ãåéããŠããŸã-ãããã£ãŠããã®ããŒã¿ãä¿åãåŠçãåæãèŠèŠåããã·ã¹ãã ã®è€éãã¯ãŸããŸã倧ãããªããŸãã

äŸç°ããŒã¿åŠçãŠã£ã¶ãŒã
ç§ãã¡ã«ã¯éžæè¢ããããŸãïŒè匱ãªã·ã¹ãã ãšæ°çŸäžã®ã€ã³ã¿ãŒãã§ãŒã¹ã®äžçã«äœãããSQLã«æ»ã£ãŠãã©ãŒã¹ã®äžåè¡¡ãå埩ããŸãã
翻蚳è ã«ã€ããŠ
ãã®èšäºã¯Alconostã«ãã£ãŠç¿»èš³ãããŸããã
Alconostã¯ã ã²ãŒã ã ã¢ããªã±ãŒã·ã§ã³ãããã³ãµã€ãã68èšèªã§ããŒã«ã©ã€ãºããŠããŸãã ãã€ãã£ãèšèªã®ç¿»èš³è ãèšèªãã¹ããAPIãåããã¯ã©ãŠããã©ãããã©ãŒã ãç¶ç¶çãªããŒã«ãªãŒãŒã·ã§ã³ã24æé365æ¥ã®ãããžã§ã¯ããããŒãžã£ãŒããããã圢åŒã®æååãªãœãŒã¹ã
ãŸããGoogle PlayãšApp Storeã®è²©å£²ãç»åãåºåãæè²ããã£ãŒã¶ãŒããšã¯ã¹ãã©ã€ããŒãäºåç·šã®ãµã€ãåãã«ã åºåããã³æè²çšãããªãäœæããŠããŸãã
è©³çŽ°ïŒ https : //alconost.com