EventJoin us at AWS re:Invent 2024! Learn how to use MongoDB for AI use cases. Learn more >>
SSDã使ãã¨DBMSã¯ã©ãå¤ããï¼å¾¹åºæ¤è¨¼ããè¨äºãæ¸ãã¾ããï¼ WEB+DB PRESS Vol.52 äºç´åä»ä¸ã§ãã å®éã«ææ°æéã®SSDãIntel X25-Eã使ã£ã¦DBMSã®ããã©ã¼ãã³ã¹ãè¨æ¸¬ãããªã©ãããããããªããè¨äºãæ¸ããã¨ãã§ãã¾ãããSSDã®å®åã«é©ãã¤ã¤ãã使ãæ¹ãééããã¨HDDããé ããªãï¼ ãªã©æ°ããçºè¦ãããã ããã¦ãSSDã¨HDDã®éããã©ã®ããã«ãã¼ã¿ãã¼ã¹ã®æ§è½ã«å½±é¿ããã®ãï¼ãã£ã¹ã¯ä¸ã®ãã¼ã¿æ§é ï¼ãã¼ããB+-treeãªã©ï¼ãããããã¡ç®¡çãªã©ããã¼ã¿ãã¼ã¹ã·ã¹ãã ã®ä¸èº«ã解åãã¦ãããããã解説ãã¦ãã¾ããèªã¿ããããªã£ãã®ã¯ä¸å¯§ã«æ·»åãã¦ãã ãã£ãæ å½æ§ã®ãããã§ããæè¬ã ãã£ã¹ã¯ãæ´»ç¨ãããã¼ã¿ã®ã½ã¼ãã£ã³ã°ï¼External merge sortãªã©ï¼ã«å ãã2009å¹´6æã«Edgar F. Codd Innovation Aw
InteropTokyo 2009 ã¯ã©ã¦ãã³ã³ãã¥ã¼ãã£ã³ã°ã³ã³ããã£ã·ã§ã³ï¼é称ã¯ã©ã¦ãã³ã³ï¼ã¯ãæçããã¨ãã¼ãã¼ã ãåªåãã¾ããï¼ å®è¡å§å¡ï½¥StarBEDããã¸ã§ã¯ãï½¥IBMã®çæ§ãå§ãé¢ä¿è ã®çæ§ããããã¨ããããã¾ããã ãã¬ã¼ã³ãã¼ã·ã§ã³ã ã¼ãã¼ã¨ãã¹ã¿ã¼ã¨ãã³ãã¬ãã*1ãå ¬éãã¾ããã ãã¬ã¼ã³ã ã¼ãã¼ï¼ãã¦ã¹ã¯ãªãã¯/ç¢å°ãã¼ã§é²ãï¼ PDFç ãã¹ã¿ã¼ ãã³ãã¬ãã *2 â¦ã©ããç¸å½ã«æ°åããå ¥ã£ã¦ããã®ã§ããã²ã覧ãã ãã^^ Ustream.tvã®é²ç»ãããã¾ãï¼ãã¨ãã¼ãã¼ã ã¯ã¡ãã£ã¨ç´°åãã§ããï¼ éä¸ã§è¡ã£ããã¢ã¯ãStarBEDã®45å°ã®ç©çãµã¼ãã¼ã使ã£ã¦kumofsãåããã¦ãã©ã³ãã ã§é¸ãã ãã¼ããèªåçã«kill/åèµ·åããã¹ã¯ãªãããèµ°ããããã®ã§ãããµã¼ãã¼ãè½ã¡ã¦ãã·ã¹ãã ã¯å ¨ç¶æ¢ã¾ããªãããã©ã®ãµã¼ãã¼ã«ãåçã«è² è·ãåæ£ããã¾ãã æ
CDB++ã¨ããï¼éçããã·ã¥ãã¼ã¿ãã¼ã¹ã©ã¤ãã©ãªããªãªã¼ã¹ãã¾ããï¼ã©ã¤ã»ã³ã¹ã¯ä¿®æ£BSDã§ãï¼ éçããã·ã¥ãã¼ã¿ãã¼ã¹ãªã®ã§ï¼ãã£ãããã¼ã¿ãã¼ã¹ãæ§ç¯ãããï¼è¦ç´ ã®è¿½å ãåé¤ã¯è¡ãã¾ããï¼ãã®ä»£ããï¼ã³ã³ãã¯ããªãã¼ã¿ãã¼ã¹ï¼é«éãªæ§ç¯ï¼é«éãªæ¤ç´¢ãã§ããããã«ãªã£ã¦ãã¾ãï¼ãã¼ã¿æ§é ã¯ï¼Constant Databaseãæ¡ç¨ãã¦ãã¾ãï¼Constant Databaseã®å®è£ ã¯ããã¤ãããã¾ããï¼ã¯ãã¹ãã©ãããã©ã¼ã ã§ãæ軽ã«ä½¿ãããã®ããªãã£ãã®ã§ï¼ä½ã£ã¦ã¿ã¾ããï¼ã¾ãï¼ãã®ã©ã¤ãã©ãªã¯cdbpp.hã¨ããã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã®ã¿ã§æ§æããã¦ããã®ã§ï¼ãã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããã ãã§ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ãã¾ãï¼ ããã·ã¥ãã¼ã¿ãã¼ã¹ã«ã¯ï¼Oracle DBãTokyo Cabinetãªã©ï¼åªããå®è£ ãããããããã¾ãï¼ãããï¼åã«ãã¼ã¨å¤ã®ãã¢ããã¡ã¤ã«ã«æ¸ãåºã
ç¸å¯¾æ§çè«ã®ãã¼ã«ã«ãé ããé¢ããªãmikioã§ããç±ããã£ãµãã®å£°ã«å¿ãã¦ä»åã¯Tokyo Cabinetã®ãã¼ãã«ãã¼ã¿ãã¼ã¹ã«ãããæ¤ç´¢æ©è½ã®å®è£ ã«ã¤ãã¦èªã£ã¦ã¿ããã¨æãã¾ããã¨ã¦ãé·ãã®ã§ãããæå¾ã¾ã§èªãã ããã¤ãã«ã¯ãèªåã§ãå ¨ææ¤ç´¢ã¨ã³ã¸ã³ãä½ããã¨æã£ã¦ããã ããã°å¬ããã§ãã ã㢠ã¢ããã¼ã·ã§ã³ãããã¦ããã ãããã«ã100è¡ã®ã½ã¼ã¹ã³ã¼ãã§æ¤ç´¢UIã®ãã¢ãä½ã£ã¦ã¿ã¾ãããJava 6ã®æ¥æ¬èªææ¸ã対象ã¨ãã¦ããã®ã§ããstringbufferãã¨ããã³ã³ãã¤ã«ãã¨ããå精度浮åå°æ°ãã¨ãããã£ã½ãç¨èªã§æ¤ç´¢ãã¦ã¿ã¦ãã ããã ã¤ã³ããã¯ã¹ãã¡ããã¨ã§ãã¦ããã°ããã£ã100è¡ã§ææ¤ç´¢ã¨ã³ã¸ã³é¢¨å³ã®æ¤ç´¢æ©è½ãããªãã®ãã¼ã¿ã対象ã«ãã¦åãããã¨ãã§ãã¾ããã½ã¼ã¹ã³ã¼ãã¯ãã¡ãï¼ãã³ãã¬ã¼ãã¯ãã¡ãï¼ã§ãã ã§ããä»åã¯UIã®è©±ã§ã¯ãªãã®ã§ãããã®ãããå°å³ã«ãå ¨ææ¤ç´¢
ï¼ãã¼ã¿ãã¼ã¹ã·ã¹ãã ã¨ãã®ç 究ã®ä¸çãä¸è¬ã®äººã«ããããããä¼ããããããå³æ¸é¤¨ããã¢ãã«ã«ãã話ãæ¸ãã¦ã¿ã¾ããã試é¨ã«åºãããªï¼ï¼ï¼é¨åã¯å¤ªåã§å¼·èª¿ãã¦ããã¾ããï¼ ããã¼ã¿ãã¼ã¹ãã¨ããè¨èã¯ããã¼ã¿ã®éã¾ãã¨ããæå³ã§ãããã¼ã¿ãã¼ã¹ã·ã¹ãã ã®ç 究ã§ã¯ãä¾ãã¦è¨ããªãã欲ããæ¬ãããã«è¦ã¤ããå³æ¸é¤¨ããããã«ä½ããã¨ããåé¡ãèãã¾ããããã§ããã¼ã¿ãã¯å³æ¸é¤¨ã®ãæ¬ãã«ç¸å½ããããã¼ããã£ã¹ã¯ãã¯ãæ¬æ£ããããããåãããã¦ããå³æ¸é¤¨ã®å»ºç©ã ã¨èãã¦ãã ããã ã欲ããæ¬ãããã«è¦ã¤ãããã¨ã¯ã©ããããã¨ã§ããããï¼ä¾ãã°ãå³æ¸ç®é²ã調ã¹ã¦ç®çã®æ¬æ£ã®çªå·ãããã£ãã¨ãã¦ããæ¬æ£ã¾ã§ã®è·é¢ãé ããã°ãã£ãããã¦ãã¾ãã¾ãããï¼ï¼é«ããã¦æãå±ããªããã¨ãæ³£ãã¦ãã¾ãï¼
ãµãã£ã¦ããæ©æã¸ã§ã®ã³ã°ï¼ é§æ²¢å ¬åãåéãã¦2é±éãã¡ããã£ã¨æãããæ°ããæãæ°ã®æ¹ãå¢ãã¦ããmikioã§ããä»åã¯ãPerlãRubyã®ããã·ã¥ã®ä»£ç¨ã¨ãã¦Tokyo Cabinetã使ããã¨ã§ã¡ã¢ãªä½¿ç¨éãæ¿æ¸ããããããã¨ã説æãã¾ãã æ½è±¡ãã¼ã¿ãã¼ã¹API Tokyo Cabinetã«ã¯æ½è±¡ãã¼ã¿ãã¼ã¹ã¨ããæ©æ§ããããå æ¥ããã®Perlã¨Rubyã®ãã¤ã³ãã£ã³ã°ããªãªã¼ã¹ãã¾ãããããã使ãã¨ãå種è¨èªã®ããã·ã¥ã¨ã»ã¼åããããªå ±éããã¤ã³ã¿ã¼ãã§ã¤ã¹ã§ã以ä¸ã®ãã¼ã¿æ§é ãå©ç¨ãããã¨ãã§ãã¾ãã ãªã³ã¡ã¢ãªããã·ã¥ï¼å種è¨èªã«æ¨æºã®ããã·ã¥ã¨åãããã¡ã¢ãªä¸ã§key/valueã®é¢ä¿ã表ç¾ããã ãªã³ã¡ã¢ãªããªã¼ï¼ã¡ã¢ãªä¸ã®äºåæ¢ç´¢æ¨ã¨ãã¦key/valueã®é¢ä¿ã表ç¾ããã ãã¡ã¤ã«ããã·ã¥ï¼ããããDBMã¨ãã¦ããã¡ã¤ã«ä¸ã§key/valueã®é¢ä¿ã表ç¾ããã ãã¡
ãã©ãã·ã¥ã¡ã¢ãªã¼ã使ã£ãSolid State Drive (SSD)ã®å®¹éã160GBã«å°éããå¸å ´ä¾¡æ ¼ãä¸ãã£ã¦ãããã¨ã«ããããã¼ããã£ã¹ã¯ã®ä»£æ¿åã¨ãã¦SSDã使ãç¨éãããããç¾å®å³ã帯ã³ã¦ãã¾ãããä½å®¹éã®ãã®ãªãæ¢ã«iPodããã¸ã«ã¡ç¨ã®ã¡ãã£ã¢ãªã©èº«ã®åãã«ãæ®åãã¦ãããå¸å ´ã§ã¯ãã§ã«ãç ´å£çã¤ããã¼ã·ã§ã³ï¼ãã¤ããã¼ã·ã§ã³ã®ã¸ã¬ã³ãâæè¡é©æ°ã巨大ä¼æ¥ãæ» ã¼ãã¨ããããï¼ããèµ·ãã£ã¦ããã¨ããã¾ããï¼HDDæè¼ã®Walkmanã¨ãæ¢ã«æ» ãã§ããä¾ãããããããï¼
å»ã1æ23æ¥ãAJACS(All Japan Annotator/Curator/System DB administrator)åå¼·ä¼ã«åå ãã¦ããã AJACS7 - MotDB çµ±åãã¼ã¿ãã¼ã¹è¬ç¿ä¼ï¼AJACSé·æ´¥ç° éå¬ - çµ±åããã(2009-01-23) 以ååè¾²ããã®ã©ã(?)ã«çªå ¥ããã¨ãã®ã¬ãã¼ãã¯ä»¥ä¸ãããåå¹´è¿ãåãªã®ã...ã ã©ã¤ããµã¤ã¨ã³ã¹çµ±åDBããã¸ã§ã¯ãã®ä¸ã«ä¹ãè¾¼ãã§ãã - ãã¼ã ã®æ»éª¸ãå¾ ã¡ãªãã å 容ã¨ãã¦ã¯ãé»å·å çã¨ä¸æå çã®ãã¬ã¼ã³ãæã¿ã¤ã¤ã ã©ã¤ããµã¤ã¨ã³ã¹çµ±åãã¼ã¿ãã¼ã¹ããã¸ã§ã¯ã-çµ±åãã¼ã ãã¼ã¸-LSDB ããã®ä½¿ãæ¹ãç´¹ä»ãã¦ããå½¢ã以ä¸ãã¡ã¢ã ã¹ã±ã¸ã¥ã¼ã« ååï¼è¬æ¼ï¼è¬ç¿ 10:30-12:30 æé è¬æ¼è æå± é¡ç® 10:30-11:00 åè¾²ç§é ã©ã¤ããµã¤ã¨ã³ã¹çµ±åãã¼ã¿ãã¼ã¹ã»ã³ã¿ã¼ ãçµ±åãã¼ã¿ãã¼ã¹ã
æè¿ã¯éçºãé²ãã§ãªãã®ã¯ãPCã²ã¼ã ãã¦ãã¨ããã®ãããã¾ãããRxã¨ããã©ã¤ãã©ãªãä½ã£ãããã¦ã¾ããã ãã¼ãã¦ã§ã¢è¨è¨ã¨ã¯é¢ä¿ãªããã§ãããæååããã¼ã«æ°åãåãã ãè¾æ¸çãªæ©è½ãå®ç¾ãã¦ãã¦ããã¡ã¤ã«ãµã¤ãºã®å°ããã¨ãããããã®é«éãªæ¤ç´¢ãç¹å¾´ã§ããTxã¨ããã©ã¤ãã©ãªã®åå®è£ ã§ãè¥å¹²ãã¡ã¤ã«ãµã¤ãºãå°ãããªã£ã¦ãã¾ãã(ããã®èªè ã®æ¹ãªããä½æ Txã®åå®è£ ãRxã¨ããååãããããã¨æãã¾ããããã¿ãããããªã人ãå¤ãã£ãã§ã) ããä¸ã¤ãå§ç¸®ç³»ã®ã©ã¤ãã©ãªãä½ã£ã¦ãã¦ããããçµãã£ããneon lightã®éçºã«æ»ãäºå®ã§ãã
Yahoo! Researchã®"Generating Example Data for Dataflow Programs"ã¯æããPig Latinã®ãããã°ç¨ã®ãµã³ãã«ãã¼ã¿çæã®è©±ãHadoopãªã©ã®ä¸ã§ãè¤éãªãã¼ã¿æ§é ãåçã«çµã¿ç«ã¦ã¦ããããã°ã©ã æ¸ããªããã横ã«å®è¡çµæã®ä¾ããé©åã«ã示ãããµã³ãã«ã表示ãããã¨ããããããããããã¨ãã話ãâTowards a simpler XML Schema: effortless handling of nondeterministic regular expressionsâã¯ã¤ãã«æ¥ãããã¨ããæããRelational styleã®èããå ¥ã£ã¦ãã¦ãã¹ãã¼ã(relation)ããèãããããããããªæ¨æ§é ãNFAã使ã£ã¦åæã«æ¤è¨¼ãããã¨ããæµãã ã£ããå¬ããã"DDE: From Dewey to a Fully Dyn
è¬æ¼ã¿ã¤ãã« (æ¬ç§°ç¥): 森大äºé,æ«æ°¸å¡: çµã¿è¾¼ã¿åå ¨ææ¤ç´¢ã¨ã³ã¸ã³ groonga - Senna ãã groonga 㸠山ç°æµ©ä¹: About Lux IO å¹³æå¹¹é: Tokyo Cabinet ã®æ´å² 岡éå大è¼: Key (-Value) ã®å¹ççãªæ ¼ç´ææ³ã«ã¤ã㦠ååå¾¹: memcached å®äºç伸: repcached ã®ãªãã¿ ããã¾ã: Kai = (Dynamo + memcache API) / Erlang ä¸é康平: åæ£ã¡ãã£ã¢ã¹ãã¬ã¼ã¸çãªãªã«ã (ä»®) å¤æ©è²ä¹: kumofs - kumo fast storage 西澤ç¡æ: ROMA ã®ã¢ã¼ããã¯ã㣠é¦è¤ä¸å¹¸: peer-to-peer ã®æ¹ããæ¥ã¾ãã è¤æ¬ç樹: Flare ã®ã¯ãªã 18:10 éå§ã®äºå®ãå®é㯠18:30 éå§ã 20å x 12件 + ä¼æ© 3åã§ã23æé çµ
greeããã§éå¬ãããKey Value Storeåå¼·ä¼ã«è¡ã£ã¦ãã¾ããã æéã«ãã¦4æéè¶ ããå 容ãå½å ã®Key-Value Storeãªã½ããã¦ã§ã¢ã®æåç·ã®è©±ã°ããã§ç¸å½ãªããªã¥ã¼ã ã以ä¸ãã¡ã¢ã£ã¦ãã®ãæ®ãã¦ããããã¨æãã¾ããï¼èª¤åãè±åãå 容ã«èª¤ããå«ããã®ãªã©ããã¾ããããä¼ããã ããï¼ã¾ããçºè¡¨è ã®æ¹ããããã¯ãã«ã¤ãã¦ããã£ãã調ã¹ã¦URLè¦ã¤ãããããã®ã«ã¤ãã¦ã¯ãªã³ã¯å¼µã£ã¦ãã¾ãã 森ãã / æ«æ°¸ãã  groonga Sennaã®å¾ç¶ã¨ã³ã¸ã³ èéãå¹ããªãã®ãSennaã®ãã¡ãªãã ã¹ã³ã¢ç®åºå¼ã®ã«ã¹ã¿ãã¤ãºãªã© Sennaã®è»¢ç½®ç´¢å¼ ç´¢å¼ã®æ§æé¨åãèªç±ã«çµã¿åããã¦ä½¿ãã APIããããã QL DB Low Level memcachedäºæã®key-value store ãã¤ããªã®ã¿å¯¾å¿ è¨æ¸¬ ã¯ã©ã¤ã¢ã³ããmemstorm-0.6.8 mem
key/value storageã®è©±ãèãã«è¡ãã®ã§ãã¡ãã£ã¨äºç¿ 人ã«ãã£ã¦è²ã ãªã®ãæãæµ®ãã¹ãããªã®ã§ãæãã¤ãããã¤ã³ããåæã é度: è¶ é«é(æ°åã¯ããã¯ï½æ°ç¾ã¯ããã¯/look up)ââ人ãè¦ã¦ã¤ã³ã¿ã©ã¯ãã£ãââä½é ãã¼: æ°å¤ãæååããã¤ã㪠æ´æ°: ä¸å¯ãé«éãä½é lookup: 1 per 1 operation, multiple keys backing store: ç¡ãããã£ã¹ã¯ããããã¯ã¼ã¯ æ§æ: 1thread, multi threads, cluster è¨æ¶å¹ç: compressed, succinct, æ®é, å¯è±ª ä¿¡é ¼æ§ï¼ èã¿ã³ããèæ é(RAMã®ã½ããã¨ã©ã¼ç)ãACIDãç¹ã«ãªã ä¾ã«ãã£ã¦ä½ãæãã¦ãã¨ã¯æãã¾ãããããã ãçµã¿åãããããã¨æ¢åã®ãã®ããã£ããããªãã§æ©ããã¨ãå¤ããã§ããSQLãµã¼ããå ¨é¨ãã«ãã¼ãã¦ã
ã¤ãã«çºå£²ãããã¹ã4ã®ã³ã³ã·ã¥ã¼ãæ©çãããããã¦ãããããªããã©çä½ãè²·ã£ã¦ããããªãã®ã§ãé§ åã®ã²ã¼ã å±ã®ãã£ã¹ãã¬ã¼åã§åæ¶ããã°ããã®mikioã§ããä»åã¯é£è¼ã®æçµåã§ãå種ã¹ã¯ãªããè¨èªã使ã£ã¦ãæ軽ã«ãã¼ãã«ãã¼ã¿ãã¼ã¹ãæä½ããæ¹æ³ã«ã¤ãã¦èª¬æãã¾ãã TokyoCabinet::TDB ã¾ãã¯ãTCã®Perlãã¤ã³ãã£ã³ã°ã¨Rubyãã¤ã³ãã£ã³ã°ã®ææ°çãå ¥æãã¦ãã ããããããããã¼ãã«ãã¼ã¿ãã¼ã¹ãæ±ãããã® TokyoCabinet::TDB ã¨ããã¯ã©ã¹ãå ãã£ã¦ãã¾ãã以ä¸ã®ãããªIDLã«ããã¬ã¤ãã©ã¤ã³ã«æºæ ããã¤ã³ã¿ã¼ãã§ã¤ã¹ãæä¾ããã¾ãã®ã§ã使ãæ¹ã¯è¨èªã«ãããããåãããã«ãªãã¯ãã§ãã module TokyoCabinet { interface TDB { boolean open(in string path, in long omode);
ã¤ãã¼æ ªå¼ä¼ç¤¾ã¯ã2023å¹´10æ1æ¥ã«LINEã¤ãã¼æ ªå¼ä¼ç¤¾ã«ãªãã¾ãããLINEã¤ãã¼æ ªå¼ä¼ç¤¾ã®æ°ããããã°ã¯ãã¡ãã§ããLINEã¤ãã¼ Tech Blog ããã«ã¡ã¯ããªã¼ã¯ã·ã§ã³äºæ¥é¨ã®Wangã§ãã ãã¼ã¿ã¦ã§ã¢ãã¦ã¹ï¼ä»¥ä¸DWHï¼ã¨ããè¨èã«ãªãã¿ã®ãªãæ¹ã¯æ¤ç´¢ãã¦ããã ããã»ããããããããã¾ããã æ¤ç´¢ããã®ãããã©ããã¨ããæ¹ã¯ããã¿ç ãã表ç¾ãã§ããªãã¦æ縮ã§ããã åºå¹¹ç³»ã·ã¹ãã ããæ½åºãããã¼ã¿ãç®çããã£ã¦åæ§æãã 使ç¨å¯è½ãªç¶æ ã«ä¿ç®¡ããããã¼ã¿ã®éåä½ãã¨ãèããã ããã ãªã¼ã¯ã·ã§ã³ã§ã¯ãå ·ä½çã«ã¯åºåãå ¥æãè½æãªã©ã®ãã©ã³ã¶ã¯ã·ã§ã³ãã¼ã¿ãã ããããããããªåä½ã§éè¨ãããã¼ã¿ãªã©ã該å½ãã¾ãã ããã§ããåä½ã¨ããã®ã¯ãã¨ãã°ãæ¥ãã¨ãé±ãã¨ãæãã¨ãã以åã®è¨äºã§ãç´¹ä»ããã¦ãã ã«ãã´ãªã¨ãã£ããã®ã«ãªãã¾ãã ãããã£ããã¼ã¿ã¯ãéç¨ãéå¶ã
ã³ã¢ã©ã¤ãã©ãªãä¸çæ¸å½æ¸ãã¨ã¦ã¼ãã£ãªãã£ããã¤ã³ãã£ã³ã°ãªã©ã®å¨è¾ºæ©è½ãããããã«ãªããéãç¶ãã§ãå·¥æ°å²ãå½ã¦ã®ã¸ã¬ã³ããæ¯ãããmikioã§ããä»åã¯ä½è«ã¨ãã¦ãTokyo Cabinetã®ãã¼ãã«ãã¼ã¿ãã¼ã¹ï¼TCTDBï¼ãä½ãéä¸ã§æãã¤ããæ´æ°æ©è½ã¨æ§è½æ¤è¨¼ã«ã¤ãã¦è¿°ã¹ã¾ãã ã¢ãããã¯ãªæ´æ° åã³ TCTDBã§å¥½è©ã ã£ãã£ã½ãã¢ãããã¯ãªæ´æ°æ©è½ããã®ä»ã®ãã¼ã¿ãã¼ã¹ã§ãå®è£ ãã¦ã¿ã¾ãããä¾ãã°ããã·ã¥ãã¼ã¿ãã¼ã¹ï¼TCHDBï¼ã§ã¯ä»¥ä¸ã®é¢æ°ãæä¾ããã¾ãã typedef void *(*TCPDPROC)(const void *vbuf, int vsiz, int *sp, void *op); bool tchdbputproc(TCHDB *hdb, const void *kbuf, int ksiz, const char *vbuf, int vsiz,
æè¿ãå¿ãããçç±ã«è±ä¼è©±ã¬ãã¹ã³ããµãããã¡ã«ãªã£ã¦ãããããªããªã¨ççããmikioã§ããä»åã¯ãTokyo Cabinetã®ãã¼ãã«ãã¼ã¿ãã¼ã¹ãTokyo Tyrantã使ã£ã¦ãã¼ã¿ãã¼ã¹ãµã¼ãã¨ãã¦å©ç¨ããæ¹æ³ã«ã¤ãã¦è¿°ã¹ã¾ãã ã¨ãããã使ã£ã¦ã¿ã Tokyo Cabinetã¨Tokyo Tyrantã®ææ°çï¼1.4.4ã¨1.1.12ï¼ããªãªã¼ã¹ããã¦ãã¾ãã®ã§ãã¤ã³ã¹ãã¼ã«ãã¦ããã¦ãã ãããã¾ãã社å¡åç°¿ãä½ã£ã¦ã¿ã¾ããããã¾ãã¯ãTTã®ãµã¼ããå®è¡ãã¾ãããã¼ã¿ãã¼ã¹ãã¡ã¤ã«ã®æ¥å°¾è¾ã«ã¯ã.tctããæå®ãã¦ããã¼ãã«ãã¼ã¿ãã¼ã¹ãã¡ã¤ã«ã¨æ¥ç¶ãã¾ãã ttserver casket.tct å¥ã®ç«¯æ«ã§ã¯ã©ã¤ã¢ã³ããæä½ãã¦ã"put" ã³ãã³ãã§ç¤¾å¡ãç»é²ãã¾ããããã-sepãã¯ãã³ã©ã ã®ãã¼ã¨å¤ãåºåãæåãæå®ãããªãã·ã§ã³ã§ãã"|" 以å¤ã§ãä»»æã®åºåãæåã
ã¤ã³ãã«ã¨ã³ã¶ã§ä¼ãã å½±é¿ã§ä»äºã鬼ã®ããã«æºã¾ã£ã¦æ¶åä¸è¯ã®mikioã§ãï¼ãããªè¨äºãæ¸ãã¦ããå ´åãããªãï¼ããã¦ä»åã¯ãTokyo Cabinetã§ãªã¬ã¼ã·ã§ãã«é¢¨ãã¼ã¿ãã¼ã¹ãå®ç¾ãããã¼ãã«ãã¼ã¿ãã¼ã¹ï¼TCTDBï¼ã®å®è£ ã«ã¤ãã¦èª¬æãã¾ãã SQLiteã¨ã®éãã¯ï¼ SQLiteã¯ã¢ããªã±ã¼ã·ã§ã³çµã¿è¾¼ã¿åã®SQL対å¿ãªã¬ã¼ã·ã§ãã«ãã¼ã¿ãã¼ã¹ã®ã©ã¤ãã©ãªã§ããTCã®ãã¼ãã«ãã¼ã¿ãã¼ã¹ãããã¯ããã«é«æ©è½ã§ãããã§ãã¦æ§è½ã大å¤åªãã¦ãã¾ãããããããã¹ã¯ãããã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ããã¼ã¿ãã¼ã¹ããæ¢ãã§ããã°ãTCãªããã§ã¯ãªããæç¶SQLiteãããããã§ãã ä¸æ¹ã§ãTCãªã©ã®DBMã¯ãããåç´ãªãã¼ã¿æä½ãããé«éã«å®è¡ã§ããããã«è¨è¨ããã³å®è£ ããã¦ãã¾ããå ¸åçãªã¦ã¼ã¹ã±ã¼ã¹ã¨ãã¦ã大è¦æ¨¡Webãµã¤ãã®ã¢ã«ã¦ã³ã管çãããã¼ã¿ãã¤ãã³ã°ã«ä¼´ãéè¨æä½ãæãã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}