groongaãã¼ã¿ãã¼ã¹APIã«ã¤ãã¦æ¦èª¬
groongaã«ããã¦ããã¼ã¿ãã¼ã¹ãæ±ãããã®API群ã«ã¤ãã¦æ¦èª¬ãã¾ãã
groongaã¯ãRDBMSã§ããã¨ããã®ãã¼ãã«ã»ã«ã©ã ãæ±ãAPIãæä¾ãã¾ãã
ãã¼ãã«ã¯ãå
é¨çã«ããã·ã¥ãã¼ãã«ãããã¯ãããªã·ã¢ãã©ã¤ãåºã¨ãªã£ã¦ãã¾ãã
ããããã®è¦ç´ ã«ã¤ãã¦ãã©ã®ãããªæä½ãè¡ãããã説æãã¾ãã
grn_hash
grn_hashã¨ã¯ã以ä¸ã®æä½ãè¡ããAPI群ã§ãã
- ä»»æã®keyãæå®ãããã¼ã¿ä¿å
- ä»»æã®keyãæå®ãããã¼ã¿åå¾
- ä»»æã®keyãæå®ãããã¼ã¿åé¤
- ã«ã¼ã½ã«ãç¨ãããå ¨ã¦ã®key/valueã®åå¾ã»è¨å®ã»åé¤
å
é¨ã®å®è£
ã¯ãããã·ã¥ãã¼ãã«ã§ãã
ã¡ã¢ãªä¸ã«ä½æãããã¨ãããã¡ã¤ã«ã¨ãã¦ä½æãããã¨ãã§ãã¾ãã
ãããã*DBMã¨åçã®ãã¨ãã§ãã¾ãã
Tokyo Cabinetã§ããã¨ããã®TCHDBã§ããã
grn_pat
grn_patã¨ã¯ã以ä¸ã®æä½ãè¡ããAPI群ã§ãã
- ä»»æã®keyãæå®ãããã¼ã¿ä¿å
- ä»»æã®keyãæå®ãããã¼ã¿åå¾
- ä»»æã®keyãæå®ãããã¼ã¿åé¤
- ä¸ããããæååå ã§ãæå·¦æé·ä¸è´ããkeyã®æ¤ç´¢
- ä¸ããããæååã¨åæ¹ä¸è´ããkey群ã®æ¤ç´¢
- ä¸ããããæååã¨å¾æ¹ä¸è´ããkey群ã®æ¤ç´¢
- ä¸ããããæååã¨åæ¹æé·ä¸è´æ¤ç´¢ããkeyã®æ¤ç´¢
- ã«ã¼ã½ã«ãç¨ãããå ¨ã¦ã®key/valueã®åå¾ã»è¨å®ã»åé¤
å
é¨ã®å®è£
ã¯ããããªã·ã¢ãã©ã¤ã§ãã
ã¡ã¢ãªä¸ã«ä½æãããã¨ãããã¡ã¤ã«ã¨ãã¦ä½æãããã¨ãã§ãã¾ãã
groongaã¯ãå
¨ææ¤ç´¢ãç®çã«éçºããã¦ãã¾ãã
Sennaã®æ代ãããå
¨ææ¤ç´¢ã®èªå½è¡¨ã表ç¾ããããã«ãããªã·ã¢ãã©ã¤ãç¨ãã¦ãã¾ããã
ããã·ã¥ãã¼ãã«ã¨ã¯ç°ãªããkeyã®åæ¹ä¸è´æ¤ç´¢ãåæ¹æé·ä¸è´æ¤ç´¢ãè¡ããã¨ãã§ãã¾ãã
å
é¨çã«åç¡éæååããããªã·ã¢ãã©ã¤ã«è¿½å ãããªãã·ã§ã³ãããã¾ãã
ãã®ãªãã·ã§ã³ãä»ä¸ããã¨ã
keyã®åæ¹ä¸è´æ¤ç´¢ã ãã§ãªããå¾æ¹ä¸è´æ¤ç´¢ãè¡ããã¨ãã§ãã¾ãã
ãä¸ããããæååå
ã§ãæå·¦æé·ä¸è´ããkeyã®æ¤ç´¢ããç¨ãããã¨ã«ãã£ã¦ã
ã¯ã¦ãªãã¼ã¯ã¼ãã®èªåãªã³ã¯ä»ä¸ã®ãããªå¦çãè¡ããã¨ãã§ãã¾ãã
grn_table/grn_column
grn_tableã¨ã¯ã以ä¸ã®æä½ãè¡ããAPI群ã§ãã
- ä»»æã®keyãæå®ããã¬ã³ã¼ãæ¤ç´¢ã»ä½æã»åé¤
- ä»»æã®keyã¨åæ¹æé·ä¸è´ããã¬ã³ã¼ãæ¤ç´¢ã»ä½æã»åé¤(ãªãã·ã§ã³ã«ãã)
- ã«ã¼ã½ã«ãç¨ãããå ¨ã¦ã®ã¬ã³ã¼ãã®åå¾ã»åé¤
- ä»»æã®ååã¨åãæã£ãgrn_columnã®ä½æã»åå¾
- ä»»æã®ã«ã©ã å¤ãç¨ããã½ã¼ãã»ä¸ä½n件åå¾
- ä»»æã®å¤é¨åç §ãã¼ãã«ã®ã«ã©ã å¤ï¼å¤éåç §ãå¯ï¼ãç¨ããã½ã¼ãã»ä¸ä½n件åå¾
- ä»»æã®é¢æ°ãç¨ããã½ã¼ãã»ä¸ä½n件åå¾
- ä»»æã®ã«ã©ã å¤ãç¨ããã°ã«ã¼ãå
- ä»»æã®å¤é¨åç §ãã¼ãã«ã®ã«ã©ã å¤ï¼å¤éåç §ãå¯ï¼ãç¨ããã°ã«ã¼ãå
- ä»»æã®é¢æ°ãç¨ããã°ã«ã¼ãå
- ãã¼ãã«éã§ã®åã»å·®ãã¼ãã«ã®åå¾
- å ¨ãã¼ã¿ã®åé¤
- ã¬ã³ã¼ãæ°ã®åå¾
grn_tableã®å®è£
ã¯ãgrn_hashãããã¯grn_patãæ¡å¼µããå½¢ã§è¡ããã¦ãã¾ãã
ã¡ã¢ãªä¸ã«ä½æãããã¨ãããã¡ã¤ã«ã¨ãã¦ä½æãããã¨ãã§ãã¾ãã
grn_columnã¨ã¯ã以ä¸ã®æä½ãè¡ããAPI群ã§ãã
- å¤ã®åå¾ã»è¨å®
- grn_columnã転置ã¤ã³ããã¯ã¹åã®å ´åãã¤ã³ããã¯ã¹ã®æ´æ°
- å±ããgrn_tableã®åå¾
grn_columnã®å
é¨ã®å®è£
ã¯ãåºå®é·é
åã»å¯å¤é·é
åã»grn_tableã»è»¢ç½®ã¤ã³ããã¯ã¹ã®ããããã§ãã
ã¡ã¢ãªä¸ã«ä½æãããã¨ãããã¡ã¤ã«ã¨ãã¦ä½æãããã¨ãã§ãã¾ãã
ãã¨ãã°ããã¡ã¤ã«ã¨ãã¦ä½æãããgrn_tableã«ãã¡ã¢ãªä¸ã®ä¸æçãªgrn_columnãä»ä¸ãããã¨ãã§ãã¾ãã
grn_tableã¨grn_columnã«ã¤ãã¦ã¯ã
RDBMSã§ã®ãã¼ãã«ãæ³å®ãã¦ããã ããã°ã¤ã¡ã¼ã¸ããããããã¨æãã¾ãã
ãã¼ãã«ã«ããã¦ãï¼ã¤ã®ã¬ã³ã¼ãã¯ãã ï¼ã¤ã®å¤ãä¿æãããã¨ãã§ãã¾ã(key-value storeçãªæã)ã
ã¾ããï¼ã¤ã®ã¬ã³ã¼ãã¯ãè¤æ°ã®ã«ã©ã (grn_col)ãæã¤ãã¨ãã§ãã¾ã(RDBMSçãªæãï¼ã
key-value storeã®ï¼ã¤ã®key-valueãã¢ã«å¯¾ãã¦ãã«ã©ã ãè¤æ°åãã£ã¤ãã¦ããã¤ã¡ã¼ã¸ãæã£ã¦ãã ããã
grn_hashãgrn_patã¨ã¯ç°ãªãã
ã½ã¼ããã°ã«ã¼ãåãéåæ¼ç®ãªã©ãè¡ããã¨ãã§ãã¾ãã
ãã®å ´åãä»»æã®ã«ã©ã ãé¢æ°ã§ã½ã¼ããã°ã«ã¼ãåãè¡ãã¾ãã
grn_columnã¯ãä»ã®grn_tableã®ã¬ã³ã¼ãã¸ã®åç
§ä¿æãããã¨ãã§ãã¾ãã
ããããå¤é¨åç
§ãã¼ãä¿æããã¤ã¡ã¼ã¸ãæã£ã¦ãã ããã
å¤é¨åç
§å
ã®grn_tableã®ã«ã©ã ãç¨ããã½ã¼ããã°ã«ã¼ãåãé«éã«è¡ããã¨ãã§ãã¾ãã
grn_columnã¯ã転置ã¤ã³ããã¯ã¹ãä¿æãããã¨ãã§ãã¾ãã
転置ã¤ã³ããã¯ã¹ãç¨ãã¦ãé«éãªå
¨ææ¤ç´¢ãè¡ããã¨ãã§ãã¾ãã
詳細ã«ã¤ãã¦ã¯ãå¥ç¨¿ã§è¿°ã¹ã¾ãã
groongaã®memcachedãã¤ããªãããã³ã«äºæå®è£
ã§ã¯ã
flagsãexptimeãcasãªã©ã®å¤ãä¿åããããã«grn_columnãç¨ãã¦ãã¾ãã
ãµã³ãã«ã³ã¼ã
groongaããã±ã¼ã¸ã®exampleãã£ã¬ã¯ããªã«ãkv.cã¨ããã½ã¼ã¹ã³ã¼ããããã¾ãã
ããã¯ãä¸è¨ã®ããããã®APIãç¨ãã¦ã
key-valueã®ä¿åã»åç
§ã100ä¸åè¡ããµã³ãã«ããã°ã©ã ã§ãã
kvãèµ·åããã¨ã以ä¸ã®ããã«usageã表示ããã¾ãã
usage: kv dbpath [put|get] [col|table|hash|pat|ql] [value_size]
第ï¼å¼æ°ã«ããã¼ã¿ãã¼ã¹åãæå®ãã¾ãã
第ï¼å¼æ°ã«ããã¼ã¿ã®ä¿åãªãputããã¼ã¿ã®åå¾ãªãgetãæå®ãã¾ããgetã®å ´åã«ã¯ãï¼åº¦putãè¡ãå¿
è¦ãããã¾ãã
第ï¼å¼æ°ã«ãgroongaãæã¤APIã»ããã®ãã¡ã©ã®APIã»ãããç¨ããããæå®ãã¾ãã
第ï¼å¼æ°ã«ãä¿åããå¤ã®ãµã¤ãºãæå®ãã¾ãã
ãã®ãµã³ãã«ã³ã¼ããèªãã°ã
ä¸è¨ã®æ§æé¨åã«ã¤ãã¦ããåºæ¬çãªä½¿ãæ¹ããã¹ã¿ã¼ãããã¨ãã§ãã¾ãã
ã¾ã¨ã
groongaã§ã¯ããã¾ãã¾ãªãã¼ã¿æ§é ã«å¯¾å¿ããAPIã»ãããããã¾ãã
- keyãããã·ã¥ãã¼ãã«ã§ä¿æããgrn_hash
- keyããããªã·ã¢ãã©ã¤ã§ä¿æããgrn_pat
- keyãgrn_hash/grn_patã§ä¿æããä»»æåã®grn_columnãæã¤ãã¨ãã§ããgrn_table
ãããã®ãã¼ã¿æ§é ã¯ãã¡ã¢ãªä¸ã«ä½æãããã¨ããã¡ã¤ã«ã«ä¿åãããã¨ãå¯è½ã§ãã
grn_hashã¯æ°è»½ãªkey-value storeã¨ãã¦ç¨ãããã¨ãã§ãã¾ãã
grn_patã¯keyã®åæ¹ä¸è´ã»å¾æ¹ä¸è´ãè¡ããkey-value storeã¨ãã¦ç¨ãããã¨ãã§ãã¾ãã
grn_tableã¯ãgrn_hash/grn_patãæ¡å¼µãããã®ã§ãããã ï¼ã¤ããæã¦ãªãvalueã«å ãã¦ãè¤æ°åã®columnãä¿æãããã¨ãã§ãã¾ãã
ã¾ãgrn_tableã¯ãgrn_hashãgrn_patã«ãªãã½ã¼ããã°ã«ã¼ãåæ©è½ãåãã¾ãã