ãã®èšäºã¯ã次ã®å Žåã«åœ¹ç«ã¡ãŸãã
- æ°ãããããžã§ã¯ãã®ããŒã¿ããŒã¹ãéžæããããŸããŸãªãªãã·ã§ã³ã«é¢ããæ å ±ãåŠç¿ããŸãã
- çŸåšã®ããŒã¿ããŒã¹ã¯äžéšã®ãã©ã¡ãŒã¿ãŒã«é©ããŠããªããšèãããããå€æŽãããã®ã§ãããåªç§ãªå°é家ãããŸããã
- ããã€ãã®ããŒã¿ããŒã¹ã«ã€ããŠããããŠãããããã€äœ¿çšã§ãããã«ã€ããŠã1ã€ã®èšäºã§èªã¿ããã ãã§ãã
ç§ã®èšäºã¯ããªãã®ããã§ã¯ãããŸããïŒ
- ãæ°ã«å ¥ãã®ããŒã¿ããŒã¹ãã¯ãã¯ããæ¹æ³ãã€ã³ããã¯ã¹ãæé©åããæ¹æ³ã調æŽããæ¹æ³ãªã©ãç¥ã£ãŠããã
- ãããžã§ã¯ãã«å¿ èŠãªãªãã·ã§ã³ãåççã«éžæã§ããã¹ã¿ããã®åªããã¹ãã·ã£ãªã¹ããããŸãã å°é家ã¯ãããœãã¡ã®å°é家ãã§ã¯ãªããæ¬åœã«åªç§ã§ãªããã°ãªããŸããã
- ãããããããã°ããŒã¿ãã䜿çšããŠãããžã§ã¯ãã«ãµãŒãã¹ãæäŸããŠããŸããã€ãŸãã巚倧ãªããŒã¿ããŒã¹ãã¯ã©ã¹ã¿ãŒå ã«æ°åãŸãã¯æ°çŸã®ãµãŒããŒãããããã¹ãŠãããã§ãã
ãã®èšäºã§ã¯äœãè°è«ãããŸããïŒ
ç§ã®èšäºã§ã¯ãããŒã¿ããŒã¹ãéžæããããã®å žåçã§ããŸããªãã·ã§ã³ã§ã¯ãªãããã€ãã®ãªãã·ã§ã³ã«ã€ããŠèª¬æããŸãã ã»ãšãã©ã®äººã䜿çšãããã®ã«çŠç¹ãåããããšãããããŠããªããäœãæ°ããããšãæªç¥ã®ãã®ã«ã€ããŠèããããšãã§ãããšãã DBMS MySQLãPostgreSQLãMongoDBãRedisãCouchDB / PouchDBã説æããTarantoolã䜿çšããAerospikeãããã€ã玹ä»ããŸãããç¹å®ã®éžæã¯ããã»ã©éèŠã§ã¯ãããŸããã DBMSãéžæããããããæåã«ããŒã¿æ§é ãæ£ããèšèšããæ¹ãããããšãç解ããå¿ èŠããããŸãããã®åŸãDBMSã«æ ŒçŽãããã®ãèãåºãããšããŸãã
ããã§ã¯å§ããŸãããã
å°ããªåå·®ïŒ
- ç§ã®èšç®ã¯ç©¶æ¥µã®çå®ã§ã¯ãããŸããã å®éã®äœ¿çšã«åºã¥ããŠããã€ãã®çµè«ãåºããã€ã³ã¿ãŒãããäžã®æ å ±ã«åºã¥ããŠããã€ãã®çµè«ãåºããä»ã®äººã ãšè°è«ããŸããã ããã€ãã®çµè«ã¯å®éã®åé¡ã«åºã¥ããŠãããããã€ãã¯çŽç²ã«çè«çãªã¢ã€ãã¢ã«åºã¥ããŠããŸãã ãã®æ å ±ã¯ãã¹ãŠã€ã³ã¿ãŒãããäžã§äœããã®åœ¢ã§ååšããŸãããããªãæ£åšããŠããŸããã1ãæã§ç°¡æœã«èª¬æããããšæããŸãã
- å·çæç¹ã§ç©æ¥µçã«éçºãããŠãããšåæã«ãé·æéå®å®ããŠååšãã補åã®ã¿ãæ€èšããŸãã ç¹°ãè¿ããŸãããç§ã®æèŠã§ã¯ããããžã§ã¯ãã«äœããéžæããããã®æ¡ä»¶ã®1ã€ã¯ã補åãååã«å®å®ããåäœãã倧ãããŠããçºéããã³ãã¥ããã£ãæã€ããšããã®äœ¿çšã¯ã¿ã³ããªã³ãšã®è€æ°æ¥éã®ãã³ã¹ãªã©ã«é¢é£ããªãããšã§ã ãããŠéèŠãªããš-åçšãµããŒããå ¬åŒã«äœ¿çšããããã«ãã£ãŠéçºè ããä¿èšŒãååŸããæ©äŒãããã¯ãã§ãã ä»ã®å€ãã®ãªãã·ã§ã³ãããããšãå¿ã«çããŠããå¿ èŠããããŸããããããã¯æªå å·¥ã§ããããããžã§ã¯ãã«ãããã䌎ãã«ã¯ãè¿œå ã®äžåçãªåªåãããå¿ èŠããããŸãã ããŸãæåããŠããªãã人æ°ããããŸãã
- ã³ã¡ã³ãã§ããªãã®æèŠãèªãã§ããããã§ãã ãããŠãèšè¿°ãããããŒã¿ããŒã¹ã«ã€ããŠã ãã§ãªãã ãããŠãç§ã ãã§ãªããå€ãã®äººãããŒã¿ããŒã¹ã«ã€ããŠã®åççãªæèŠãèªãããšã«èå³ããããšæããŸãã
- æãéèŠãªããšã¯ç¹°ãè¿ããŸãããããã§ã¯å€§èŠæš¡ãªãããžã§ã¯ãã«ã€ããŠã¯èª¬æããŸããã ãã®ãããªãããžã§ã¯ãã«ã¯ãéåžžããã§ã«ç¬èªã®ã¢ãŒããã¯ããŸãã¯ç¥èã®ãã人ãšãæè¯ã®éžæãæäŸããã®ã«ååãªè³éããããŸãã 誰ãç¥ã£ãŠãããããããŸããããç§ã®èšç®ãšãããã¯åœ¹ã«ç«ã€ã§ãããã
ã§ã¯ãèªåã§è³ªåããŸãããã
- ããªãã¯ã©ãã»ã©ä¿å®çã§ãããããªãã¯æ°ãããã®ãæãäžãããã§ããïŒ
- èããããªãããŸãã¯ãã®éã¯ãããŒã¿ããŒã¹ããã€ã¹ã培åºçã«æãäžãããã§ããïŒ
- ããªãã®ããŒã ã®ããã°ã©ããŒã¯ã©ãã ãåªããŠããŸããïŒããŒã¿ããŒã¹æ§é ãæèœã«æ§æããããšãã§ããŸããïŒãããšããããDBMSã®åªç§ãªã¹ãã·ã£ãªã¹ãã§ããïŒ
çããŸãããïŒ ããïŒ æ¬¡ã«ãDBMSããªã¹ããããã®å Žåã«æ³šæããããšããå§ãããŸãã
MySQL / MariaDB
人æ°ã®ããDBMSãŸãã¯ãå¿ é ãã¯ãã»ãšãã©ãã¹ãŠã®ãã¹ãã£ã³ã°ã«ãããŸãã ç°¡åã«ã€ã³ã¹ããŒã«ã§ããç¹å¥ãªèšå®ãªãã§æ£åžžã«åäœããŸãã é©åãªã¢ãããŒãã«ãããããŒãºã«åãããŠæè»ã«ã«ã¹ã¿ãã€ãºã§ããŸãã ãã ããèœãšãç©ŽããããŸããå Žåã«ãã£ãŠã¯ãDBMSãšããŒã¿æ§é ãã©ã®ããã«èª¿æŽããŠããéåžžã«çãããã¯ã«ãªãããããžã§ã¯ãã®é床ãäœäžããŸãã
MySQLã¯æ¬¡ã®å Žåã«æé©ã§ãã
-ããªãã¯ä¿å®çã§ãDBMSã®èšå®ãæãäžããããªããã€ã³ã¹ããŒã«ããŠåäœããŠããã ãã§ãïŒãŸãããŸãã¯ãã¹ãã£ã³ã°ã§ãäžãããããã®ã䜿çšããŠãã ããïŒã
-ããªãã¯ä¿å®æŽŸãªã®ã§ãæ§é çã«ã衚圢åŒã§èããŸãã MySQLãåŠçããŸãã
-ä»»æã®ããã°ã©ãã³ã°èšèªããã¬ãŒã ã¯ãŒã¯ãCMSãCMFãªã©-MySQLãšã®çµ±åããããŸãã
-æ°èŠã§ãããæ§é ããŒã¿ã管çããDBMSãå¿ èŠã§ãïŒã§ããã°1ã2ã®ã¬ãã€ããŸã§ïŒã
çæïŒ ãããããããéèŠãªDBMSãããã°ãå¥ã®DBMSãéžæããå¿ èŠããããŸãã
-å¹³å¡ãªããã©ãŒãã³ã¹ã æ¬åœã«äœãããã¥ãŒãã³ã°ããªãã§ãã ããã ã¯ã©ã¹ã¿ãŒã§ããããŸã圹ã«ç«ã¡ãŸããïŒèšå®ããå¿ èŠããããŸããããããããã¯ãŸã ã¿ã³ããªã³ã§èžã£ãŠããŸãïŒã 20 MB /ç§ã®ãªãŒããŒã®æ°å€ã«ã€ããŠè©±ããŠããŸãã å人çãªçµéšãããMySQLã¯ãã®ãããªãããŒãåããSSDãã£ã¹ã¯äžã§ã察å¿ã§ãããé床ãäœäžããããã«ãµãŒãã¹ã¯æ°å¹Žé調æŽãããè² è·ã«æé©ãªèšå®ã䜿çšãããŸããã ç®±ããåºããŠããã«èšå®ã§ããã®ã§ãå¿ èŠãªããŒã¯ããã«å°ãªããªããšæããŸãã
-ããŒã¿æ§é ã®å€æŽã¯ãç¹ã«ç°ãªãããŒãã«ã®ããŒã¿éã«å€æ°ã®é¢ä¿ãããå Žåãããã£ãŒã«ããåçŽã«è¿œå ããå Žåã§ããããªãæéããããããã»ã¹ã§ãã
-ãµãŒããŒã®äžå®å®æ§ã«å¯Ÿããæ床ã ããã¯ãPerconaã®XtraDBã䜿çšããå Žåã«ç¹ã«åœãŠã¯ãŸããŸãã MySQLãæ£åžžã«çµäºããªãå ŽåãããŒãã«ãšããŒã¿ããŒã¹ãç Žæããå¯èœæ§ãããããããã¡ããå®æçã«è¡ããšå®å šããã¯ã¢ããããã®ã¿åŸ©å ã§ããŸãã ãããŠç§ãä¿¡ããŠãããã¯åžžã«æãäºæ³å€ã®ç¬éã«èµ·ãããŸãã åçŽãªç¶æ³ã§ã¯ããã©ãŒãã³ã¹ãå埩ããã®ã«åœ¹ç«ã€ããŒã«ããããŸãããäžèœè¬ã§ã¯ãããŸããã ææ°ããã³çŸåšã®ããŒãžã§ã³ã§ã¯ã圌ãã¯ããã«ç©æ¥µçã«åãçµãã§ãããã¯ããã«åªããå®å®æ§ãšä¿¡é Œæ§ã宣èšãããŠããŸãã
PostgreSQL
äžçš®ã®ãã¹ããã³ãéåžžã«å€ããŠæèœãªDBMSã ããã¯ã»ãšãã©MySQLã«äŒŒãŠããŸãããããåªããŠããŸãã ãã ããæçãšã»ââããã¢ãããã§ããå¿ èŠããããŸãã å€ãã®éåžžã«å®å®ããDBMSã«ãããšãMySQLã®ããã«ããŒãã«ãåé€ãç Žå£ããããšã¯ã»ãšãã©äžå¯èœã§ãã ãããŠãããã¯éžæããéã®æ±ºå®çãªèŠå ãããããŸããã
PostgreSQLã¯æ¬¡ã®å Žåã«æé©ã§ãã
-ããªãã¯ä¿å®çã§ããïŒç¹°ãè¿ããŸãããããã§ãïŒãä¿¡é Œã§ããã¹ãã¬ãŒãžãå¿ èŠã§ãã
-ããªããŸãã¯ããªãã®å°é家ãPostgreSQLãèšå®ããã³äœ¿çšã§ããŸãã
-é©åã«æ§é åãããããŒã¿ãå¿ èŠã§ãããããŒã¿ã¹ããŒã ïŒJSON / BJSONïŒã«ã¯ããçšåºŠã®æè»æ§ããããŸãã
-ãµãŒãããŒãã£ã®ã©ã€ãã©ãªã䜿çšãããšãã¯ã©ã¹ã¿ãŒã«æ¡åŒµããããŒãã«ãåå²ããã®ãç°¡åã§äŸ¿å©ã§ãã ãããŠãããã¯ãã¹ãŠæ¬åœã«æ©èœããŸãã
ããããããã¯å®éã«ãã€ãã¹ãèšè¿°ããæ¹æ³ã§ã¯ãããŸãã...å ¬å¹³ã«ãç§ã¯ããŸãç·Žç¿ãæã£ãŠããŸããã§ãããç§ã¯äž»ã«å人ã®è©±ããå€æããŸãïŒ
-ãã®DBMSãé©åã«æºåããããã®çµéšãå¿ èŠã§ãã ãã以å€ã®å Žåã¯ãMySQLã䜿çšãããèªã¿é²ããããšããå§ãããŸãã
-ããã©ã«ãã®èªå¯ã·ã¹ãã ã¯ã䜿çšãŸãã¯èšå®æã«å°é£ãåŒãèµ·ããå¯èœæ§ãããã誰ããããã奜ãããã§ã¯ãããŸããã
ã¢ã³ãŽãã
ããããŸã å£ããŠããã³ããŒã®æ°-SQLãŸãã¯NoSQL ...ããããå Žåã«ãã£ãŠã¯ãMongoDBã¯MySQLãPostgreSQLãããã¯ããã«ããŸã察åŠã§ããŸãã ããšãã°ãç§ãç®æããå®éã®ã±ãŒã¹-ãã¹ãã£ã³ã°ã«é¢ããçµ±èšã®åéãšåŠçïŒCPUãI / Oãã¡ã¢ãªãªã©ã®è² è·ïŒ-MySQLã¯ãã®èšèã«ãŸã£ãã察åŠã§ããŸããã§ããã MongoDBã¯ããŸãåé¡ãªãåŠçããŸããã ããŒã¿ããŒã¹ã®å®¹éã¯200ã300 GBã«éããããŒã¿ã¹ããªãŒã ã¯100 MB / s以äžã«éããŸãã ææ矩ã«ãç§ã®æèŠã§ã¯ã
MongoDBã¯æ¬¡ã®å Žåã«æé©ã§ãã
-äºåã«å®çŸ©ãããæ確ãªããŒã¿æ§é ãæã£ãŠããªãããããŒã¿æ§é ãåçã«å€æŽã§ãããšä»®å®ããŸãïŒãã¡ãããããã¯SQLã§å®è¡ã§ããŸãããä»ã®çšèªã§èããå¿ èŠããããå€æŽã§ããŸãããåé¡ã¯ã©ãã ãæéãããããã§ãïŒ;
-ããªãæ·±å»ãªããŒã¿ïŒæ°åãŸãã¯æ°çŸGBïŒãèšç»ããŠããå ŽåãTKã®æ®µéã§ããããå€æã§ããŸãã
-NoSQLãå¿ èŠãªã ãã§ããã¡ãã·ã§ããã«ã§ãã
-ã€ã³ã¹ããŒã«ãšè©Šçšãç°¡åã§ãç¹å¥ãªèšå®ãªãã§æ£åžžã«åäœããŸãã ãããŠãããã«æ·±ãå匷ããã°ãããããã®èšå®ãã§ããŸãã
çæãã
-åçŽãªãã©ã³ã¶ã¯ã·ã§ã³ã¯ãããŸããã MySQL / PostgreSQLã®ããã«ãå°ãªããšãå€å žçãªåœ¢åŒã§ã¯ã çžäºã«äŸåãã倧éã®ããŒã¿ãè¿œå ããå Žåãã³ãŒãã¬ãã«ã§åå¥ã«è§£æ±ºããå¿ èŠãããç¹å®ã®åé¡ãçºçããå¯èœæ§ããããŸãã ãŸããã€ãŸããããªãã¯ãã¡ããåºããããªããããããŸãããã...;
-ããŒã¿æ¥ç¶ã¯å®è³ªçã«ãããŸããã ããã«æãæµ®ãã¶ãSQLããã®JOINã絶ããèšåãããŠããŸã-ããã¯æ¬è³ªçã«ã¯ãããŸããã ããæ£ç¢ºã«ã¯ãä»ã®ã«ããŽãªã§èããå¿ èŠããããŸãã
-NoSQLå°çšã®æèãåæ§ç¯ããå¿ èŠããããŸãã ããããªããšãä¿å®ãå°é£ã«ãªããŸããã€ãŸããå°æ¥ãåªããããã°ã©ããŒïŒããæ£ç¢ºã«ã¯ãœãããŠã§ã¢ã¢ãŒããã¯ãïŒãå¿ èŠã«ãªããŸãã
ã¬ãã£ã¹
ã»ãšãã©ã®å Žåããã®DBMSã¯ãããäœéãªå¥ã®DBMSããã®ããŒã¿ãæäœããããã®ãã£ãã·ã³ã°ã¬ã€ã€ãŒãšããŠäœ¿çšãããŸãã ãããäœããæããŠããããªããæé«ã®memcachedã®çœ®ãæãã ãŸãã§ãããããŒã¿ã®ã¹ã¿ã³ãã¢ãã³ããŒã¿ããŒã¹ãšããŠäœ¿çšã§ããŸãã åæã«ãRedisã¯ãªã¹ãããã¥ãŒãPub / Subãå«ãããŸããŸãªã¿ã€ãã®ããŒã¿ãå®è¡ã§ããTTLïŒããŒã®æå¹æéïŒã䜿çšããã®ã¯éåžžã«ç°¡åã§ãã ã¡ã¢ãªå ã§åäœããéåžžã«é«éã§ãããŒã¿ããã£ã¹ã¯ã«ä¿åããæ¹æ³ãç¥ã£ãŠãããäžæžãã®ãµããŒãïŒãã£ã¹ã¯ãžã®è² è·ãã¯ããã«å°ãªãïŒãšèµ·åæã«ããŒãããŸãã ã»ãŒããšã話ã
Redisã¯æ¬¡ã®å Žåã«æé©ã§ãã
-ããŒã¿éãå°ããããã³ãã¬ãŒããkey = valueãã«åãŸãéåžžã«ã·ã³ãã«ãªã¹ããŒã ã
-ãã¹ã¿ãŒã®ç°¡åãªå®è£ -ã¹ã¬ãŒãè€è£œã æ¬åœã«éåžžã«ç°¡åãªã»ããã¢ããã§ãããµãŒããŒæ§æã«ãŠã£ã¶ãŒããè¿œå ããRedis Serverãèµ·åããã ãã§ãããŒã¿ã¯æ¢ã«è€è£œãããŠããŸãã ãããããæè»ãªã¬ããªã±ãŒã·ã§ã³ïŒéšåïŒãæ§æããå¯èœæ§ã¯äœãããšãæ確ã«ããå¿ èŠããããŸãã
-Pub / SubïŒãã¥ãŒïŒãå¿ èŠã§ãã å ¬å¹³ãæãããã«ããã®ãã¿ãŒã³ã«å ããŠãä»ã®ãã®ãå®è£ ããå¥åã®Pub / Subã·ã¹ãã ããããšèšããªããã°ãªããŸããã Redisã¯ãããéåžžã«ãšã¬ã¬ã³ããã€ç°¡åã«å®è£ ããŸããä»ã®äººã¯å¿ èŠãªãã§ãããã
-é ãDBMSã®ãã£ãã·ã¥ãå¿ èŠãªå ŽåããŸãã¯ãã®ããªã¥ãŒã ã«æ³šç®ããŠDBMSã®é床ãèããããªãå Žåã äŸã¯ãMySQLã«ã¡ã€ã³ããŒã¿ããŒã¹ãRedisã«ãã£ãã·ã¥ãããDrupalã®ãµã€ãã§ãã éåžžã®abã«èå³ãæãããããã«ãã¹ããå®æœãããšãã³ã³ãã³ãé ä¿¡ã®é床ãå€§å¹ ã«åäžããŸãã éåžžã®Apache + Redis + mod_phpã§ã¯ãNginx + php-fpmãšåçã®ããã©ãŒãã³ã¹ãå®çŸã§ããŸãããŸããReginãNginxã«è¿œå ãããš...
æ¬ ç¹ããããŸãã
-ããŒã¿ã®éã¯ããµãŒããŒäžã®ç©ºãRAMã®éãè¶ ããŠã¯ãªããŸããïŒå®éã«ã¯äœ¿çšã§ããŸããããã®åŸããã¹ãŠã®ã¹ã¯ãããã¹ã¯ããã«ãªããå€§å¹ ã«ã¹ããŒããŠã³ããŸããäžè¬çã«ã¯é¿ããã¹ãã§ãïŒã
-ããã©ãŒãã³ã¹ã®ããã«ãããŒã¿ã®å®å šæ§ã¯ããªã匱ãã§ãã ã€ãŸããããŒã¿ãè¿œå ãããããšã¯ãããããŸãããåèµ·ååŸã¯è¿œå ãããŸããã AOLïŒãã¡ã€ã«ã®è¿œå ïŒãæå¹ã«ãããšãç¶æ³ã¯å°ãã¹ã ãŒãºã«ãªããŸããããã£ã¹ã¯ããã®ããŒãã¯éåžžã«é·ããªããŸãã
-ãã©ã³ã¶ã¯ã·ã§ã³ãšé¢é£ããŒã¿ã¯å¯èœãªãã®ã§ã¯ãããŸããã ããæ£ç¢ºã«ã¯ãPipelineãšMulti / ExecããããŸãããããã¯ãŸã å€å žçãªæå³ã§ã®ãã©ã³ã¶ã¯ã·ã§ã³ã§ã¯ãããŸããã
-ã¯ã©ã¹ã¿ãŒåãšã·ã£ãŒãã£ã³ã°ãéåžžã©ããè¡ãæ¹æ³ããŸã ããããŸããã éåžžã®å®è£ ã¯ãŸã ãããŸããã
ãã¡ãããç¹å¥ãªã¹ã¯ãªããã䜿çšããŠãã¯ã©ã¹ã¿ãŒã«äŒŒãäœãã«è² æ ãããããå®è¡ãããã§ããŸãããç§ã®æèŠã§ã¯ãããªãæ²ãã£ãŠãããæé©ã§ã¯ãªãããã«èŠããŸãã
代æ¿æ¡
å人çãªçµéšãã€ã³ã¿ãŒãããã®é²èŠ§ãããŸããŸãªèšäºãã¬ãã¥ãŒã®å匷ããã以åã®ãªãã·ã§ã³ã«æ £ããŠããªãå Žåã«é©çšã§ããããã€ãã®ç°ãªããªãã·ã§ã³ã«åºäŒããŸããã ããã§ããã£ãšé¢çœããããžã§ã¯ãã«äŒã£ãŠãã ããã
IBM Lotus Domino / Notes
ç§ã®æèŠã§ã¯ãæåããåæ¥ãããžã§ã¯ãã®æãæ確ãªäŸã¯ãNoSQLã³ã³ã»ããã®DBMSã§ãã æåã¯ããããNoSQLã§ã¯ãªããçµã¿èŸŒã¿ã®ã³ãŒããšãã£ã¿ãŒãšããŒã¿ããŒã¹ãžã®ã€ã³ã¿ãŒãã§ã€ã¹ãåããæ¬æ Œçãªã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã®ååšäžã§ãããšæãããŸããã ãã®ãœãªã¥ãŒã·ã§ã³ã¯éåžžã«æçããŠãããé·ãéåžå Žã«ååšãã巚倧ãªIBMã«ãã£ãŠãµããŒããããŠããŸããã€ãŸããéåžžã«ã¯ãŒã«ã§ãã 圌ã¯å人çã«ãããã«åºã¥ãã2ã€ã®ç°ãªãé»åææžç®¡çã·ã¹ãã ã®éçºã«åå ããéè¡ã®éèŠãªã¢ããªã±ãŒã·ã§ã³ã«ãåè¡ããŸããã ã¡ãªã¿ã«ãææé åžããªã·ãŒã«ãããããããç¥ã£ãŠãã人ã¯ã»ãšãã©ããŸããããç¡æã§ããŠã³ããŒãããŠåŠç¿ã§ããŸãã
Couchdb
ããŸããŸãªæ§é ã®ããã¥ã¡ã³ãïŒããšãã°ãMongoDBãªã©ïŒãä¿åããŸãããã¢ããªã±ãŒã·ã§ã³çšã®ã¢ããã¿ãŒããªãããäœåãªäŸåé¢ä¿ãå¿ èŠãªãã®ã§ããïŒ CouchDBã¯httpãä»ããŠåäœããçµã¿èŸŒã¿ã®WebãµãŒããŒãæã¡ãJSONã§äº€æããŸãã ãšãŠãå¿«é©ã§ãã ãšããã§ã圌ã¯ãã©ã³ã¶ã¯ã·ã§ã³ã®æ¹æ³ãç¥ã£ãŠãããããŒã¿ã®å€æŽããµãã¹ã¯ã©ã€ãã§ããŸãã ããããããã¯æ£ç¢ºã§ã¯ãããŸããã
ããŒããã
ããã¯ãCouchDBã«é¡äŒŒããéåžžã«èå³æ·±ããããžã§ã¯ãã§ãããããæ¥åžžçãªçµã¿èŸŒã¿ãªãã·ã§ã³ã§ãã ã¢ããªã±ãŒã·ã§ã³ã«çµã¿èŸŒãŸããããŒã«ã«ããŒã¿ããŒã¹ãšããŠåäœããŸãããCouchDBãŸãã¯PouchDBãµãŒããŒïŒExpressJSã«åºã¥ãïŒã§ã¬ããªã±ãŒã·ã§ã³ãã«ã¹ã¿ãã€ãºã§ããŸãã PouchDBã¯å®éã«ã¯CouchDBã«äŒŒãåäžã®APIã䜿çšããŠå€éšããäœæ¥ããã¬ã€ã€ãŒã§ãããå éšã«ã¯SQLiteãšLevelDBã®äž¡æ¹ããã©ãŠã¶ãŒããŒã¿ããŒã¹ãMongoDBãããã«ã¯MySQLãªã©ããŸã£ããç°ãªãDBMSããããŸãã ããŒã¿äº€æãéèŠã§ãããããµãŒããŒãšã®éä¿¡ãäžå®å®ãŸãã¯äžæçãªåæ£ã¢ããªã±ãŒã·ã§ã³ãäœæããŠããå Žåã«éåžžã«åœ¹ç«ã¡ãŸãã
ãšã¢ãã¹ãã€ã¯
ç§ã®æèŠã§ã¯ãããŒ/å€ããŒã¿ããŒã¹ã«é¢ããŠã¯Redisã®åªãã代æ¿åã§ãã ãã©ã³ã¶ã¯ã·ã§ã³ãå¯èœã§ãããŒã¿ãä¿åã§ãã倧éã®ããŒã¿ïŒäœ¿çšå¯èœãªRAMã®éãè¶ ããïŒãå¯èœã§ãã 確ãã«ãPub / Subããã³ç¹å¥ãªããŒã¿æ§é ã¯ãããŸããããè¿ éãã€é©åã«æ©èœããŸãã ããããå¯äžã®æ¬ ç¹ã¯ãRedisã«æ¯ã¹ãŠäººæ°ãäœãããšã§ãã çç±ã¯æããã§ã¯ãããŸãã...
ã¢ãããã«ãµã³ãã©
ããã°ããŒã¿çšã®åæ£NoSQL DBMSãšããŠèšèšããã³æ©èœããŸãã ããŒã¿ã¯äžé£ã®åã®åœ¢åŒã§ä¿åãããæåã¯ã¢ããªã±ãŒã·ã§ã³éçºã®ã¢ãããŒããåçã«å€ããããšãã§ããŸãã ããããããªãã®å¿ãå£ããåŸãããããŸãã«ããªããå¿ èŠãšãããã®ã§ããããšãå€æãããããããŸããã ããŒãã®ãªã³ã¶ãã©ã€ã§ã®åçŽãªè¿œå ãããŒãã®1ã€ãçµäºãããšãã®é«ããã©ãŒã«ããã¬ã©ã³ã¹ã宣èšããŸããã çè«çã«ã¯ãå°ããªãããžã§ã¯ãã§äœ¿çšã§ããŸãããããããé¡åŸ®é¡ã§éãæã€ããã«èŠããŸãã
ã¿ã©ã³ããŒã«
Mail.Ruã®çŽ æŽããããããžã§ã¯ãã Redis / AerospikeãšMongoDBã®éã®äœã...ç§ã®æèŠã§ã¯ãéçºè èªèº«ã¯ãŸã é¡æšããã®ãé£ãããšæã£ãŠããŸãã:)ã ããªãã¯æçãããããšãã§ããããæ£ç¢ºã«ãããå¿ èŠããããŸãã ãããŠãããã¯ãã¥ãŒãã³ã°ã«é¢ãããã®ã§ã¯ãªããTarantoolã®æ°ããããŒãžã§ã³ã®éçºãžã®çµ¶ãéãªãé©åæ§ã«é¢ãããã®ã§ãã ãã®ãããžã§ã¯ãã®å éšæ§é ãæãäžãããã®APIãšããã¥ã¡ã³ãã®å€æŽãåžžã«èª¿æ»ããåžžã«å€æŽã®ããã«ã¢ããªã±ãŒã·ã§ã³ã³ãŒããã«ã¹ã¿ãã€ãºããå¿ èŠããããŸãã ãŸããéçºããã»ã¹ã«ãåå ãããå Žåã¯ãéçºè ãšãã£ããããŠãã ããã
ãããŠä»ãããããã¹ãŠã ã£ãã®ã§ãã
ã¯ãããã¹ãŠã®DBMSããé ãé¢ããå Žæã«èšåããŸããïŒ ãã®ãµã€ããèŠããšã253ã®ååããªã¹ããããŠããŸãïŒã ç§ã¯ãããããã¹ãŠãªã¹ãããã ãããšæããªãã£ããšæããŸããïŒ
ããããã1ã€ãŸãã¯å¥ã®DBMSã®èª¬æã§ééããç¯ããéèŠãªããšã«ã€ããŠã¯èšåããŠããŸããã ããã¯éåžžã«å¯èœã§ããããããããªã-ã³ã¡ã³ããæžããŠãç§ã¯èå³ãæã£ãŠèªã¿ãŸãã
ç§ã®çµè«ãæçã§èå³æ·±ããã®ã«ãªãããšãé¡ã£ãŠããŸãã
UPD1 ïŒMySQLãã§ã€ã«ãªãŒããŒã«ã€ããŠã ããªãã¯å€§äžå€«ã§ãã InnoDBãäžå®å®ã§ããããšã¯å®£èšããŸããããç¶æ³ãçºçããå¯èœæ§ããããšè¿°ã¹ãŸããã ãããŠããããçºçããå Žåãäœæ¥å®¹éã埩å ããããšã¯ã§ãããããã¯ã¢ãããããã¹ãŠãå®å šã«åŸ©å ããããšããã§ããŸããã ããã¯ãŸãã«ãããäœã«ã€ããŠãªã®ãã§ãããããªããç§ããããäžå®å®ã ãšèãããšæ±ºããããã§ã¯ãããŸããã å®éã®äŸã«ãããšããµãŒããŒäžã§ã¯ãæšå¹Žã«2ã3åãããçºçããŸããã ç°ãªããµãŒããŒäžã ãµãŒããŒã«ã¯ãç°ãªãè² è·ãããªã¥ãŒã ãªã©ãåããæ°çŸã®ããŒã¿ããŒã¹ããããŸãã ããã¯ã1ã€ãŸãã¯2ã€ã®ãµã€ããæã€ä»®æ³ãã·ã³ã§MySQLãå®æçã«ã¯ã©ãã·ã¥ãããšããæå³ã§ã¯ãããŸãããããã¯ãŸã£ããåé¡ã§ã¯ãããŸããã ãã®ãããªãã®ã