ã€ã³ã¡ã¢ãªããŒã¿ããŒã¹ã¯æ°ããæŠå¿µã§ã¯ãããŸãããããããããã¯ããã£ãã·ã¥ãããã³ãæ°žç¶çã§ã¯ãªãããšããèšèãšããŸãã«ã坿¥ã«é¢é£ããŠããŸãã仿¥ã¯ããããå¿ ãããåœãŠã¯ãŸããªãçç±ã説æããŸããã€ã³ã¡ã¢ãªãœãªã¥ãŒã·ã§ã³ã¯ãç®ã«èŠãããããã¯ããã«åºãã¢ããªã±ãŒã·ã§ã³åéãšã¯ããã«é«ãã¬ãã«ã®ä¿¡é Œæ§ãåããŠããŸãã
ãã®èšäºã§ã¯ãã€ã³ã¡ã¢ãªãœãªã¥ãŒã·ã§ã³ã®ã¢ãŒããã¯ãã£ã®ååã«ã€ããŠèª¬æããŸãããã£ã¹ã¯ããŒã¹ã®ãªã¬ãŒã·ã§ãã«ã·ã¹ãã ã®é·æãç ç²ã«ããã«ãã€ã³ã¡ã¢ãªã®äžçïŒä¿¡ããããªãã»ã©ã®ããã©ãŒãã³ã¹ïŒãæå€§éã«æŽ»çšããã«ã¯ã©ãããã°ããã§ããããããŸã第äžã«ãä¿¡é Œæ§-ããŒã¿ãå®å šã§ããããšãã©ã®ããã«ç¢ºèªã§ããŸããã
ãã®ã¹ããŒãªãŒã¯ãã€ã³ã¡ã¢ãªãœãªã¥ãŒã·ã§ã³ã«é¢ãã10幎ã®çµéšã1ã€ã®ããã¹ãã«ãŸãšãããã®ã§ãããšã³ããªã®ãããå€ã¯å¯èœãªéãäœããªã£ãŠããŸããèªæžã®æ©æµãåããããã«é·å¹Žã®çµéšã¯å¿ èŠãããŸãããITã®åºæ¬çãªçè§£ã§ååã§ãã
- åæžã
- éçºã®æŽå²
- 仿¥ã®ã¿ã©ã³ããŒã«
- ã«ãŒãã«ã®ããã¿
- ã«ã¢
- ãã¡ã€ããŒãšå調ãã«ãã¿ã¹ã¯
- ããŒã¿ããŒã¹æ©èœ
- ä»ã®ã·ã¹ãã ãšã®æ¯èŒ
- 䜿çšã·ããªãª
- çµè«ãšçµè«
- ãªã³ã¯
åæžã
ç§ã®ååã¯ãŠã©ãžããŒã«ã»ãã¬ããªãã¡ã§ãããã¢ã³ã¹ã»ã¢ã³ããŒãœã³ãšããŠããç¥ãããŠããŸããç§ã¯Tarantoolã®ã¢ãŒããã¯ãå Œãããã¯ããããŒãžã£ãŒã§ãã S3æºæ ã®ãªããžã§ã¯ãã¹ãã¬ãŒãžãæ§ç¯ãããšããªã©ãæ¬çªç°å¢ã§é·å¹Žäœ¿çšããŠããŸã[1]ããããã£ãŠãç§ã¯åœŒã®å å€ãååã«ç¥ã£ãŠããŸãã
ãã¯ãããžãŒãçè§£ããããã«ã¯ãæŽå²ã«é£ã³èŸŒãããšã圹ç«ã¡ãŸãã Tarantoolãã©ã®ãããªãã®ã§ãã£ãããã©ã®ããã«ééããããçŸåšã¯äœã§ãããã調ã¹ãä»ã®ãœãªã¥ãŒã·ã§ã³ãšæ¯èŒãããã®æ©èœããããã¯ãŒã¯äžã§ã©ã®ããã«æ©èœããããåšå²ã®ãšã³ã·ã¹ãã ã«äœãããããæ€èšããŸãã
ãã®äŸã§ã¯ãã€ã³ã¡ã¢ãªãœãªã¥ãŒã·ã§ã³ããã©ã®ãããªã¡ãªãããåŸãããããçè§£ã§ããŸããä¿¡é Œæ§ãèŠæš¡ã䜿ãããããç ç²ã«ããªãæ¹æ³ãåŠã³ãŸãã
PSïŒããã¯å ¬éã¬ãã¹ã³ã®ãã©ã³ã¹ã¯ãªããã§ãããèšäºã«é©åããŠããŸããYouTubeã2åã§èŽãããå Žåã¯ãèšäºã®æåŸã«ãããªãžã®ãªã³ã¯ããããŸã[2]ã
éçºã®æŽå²
Tarantoolã¯ã2008幎ã«Mail.ru Groupã®å éšéçºããŒã ã«ãã£ãŠäœæãããŸããããåœåã¯ãªãŒãã³ãœãŒã¹ã®ç¯å²ããããŸããã§ããããããã瀟å ã§2幎ééçšããçµæã補åãååã«æçããŠããŠãäžè¬ã«å ¬éãããŠããããšã«æ°ã¥ããŸããããããTarantoolã®ãªãŒãã³ãœãŒã¹ã®æŽå²ãå§ãŸã£ãæ¹æ³ã§ãã
commit 9b8dd7032d05e53ffcbde78d68ed3bd47f1d8081 Author: Yuriy Vostrikov <vostrikov@corp.mail.ru> Date: Thu Aug 12 11:39:14 2010 +0400
ãããããªããããäœæãããã®ã§ããïŒ
Tarantoolã¯ãããšããšMyWorldãœãŒã·ã£ã«ãããã¯ãŒã¯çšã«éçºãããŸãããåœæãç§ãã¡ã¯ãã§ã«ããªã倧ããªäŒç€Ÿã§ããããããã¡ã€ã«ãã»ãã·ã§ã³ãããã³ãŠãŒã¶ãŒãæ ŒçŽããMySQLã¯ã©ã¹ã¿ãŒã«ã¯å€ãã®è²»çšãããããŸããçç£æ§ã«å ããŠããéã«ã€ããŠãèããã»ã©ã§ãããããããããŒã¿ããŒã¹ã«100äžãã«ãç¯çŽããæ¹æ³ããšãã話ãçãŸããŸãã[3]ã
ã€ãŸããTarantoolã¯å·šå€§ãªMySQLã¯ã©ã¹ã¿ãŒã§ãéãç¯çŽããããã«äœãããŸãããããã¯åŸã ã«é²åããŸãããããã¯åãªããã£ãã·ã¥ã次㫠氞ç¶ãã£ãã·ã¥ããããŠæ¬æ Œç㪠ããŒã¿ããŒã¹ã§ããã
ãããããžã§ã¯ãã§ç€Ÿå ã®è©å€ãåŸãŠãããã¯ä»ã®äººã«åºããå§ããŸããïŒã¡ãŒã«ãåºåãããŒãã¯ã©ãŠãã瀟å ã§åºã䜿çšãããŠããçµæãããã©ã«ãã§Tarantoolã§æ°ãããããžã§ã¯ããéå§ãããããšããããããŸãã
Tarantoolã®éçºã®æŽå²ããã©ããšã次ã®å³ãèŠãããšãã§ããŸãã Tarantoolã¯å ã ã¡ã¢ãªå ãã£ãã·ã¥ã§ãããåœåã¯ãmemcachedãšã»ãšãã©å€ãããŸããã§ããã
ã³ãŒã«ããã£ãã·ã¥ã®åé¡ã解決ããããã«ãTarantoolã¯æ°žç¶çã«ãªããŸãããããã«ã¬ããªã±ãŒã·ã§ã³ã远å ãããŸãããã¬ããªã±ãŒã·ã§ã³ãåããæ°žç¶ãã£ãã·ã¥ãããå Žåãããã¯ãã§ã«Key-ValueããŒã¿ããŒã¹ã§ãããã®Key-ValueããŒã¿ããŒã¹ã«ã€ã³ããã¯ã¹ã远å ãããŸãããã€ãŸããTarantoolããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®ããã«äœ¿çšããããšãã§ããŸããã
ãããŠãLua颿°ã远å ããŸãããåœåããããã¯ããŒã¿ãæäœããããã®ã¹ãã¢ãããã·ãŒãžã£ã§ããããã®åŸãLuaã®æ©èœã¯å調ã©ã³ã¿ã€ã ãšã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã«é²åããŸããã
åŸã ã«ãããããã¹ãŠãããŸããŸãªè¿œå æ©èœãæ©èœãããã³ãã®ä»ã®ã¹ãã¬ãŒãžãšã³ãžã³ã§å€§ãããªããããŸããã仿¥ãããã¯ãã§ã«ãã«ããã©ãã€ã ããŒã¿ããŒã¹ã§ããããã«ã€ããŠã®è©³çްã
仿¥ã®ã¿ã©ã³ããŒã«
çŸåšãTarantoolã¯ãæè»ãªããŒã¿ã¹ããŒãã€ã³ã¡ã¢ãªã³ã³ãã¥ãŒãã£ã³ã°ãã©ãããã©ãŒã ã§ãã
Tarantoolã¯ãé«è² è·ã®ã¢ããªã±ãŒã·ã§ã³ãäœæããããã«äœ¿çšã§ãã䜿çšããå¿ èŠããã ãŸããã€ãŸãããã£ãã·ã¥ãäœæããã ãã§ãªããããŒã¿ãä¿åããã³åŠçããããã®è€éãªãœãªã¥ãŒã·ã§ã³ãå®è£ ããããšã§ããããã«ãããã¯åãªãããŒã¿ããŒã¹ã§ã¯ãªããäœããäœæã§ãããã©ãããã©ãŒã ã§ãã
Tarantoolã«ã¯2ã€ã®ããŒãžã§ã³ããããŸããã»ãšãã©ã®äººãå©çšã§ããæãçè§£ãããããããç¥ãããŠããã®ã¯ãªãŒãã³ãœãŒã¹ããŒãžã§ã³ã§ãã Tarantoolã¯ãSimplified BSDã©ã€ã»ã³ã¹ã®äžã§éçºãããTarantoolçµç¹ã«ãã£ãŠGitHubã§å®å šã«ãã¹ããããŠããŸãã
Tarantoolèªäœããã®ã³ã¢ãå€éšã·ã¹ãã ãžã®ã³ãã¯ã¿ãã·ã£ãŒãã£ã³ã°ããã¥ãŒãªã©ã®ããããžããããŸããéçºããŒã ãšã³ãã¥ããã£ã®äž¡æ¹ããã®ã¢ãžã¥ãŒã«ãã©ã€ãã©ãªãã³ãã¥ããã£ã¢ãžã¥ãŒã«ã¯ãç§ãã¡ããã¹ãããŠããå¯èœæ§ããããŸãã
ãªãŒãã³ãœãŒã¹ããŒãžã§ã³ã«å ããŠãTarantoolã«ã¯ãšã³ã¿ãŒãã©ã€ãºãã©ã³ãããããŸãããŸã第äžã«ãããã¯ãµããŒãããšã³ã¿ãŒãã©ã€ãºè£œåããã¬ãŒãã³ã°ãã«ã¹ã¿ã éçºãããã³ã³ã³ãµã«ãã£ã³ã°ã§ãã仿¥ã¯ã補åã®ãã¹ãŠã®ããŒãžã§ã³ã§å©çšã§ããäž»ãªæ©èœã«ã€ããŠèª¬æããŸãã
仿¥ã®Tarantoolã¯ãããŒã¿ããŒã¹äžå¿ã®ã¢ããªã±ãŒã·ã§ã³ã®åºæ¬ã³ã³ããŒãã³ãã§ãã
ã«ãŒãã«ã¯ã©ã®ããã«æ©èœããŸããïŒ
TarantoolãçãŸããéçºãããäž»ãªã¢ã€ãã¢ã¯ãããŒã¿ãã¡ã¢ãªå ã«ãããšããããšã§ãããã®ããŒã¿ã¯ åžžã«1ã€ã®ã¹ã¬ããããã¢ã¯ã»ã¹ãããŸããè¡ã£ã倿Žã¯ãå è¡æžã蟌ã¿ãã°ã«çŽç·çã«æžã蟌ãŸããŸãã
ã€ã³ããã¯ã¹ã¯ãã¡ã¢ãªå ã®ããŒã¿ã«åºã¥ããŠäœæãããŸããã€ãŸããããŒã¿ãžã®ã€ã³ããã¯ã¹ä»ãã§äºæž¬å¯èœãªã¢ã¯ã»ã¹ããããŸãããã®ããŒã¿ã®ã¹ãããã·ã§ããã¯å®æçã«ä¿åãããŸãããã£ã¹ã¯ã«æžã蟌ãŸãããã®ãè€è£œã§ããŸãã
Tarantoolã«ã¯1ã€ã®äž»èŠãªãã©ã³ã¶ã¯ã·ã§ã³ã¹ã¬ããããããŸãããããTXã¹ã¬ãããšåŒã³ãŸãããã®ã¹ã¬ããå ã«ã¯ãã¢ãªãŒãããããŸããããã¯ãããŒã¿ãä¿åããããã«Tarantoolã«ãã£ãŠå²ãåœãŠãããã¡ã¢ãªã®é åã§ããããŒã¿ã¯Tarantoolã®ã¹ããŒã¹ã«ä¿åãããŸãã
ã¹ããŒã¹ã¯ã»ããã§ãããã¹ãã¬ãŒãžãŠãããã®ã³ã¬ã¯ã·ã§ã³ã§ã-ã¿ãã«ãTaplã¯ããŒãã«ã®è¡ã®ãããªãã®ã§ããã€ã³ããã¯ã¹ã¯ãã®ããŒã¿ã«åºã¥ããŠäœæãããŸããã¢ãªãŒããšã¢ãªãŒãå ã§åãå°éã®ã¢ãã±ãŒã¿ã¯ãããããã¹ãŠãä¿åããŠæŽçãã責任ããããŸãã
- Tapl =æåå
- ã¹ããŒã¹=ããŒãã«
ãŸããTXã¹ã¬ããå ã«ã¯ãã€ãã³ãã«ãŒããã€ãã³ãã«ãŒãããããŸãããã¡ã€ããŒã¯ã€ãã³ãã«ãŒãå ã§æ©èœããŸãããããã¯ãã¹ããŒã¹ãšéä¿¡ã§ããå調çãªããªããã£ãã§ããããããããŒã¿ãèªã¿åã£ãããããŒã¿ãäœæãããã§ããŸãããŸãããã¡ã€ããŒã¯ã€ãã³ãã«ãŒããšçŽæ¥çžäºäœçšããããšããç¹å¥ãªããªããã£ãïŒãã£ãã«ïŒã䜿çšããŠçžäºäœçšããããšãã§ããŸãã
å€éšãããŠãŒã¶ãŒãšé£æºããããã«ãå¥ã®ã¹ã¬ããã§ããiprotoããããŸãã iprotoã¯ãããã¯ãŒã¯ããã®èŠæ±ãåãå ¥ããTarantoolãããã³ã«ãåŠçããèŠæ±ãTXã«æž¡ãããŠãŒã¶ãŒã®èŠæ±ãå¥ã®ãã¡ã€ããŒã§å®è¡ããŸãã
ããŒã¿ã®å€æŽãçºçãããšãïŒãã°å è¡æžã蟌ã¿ããã®ïŒWALãšåŒã°ããå¥ã®ã¹ã¬ãããxlogãšåŒã°ãããã¡ã€ã«ãæžã蟌ã¿ãŸãã
Tarantoolã倧éã®xlogãèç©ãããšãããã«èµ·åããã®ãé£ããå ŽåããããŸãããããã£ãŠãèµ·åãé«éåããããã«ãã¹ãããã·ã§ããã宿çã«ä¿åããŸããã¹ãããã·ã§ãããä¿åããããã«ãã¹ãããã·ã§ããããŒã¢ã³ãšåŒã°ãããã¡ã€ããŒããããŸãã Arenaå šäœã®äžè²«ããå 容ãèªã¿åããã¹ãããã·ã§ãããã¡ã€ã«ã§ãã£ã¹ã¯ã«æžã蟌ã¿ãŸãã
å調ãã«ãã¿ã¹ã¯ã®ãããTarantoolãããã£ã¹ã¯ã«çŽæ¥æžã蟌ãããšã¯ã§ããŸããããããã¯ããããšã¯ã§ããããã£ã¹ã¯ã¯ãããã¯æäœã§ãããããã£ãŠããã£ã¹ã¯ã®æäœã¯ãfioã©ã€ãã©ãªãšã¯å¥ã®ã¹ã¬ããããŒã«ãä»ããŠå®è¡ãããŸãã
Tarantoolã«ã¯ã¬ããªã±ãŒã·ã§ã³ããããæŽçãéåžžã«ç°¡åã§ããã¬ããªã«ããã1ã€ããå Žåãããã«ããŒã¿ãé ä¿¡ããããã«ãå¥ã®ã¹ã¬ãããçºçããŸã-ãªã¬ãŒããã®ã¿ã¹ã¯ã¯ãxlogãèªã¿åããããããã¬ããªã«ã«éä¿¡ããããšã§ããã¬ããªã«ã§ãã¡ã€ããŒã¢ãã©ã€ã€ãŒãèµ·åããããªã¢ãŒããã¹ããã倿Žãåãåããããããã¢ãªãŒãã«é©çšããŸãã
ãããŠããããã®å€æŽã¯ãWALãä»ããŠããŒã«ã«ã§è¡ãããå ŽåãšãŸã£ããåãã§ãããxlogã«æžã蟌ãŸããŸãããã¹ãŠãã©ã®ããã«æ©èœããããç¥ã£ãŠãããšããã®ã»ã¯ã·ã§ã³ãŸãã¯ãã®Tarantoolã»ã¯ã·ã§ã³ã®åäœãçè§£ããã³äºæž¬ãããããã©ãããããçè§£ã§ããŸãã
åèµ·åãããšã©ããªããŸããïŒTarantoolããã°ããå®è¡ãããŠããŠãã¹ãããã·ã§ããããããxlogããããšæ³åããŠã¿ãŸããããåèµ·åããå ŽåïŒ
- Tarantoolã¯ææ°ã®ã¹ãããã·ã§ãããèŠã€ããŠããããèªã¿å§ããŸãã
- ãã®ã¹ãããã·ã§ããã®åŸã«ããxlogãèªã¿åãã確èªããŸããããããèªã¿ãŸãã
- ã¹ãããã·ã§ãããšxlogã®èªã¿åããå®äºãããšãåèµ·åæã®ããŒã¿ã®ã¹ãããã·ã§ãããäœæãããŸãã
- 次ã«ãTarantoolãã€ã³ããã¯ã¹ã宿ãããŸããã¹ãããã·ã§ããã®èªã¿åãæã«ã¯ããã©ã€ããªã€ã³ããã¯ã¹ã®ã¿ãäœæãããŸãã
- ãã¹ãŠã®ããŒã¿ãã¡ã¢ãªã«æ ŒçŽãããããã»ã«ã³ããªã€ã³ããã¯ã¹ãäœæã§ããŸãã
- Tarantoolãã¢ããªã±ãŒã·ã§ã³ãèµ·åããŸãã
6è¡ã®ã«ãŒãã«æ§é ïŒ
- ããŒã¿ã¯ã¡ã¢ãªã«ãããŸã
- 1ã€ã®ã¹ã¬ããããããŒã¿ã«ã¢ã¯ã»ã¹ãã
- 倿Žã¯å è¡æžã蟌ã¿ãã°ã«æžã蟌ãŸããŸã
- ã€ã³ããã¯ã¹ã¯ããŒã¿ã«åºã¥ããŠæ§ç¯ãããŸã
- ã¹ãããã·ã§ããã¯å®æçã«ä¿åãããŸã
- WALãè€è£œãããŸãã
ã«ã¢
Tarantoolã¢ããªã±ãŒã·ã§ã³ã¯LuaJITã«å®è£ ãããŠããŸããããã§ç«ã¡æ¢ãŸã£ãŠãLuaJITã®çç±ã«ã€ããŠè©±ãããšãã§ããŸãã
ãŸããLuaã¯ãããšããšããã°ã©ããŒåãã§ã¯ãªããšã³ãžãã¢åãã«äœæããããã¢ã¯ã»ã·ãã«ãªã¹ã¯ãªããèšèªã§ããã€ãŸããæè¡çãªæè²ãåããŠããããããã°ã©ãã³ã°ã®è©³çްã«ããŸãæ·±ãæ²¡é ããŠããªã人åãã§ãã
Luaã¯å¯èœãªéãã·ã³ãã«ã«ä¿ãããŠããŸãããããã£ãŠãã¹ã¯ãªããèšèªã®ããã©ãŒãã³ã¹ãã»ãŒCã®ããã©ãŒãã³ã¹ã«è¿ã¥ããããšãã§ããJITã³ã³ãã€ã©ãäœæããããšãå¯èœã§ããããšã倿ããŸãããLuaJITã§ã³ã³ãã€ã«ãããå°ããªLuaããã°ã©ã ãå®éã«åæ§ã®Cã«è¿œãã€ãå Žåã®äŸãèŠã€ããããšãã§ããŸããããã©ãŒãã³ã¹ã®ããã°ã©ã [4]ã
Luaã䜿çšãããšãå¹ççãªãã®ãç°¡åã«äœæã§ããŸããäžè¬ã«ãTarantoolã®åšãã«ã¯ãããŒã¿ãšäžŠã¹ãŠäœæ¥ãããšããã¢ã€ãã¢ããããŸãããåãåå空éãšããŒã¿ãé 眮ãããŠããããã»ã¹ã§ããã°ã©ã ãå®è¡ããããšã«ããããããã¯ãŒã¯ãæ©ãåãæéãç¡é§ã«ããããšã¯ã§ããŸããã
ç§ãã¡ã¯ã¡ã¢ãªã«çŽæ¥ã¢ã¯ã»ã¹ããŠããã®ã§ãèªã¿åãã®åŸ ã¡æéã¯ã»ãŒãŒãã§äºæž¬å¯èœã§ããããã¯ãã¹ãŠLua颿°ã§ç°¡åã«å®çŸã§ããŸããããTarantoolã®å éšã«ã¯ã€ãã³ãã«ãŒããšãã¡ã€ããŒããããŸããLuaã¯ããããšçµ±åãããŠããŸãã
åèšïŒ
- LuaïŒãšã³ãžãã¢åãã®ã·ã³ãã«ãªã¹ã¯ãªããèšèª
- éåžžã«å¹ççãªJITã³ã³ãã€ã«
- ããŒã¿ãšäžç·ã«äœæ¥ãã
- ããã·ãŒãžã£ã§ã¯ãªããå調ã©ã³ã¿ã€ã
ãã¡ã€ããŒãšå調ãã«ãã¿ã¹ã¯
ãã¡ã€ããŒã¯å®è¡ã®ã¹ã¬ããã§ããããã¯ã¹ã¬ããã«äŒŒãŠããŸããããã軜éã§ãå調ãã«ãã¿ã¹ã¯ããªããã£ããå®è£ ããŸããããã«ãããæ¬¡ã®ããããã£ãé©çšãããŸãã
- äžåºŠã«è€æ°ã®ã¿ã¹ã¯ãå®è¡ãããŠããŸããã
- ã·ã¹ãã ã«ã¯ã¹ã±ãžã¥ãŒã©ããããŸããããã¹ãŠã®ãã¡ã€ããŒã¯èªçºçã«éäŒããå¿ èŠããããŸãã
ã¹ã±ãžã¥ãŒã©ãŒããªããã¿ã¹ã¯ãåæã«å®è¡ãããšãå¯çãªãŒããŒãããã®æ¶è²»ãæžããããã©ãŒãã³ã¹ãåäžããŸããããããã¹ãŠãçµã¿åãããããšã§ãã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã®æ§ç¯ãå¯èœã«ãªããŸãã TarantoolãçµäºããŠå€ã®äžçã«è¡ãããšãã§ããŸãã
Tarantoolã«ã¯ããããã¯ãŒã¯ãšããŒã¿ã®äž¡æ¹ãæäœããããã®ã©ã€ãã©ãªããããŸãã PythonãPerlãJavaScriptãšåæ§ã«ãäœ¿ãæ £ããããã°ã©ãã³ã°èšèªãšããŠäœ¿çšããããŒã¿ããŒã¹ã«ãŸã£ããé¢ä¿ã®ãªãã¿ã¹ã¯ã解決ã§ããŸãã
Tarantoolã®å éšã«ã¯ãã¢ããªã±ãŒã·ã§ã³ãµãŒããŒèªäœã®å éšã«ããŒã¿ããŒã¹ãæäœããããã®é¢æ°ããããŸãã Tarantoolã®éçºã®éçšã§ããã©ãããã©ãŒã ã¯ãã®ã¢ããªã±ãŒã·ã§ã³ãµãŒããŒäžã§é²åããŠããŸããããã©ãããã©ãŒã ãšããçšèªã§ã¯ã次ã®ããšãæå³ããŸãã
ãã©ãããã©ãŒã ã¯ åºæ¬çã«ã€ã³ã¡ã¢ãªããŒã¿ããŒã¹ãšçµã¿èŸŒã¿ã¢ããªã±ãŒã·ã§ã³ãµãŒããŒããŸãã¯ãã®éãã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãšããŒã¿ããŒã¹ããã ããTarantoolã«ã¯ãã·ã£ãŒãã£ã³ã°çšã®ã¬ããªã±ãŒã·ã§ã³çšã®ããŒã«ãä»å±ããŠããŸãããã®ã¯ã©ã¹ã¿ãŒãã¯ã©ã¹ã¿ãŒåããã³ç®¡çããããã®ããŒã«ãããã³å€éšã·ã¹ãã ãžã®ã³ãã¯ã¿ãŒã
åèšïŒ
- ãã¡ã€ããŒã¯ãå調ãã«ãã¿ã¹ã¯ãå®è£ ãã軜éã®å®è¡ã¹ã¬ããã§ãã
- 次ã®ã¿ã¹ã¯ã¯ãçŸåšã®ã¿ã¹ã¯ãå¶åŸ¡ã®è»¢éãã¢ããŠã³ã¹ããåŸã«å®è¡ãããŸã
- ã¢ããªã±ãŒã·ã§ã³ãµãŒããŒ
- ãã¡ã€ããŒã«ããã€ãã³ãã«ãŒã
- ãã³ããããã³ã°ãœã±ããã¯ãŒã¯
- ãããã¯ãŒã¯ãšããŒã¿ã©ã€ãã©ãªã®ã³ã¬ã¯ã·ã§ã³
- ããŒã¿ããŒã¹ãæäœããããã®é¢æ°
- Tarantoolãã©ãããã©ãŒã
- ã€ã³ã¡ã¢ãªããŒã¿ããŒã¹
- å èµã¢ããªã±ãŒã·ã§ã³ãµãŒããŒ
- ã¯ã©ã¹ã¿ãªã³ã°ããŒã«
- å€éšã·ã¹ãã ãžã®ã³ãã¯ã¿
ããŒã¿ããŒã¹æ©èœ
ããŒã¿ã®ä¿åã«ã¯ããŒãã䜿çšããŸããã¿ãã«ã§ããããã¯ãåæå®ãããŠããªãããŒã¿ãå«ãé åã§ããã¿ãã«ãŸãã¯ã¿ãã«ã¯ã¹ããŒã¹ã«çµåãããŸããã¹ããŒã¹ã¯åºæ¬çã«ããŒãã®ã³ã¬ã¯ã·ã§ã³ã«ãããŸããã SQLã®äžçããã®é¡äŒŒç©ã¯ããŒãã«ã§ãã
Tarantoolã«ã¯2ã€ã®ã¹ãã¬ãŒãžãšã³ãžã³ããããŸããã¡ã¢ãªãŸãã¯ãã£ã¹ã¯ã«ä¿åããããã®ããŸããŸãªã¹ããŒã¹ãå®çŸ©ã§ããŸããããŒã¿ãæäœããã«ã¯ããã©ã€ããªã€ã³ããã¯ã¹ãå¿ èŠã§ãããã©ã€ããªã€ã³ããã¯ã¹ã®ã¿ãäœæãããšãTarantoolã¯key-valueã®ããã«ãªããŸãã
ããããå€ãã®ã€ã³ããã¯ã¹ãæã€ããšãã§ããŸããã€ã³ããã¯ã¹ã¯è€åããããšãã§ããŸãããããã¯ããã€ãã®ãã£ãŒã«ãã§æ§æã§ããŸããã€ã³ããã¯ã¹ãšã®éšåäžèŽã§éžæã§ããŸããã€ã³ããã¯ã¹ãã€ãŸãã€ãã¬ãŒã¿ã®é 次å埩ã«åãçµãããšãã§ããŸãã
ã€ã³ããã¯ã¹ã«ã¯ããŸããŸãªã¿ã€ãããããŸããããã©ã«ãã§ã¯ãTarantoolã¯B + *ããªãŒã䜿çšããŸãããããŠãããã·ã¥ããããããããrtreeãæ©èœã€ã³ããã¯ã¹ãJSONãã¹äžã®ã€ã³ããã¯ã¹ããããŸãããã®å€æ§æ§ã«ããããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãé©ããŠããå Žæã§Tarantoolãéåžžã«ããŸã䜿çšã§ããŸãã
Tarantoolã«ã¯ACIDãã©ã³ã¶ã¯ã·ã§ã³ã¡ã«ããºã ããããŸããã·ã³ã°ã«ã¹ã¬ããã®ããŒã¿ã¢ã¯ã»ã¹ããã€ã¹ã«ãããã·ãªã¢ã«åå¯èœãªåé¢ã¬ãã«ãå®çŸã§ããŸããã¢ãªãŒããåç §ãããšãã¯ãã¢ãªãŒãããèªã¿åãããšããæžã蟌ãããšãã§ããŸããããŒã¿ã倿ŽããŸããçºçãããã¹ãŠã®ãã®ã¯ã1ã€ã®ã¹ã¬ããã§é 次ãã€æä»çã«å®è¡ãããŸãã
2æ¬ã®ãã¡ã€ããŒã䞊è¡ããŠå®è¡ããããšã¯ã§ããŸãããããããã€ã³ã¿ã©ã¯ãã£ããã©ã³ã¶ã¯ã·ã§ã³ã«ã€ããŠè©±ããŠããå Žåã¯ãå¥ã®MVCCãšã³ãžã³ããããŸããããã«ããããã§ã«å¯Ÿè©±åã§ããã·ãªã¢ã«åå¯èœãªãã©ã³ã¶ã¯ã·ã§ã³ãå®è¡ã§ããŸãããæœåšçãªãã©ã³ã¶ã¯ã·ã§ã³ã®ç«¶åãããã«åŠçããå¿ èŠããããŸãã
Luaã¢ã¯ã»ã¹ãšã³ãžã³ã«å ããŠãTarantoolã«ã¯SQLããããŸãããªã¬ãŒã·ã§ãã«ã¹ãã¬ãŒãžãšããŠTarantoolããã䜿çšããŸããããªã¬ãŒã·ã§ãã«ååã«åŸã£ãŠã¹ãã¬ãŒãžãèšèšãããšçµè«ä»ããŸããã
SQLã§ããŒãã«ã䜿çšãããŠããå Žæã«ã¯ãã¹ããŒã¹ããããŸããã€ãŸããåè¡ã¯ã¿ããã§è¡šãããŸããã¹ããŒã¹ã®ã¹ããŒããå®çŸ©ããŸãããä»»æã®SQLãšã³ãžã³ã䜿çšããŠãããªããã£ãããããããTarantooläžã§SQLãå®è¡ã§ããããšãæããã«ãªããŸããã
Tarantoolã§ã¯ãLuaããSQLãåŒã³åºãããšãã§ããŸããSQLãçŽæ¥äœ¿çšããããšããSQLããLuaã§å®çŸ©ãããŠãããã®ãåŒã³åºãããšãã§ããŸãã
SQLã¯è£å®çãªã¡ã«ããºã ã§ããã䜿çšã§ããŸãã䜿çšããå¿ èŠã¯ãããŸããããTarantoolã䜿çšããå¯èœæ§ãåºããéåžžã«åªããè¿œå æ©èœã§ãã
åèšïŒ
ããŒã¿ã¹ãã¬ãŒãžããªããã£ã
- taplïŒã¿ãã«ãæååïŒ
- ã¹ããŒã¹ïŒããŒãã«ïŒ-ããŒãã®ã³ã¬ã¯ã·ã§ã³
- ãšã³ãžã³ïŒ
- memtx-ããŒã¿ã®å šéãã¡ã¢ãªãšãã£ã¹ã¯äžã®ä¿¡é Œæ§ã®é«ãã³ããŒã«åãŸããŸã
- vynil-ãã£ã¹ã¯ã«ä¿åãããŠããå ŽåãããŒã¿ã®éãã¡ã¢ãªã®éãè¶ ããå¯èœæ§ããããŸã
- ãã©ã€ããªã€ã³ããã¯ã¹
ã€ã³ããã¯ã¹
- å€åãããã
- è€å
- ã€ã³ããã¯ã¹ã¿ã€ã
- ããªãŒïŒBâº*ïŒ
- ããã·ã¥
- ãããããã
- rtree
- æ©èœç
- jsonãã¹
ãã©ã³ã¶ã¯ã·ã§ã³
- é ž
- ã·ãªã¢ã«åå¯èœïŒæ©çãŸããªãïŒ
- ã€ã³ã¿ã©ã¯ãã£ãïŒMVCCïŒ
SQLãšLua
- 衚ïŒã¹ããŒã¹
- è¡ïŒã¿ãã«
- ã¹ããŒãïŒã¹ããŒã¹åœ¢åŒ
- Lua-> SQLïŒbox.execute
ä»ã®ã·ã¹ãã ãšã®æ¯èŒ
DBMSã®äžçã«ãããTarantoolã®äœçœ®ãããçè§£ããããã«ãä»ã®ã·ã¹ãã ãšæ¯èŒããŸããããªãã¯èª°ããšå€ããæ¯èŒããããšãã§ããŸãããç§ã¯4ã€ã®äž»èŠãªã°ã«ãŒãã«èå³ããããŸãïŒ
- ã€ã³ã¡ã¢ãªãã©ãããã©ãŒã
- ãªã¬ãŒã·ã§ãã«DBMS
- ããŒããªã¥ãŒãœãªã¥ãŒã·ã§ã³
- ããã¥ã¡ã³ãæåã·ã¹ãã
ã€ã³ã¡ã¢ãªãã©ãããã©ãŒã
GridGainãGigaSpacesãRedis EnterpriseãHazelcastãTarantoolã
ãããã¯ã©ã®ããã«äŒŒãŠããŸããïŒã€ã³ã¡ã¢ãªãšã³ãžã³ãã€ã³ã¡ã¢ãªããŒã¿ããŒã¹ãããã³ããã€ãã®ã¢ããªã±ãŒã·ã§ã³ã©ã³ã¿ã€ã ãããŸããŸãªéã®ããŒã¿ã«å¯ŸããŠæè»ã«ã¯ã©ã¹ã¿ãŒã·ã¹ãã ãæ§ç¯ã§ããŸãã
ç¹ã«ãããã¯ããŒã¿ã°ãªããã®åœ¹å²ã§ã®äœ¿çšã§ãããããã®ãã©ãããã©ãŒã ã¯ãããžãã¹äžã®åé¡ã解決ããããšãç®çãšããŠããŸããåã°ãªãããåã€ã³ã¡ã¢ãªãã©ãããã©ãŒã ã¯ãåãã¯ã©ã¹ã«å±ããŠããéãç¬èªã®ã¢ãŒããã¯ãã£äžã«æ§ç¯ãããŠããŸãããŸãããã©ãããã©ãŒã ãç°ãªãã°ãããŒã«ã®ã»ãããç°ãªããŸããããã¯ããããããç°ãªãã»ã°ã¡ã³ãã察象ãšããŠããããã§ãã
Tarantoolã¯ãæ±çšã®ã»ã°ã¡ã³ãã¬ã¹ãã©ãããã©ãŒã ã§ããããã«ãããããå¹ åºãæ©äŒãšè§£æ±ºãã¹ãããŸããŸãªããžãã¹ã·ããªãªãæäŸãããŸãã
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹
次ã«ãTarantoolã€ã³ã¡ã¢ãªããŒã¿ããŒã¹ãšã³ãžã³ãMySQLããã³PostgreSQLãšæ¯èŒããŠã¿ãŸããããããã«ããããšã³ãžã³èªäœãã¢ããªã±ãŒã·ã§ã³ãµãŒããŒããåé¢ããŠãããã«ã¯ãã©ãããã©ãŒã ããåé¢ããŠé 眮ã§ããŸãã
Tarantoolã¯ãããŒã¿ã衚圢åŒïŒããŒããšã¹ããŒã¹ïŒã§æ ŒçŽãããšããç¹ã§ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã«äŒŒãŠããŸããã€ã³ããã¯ã¹ã¯ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®å Žåãšåæ§ã«ãããŒã¿ã«åºã¥ããŠäœæãããŸãã Tarantoolã§ã¯ãã¹ããŒããå®çŸ©ã§ããŸããSQLããããããŒã¿ãæäœã§ããŸãã
ããããTarantoolãåŸæ¥ã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãšåºå¥ããã®ã¯SQLã¹ããŒãã§ãã SQLãååšããå Žåã§ããSQLã䜿çšããå¿ èŠã¯ãããŸãããããã¯ãããŒã¿ããŒã¹ãšå¯Ÿè©±ããããã®äž»èŠãªããŒã«ã§ã¯ãããŸããã
Tarantoolã®ã¹ããŒãã¯å³å¯ã§ã¯ãããŸãããããŒã¿ã®ãµãã»ããã«å¯ŸããŠã®ã¿å®çŸ©ã§ããŸãã
åŸæ¥ã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã§ã¯ãã€ã³ã¡ã¢ãªããŒãã«ã¯ãããçš®ã®é«éæäœã«äœ¿çšãããæ°žç¶ã¹ãã¬ãŒãžã§ã¯ãããŸãããTarantoolã§ã¯ãããŒã¿ã®å šéãã¡ã¢ãªã«åãŸããã¡ã¢ãª ããæäŸããããšåæã«ã ä¿¡é Œæ§ãšæ°žç¶æ§ããããŸãã
ããã¯éåžžã«éèŠãªã®ã§ãããäžåºŠæžã蟌ã¿ãŸããTarantoolã¯ããŒã¿ã»ããå šäœãã¡ã¢ãªã«ä¿åãããšåæã«ãããŒã¿ã å®å šã«ãã£ã¹ã¯ã«ä¿åããŸãã
Key-Value DB
æ¯èŒããæ¬¡ã®ã¯ã©ã¹ã¯key-valueã§ã-memcachedãRedisãAerospikeã Tarantoolã¯ããããšã©ã®ããã«äŒŒãŠããŸããïŒ Key-Valueã¢ãŒãã§åäœãã1ã€ã®ã€ã³ããã¯ã¹ã®ã¿ã䜿çšã§ããŸãããã®å ŽåãTarantoolã¯åŸæ¥ã®Key-Valueã¹ãã¢ã®ããã«åäœããŸãã
ããšãã°ãTarantoolã¯memcachedã®ããããã€ã³ä»£æ¿ãšããŠäœ¿çšã§ããŸãã察å¿ãããããã³ã«ãå®è£ ããã¢ãžã¥ãŒã«ãããããã®å Žåãmemcachedãå®å šã«æš¡å£ããŸãã
Tarantoolã¯ãã¡ã¢ãªå ã¢ãŒããã¯ãã£ãRedisã«äŒŒãŠããŸãããããŒã¿èšè¿°ã®ã¹ã¿ã€ã«ãç°ãªãã ãã§ãã Redisãã¢ãŒããã¯ãã£ã·ããªãªã«é©çšã§ããå Žåã¯ãã€ã§ããTarantoolã䜿çšã§ããŸãããããã®æšªç¶±ã®æŠãã¯ããªã³ã¯[5]ã®èšäºã«èšèŒãããŠããŸãã
TarantoolãšKey-ValueããŒã¿ããŒã¹ã®éãã¯ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã«åºæã®ã»ã«ã³ããªã€ã³ããã¯ã¹ããã©ã³ã¶ã¯ã·ã§ã³ãã€ãã¬ãŒã¿ãããã³ãã®ä»ã®ãã®ã®ååšã§ãã
ããã¥ã¡ã³ãæåããŒã¿ããŒã¹
4çªç®ã®ã«ããŽãªãŒãšããŠãããã¥ã¡ã³ãããŒã¹ã®ããŒã¿ããŒã¹ãåŒçšããããšæããŸããããã§æãå°è±¡çãªäŸã¯MongoDBã§ãã Tarantoolã¯ããã¥ã¡ã³ããä¿åããããšãã§ããŸãããããã£ãŠãTarantoolã«ã¯ãããã¥ã¡ã³ãæåã®ããŒã¹ãå«ããç¬èªã®æ¹æ³ããããšèšããŸãã
Tarantoolã®å éšã¹ãã¬ãŒãžåœ¢åŒèªäœã¯msgpackã§ããããã¯ãã®ãããªãã€ããªJSONã§ããããã¯ãMongoã§äœ¿çšãããŠãã圢åŒãšã»ãŒåãã§ããããã¯BSONã§ããããã¯åãã³ã³ãã¯ãããæã£ãŠããŸããåãã¿ã€ãã®ããŒã¿ãåæ ããŠããŸããããããããšã§ããããã®ããã¥ã¡ã³ãã®ã³ã³ãã³ãã«ã€ã³ããã¯ã¹ãä»ããããšãã§ããŸããæè¿ã®èšäº[6]ã§msgpackã®è©³çްãèªãã§ãã ããã
Tarantoolã«ã¯ãAvroã¹ããŒãã©ã€ãã©ãªãå«ãŸããŠããŸããããã«ãããéåžžã®æ§é ã®ããã¥ã¡ã³ããè¡ã«è§£æã§ãããããã®è¡ã¯ãã§ã«ããŒã¿ããŒã¹ã«çŽæ¥ä¿åãããŠããŸãã
ããããTarantoolã¯å ã ãããã¥ã¡ã³ãæåã®ããŒã¿ããŒã¹ãšããŠèããããŠããŸããã§ãããããã¯åœŒã«ãšã£ãŠã®ããŒãã¹ã§ãããããŒã¿ã®äžéšãããã¥ã¡ã³ããšããŠä¿åããæ©èœã§ãããããã£ãŠãåãMongoãšæ¯èŒããŠãã€ã³ããã¯ã¹äœæã¡ã«ããºã ããããã«åŒ±ããªããŸãã
ããŒãã¹ã©ãŠã³ãïŒåããŒã¹
ãã®ãããªè³ªåãæã èµ·ãããŸããããã§ã®çãã¯ç°¡åã§ã-Tarantoolã¯ååããŒã¿ããŒã¹ã§ã¯ãããŸããïŒèª°ãèããã§ãããïŒãæ±ç¶ããŒã¹ã«é©ããã¹ã¯ãªããã¯ãTarantoolã§ã¯æ©èœããŸããããããã¯äºãã«éåžžã«ããè£å®ãåã£ãŠããããšã«æ³šæããããšãã§ããŸãã
ããªãã®å€ãã¯ã¯ãªãã¯ããŠã¹ã«ç²ŸéããŠãããšæããŸããããã¯åªããåæãœãªã¥ãŒã·ã§ã³ã§ããããã¯åããŒã¹ã§ããããã«ãClickHouseã¯ãã€ã¯ããã©ã³ã¶ã¯ã·ã§ã³ã奜ãã§ã¯ãããŸãããå°ããªãã©ã³ã¶ã¯ã·ã§ã³ã倧éã«éä¿¡ãããšãæå€§ã¹ã«ãŒãããã«éããŸãããããŒã¿ããŸãšããŠéä¿¡ããå¿ èŠããããŸãã
åæã«ããã€ã¯ããã©ã³ã¶ã¯ã·ã§ã³ã¯Tarantoolã«éä¿¡ã§ããéä¿¡ããå¿ èŠããããŸãã圌ã¯ããããèç©ããããšãã§ããŸããããŸããŸãªã³ãã¯ã¿ãããããããããã®ãã©ã³ã¶ã¯ã·ã§ã³ãèç©ããŠãClickHouseã¿ã€ãã®ã¹ãã¬ãŒãžã«ããããšããŠéä¿¡ã§ããŸããé°ãšéœã
åèšïŒ
| vs | ||
|---|---|---|
| In-memory |
|
|
|
|
|
| Key-value |
|
|
| - |
|
|
|
|
Tarantoolã䜿çšãã¹ãã§ãªãå Žåã®äŸããå§ããŸããäž»ãªã·ããªãªã¯ãSQLã®äœ¿çšãå«ããåæãå¥åOLAPã§ãã
ãã®çç±ã¯éåžžã«åçŽã§ãã Tarantoolã¯ãåºæ¬çã«ã·ã³ã°ã«ã¹ã¬ããã¢ããªã±ãŒã·ã§ã³ã§ããããŒã¿ã¢ã¯ã»ã¹ããã¯ã¯ãããŸããããã ãã1ã€ã®ã¹ã¬ãããé·ãSQLãå®è¡ããŠããå Žåããã®ã¹ã¬ããã®å®è¡äžã¯ä»ã®ã¹ã¬ãããå®è¡ã§ããªããªããŸãã
ãããã£ãŠãåæããŒã¿ããŒã¹ã¯éåžžããã«ãã¹ã¬ããããŒã¿ã¢ã¯ã»ã¹ã¢ãŒãã䜿çšããŸããæ¬¡ã«ãå¥ã®ã¹ã¬ããã§äœããããŸããããšãã§ããŸãã Tarantoolã®å Žåã1ã€ã®ã¹ã¬ãããä»ã®å€ãã®ãœãªã¥ãŒã·ã§ã³ãããé«éã§ããããããããã¯1ã€ã§ãããè€æ°ã®ã¹ã¬ããããã®ããŒã¿ãåŠçããæ¹æ³ã¯ãããŸããã
ãã ããããšãã°ãäºåã«èšç®ãããåæãæ§ç¯ããå Žåã¯ããã®ãããªçޝç©ããŒã¿ãå¿ èŠã«ãªãããšãããã£ãŠããŸããããŒã¿ã®ã¹ããªãŒã ããããããçš®ã®ã«ãŠã³ã¿ãŒãå¿ èŠã§ããããšãããã«ããããŸãããã®äºåèšå®ãããåæã¯ãTarantoolã«åºã¥ããŠæ§ç¯ãããŠããŸãã
ãã€äœ¿çšããã
äž»ãªã·ããªãªã¯ããã®æŽå²çéºç£ããããäœæãããç®çããæ¥ãŠããŸããå€ãã®å°ããªãã©ã³ã¶ã¯ã·ã§ã³ã
ãããã¯ãã»ãã·ã§ã³ããŠãŒã¶ãŒãããã¡ã€ã«ãããã³ãã®æéäžã«ããããæé·ãããã¹ãŠã®ãã®ã§ããå¯èœæ§ããããŸããããšãã°ãTarantoolã¯ãæ©æ¢°åŠç¿ã®æšªã«ãããã¯ã¿ãŒã¹ãã¢ãšããŠãã䜿çšãããŸããããã¯ãããã«ä¿åãããšäŸ¿å©ã ããã§ããããã¯ããã¹ãŠã®ãã©ãã£ãã¯ãããèªäœãééãããé«è² è·ã®ã«ãŠã³ã¿ãŒããã«ãŒããã©ãŒã¹é²æ¢ã·ã¹ãã ãšããŠäœ¿çšã§ããŸãã
å°èšïŒæªçšã®
äŸ
- åæïŒOLAPïŒ
- å«ã SQLã®äœ¿çš
è¯ãäœ¿ãæ¹ã®äŸ
- é«åšæ³¢ãã€ã¯ããã©ã³ã¶ã¯ã·ã§ã³ïŒOLTPïŒ
- ãŠãŒã¶ãŒãããã¡ã€ã«
- ã«ãŠã³ã¿ãŒãšçæ¿
- ããŒã¿ãã£ãã·ã¥ãããã·
- ãã¥ãŒãããŒã«ãŒ
çµè«ãšçµè«
Tarantoolã¯æ°žç¶çã§ãããä»ã®å€ãã®ã·ã¹ãã ã«ç§»åããæ©èœããããŸãããããã£ãŠãã¬ã¬ã·ãŒã·ã¹ãã ã®ãã£ãã·ã¥ãããã·ãšããŠäœ¿çšãããŸããçã®ãããã·ã®æžã蟌ã¿ãšãããã·ã®èåŸã®æžã蟌ã¿ã®äž¡æ¹ã§ãéããŠè€éã«ãªããŸãã
ãŸããTarantoolã®ã¢ãŒããã¯ãã£ããã®äžã®ãã¡ã€ããŒã®ååšãããã³è€éãªã¢ããªã±ãŒã·ã§ã³ãäœæããæ©èœã«ãããTarantoolã¯ãã¥ãŒãäœæããããã®åªããããŒã«ã«ãªããŸããç§ã¯6ã€ã®ãã¥ãŒã®å®è£ ãç¥ã£ãŠããŸãããããã®ããã€ãã¯GitHubã«ãããããã€ãã¯ãã©ã€ããŒããªããžããªãŸãã¯ãããžã§ã¯ãã®ã©ããã«ãããŸãã
ããã®äž»ãªçç±ã¯ãã¢ã¯ã»ã¹ã®äœé å»¶ãä¿èšŒãããŠããããšã§ããTarantoolã®å éšã«ããŠãããŒã¿ãååŸãããšãã¯ãã¡ã¢ãªããããŒã¿ãæäŸããŸããããŒã¿ãžã®é«éã§ç«¶äºåã®ããã¢ã¯ã»ã¹ãå¯èœã§ããæ¬¡ã«ãããŒã¿ã®ããé£ã§å®è¡ãããããã·ã¥ã¢ãããäœæã§ããŸãã åœç€Ÿã®Webãµã€ãã§
Tarantoolã詊ããŠãTelegramãã£ããã«è³ªå ãããŠãã ãã ã
ãªã³ã¯
- S3ã¢ãŒããã¯ãã£ïŒMail.ruã¯ã©ãŠãã¹ãã¬ãŒãžã®3幎éã®é²å
- ãããª-é«è² è·ã¢ããªã±ãŒã·ã§ã³ã®åºç€ãšããŠã®Tarantool
- TarantoolïŒé«è² è·ãããžã§ã¯ãã®ããŒã¿ããŒã¹ã§100äžãã«ãç¯çŽããæ¹æ³
- https://github.com/luafun/luafun
- Tarantool vs RedisïŒã€ã³ã¡ã¢ãªãã¯ãããžãŒã§äœãã§ããã
- é«åºŠãªMessagePackæ©èœ