Google App Engineã§å ¨ææ¤ç´¢ ãé層ã«ãã´ãªæ¤ç´¢(GoogleãããStorageã®Number of Indexesãå¢ããã¦ãã ããorz)
Google App Engineã§å ¨ææ¤ç´¢ãé層ã«ãã´ãªæ¤ç´¢ã®ãã¢ä½ãã¾ããã
è¿½è¨ appengine ja night #11ã®çºè¡¨ã®é²ç»ãこちらã§è¦è´ã§ãã¾ãã
http://kissrobber.appspot.com/gae_full_text_search/
ã¨ããããããã¼ã¿ä»¶æ°ã¯10000件ã¡ããã®ãã¢ã§ãããéãã§ãã
ã¾ã 試ãã¦ãªãã§ããããã£ã¨ãã¼ã¿å¢ãã¦ãã¤ã±ãã¯ãã§ãã
ããè¦æãããã°ãå®è£
ã®è©³ç´°ã¯å
¬éãã¾ãã
GAEä¸ã§ã®æ¥æ¬èªå¯¾å¿ã®å
¨ææ¤ç´¢ã¯ãluceneãåãã試ã¿ããcompassï¼ã®æ§ãªå®è£
çãã£ãããã¾ããã
ã©ãããã¼ã¿ä»¶æ°ãå¤ãã¨åããªãã£ãã(æ°å件ãä¸éã§ãããã)ãã¬ã¹ãã³ã¹ãè¿ã£ã¦ããªãã£ãããã¦ã
å®ç¨ã¬ãã«ã®ãã®ã¯ã¾ã ç¡ãã®ã§ã¯ãªããã¨æãã¾ãã
æ¢ã«ããå
¨ææ¤ç´¢ã®ä»çµã¿ãã©ãã«ããã¦GAEä¸ã§åããã®ã§ã¯ãªãã¦ãGAEã¹ãã·ã£ã«ãªå
¨ææ¤ç´¢ãä½ãã¾ããã
ä»çµã¿æ¦è¦
ãã¼ã¯ã¼ãæ¤ç´¢ã«ã¯å½¢æ
ç´ è§£æã§ãã©ãã¦ãã転置ã¤ã³ããã¯ã¹ãä½æãã¦ãã¾ãããã®ãã¢ã«ã¯ç¡ãã§ããã¿ã°æ¤ç´¢ããªã¹ãããããã£ã®æ¤ç´¢çãåæ§ã®ä»çµã§å®ç¾å¯è½ã§ãã
éæç¡æãé層ã«ãã´ãªãä¾¡æ ¼å¸¯çã¯ã³ã³ãã¸ããã¤ã³ããã¯ã¹ãå©ç¨ãããã£ã«ã¿ã使ã£ã¦ã¾ãã
ä»ãè²ã
ãããã§ãããã¨ããããä¸çªã®ãã¤ã³ãã¯ã³ã³ãã¸ããã¤ã³ããã¯ã¹ã ã¨æãã¾ãã
ï¼ãµã¯ãµã¯è¿ãçºã«ã¯ã¤ã³-ã¡ã¢ãª-ã½ã¼ãã使ããªãäºããã¤ã³ãï¼
æ°å件ç¨åº¦ãªãã¤ã³ã¡ã¢ãªã½ã¼ãã§ã¤ã±ãããããã¾ããããæ°ä¸ä»¶ã«ãªã£ã¦ããã¨ãã¼ä»¥å¤ã®ããããã£ãåã£ã¦ããå¦çãå«ãã¦ããã©ã¼ãã³ã¹ãä¸ãããªãã¨æãã¾ãã
composite-indexã使ã£ã¦Bigtableã§ã½ã¼ããã¦ããã°ãasKeyList()ã¨è»¢ç½®ã¤ã³ããã¯ã¹ã§å¿
è¦ãªä»¶æ°åã ãKeyãåå¾ããæç¹ã§ãããgetãã¦ã¬ã¹ãã³ã¹ãè¿ãäºãã§ããã®ã§éãã§ãã
注æ
ããã§ãæ¤ç´¢é
ç®ã®çµã¿åããã®æ°ã ãã¤ã³ããã¯ã¹å®ç¾©ãå¿
è¦ã«ãªãã¨ããäºã«æ³¨æãå¿
è¦ã§ãã
GAEã®å¶ç´ã§ã¯ã1ã¨ã³ãã£ãã£ãããã¤ã³ããã¯ã¹æ°ãï¼ï¼ï¼ï¼ã¾ã§ã¨ããå¶éãããã¾ããã
ããä¸ã¤éè¦ãªäºã§ã¢ããªå
¨ä½ã§ã¤ã³ããã¯ã¹å®ç¾©ãï¼ï¼ï¼ã¾ã§ã®å¶éãããã¾ãï¼ç¥ããªãã£ãorzï¼ã
ä¿®æ£ï¼è¿½è¨[twitter:@najeira]ããã«æãã¦ããã£ã¦ã¤ã³ããã¯ã¹å®ç¾©ççºï¼ã¤ã³ããã¯ã¹ççºãããªãã¦ï¼åé¡ã¯è§£æ±ºãã¾ããã
ã¤ã¾ãã
ãªã¹ãããããã£ã«ã¯ã¤ã«ãã«ã¼ããå
¥ãã¦ããäºã«ãã£ã¦ãé¸æããªããã¿ã¼ã³ãå¥å®ç¾©ããå¿
è¦ããªããªãã
é層ã«ãã´ãªãè¤æ°æã¤ããã«ãªããã©èãæ¹ã¯åãã
ãªã®ã§1ãã¿ã¼ã³ã§å®ç¾©ã§ããã
ãªã¼ãã¼ã®ãã¿ã¼ã³æ°ã ãå®ç¾©ããã°OKã¨ãªãã
ã¨ããäºã§ãããããã¨ããããã¾ãã
ãã®ã¤ã³ããã¯ã¹å®ç¾©ã®æ°ã§ãããæ¤ç´¢ã«ä½¿ç¨ãããé
ç®ã®æ°ãå¢ããã¨æãç®å¼ã«å¢ãã¦ããã¾ãã
ã©ãããäºãã¨è¨ãã¨ãã®ãã¢ã®å ´åã§ã¯ã
- é層ã«ãã´ãª 5ãã¿ã¼ã³
- ä¾¡æ ¼å¸¯ 2ãã¿ã¼ã³
- ã³ã³ããæ±ºæ¸ 2ãã¿ã¼ã³
- éæç¡æ 2ãã¿ã¼ã³
- 並ã³é 4ãã¿ã¼ã³
éãã®çµã¿åããã®ã¤ã³ããã¯ã¹ãå¿ è¦ã§5Ã2Ã2Ã2Ã4=160åå®ç¾©ãå¿ è¦ã«ãªãã¾ãã
ããã§ã
ããä¸ã¤æ¡ä»¶ãå¢ãããä¾ãã°"æ°çã®ã¿ãã©ã°"ã追å ããå ´åã¯ã¾ã2ãã¿ã¼ã³è¿½å ã¨ãªã£ã¦ã
160Ã2=320ã«ãªã£ã¦200ãè¶ããçºãOver Quotaã¨ãªããããã¤ã§ãã¾ããï¼éçºç°å¢ã§ã¯åãã¦ãã¾ãã®ã§æ°ãã¤ããªãäºç¡ãããã«æ³¨æãå¿
è¦ï¼
ããã¯ãã¢ãªã®ã§æ¤ç´¢é
ç®æ°ã調æ´ãã¦ã¾ããã
ä»ãä»äºã§ä½ã£ã¦ãã¢ããªã§ã¯ãã¾ãããããªã«ã¤ã³ããã¯ã¹å®ç¾©ï¼å
¨çµã¿åããæ°ï¼ãå¢ããã¨ã¯æã£ã¦ç¡ãã£ãäºã¨ã200ã¾ã§ã®å¶éãããäºãç¥ããªãã£ãäºã§ãä»ç´åã§ããã«çµæ§æ·±å»ãªäºæ
ã«ãªã£ã¦ãããã¾ãããã®ã¾ã¾ã§ã¯GAEç ´ç£ããããorz...
ã¨ãããããNext Gen Queriesæ©ããªãªã¼ã¹ãã¦ãã ãããããã¾ã§ã®éã¤ã³ããã¯ã¹å®ç¾©ã®ä¸éãå¤§å¹ ã«å¢ããã¦ãã ããm(__)m
ã§ãã
ãªãã ããã ã§ãããGAEã¨Slim3ãããã°ä½ã§ãä½ãããããªæ°ããã¾ãã
俺ã¯Google App Engineã好ãã§ãã