Ruby 㨠MessagePack-RPC ãããã°ãç°¡åãªkey-valueã¹ãã¬ã¼ã¸ã¯ç°¡åã«ä½ãã¾ãã54è¡ã§æ¸ãã¾ãï¼ã¬ããªã±ã¼ã·ã§ã³ã¨è² è·åæ£æ©è½ä»ãããµã¼ãã¼38è¡ãã¯ã©ã¤ã¢ã³ã16è¡ï¼ã ç°¡åãªKVSããã¼ã¹ã«ãã¦ããã°éè¨ãé éãããã¤ãé éç®¡çæ©è½ãªã©ã®æ©è½ã追å ãã¦ããã°ãã¡ãã£ã¨ä¾¿å©ãªãµã¼ãã¼ããã°ã©ã ããµã¯ãµã¯èªä½ã§ããããºã ãã®åæ£KVSã¯ãï¼keyã®ããã·ã¥å¤ % ãµã¼ãã¼ã®å°æ°ï¼çªç®ã®ãµã¼ãã¼ã«keyãä¿åãã¾ããã¾ãããµã¼ãã¼ã®ååé ã§ã½ã¼ãããã¨ãã®ã次ã®ãµã¼ãã¼ãã¨ãæ¬¡ã®æ¬¡ã®ãµã¼ãã¼ãã«ãã¼ã¿ãã¬ããªã±ã¼ã·ã§ã³ãã¾ãã ãã¹ã¦ã®ãµã¼ãã¼ã§åãè¨å®ãã¡ã¤ã«ã使ãã¾ãããµã¼ãã¼ãã¨ã®è¨å®ã¯å¼æ°ãèªåã®ãã¹ãåã«æ¸ãæããã ããªã®ã§ããããã¤ã容æã§ãã MessagePack-RPC for Ruby ã使ãã¨ã忣ããªãkey-valueã¹ãã¬ã¼ã¸*1ã¯
ROMAï¼Rakuten On-Memory Architectureï¼ã¯ã楽天ãéçºãããã¼ã»ããªã¥ã¼åãã¼ã¿ã¹ãã¢ï¼key-valueã¹ãã¢ï¼ã§ãã2009å¹´å¤ãããæ¥½å¤©ããæ¥½å¤©ãã©ãã«ãã®é²è¦§å±¥æ´æ©è½ãæè¿è¦ã宿ãã対象ã«ROMAãå°å ¥ãã¦ãã¾ããããã«2009å¹´10æã«ã¯ãROMAããªã¼ãã³ã½ã¼ã¹ã½ããã¨ãã¦å ¬éãã¾ããï¼åç1ï¼ã ROMAã®ãã¼ãéã¯âãã¢ã»ãã¼ã»ãã¢åâ ã§ãã¼ã¿ãããåããããã¨ã§å¦çãå¹çåãã¦ãã¾ããã¢ããªã±ã¼ã·ã§ã³ã¯åæåæã«key-valueã¹ãã¢ãæ§æãããã¼ããè¤æ°æå®ãã¾ããæå®ãããã¼ãã¯ç¹å¥ãªãã¼ãã§ããå¿ è¦ã¯ãªããkey-valueã¹ãã¢ã«åå ãã¦ãããã¼ãã§ããã°ã©ãã§ãæ§ãã¾ãããè¤æ°æå®ãã¦ããã°ããã®ä¸ã®1ã¤ã¯çãã¦ããã ããã¨ãã夿ã§ãã ã¢ããªã±ã¼ã·ã§ã³ã¯æå®ããããã¼ãã«é çªã«ã¢ã¯ã»ã¹ããæåã«å¿çãããã¼ãã«èªåãããã
ä¸è¨ã®ãããªã·ã¹ãã ã§ããã©ã¼ãã³ã¹ãè¯ãã㪠SQLite ã使ç¨äºå®ã§ããããã£ã¨éããã®ãç¡ãã確èªã®ããä»ã®ãã¼ã¿ãã¼ã¹ã®ããã©ã¼ãã³ã¹ãè¨æ¸¬ãã¦ã¿ã¾ãããSQL å©ç¨åæã§ãããNoSQL ãå§åçãªæ§è½ãåºãå ´åã¯æ¤è¨ããå¿ è¦ãããã®ã§ KVS ã確èªãã¾ããã ãã¼ã¿ä»¶æ°ã¯ 1 åä»¶ç¨åº¦ãJDBC SQL å©ç¨å¯è½ INSERTãUPDATE ã¯ããã SELECT ã¯ä¸»ãã¼ã¢ã¯ã»ã¹æ§è½ãéè¦ å°æ¥ã¹ã±ã¼ã«ã¢ã¦ãã®ããã®åæ£ã¯ããããããã¹ã¿ã³ãã¢ãã³ã§é ãã®ã¯ã ã ãã¼ã¿ãã¼ã¹ã®ããã©ã¼ãã³ã¹æ¯è¼ è¨æ¸¬ãããã¼ã¿ãã¼ã¹ ãã¼ã¿ãã¼ã¹å ã¿ã¤ã å½¢æ è©å¤ è¨æ¸¬ã«ã¤ãã¦ã®åè SQLite RDB çµã¿è¾¼ã¿ â»2 ããã¡ããAndroidæ¨æº JDBCæä½ â»1 H2 RDB çµã¿è¾¼ã¿ â»2 çµã¿è¾¼ã¿æé JDBCæä½ â»1 Derby RDB çµã¿è¾¼ã¿ â»2 Javaæ¨æºã§
[AWS][KVS] Amazon DynamoDBãæã£ãã»ã©ä½ã¬ã¤ãã³ã·ã§ã¯ãªãã£ãä»¶ DynamoDBã使ã£ã¦ã¿ãã ããã¾ã§ãç§ã¯Tokyo Cabinetãmemcacehdã Redisã¨ãã£ããããã¨åç´ãªãã¼ã¿ã¢ãã«ã®Key-Value Storeã使ã£ã¦ããã ãããªç§ããDynamoDBã使ã£ã¦ã ãã¶éãã¨ãããã¨ãæããã®ã§è¨äºã«ãããã ããã¯Remote APIã®ã¬ã¤ãã³ã·ãå°ããã大ãããã§å ¨ãé©ç¨ç¯å²ãéãå¥ã¢ãã ã¨ãããã¨ã ã 忣Key-Value Storeã¨ãã£ã¦ãããããªã¿ã¤ãããã Key-Value Storeã¨ããããããåºãããã¨ãããã¨ãããã(NoSQLã¨ããå¼ã³åãåã) ã¨ã«ããã忣ããã·ã¥ãã¼ãã«ã®åçã使ã£ã¦ã¹ã±ã¼ã«ã¢ã¦ãå¯è½ãªãã¤ã¯å ¨ã¦Key-Value Storeã¨å¼ã°ãã¦ããã®ã§æ³¨æãå¿ è¦ã 大ããåããã¨ãããã¥ã¡ã³ãã
Key-Value Store ã® Redis ã«ã¤ãã¦ãå ¬å¼ãµã¤ãã® README ãåèã«æ¦è¦ãã¤ããããã®ã¡ã¢(ã»ã¼ãç°¡æãªè¨³ã®ã¿)ã redis - Project Hosting on Google Code README ã«å ¥ãåã«ãããã¸ã§ã¯ããµã¤ãã®ããããã¼ã¸ã«æ¸ããã¦ããç¹å¾´ãããããã¤ãæç²ã Posix ã·ã¹ãã åãã« ANCI-C ã§æ¸ããã¦ãã 対å¿è¨èª Ruby (+) Rack::Session 㨠Rack::Cache ã Redis ã«å¯¾å¿ããããã®ããã (+) DataMapper ã® Redis ç¨ã¢ããã¿ããã Python Twisted Python PHP Erlang Tcl Perl Lua JAVA Scala Clojure Redis ã¯ãã¼ã¿ãã¼ã¹ Redis ã¯ãã¼ã¨å¤ã®ãã¢ãããªãè¾æ¸ãå®è£ ããé常ã«ã·ã³ãã«ãªãã¼ã¿ãã¼ã¹
KVSã¯åºæ¬çã«ï¼Pythonã§è¨ãã¨ããã®ï¼è¾æ¸ããã¡ã¤ã«ã«èªã¿æ¸ãï¼æ°¸ç¶åï¼ããä»çµã¿ãªã®ã§ã pythonãæ¨æºã§æã£ã¦ããpickleã¨ããã¢ã¸ã¥ã¼ã«ã§ãå®ç¾ã§ããã¯ãã§ãã ããããpickleã¯pythonå°ç¨ã¨ãããã¨ããããä¸é·ä¸çã®ããã§ãã é·æã¯ãã¯ããpythonãã¤ãã£ããªã®ã§ãPythonã¯ã©ã¹ããªã¹ãã¨ãã£ãè¾æ¸ä»¥å¤ã®ãã®ã æ°¸ç¶åã§ãããã¨ã çæã¯ãã¯ããä¸è¬æ§ã«æ¬ ããã¨ããã¨ããã§ãããã ãªã®ã§ãå°ç¨ã®ã©ã¤ãã©ãªã使ç¨ããã»ããä¸è¬çãªãã§ãããã ä»åã¯ç±ç·æ£ããbdbã使ã£ã¦ã¿ã¾ããããPythonã§ã¯bsddbã¨ããã¢ã¸ã¥ã¼ã«ãæ¨æºã§ç¨æããã¦ãã¾ãã ã¾ãã¯pickleï¼é«éçã®cPickleï¼ã®ä½¿ç¨ä¾ >>> d_square={} >>> for i in xrange(1,10): ... d_square[i]=i**2 ... >>>
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}