ãå³è§£ã§æ¯èŒãSQLite vs DuckDB â çµã¿èŸŒã¿ããŒã¿ããŒã¹ãçšéã§äœ¿ãåãã
ããŒã¿ããŒã¹ã£ãŠãµãŒããŒãç«ãŠãªããšäœ¿ããªãã€ã¡ãŒãžããããã ãã©ããµãŒããŒãªãã§åããã®ãããã®ïŒ
ãããïŒãçµã¿èŸŒã¿ããŒã¿ããŒã¹ãã£ãŠåŒã°ããã¿ã€ãã ããã¢ããªã®äžã«çŽæ¥ããŒã¿ããŒã¹ãšã³ãžã³ãçµã¿èŸŒãŸããŠããŠãå¥éãµãŒããŒãç«ãŠãå¿ èŠããªããã ããã®ä»£è¡šæ ŒãSQLiteãšDuckDBã ãã
SQLiteã¯äžçã§æã䜿ãããŠããããŒã¿ããŒã¹ãšãèšãããŠããŠãã¹ããã¢ããªããã©ãŠã¶ãIoTããã€ã¹ãªã©ããããšããããå Žæã§åããŠãããäžæ¹DuckDBã¯2019幎ã«ç»å Žããæ¯èŒçæ°ããçµã¿èŸŒã¿DBã§ãããŒã¿åæã«ç¹åããŠããã®ãç¹åŸŽã ãã
ã©ã£ã¡ãçµã¿èŸŒã¿ãªã®ã«ããªãã§2ã€ãå¿ èŠãªã®ïŒåããããªãã®ãããªãã®ããªïŒ
å®ã¯ããŒã¿ã®ãåŸæãªæ±ãæ¹ãããŸã£ããéããã ãSQLiteã¯OLTPãã€ãŸããã©ã³ã¶ã¯ã·ã§ã³åŠçãåŸæã1ä»¶ãã€ããŒã¿ã远å ã»æŽæ°ã»åé€ãããããªæäœã«åŒ·ããDuckDBã¯OLAPãã€ãŸãåæåŠçãåŸæã倧éã®ããŒã¿ããŸãšããŠéèšãããçµ±èšãåã£ããããã®ãéããã ãã
ããšãã°ECãµã€ãã§èããŠã¿ãããããŠãŒã¶ãŒãååã1åã«ãŒãã«å ¥ããããæ³šæã1件確å®ãããã¿ãããªåŠçãOLTPãäžæ¹ããå æã®å šååã®å£²äžãã«ããŽãªå¥ã«éèšããããéå»1幎éã§å£²äžã䌞ã³ãååããã100ãåºããã¿ãããªåŠçãOLAPã ããæ±ãããŒã¿ã®ãç²åºŠããå šç¶éããã ãã
ãªãã»ã©ïŒã§ãããªãã§ããããåŸæåéãéãã®ïŒ
ããŒã¿ã®æ ŒçŽæ¹åŒãéããããªãã ãSQLiteã¯ãè¡æåãã§ã1ã€ã®ã¬ã³ãŒãã®ããŒã¿ããŸãšããŠä¿åãããã ããç¹å®ã®1è¡ãèªã¿æžãããã®ãéããDuckDBã¯ãåæåãã§ãåãã«ã©ã ã®ããŒã¿ããŸãšããŠä¿åãããã ããã売äžãåã ãã100äžè¡åãŸãšããŠèªãã§åèšãããã¿ãããªåŠçããã®ãããéããã ãã
åæåã£ãŠãããªã«éãã®ïŒã©ã®ãããå·®ãåºããã®ãªã®ïŒ
åæã¯ãšãªã ãš10åã100åã®å·®ãåºãããšãããããããšãã°1åè¡ã®CSVããæå¥ã®å¹³åå€ãåºããããªã¯ãšãªã ãšãSQLiteã§ã¯æ°åããããšãããDuckDBã§ã¯æ°ç§ã§è¿ã£ãŠããããããDuckDBã¯ParquetãCSVãã¡ã€ã«ãçŽæ¥SQLã§èªãããããããããã€ã³ããŒãããªããŠããããã ã
ãã¡ã€ã«ãçŽæ¥èªããã®ã¯ããã䟿å©ã ãïŒãããå šéšDuckDBã«ããã°ããããããªãã®ïŒ
ããããããªããã ãDuckDBã¯1ä»¶ãã€ã®æžã蟌ã¿ã¯SQLiteã»ã©éããªãããåæã«è€æ°ã®ããã»ã¹ããæžã蟌ããããªçšéã«ãåããŠããªããã¢ãã€ã«ã¢ããªãIoTããã€ã¹ã®ããã«ãå°ããªããŒã¿ãé »ç¹ã«èªã¿æžããããå Žé¢ã§ã¯SQLiteã®æ¹ãå§åçã«é©ããŠãããã
ã€ãŸããçšéã«ãã£ãŠäœ¿ãåããã®ããã¹ãã£ãŠããšã ãïŒå®éã«ã¯ã©ãããçµã¿åãããããã®ããªïŒ
æè¿å¢ããŠããã®ããäž¡æ¹äœ¿ããæ§æã ããããšãã°ã¢ããªã®ããŒã¿ä¿åã«ã¯SQLiteã䜿ãã€ã€ãããŸã£ããã°ããŒã¿ã®åæã«ã¯DuckDBã䜿ããã¿ãŒã³ãDuckDBã¯SQLiteã®ãã¡ã€ã«ãçŽæ¥èªãããããããŒã¿ãç§»è¡ããæéããªããã ã
ãããªãã ãDuckDBã«ã¯SQLiteã®ã¹ãã£ãæ¡åŒµããã£ãŠãATTACHåœä»€ã§SQLiteãã¡ã€ã«ããã®ãŸãŸããŠã³ãã§ãããã ãããæ®æ®µã®æžã蟌ã¿ã¯SQLiteãéãåæã¯ãšãªã¯DuckDBããšãã䜿ãåããã·ãŒã ã¬ã¹ã«ã§ãããã ãã2026幎çŸåšãããŒã¿ãšã³ãžãã¢ã®éã§ã¯ãã®çµã¿åãããå®çªã«ãªãã€ã€ãããã
çµã¿èŸŒã¿DBã ãã§ãããŸã§ã§ãããã ãããµãŒããŒåã®ããŒã¿ããŒã¹ã¯ãããããªãã®ããªïŒ
ãããã«ããã¯èšãéãããªãè€æ°ã®ãµãŒããŒããåæã«ã¢ã¯ã»ã¹ããå¿ èŠãããå Žåãããã©ãã€ãçŽã®ããŒã¿ãæ±ãå Žåã¯PostgreSQLãClickHouseã®ãããªãµãŒããŒåãå¿ èŠã ããã§ãã1å°ã®ãã·ã³ã§å®çµãããçšéãªããSQLiteãšDuckDBã®çµã¿åããã§ããªãã®ããšãã§ããæä»£ã«ãªã£ããã ããŸãã¯èªåã®çšéããã©ã³ã¶ã¯ã·ã§ã³å¯ããåæå¯ãããèŠæ¥µããŠã驿驿ã§éžã¶ã®ã倧äºã ãã