You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Webãã©ã¦ã¶ä¸ã®WASMçPostgreSQLããµã¼ãã¨ããPostgreSQLã¯ã©ã¤ã¢ã³ãããæ¥ç¶å¯è½ã«ãªããdabase.build:Live ShareããSupabaseãçºè¡¨ PostgreSQLããã¼ã¹ã«ããBaaSï¼Backend as a Serviceï¼ã®ãSupabaseããéçºãæä¾ãã¦ããSupabase社ã¯ãWebãã©ã¦ã¶ä¸ã§å®è¡ä¸ã®WebAssemblyçPostgreSQLããµã¼ãã¨ããå¥ã®ãã·ã³ããPostgreSQLã®ã¯ã©ã¤ã¢ã³ãã§æ¥ç¶ã§ããæ°æ©è½ãdabase.build:Live Shareããçºè¡¨ãã¾ããã Supabaseã¯ä»å¹´ï¼2024å¹´ï¼8æãWebãã©ã¦ã¶ä¸ã§WebAssemblyçPostgreSQLã®ãPGLiteããå®è¡ãããµã¼ãã¹ãdatabase.buildãï¼æ§ç§°ï¼Postgres.newï¼ã®æä¾ãéå§ãã¾ããã ããã«ããWe
ã¯ããã« ããã«ã¡ã¯ãcalloc134 ã§ãã åã®ããã«ã½ã³ã¤ãã³ãã§ãUUID ããã©ã¤ããªãã¼ã«å©ç¨ãããã©ããã®è°è«ãããã¾ããã çµæçã«ã¯ãã¾ãããã©ã¼ãã³ã¹è¦ä»¶ã®é«ããªãã¢ããªã±ã¼ã·ã§ã³ã§ãã£ãããããã©ã¤ããªãã¼ã¨ã㦠UUID ãæ¡ç¨ãããã¨ã«ããã®ã§ãããã¤ãã³ãçµäºå¾ã«æ°ã«ãªã£ãããã調æ»ãè¡ãã¾ããã ä»åã¯ããã®èª¿æ»ã®çµæãå ã«ãMySQL 㨠PostgreSQL ã«ãããã¤ã³ããã¯ã¹ã®å é¨æ§é ã®éãã¨ãUUID ããã©ã¤ããªãã¼ã«ããéã®åé¡ã«ã¤ãã¦ã¾ã¨ãã¦ã¿ããã¨æãã¾ãã ã¤ã³ããã¯ã¹ã®æ¦è¦ ã¤ã³ããã¯ã¹ã¨ã¯ ã¤ã³ããã¯ã¹ã¨ã¯ããã¼ã¿ãã¼ã¹ã®ãã¼ãã«ã«å¯¾ãã¦ãã¢ã¯ã»ã¹ãé«éã«è¡ãããã®ææ¨ã¨ãªãæ§é ã®ãã¨ã§ãã ã¤ã³ããã¯ã¹ã¨ã¯æ¥æ¬èªã§ç´¢å¼ã§ãããã¾ãã«è¾æ¸ã®ç´¢å¼ã®ããã«ãã¢ã¯ã»ã¹ã«ããã¦ã®æå©ãããã¦ããã¾ãã ããå ·ä½çã«è§£èª¬ããã¨ããã¼ã¿ãã¼ã¹ã«ã
MySQLãPostgreSQLã¨ãã£ãRDBMSãããã¼ã¿ãå¼ãã¦ããã¨ããæ±ããã¼ã¿ã®è¦æ¨¡ã«ãã£ã¦ã¯ã1000件ãã¤LIMITãããã¦é ã«å¼ãã¦ããã¨ãããã¨ãããã 以åslow queryãåºãããããã£ã¦ããã®ãæãåºãã¦ããµã¨ãã®ãããã£ã¦ã©ãããæ ¹æ ããã£ã¦ãã£ã¦ããã®ã ã£ããèªåãç¥ã£ã¦ããä»ã«å¹è½ããã£ããããã®ããªãã¨æã£ã¦Slackã«æ¸ãè¾¼ãã ã¨ãããååã® id:onk ã«æãã¦ããã ããããã®å 容ã«å ãã¦è»½ã調ã¹ãå 容ãã¾ã¨ãã¦ã¿ãã Webç³»ã®è©±ã§ããã¿ãªãã¾ã®ç¥è¦ãããã¾ãããæãã¦ãã ããã TL;DR åºãã*1ãã åºãã£ããå°ããã ãããã¾ã 詳細 ãã¨ãã¨Slackã«æ¸ããåæã¯ä»¥ä¸ã®éã(MySQLåæã§æ¸ãã¦ãããã©Postgresã¨ãã£ãä»ã®RDBMSã«ãé©ç¨ã§ãã話ã): DBå¼ãã¨ããPerlæ代(ï¼)ã«ãã1000件åä½ã§chunkin
çæAIï¼äººå·¥ç¥è½ï¼ã®RAGï¼æ¤ç´¢æ¡å¼µçæï¼ã®å°å ¥ãªã©ä¼æ¥ã§ä½¿ããå§ãããã¯ãã«ãã¼ã¿ãã¼ã¹ããã®ç¹å¾´ã¯æ¤ç´¢ã«ããããã¯ãã«ãã¼ã¿ãã¼ã¹ã¨ã¯ã©ã®ãããªãã¼ã¿ãã¼ã¹ã§ããªããæå³ãã§æ¤ç´¢ã§ããã®ãããã¯ãã«ãã¼ã¿ãã¼ã¹ã®åºæ¬æè¡ã«ã¤ãã¦ãã¼ã¿ãã¼ã¹ã®å°é家ã解説ãããï¼ç·¨éé¨ï¼ ãã¯ãã«ãã¼ã¿ãã¼ã¹ã¯èªç¶è¨èªå¦çãªã©AIæè¡ã®çºå±ã®ä¸ã§çã¾ãããã¼ã¿ãã¼ã¹ã§ããããã¯ãã«ã®æ¦å¿µãç¨ãã¦ãã¼ã¿ã管çãããã¼ã¿ãã¼ã¹ã§ããçæAIã®ç»å ´ã¨ã¨ãã«æ³¨ç®ãéãããã¾ãå¤ãã®æ¢åã®DBãµã¼ãã¹ããã®å¿ç¨ãµã¼ãã¹ã«ãã¯ãã«ãã¼ã¿ãã¼ã¹ã®æ©è½ãçµã¿è¾¼ã¾ãã¦ãã¾ãã 以ä¸ã§æ¤ç´¢ãä¾ã«ãã¯ãã«ãã¼ã¿ãã¼ã¹ã®ç¹å¾´ãåä½ã®ä»çµã¿ã解説ãã¾ãã ãã¯ãã«ã«ãããé¡ä¼¼åº¦ãã®å¤æ ãã¯ãã«ãã¼ã¿ãã¼ã¹ãã¹ãã¢ããã®ã¯æ°å¤ã®ç¾ åã§ããåèªãæç« ãªã©ã®ãæå³ããæèããæ°å¤åãããã¼ã¿ã§ãããåã ã®æ°å¤ãåãåºãã¦æå³ãéã
PostgreSQLã®ã½ã¼ã¹ã³ã¼ããWebAssemblyãã¤ããªã¨ãã¦ãã«ããããã¨ã§ãNode.jsãªã©ã®JavaScriptã©ã³ã¿ã¤ã ãWebãã©ã¦ã¶ä¸ã§ï¼ã»ã¼ï¼ãã«æ©è½ã®PostgreSQLãå®è¡å¯è½ã«ãããPGliteããå ¬éããã¾ããã PGliteã¯PostgreSQLã®Cã®ã½ã¼ã¹ãEmscriptenã§ã³ã³ãã¤ã« PostgreSQLã¯ãªã¼ãã³ã½ã¼ã¹ã®ä»£è¡¨çãªãªã¬ã¼ã·ã§ãã«ãã¼ã¿ãã¼ã¹ã§ãããCè¨èªã§éçºããã¦ãã¾ãã PGliteã¯ãã®PostgreSQLã®Cã®ã½ã¼ã¹ã³ã¼ãã®ãã«ãã«Emscriptenã³ã³ãã¤ã©ã使ç¨ãã¦WebAssemblyãã¤ããªã¨ãã¦åºåãJavaScript/TypeScriptããã©ã¤ãã©ãªã¨ãã¦å¼ã³åºããããã«ãããã®ã§ãã ãã ãEmscriptenã§ã³ã³ãã¤ã«ãããããã°ã©ã ã¯æ°ããããã»ã¹ããã©ã¼ã¯ã§ããªããããPGliteã¯Postg
2024年度ãªã¯ã«ã¼ã ã¨ã³ã¸ãã¢ã³ã¼ã¹æ°äººç ä¿®ã®è¬ç¾©è³æã§ã
å ¨å½ã®å¸åºçºæã®ååã¨ã³ã¼ãããã¼ã¿ãã¼ã¹ãã¼ãã«åãããã®ãããªãã¡å¸åºçºæãã¹ã¿ã¯ITã·ã¹ãã ãä½ã£ã¦ããã°ä½ãããã®å ´é¢ã§å¿ è¦ã«ãªããã®ã§ãã ã§ã¯ãã®å¸åºçºæãã¹ã¿ãä½ãããã®å ãã¼ã¿ã¯ã©ãããæã«å ¥ããããããã®ãã ããã¦ãä½ããã¨ããã®ãããã¾ãããå¸åºçºæã¯åç·¨ããããã®ã§ãããææ°ã®å¤æ´ã«ã©ã追å¾ããããããããããèªååã§ãããã¨ããã®ã大ãã«æ°ã«ãªãã¨ããã§ããã ã¨ã ã¹ãªã¼ã¨ã³ã¸ãã¢ãªã³ã°ã°ã«ã¼ãä¸æµ¦(@[email protected]) [è¨äºä¸è¦§ ï]ã§ãã Unit1ï¼è£½è¬ããã¢ã¼ã·ã§ã³ï¼ããã³Unit9ï¼æ²»é¨è¨åºç 究æ¯æ´ï¼ã®ã¨ã³ã¸ãã¢ã§ãã ä»åã¯ç§ãçæ§ã¨ã¾ã£ããåãããã«å¸åºçºæãã¹ã¿ã®ãã¼ã¿æºã«æ©ãã§ãããã調ã¹ã¾ããã®ã§ãããã§å¾ãç¥è¦ãå ±æããã¦ããã ããã¨æãã¾ããä»åã¯ä»£è¡¨çãª3ã¤ã®ãã¼ã¿ã½ã¼ã¹ããç´¹ä»ãæ¯è¼ãã¦ããã¾ãã ã»ããã®ã¯ãããªæãã®ã
æ°äºè£å¤ã®å¤æ±ºã®ãã¼ã¿ãã¼ã¹åãè°è«ããæ³åçã®æèè æ¤è¨ä¼ã29æ¥ãå ±åæ¸ãåãã¾ã¨ãããæ°äºè¨´è¨ã¨è¡æ¿è¨´è¨ã®å¤æ±ºå ¨ã¦ãåå対象ã§ãå人åãªã©ã®ãã©ã¤ãã·ã¼æ å ±ãä¼ãããæ¿åºã¯2026年度ä¸ã®éç¨éå§ãç®æãã
翻訳ã«ã¤ã㦠ãã®ãæ¥æ¬æ³ä»¤å¤å½èªè¨³ãã¼ã¿ãã¼ã¹ã·ã¹ãã ãã«æ²è¼ãã¦ããæ³ä»¤ç¿»è¨³ã¯ãæ£æã§ã¯ãªããæçµæ¹æ£çã§ãªãæ³ä»¤ãå«ã¾ãã¦ãã¾ããæ³çå¹åãæããã®ã¯æ¥æ¬èªã®æ³ä»¤èªä½ã§ããã翻訳ã¯ããã¾ã§ãã®ç解ãå©ããããã®åèè³æã§ãã ãã®ãã¼ã¸ã®å©ç¨ã«ä¼´ã£ã¦çºçããåé¡ã«ã¤ãã¦ãä¸åã®è²¬ä»»ãè² ãããã¾ãã®ã§ãæ³å¾ä¸ã®åé¡ã«é¢ãã¦ã¯ãå®å ±ã«æ²è¼ãããæ¥æ¬èªã®æ³ä»¤ãåç §ãã¦ãã ããã ãªããæ³ä»¤ã®ç¿»è¨³æ´åã¯ããæ³ä»¤å¤å½èªè¨³æ¨é²ã®ããã®åºç¤æ´åã«é¢ããé¢ä¿çåºé£çµ¡ä¼è°ãã§æ±ºå®ãããè¨ç»ï¼ç¿»è¨³æ´åè¨ç»ï¼ã«åºã¥ãã¦è¡ã£ã¦ãã¾ãã ãæ«å®çãã«ã¤ã㦠æ³ä»¤åã«ãï¼æ«å®çï¼ãã¨è¡¨ç¤ºããã¦ãã翻訳ã¯ããã¤ãã£ããæ³ä»¤ç¿»è¨³å°é家ã«ãããã§ãã¯åã³ä¿®æ£åã®ç¿»è¨³ã§ãããä»å¾ãä¿®æ£ãããå ´åãããã¾ãã å¼ç¨ãè¤è£½ã転è¼ã«ã¤ã㦠ãã®ãæ¥æ¬æ³ä»¤å¤å½èªè¨³ãã¼ã¿ãã¼ã¹ã·ã¹ãã ãã«æ²è¼ãã¦ãããã¼ã¿ã¯ãå©ç¨è¦ç´ã«å¾ããå¼
Table users { id integer [pk] first_name varchar last_name varchar email varchar [not null] password varchar [note: 'Hashed password'] created_at datetime [not null, default: `now()`] updated_at datetime Indexes { email [unique, name: "ui_users_email"] } Note: 'table: users' } ä¸è¨ã®ãã¼ãã«å®ç¾©ã dbdiagram.io ã®å·¦å´ã®ã³ã¼ãè¨è¼é¨åã«å¼µãä»ããã¨å³å´ã«ãã¬ãã¥ã¼ã表示ããã¾ãã 以ä¸ã¯ dbdiagram.io ã§ã®ãã¬ãã¥ã¼ãããæã®è¡¨ç¤ºã§ãã(Noteã®ç®æã¯èª¬æã®ããå å·¥ãã¦ãã¾ã) (1) Ta
å°å ¥ ããã«ã¡ã¯ãæ ªå¼ä¼ç¤¾ãã¬ãã¸ã»ã³ã¹ã®é è¤è±å¯¿ã§ããæ®æ®µã¯ã¨ã³ã¸ãã¢ã¨ãã¦ãLLMã使ç¨ãããã£ããã®ãµã¼ãã¹ãæä¾ãã¦ãããã¨ãããRAGã·ã¹ãã ã®æ¹åã¯æ¥ã ã®èª²é¡ã«ãªã£ã¦ãã¾ãã RAGã®ã·ã¹ãã ã®ä¸ã§ã¯ãã©ããªæ å ±ã«ã¢ã¯ã»ã¹ãããã決å®ããéã«ãEmbeddingã¨å¼ã°ããæç« ããã¯ãã«åããæè¡ã使ç¨ããã¦ãã¾ããããã¦å¤ãã®å ´åã§ã¯å°æ°(float)ã®å¤æ¬¡å ãã¯ãã«ãæ¡ç¨ããã¦ãã¾ãã ããããEmbeddingã®ä¸ã«ã¯åãã¯ãã«ã®æ°å¤ã1Bitã®ãã¼ã¿ã¨ãã¦æ±ãBinary Embeddingã¨ãããã®ãåå¨ãã¾ãã æ¬è¨äºã§ã¯ãEmbeddingã®ææ³ã®ä¸ã¤ã§ãããã®Binary Embeddingã«ã¤ãã¦è§£èª¬ã¨æ¤è¨¼ãè¡ãã¾ãã ãµããªã¼ Binary Embeddingãæ¡ç¨ãããã¨ã§ä»¥ä¸ã®ãããªå¹æãå¾ããã¨ãã§ãã¾ãã ä¿ç®¡ãããã¯ãã«ãã¼ã¿ã®å®¹éã96%ã»ã©åæ¸ã§
åºæ ç§ã®ä»äºã¯ãDBã¨ã³ã¸ãã¢ã§ããã¨ãã£ã¦ãå¥ã«æãã§ãã¼ã¿ãã¼ã¹ã®ä¸çã¸ããããã§ã¯ãªããå½åãç§ã¯ãã®åéãé¢ç½ãããã¾ããã§ããããWebç³»ã¯è±å½¢ããã¼ã¿ãã¼ã¹ã¯æ¥é°ãã¨ããè¨èãåããã¦ãã¾ãããä»ã§ãåããã¦ããããããã¾ããã ã§ããããã°ãããã¼ã¿ãã¼ã¹ã触ã£ã¦ãããã¡ã«ãç§ã¯ãã®ä¸çã«ã¨ã¦ãèå³æ·±ããã¼ããå¤ããããã¨ãç¥ãã¾ããããªããã£ã¨æ©ãæ°ã¥ããªãã£ãã®ããå¾æãããã¨ãããã§ãã ãã¡ãããèªåã®ä¸æãæ大ã®åå ã§ããããã®ä¸çã«è¶³ãè¸ã¿å ¥ããå½æãå çããå°ãã®æ¸ã¨ãªãå ¥éæ¸ããªãã£ããã¨ãäºå®ã§ãã ä»ã§ãããã¤ãã«ã¨ä»°ããããã°ã©ãã®ããã®SQL 第2çããæ°å ¥ç¤¾å¡ã«ã¯æ·å± ãé«ããã¾ãã (2015å¹´2æ追è¨ï¼ãã®å¾ãèªåã§ç¬¬4çã訳åºã§ããã®ã ããã 人çã¯ä½ããããåãããªããã®ã§ã)ã ããã§ãã§ãããã®ãµã¤ãã®ç®çã¯ããã¼ã¿ãã¼ã¹ã®ä¸çã«è¶³ãè¸ã¿
è¿å¹´ã®ãã¼ã¿ãã¼ã¹ã®æ°æ½®æµã«NewSQLã¨å¼ã°ããä¸ç¾¤ã®ãã¼ã¿ãã¼ã¹è£½å群ã®ç»å ´ãããããã®ã³ã³ã»ãããä¸è¨ã§ããã¨ãRDBã¨NoSQLã®ããã¨ãã©ãã§ãããSQLã¤ã³ã¿ãã§ã¼ã¹ã¨å¼·ããã¼ã¿ä¸è²«æ§ï¼ACIDï¼ã¨ããRDBã®å©ç¹ã¨æ°´å¹³æ¹åã®ã¹ã±ã¼ã©ããªãã£ã¨ããNoSQLã®é·æãå ¼ãåãã夢ã®ãããªãã¼ã¿ãã¼ã¹ã§ãããä¸å³ã«è¦ãããããã«ãRDBã¨NoSQLãéããã¬ã¼ããªããçºçããã¦ããã®ã«å¯¾ãã¦ãNewSQLã§ã¯ããã解æ¶ããã¦ããã®ãåããã RDB vs NoSQL vs NewSQLæ¬å½ã«ãã®ãããªå¤¢ã®å®ç¾ã«æåãã¦ããããã¨ããã®ã¯ã¾ã è°è«ãç¶ãã¦ãããï¼ã¯ã¨ãªã®ã¹ã«ã¼ããããåºãããã«ã¬ã¤ãã³ã·ãç ç²ã«ãã¦ããã®ã§æ¬å½ã«ãã¬ã¼ããªãã解æ¶ã¯ãã¦ããªãããªã©ã®åé¡ãææããã¦ããï¼ãåç¨ã§ãå©ç¨å¯è½ãªè£½åã¨ãã¦Google SpannerãTiDBãYugabyteDBãCoc
ãã®è¨äºã¯æ¯é±å¿ ãè¨äºãã§ãããã¯ããã° Loglass Tech Blog Sprint ã®34é±ç®ã®è¨äºã§ãï¼ 1å¹´éé£ç¶éæã¾ã§æ®ã19é±ã¨ãªãã¾ããï¼ æ ªå¼ä¼ç¤¾ãã°ã©ã¹ã®é¾å³¶ï¼ãã ããã¾ï¼ã§ããæè¿ã¯ãã£ã±ãæ°çå§ãã¬ãªã«ãã¦ã¯ã©ãããã¼ã«ã®ã¤ã¾ã¿ã«ããæ¯æ¥ãéã£ã¦ãã¾ããä»æ¥ã¯ãã¼ã¿ãã¼ã¹ã¨ãã¼ã¿æ§é ã®è©±ã§ãã ãã®è¨äºã§ããã㨠ãã¼ã¿éè¨ã®é«éåã®ãããå¤ãã®å ´åãåæåãã¼ã¿ãã¼ã¹ãé¸ã°ãã¾ããåæåã大éã®ãã¼ã¿æä½ãå¹ççã«å¦çã§ããããã§ããè¡æåã®ãã¼ã¿ãã¼ã¹ãå©ç¨ãã¦ããç¶æ³ã§ããã¼ã¿éè¨ã®ããã©ã¼ãã³ã¹åä¸ã®ããåæåãã¼ã¿ãã¼ã¹ã¸ã®ç§»è¡ããããã¨ã¯ããããä¾ã§ããããããè¡æåãã¼ã¿ãã¼ã¹ã§æå¹ãªãã¼ã¿æ§é ãã¯ã¨ãªãåæåã§åæ§ã«åªãã¦ããã¨ã¯éãã¾ããããã®è¨äºã§ã¯ãè¡æåã®PostgreSQLã¨åæåã®BigQueryã使ã£ã¦ãããããã«é©ãããã¼ã¿æ§é ã¨
ãç¥ãã
é害
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}