²é¿´: 1023  |  »Ø¸´: 3

mingyue8608

Òø³æ (СÓÐÃûÆø)

[½»Á÷] ²ÄÁÏÊý¾Ý¿âµÄ±àÖÆ ÒÑÓÐ2È˲ÎÓë

×î½üÔÚ×öÒ»¸öÊý¾Ý¿â£¬·¢ÏÖ²ÄÁϵÄÐÔÄܺܶàºÜÔÓ£¬ÊôÓڷǹØÏµÐÍ£¬ÈçºÎ´¦Àí£¿Çó¸ßÊÖ̽ÌÖ£¡
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹ØÉ̼ÒÍÆ¼ö: (ÎÒÒ²ÒªÔÚÕâÀïÍÆ¹ã)

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

¸¶³ö¾ÍÓÐÊÕ»ñ£¡
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

yalefield

½ð³æ (ÎÄ̳¾«Ó¢)

ÀϺºÒ»Ã¶

¡ï
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
¿¼ÂÇNoSQLÊý¾Ý¿â---MongoDBºÍRedis¡£

--------------ÒÔÏÂÊÇ×ªÔØ-------------------
http://www.iteye.com/topic/524977

Ëæ×Å»¥ÁªÍøweb2.0ÍøÕ¾µÄÐËÆð£¬·Ç¹ØÏµÐ͵ÄÊý¾Ý¿âÏÖÔÚ³ÉÁËÒ»¸ö¼«ÆäÈÈÃŵÄÐÂÁìÓò£¬·Ç¹ØÏµÊý¾Ý¿â²úÆ·µÄ·¢Õ¹·Ç³£Ñ¸ËÙ¡£¶ø´«Í³µÄ¹ØÏµÊý¾Ý¿âÔÚÓ¦¸¶web2.0ÍøÕ¾£¬ÌرðÊdz¬´ó¹æÄ£ºÍ¸ß²¢·¢µÄSNSÀàÐ͵Äweb2.0´¿¶¯Ì¬ÍøÕ¾ÒѾ­ÏÔµÃÁ¦²»´ÓÐÄ£¬±©Â¶Á˺ܶàÄÑÒÔ¿Ë·þµÄÎÊÌ⣬ÀýÈ磺

1¡¢High performance - ¶ÔÊý¾Ý¿â¸ß²¢·¢¶ÁдµÄÐèÇó
web2.0ÍøÕ¾Òª¸ù¾ÝÓû§¸öÐÔ»¯ÐÅÏ¢À´ÊµÊ±Éú³É¶¯Ì¬Ò³ÃæºÍÌṩ¶¯Ì¬ÐÅÏ¢£¬ËùÒÔ»ù±¾ÉÏÎÞ·¨Ê¹Óö¯Ì¬Ò³Ã澲̬»¯¼¼Êõ£¬Òò´ËÊý¾Ý¿â²¢·¢¸ºÔطdz£¸ß£¬ÍùÍùÒª´ïµ½Ã¿ÃëÉÏÍò´Î¶ÁдÇëÇó¡£¹ØÏµÊý¾Ý¿âÓ¦¸¶ÉÏÍò´ÎSQL²éѯ»¹ÃãÇ¿¶¥µÃס£¬µ«ÊÇÓ¦¸¶ÉÏÍò´ÎSQLдÊý¾ÝÇëÇó£¬Ó²ÅÌIO¾ÍÒѾ­ÎÞ·¨³ÐÊÜÁË¡£Æäʵ¶ÔÓÚÆÕͨµÄBBSÍøÕ¾£¬ÍùÍùÒ²´æÔڶԸ߲¢·¢Ð´ÇëÇóµÄÐèÇó£¬ÀýÈçÏñJavaEyeÍøÕ¾µÄʵʱͳ¼ÆÔÚÏßÓû§×´Ì¬£¬¼Ç¼ÈÈÃÅÌû×ӵĵã»÷´ÎÊý£¬Í¶Æ±¼ÆÊýµÈ£¬Òò´ËÕâÊÇÒ»¸öÏ൱ÆÕ±éµÄÐèÇó¡£

2¡¢Huge Storage - ¶Ôº£Á¿Êý¾ÝµÄ¸ßЧÂÊ´æ´¢ºÍ·ÃÎʵÄÐèÇó
ÀàËÆFacebook£¬twitter£¬FriendfeedÕâÑùµÄSNSÍøÕ¾£¬Ã¿ÌìÓû§²úÉúº£Á¿µÄÓû§¶¯Ì¬£¬ÒÔFriendfeedΪÀý£¬Ò»¸öÔ¾ʹﵽÁË2.5ÒÚÌõÓû§¶¯Ì¬£¬¶ÔÓÚ¹ØÏµÊý¾Ý¿âÀ´Ëµ£¬ÔÚÒ»ÕÅ2.5ÒÚÌõ¼Ç¼µÄ±íÀïÃæ½øÐÐSQL²éѯ£¬Ð§ÂÊÊǼ«ÆäµÍÏÂÄËÖÁ²»¿ÉÈÌÊܵġ£ÔÙÀýÈç´óÐÍwebÍøÕ¾µÄÓû§µÇ¼ϵͳ£¬ÀýÈçÌÚѶ£¬Ê¢´ó£¬¶¯éüÊýÒÔÒڼƵÄÕʺţ¬¹ØÏµÊý¾Ý¿âÒ²ºÜÄÑÓ¦¸¶¡£

3¡¢High Scalability && High Availability- ¶ÔÊý¾Ý¿âµÄ¸ß¿ÉÀ©Õ¹ÐԺ͸߿ÉÓÃÐÔµÄÐèÇó
ÔÚ»ùÓÚwebµÄ¼Ü¹¹µ±ÖУ¬Êý¾Ý¿âÊÇ×îÄѽøÐкáÏòÀ©Õ¹µÄ£¬µ±Ò»¸öÓ¦ÓÃϵͳµÄÓû§Á¿ºÍ·ÃÎÊÁ¿ÓëÈÕ¾ãÔöµÄʱºò£¬ÄãµÄÊý¾Ý¿âȴûÓа취Ïñweb serverºÍapp serverÄÇÑù¼òµ¥µÄͨ¹ýÌí¼Ó¸ü¶àµÄÓ²¼þºÍ·þÎñ½ÚµãÀ´À©Õ¹ÐÔÄܺ͸ºÔØÄÜÁ¦¡£¶ÔÓںܶàÐèÒªÌṩ24Сʱ²»¼ä¶Ï·þÎñµÄÍøÕ¾À´Ëµ£¬¶ÔÊý¾Ý¿âϵͳ½øÐÐÉý¼¶ºÍÀ©Õ¹ÊǷdz£Í´¿àµÄÊÂÇ飬ÍùÍùÐèҪͣ»úά»¤ºÍÊý¾ÝÇ¨ÒÆ£¬ÎªÊ²Ã´Êý¾Ý¿â²»ÄÜͨ¹ý²»¶ÏµÄÌí¼Ó·þÎñÆ÷½ÚµãÀ´ÊµÏÖÀ©Õ¹ÄØ£¿

ÔÚÉÏÃæÌáµ½µÄ¡°Èý¸ß¡±ÐèÇóÃæÇ°£¬¹ØÏµÊý¾Ý¿âÓöµ½ÁËÄÑÒÔ¿Ë·þµÄÕϰ­£¬¶ø¶ÔÓÚweb2.0ÍøÕ¾À´Ëµ£¬¹ØÏµÊý¾Ý¿âµÄºÜ¶àÖ÷ÒªÌØÐÔÈ´ÍùÍùÎÞÓÃÎäÖ®µØ£¬ÀýÈ磺

1¡¢Êý¾Ý¿âÊÂÎñÒ»ÖÂÐÔÐèÇó
ºÜ¶àwebʵʱϵͳ²¢²»ÒªÇóÑϸñµÄÊý¾Ý¿âÊÂÎñ£¬¶Ô¶ÁÒ»ÖÂÐÔµÄÒªÇóºÜµÍ£¬ÓÐЩ³¡ºÏ¶ÔдһÖÂÐÔÒªÇóÒ²²»¸ß¡£Òò´ËÊý¾Ý¿âÊÂÎñ¹ÜÀí³ÉÁËÊý¾Ý¿â¸ß¸ºÔØÏÂÒ»¸ö³ÁÖØµÄ¸ºµ£¡£

2¡¢Êý¾Ý¿âµÄдʵʱÐԺͶÁʵʱÐÔÐèÇó
¶Ô¹ØÏµÊý¾Ý¿âÀ´Ëµ£¬²åÈëÒ»ÌõÊý¾ÝÖ®ºóÁ¢¿Ì²éѯ£¬Êǿ϶¨¿ÉÒÔ¶Á³öÀ´ÕâÌõÊý¾ÝµÄ£¬µ«ÊǶÔÓںܶàwebÓ¦ÓÃÀ´Ëµ£¬²¢²»ÒªÇóÕâô¸ßµÄʵʱÐÔ£¬±È·½ËµÎÒ£¨JavaEyeµÄrobbin£©·¢Ò»ÌõÏûÏ¢Ö®ºó£¬¹ý¼¸ÃëÄËÖÁÊ®¼¸ÃëÖ®ºó£¬ÎҵĶ©ÔÄÕ߲ſ´µ½ÕâÌõ¶¯Ì¬ÊÇÍêÈ«¿ÉÒÔ½ÓÊܵġ£

3¡¢¶Ô¸´ÔÓµÄSQL²éѯ£¬ÌرðÊǶà±í¹ØÁª²éѯµÄÐèÇó
ÈκδóÊý¾ÝÁ¿µÄwebϵͳ£¬¶¼·Ç³£¼É»ä¶à¸ö´ó±íµÄ¹ØÁª²éѯ£¬ÒÔ¼°¸´ÔÓµÄÊý¾Ý·ÖÎöÀàÐ͵ĸ´ÔÓSQL±¨±í²éѯ£¬ÌرðÊÇSNSÀàÐ͵ÄÍøÕ¾£¬´ÓÐèÇóÒÔ¼°²úÆ·Éè¼Æ½Ç¶È£¬¾Í±ÜÃâÁËÕâÖÖÇé¿öµÄ²úÉú¡£ÍùÍù¸ü¶àµÄÖ»Êǵ¥±íµÄÖ÷¼ü²éѯ£¬ÒÔ¼°µ¥±íµÄ¼òµ¥Ìõ¼þ·ÖÒ³²éѯ£¬SQLµÄ¹¦Äܱ»¼«´óµÄÈõ»¯ÁË¡£

Òò´Ë£¬¹ØÏµÊý¾Ý¿âÔÚÕâЩԽÀ´Ô½¶àµÄÓ¦Óó¡¾°ÏÂÏԵò»ÄÇôºÏÊÊÁË£¬ÎªÁ˽â¾öÕâÀàÎÊÌâµÄ·Ç¹ØÏµÊý¾Ý¿âÓ¦Ô˶øÉú£¬ÏÖÔÚÕâÁ½Ä꣬¸÷ÖÖ¸÷Ñù·Ç¹ØÏµÊý¾Ý¿â£¬ÌرðÊǼüÖµÊý¾Ý¿â(Key-Value Store DB)·çÆðÔÆÓ¿£¬¶àµÃÈÃÈËÑÛ»¨çÔÂÒ¡£Ç°²»¾Ã¹úÍâ¸Õ¸Õ¾Ù°ìÁËNoSQL Conference£¬¸÷·NoSQLÊý¾Ý¿â·×·×ÁÁÏ࣬¼ÓÉÏδÁÁÏ൫ÊÇÃûÉùÔÚÍâµÄ£¬ÆðÂëÓг¬¹ý10¸ö¿ªÔ´µÄNoSQLDB£¬ÀýÈ磺

Redis£¬Tokyo Cabinet£¬Cassandra£¬Voldemort£¬MongoDB£¬Dynomite£¬HBase£¬CouchDB£¬Hypertable£¬ Riak£¬Tin£¬ Flare£¬ Lightcloud£¬ KiokuDB£¬Scalaris£¬ Kai£¬ ThruDB£¬  ......

ÕâЩNoSQLÊý¾Ý¿â£¬ÓеÄÊÇÓÃC/C++±àдµÄ£¬ÓеÄÊÇÓÃJava±àдµÄ£¬»¹ÓеÄÊÇÓÃErlang±àдµÄ£¬Ã¿¸ö¶¼ÓÐ×Ô¼ºµÄ¶Àµ½Ö®´¦£¬¿´¶¼¿´²»¹ýÀ´ÁË£¬ÎÒ(robbin)Ò²Ö»ÄÜ´ÓÖÐÌôѡһЩ±È½ÏÓÐÌØÉ«£¬¿´ÆðÀ´¸üÓÐǰ¾°µÄ²úƷѧϰºÍÁ˽âһϡ£ÕâЩNoSQLÊý¾Ý¿â´óÖ¿ÉÒÔ·ÖΪÒÔϵÄÈýÀࣺ

Ò»¡¢Âú×㼫¸ß¶ÁдÐÔÄÜÐèÇóµÄKye-ValueÊý¾Ý¿â£ºRedis£¬Tokyo Cabinet£¬ Flare

¸ßÐÔÄÜKey-ValueÊý¾Ý¿âµÄÖ÷ÒªÌØµã¾ÍÊǾßÓм«¸ßµÄ²¢·¢¶ÁдÐÔÄÜ£¬Redis£¬Tokyo Cabinet£¬ Flare£¬Õâ3¸öKey-Value DB¶¼ÊÇÓÃC±àдµÄ£¬ËûÃǵÄÐÔÄܶ¼Ï൱³öÉ«£¬µ«³öÁ˳öÉ«µÄÐÔÄÜ£¬ËûÃÇ»¹ÓÐ×Ô¼º¶ÀÌØµÄ¹¦ÄÜ£º

1¡¢Redis
RedisÊÇÒ»¸öºÜеÄÏîÄ¿£¬¸Õ¸Õ·¢²¼ÁË1.0°æ±¾¡£Redis±¾ÖÊÉÏÊÇÒ»¸öKey-ValueÀàÐ͵ÄÄÚ´æÊý¾Ý¿â£¬ºÜÏñmemcached£¬Õû¸öÊý¾Ý¿âͳͳ¼ÓÔØÔÚÄÚ´æµ±ÖнøÐвÙ×÷£¬¶¨ÆÚͨ¹ýÒì²½²Ù×÷°ÑÊý¾Ý¿âÊý¾Ýflushµ½Ó²ÅÌÉϽøÐб£´æ¡£ÒòΪÊÇ´¿ÄÚ´æ²Ù×÷£¬RedisµÄÐÔÄܷdz£³öÉ«£¬Ã¿Ãë¿ÉÒÔ´¦Àí³¬¹ý10Íò´Î¶Áд²Ù×÷£¬ÊÇÎÒÖªµÀµÄÐÔÄÜ×î¿ìµÄKey-Value DB¡£

RedisµÄ³öɫ֮´¦²»½ö½öÊÇÐÔÄÜ£¬Redis×î´óµÄ÷ÈÁ¦ÊÇÖ§³Ö±£´æListÁ´±íºÍSet¼¯ºÏµÄÊý¾Ý½á¹¹£¬¶øÇÒ»¹Ö§³Ö¶ÔList½øÐи÷ÖÖ²Ù×÷£¬ÀýÈç´ÓListÁ½¶ËpushºÍpopÊý¾Ý£¬È¡ListÇø¼ä£¬ÅÅÐòµÈµÈ£¬¶ÔSetÖ§³Ö¸÷ÖÖ¼¯ºÏµÄ²¢¼¯½»¼¯²Ù×÷£¬´ËÍâµ¥¸övalueµÄ×î´óÏÞÖÆÊÇ1GB£¬²»ÏñmemcachedÖ»Äܱ£´æ1MBµÄÊý¾Ý£¬Òò´ËRedis¿ÉÒÔÓÃÀ´ÊµÏֺܶàÓÐÓõŦÄÜ£¬±È·½ËµÓÃËûµÄListÀ´×öFIFOË«ÏòÁ´±í£¬ÊµÏÖÒ»¸öÇáÁ¿¼¶µÄ¸ßÐÔÄÜÏûÏ¢¶ÓÁзþÎñ£¬ÓÃËûµÄSet¿ÉÒÔ×ö¸ßÐÔÄܵÄtagϵͳµÈµÈ¡£ÁíÍâRedisÒ²¿ÉÒÔ¶Ô´æÈëµÄKey-ValueÉèÖÃexpireʱ¼ä£¬Òò´ËÒ²¿ÉÒÔ±»µ±×÷Ò»¸ö¹¦ÄܼÓÇ¿°æµÄmemcachedÀ´Óá£

RedisµÄÖ÷ҪȱµãÊÇÊý¾Ý¿âÈÝÁ¿Êܵ½ÎïÀíÄÚ´æµÄÏÞÖÆ£¬²»ÄÜÓÃ×÷º£Á¿Êý¾ÝµÄ¸ßÐÔÄܶÁд£¬²¢ÇÒËüûÓÐÔ­ÉúµÄ¿ÉÀ©Õ¹»úÖÆ£¬²»¾ßÓÐscale£¨¿ÉÀ©Õ¹£©ÄÜÁ¦£¬ÒªÒÀÀµ¿Í»§¶ËÀ´ÊµÏÖ·Ö²¼Ê½¶Áд£¬Òò´ËRedisÊʺϵij¡¾°Ö÷Òª¾ÖÏÞÔÚ½ÏСÊý¾ÝÁ¿µÄ¸ßÐÔÄܲÙ×÷ºÍÔËËãÉÏ¡£Ä¿Ç°Ê¹ÓÃRedisµÄÍøÕ¾ÓÐgithub£¬Engine Yard¡£

2¡¢Tokyo CabinetºÍTokoy Tyrant
TCºÍTTµÄ¿ª·¢ÕßÊÇÈÕ±¾ÈËMikio Hirabayashi£¬Ö÷Òª±»ÓÃÔÚÈÕ±¾×î´óµÄSNSÍøÕ¾mixi.jpÉÏ£¬TC·¢Õ¹µÄʱ¼ä×îÔ磬ÏÖÔÚÒѾ­ÊÇÒ»¸ö·Ç³£³ÉÊìµÄÏîÄ¿£¬Ò²ÊÇKye-ValueÊý¾Ý¿âÁìÓò×î´óµÄÈȵ㣬ÏÖÔÚ±»¹ã·ºµÄÓ¦ÓÃÔںܶàºÜ¶àÍøÕ¾ÉÏ¡£TCÊÇÒ»¸ö¸ßÐÔÄܵĴ洢ÒýÇæ£¬¶øTTÌṩÁ˶àÏ̸߲߳¢·¢·þÎñÆ÷£¬ÐÔÄÜÒ²·Ç³£³öÉ«£¬Ã¿Ãë¿ÉÒÔ´¦Àí4-5Íò´Î¶Áд²Ù×÷¡£

TC³ýÁËÖ§³ÖKey-Value´æ´¢Ö®Í⣬»¹Ö§³Ö±£´æHashtableÊý¾ÝÀàÐÍ£¬Òò´ËºÜÏñÒ»¸ö¼òµ¥µÄÊý¾Ý¿â±í£¬²¢ÇÒ»¹Ö§³Ö»ùÓÚcolumnµÄÌõ¼þ²éѯ£¬·ÖÒ³²éѯºÍÅÅÐò¹¦ÄÜ£¬»ù±¾ÉÏÏ൱ÓÚÖ§³Öµ¥±íµÄ»ù´¡²éѯ¹¦ÄÜÁË£¬ËùÒÔ¿ÉÒÔ¼òµ¥µÄÌæ´ú¹ØÏµÊý¾Ý¿âµÄºÜ¶à²Ù×÷£¬ÕâÒ²ÊÇTCÊܵ½´ó¼Ò»¶Ó­µÄÖ÷ÒªÔ­ÒòÖ®Ò»£¬ÓÐÒ»¸öRubyµÄÏîÄ¿miyazakiresistance½«TTµÄhashtableµÄ²Ù×÷·â×°³ÉºÍActiveRecordÒ»ÑùµÄ²Ù×÷£¬ÓÃÆðÀ´·Ç³£Ë¬¡£

TC/TTÔÚmixiµÄʵ¼ÊÓ¦Óõ±ÖУ¬´æ´¢ÁË2000ÍòÌõÒÔÉϵÄÊý¾Ý£¬Í¬Ê±Ö§³ÅÁËÉÏÍò¸ö²¢·¢Á¬½Ó£¬ÊÇÒ»¸ö¾Ã¾­¿¼ÑéµÄÏîÄ¿¡£TCÔÚ±£Ö¤Á˼«¸ßµÄ²¢·¢¶ÁдÐÔÄܵÄͬʱ£¬¾ßÓпɿ¿µÄÊý¾Ý³Ö¾Ã»¯»úÖÆ£¬Í¬Ê±»¹Ö§³ÖÀàËÆ¹ØÏµÊý¾Ý¿â±í½á¹¹µÄhashtableÒÔ¼°¼òµ¥µÄÌõ¼þ£¬·ÖÒ³ºÍÅÅÐò²Ù×÷£¬ÊÇÒ»¸öºÜ°ôµÄNoSQLÊý¾Ý¿â¡£

TCµÄÖ÷ҪȱµãÊÇÔÚÊý¾ÝÁ¿´ïµ½ÉÏÒÚ¼¶±ðÒԺ󣬲¢·¢Ð´Êý¾ÝÐÔÄÜ»á´ó·ù¶ÈϽµ£¬NoSQL: If Only It Was That EasyÌáµ½£¬ËûÃÇ·¢ÏÖÔÚTCÀïÃæ²åÈë1.6ÒÚÌõ2-20KBÊý¾ÝµÄʱºò£¬Ð´ÈëÐÔÄÜ¿ªÊ¼¼±¾çϽµ¡£¿´À´Êǵ±Êý¾ÝÁ¿ÉÏÒÚÌõµÄʱºò£¬TCÐÔÄÜ¿ªÊ¼´ó·ù¶ÈϽµ£¬´ÓTC×÷Õß×Ô¼ºÌṩµÄmixiÊý¾ÝÀ´¿´£¬ÖÁÉÙÉÏǧÍòÌõÊý¾ÝÁ¿µÄʱºò»¹Ã»ÓÐÓöµ½ÕâôÃ÷ÏÔµÄдÈëÐÔÄÜÆ¿¾±¡£

Õâ¸öÊÇTim Yang×öµÄÒ»¸öMemcached£¬RedisºÍTokyo TyrantµÄ¼òµ¥µÄÐÔÄÜÆÀ²â£¬½ö¹©²Î¿¼

3¡¢Flare
TCÊÇÈÕ±¾µÚÒ»´óSNSÍøÕ¾mixi¿ª·¢µÄ£¬¶øFlareÊÇÈÕ±¾µÚ¶þ´óSNSÍøÕ¾green.jp¿ª·¢µÄ£¬ÓÐÒâ˼°É¡£Flare¼òµ¥µÄ˵¾ÍÊǸøTCÌí¼ÓÁËscale¹¦ÄÜ¡£ËûÌæ»»µôÁËTT²¿·Ö£¬×Ô¼ºÁíÍâ¸øTCдÁËÍøÂç·þÎñÆ÷£¬FlareµÄÖ÷ÒªÌØµã¾ÍÊÇÖ§³ÖscaleÄÜÁ¦£¬ËûÔÚÍøÂç·þÎñ¶Ë֮ǰÌí¼ÓÁËÒ»¸önode server£¬À´¹ÜÀíºó¶ËµÄ¶à¸ö·þÎñÆ÷½Úµã£¬Òò´Ë¿ÉÒÔ¶¯Ì¬Ìí¼ÓÊý¾Ý¿â·þÎñ½Úµã£¬É¾³ý·þÎñÆ÷½Úµã£¬Ò²Ö§³Öfailover¡£Èç¹ûÄãµÄʹÓó¡¾°±ØÐëÒªÈÃTC¿ÉÒÔscale£¬ÄÇô¿ÉÒÔ¿¼ÂÇflare¡£

flareΨһµÄȱµã¾ÍÊÇËûÖ»Ö§³ÖmemcachedЭÒ飬Òò´Ëµ±ÄãʹÓÃflareµÄʱºò£¬¾Í²»ÄÜʹÓÃTCµÄtableÊý¾Ý½á¹¹ÁË£¬Ö»ÄÜʹÓÃTCµÄkey-valueÊý¾Ý½á¹¹´æ´¢¡£

¶þ¡¢Âú×㺣Á¿´æ´¢ÐèÇóºÍ·ÃÎʵÄÃæÏòÎĵµµÄÊý¾Ý¿â£ºMongoDB£¬CouchDB

ÃæÏòÎĵµµÄ·Ç¹ØÏµÊý¾Ý¿âÖ÷Òª½â¾öµÄÎÊÌâ²»ÊǸßÐÔÄܵIJ¢·¢¶Áд£¬¶øÊDZ£Ö¤º£Á¿Êý¾Ý´æ´¢µÄͬʱ£¬¾ßÓÐÁ¼ºÃµÄ²éѯÐÔÄÜ¡£MongoDBÊÇÓÃC++¿ª·¢µÄ£¬¶øCouchDBÔòÊÇErlang¿ª·¢µÄ£º

1¡¢MongoDB
MongoDBÊÇÒ»¸ö½éÓÚ¹ØÏµÊý¾Ý¿âºÍ·Ç¹ØÏµÊý¾Ý¿âÖ®¼äµÄ²úÆ·£¬ÊǷǹØÏµÊý¾Ý¿âµ±Öй¦ÄÜ×î·á¸»£¬×îÏñ¹ØÏµÊý¾Ý¿âµÄ¡£ËûÖ§³ÖµÄÊý¾Ý½á¹¹·Ç³£ËÉÉ¢£¬ÊÇÀàËÆjsonµÄbjson¸ñʽ£¬Òò´Ë¿ÉÒÔ´æ´¢±È½Ï¸´ÔÓµÄÊý¾ÝÀàÐÍ¡£Mongo×î´óµÄÌØµãÊÇËûÖ§³ÖµÄ²éѯÓïÑԷdz£Ç¿´ó£¬ÆäÓï·¨ÓеãÀàËÆÓÚÃæÏò¶ÔÏóµÄ²éѯÓïÑÔ£¬¼¸ºõ¿ÉÒÔʵÏÖÀàËÆ¹ØÏµÊý¾Ý¿âµ¥±í²éѯµÄ¾ø´ó²¿·Ö¹¦ÄÜ£¬¶øÇÒ»¹Ö§³Ö¶ÔÊý¾Ý½¨Á¢Ë÷Òý¡£

MongoÖ÷Òª½â¾öµÄÊǺ£Á¿Êý¾ÝµÄ·ÃÎÊЧÂÊÎÊÌ⣬¸ù¾Ý¹Ù·½µÄÎĵµ£¬µ±Êý¾ÝÁ¿´ïµ½50GBÒÔÉϵÄʱºò£¬MongoµÄÊý¾Ý¿â·ÃÎÊËÙ¶ÈÊÇMySQLµÄ10±¶ÒÔÉÏ¡£MongoµÄ²¢·¢¶ÁдЧÂʲ»ÊÇÌØ±ð³öÉ«£¬¸ù¾Ý¹Ù·½ÌṩµÄÐÔÄܲâÊÔ±íÃ÷£¬´óԼÿÃë¿ÉÒÔ´¦Àí0.5Íò£­1.5´Î¶ÁдÇëÇó¡£¶ÔÓÚMongoµÄ²¢·¢¶ÁдÐÔÄÜ£¬ÎÒ£¨robbin£©Ò²´òËãÓпյÄʱºòºÃºÃ²âÊÔһϡ£

ÒòΪMongoÖ÷ÒªÊÇÖ§³Öº£Á¿Êý¾Ý´æ´¢µÄ£¬ËùÒÔMongo»¹×Ô´øÁËÒ»¸ö³öÉ«µÄ·Ö²¼Ê½ÎļþϵͳGridFS£¬¿ÉÒÔÖ§³Öº£Á¿µÄÊý¾Ý´æ´¢£¬µ«ÎÒÒ²¿´µ½ÓÐЩÆÀÂÛÈÏΪGridFSÐÔÄܲ»¼Ñ£¬ÕâÒ»µã»¹ÊÇÓдýÇ××Ô×öµã²âÊÔÀ´ÑéÖ¤ÁË¡£

×îºóÓÉÓÚMongo¿ÉÒÔÖ§³Ö¸´ÔÓµÄÊý¾Ý½á¹¹£¬¶øÇÒ´øÓÐÇ¿´óµÄÊý¾Ý²éѯ¹¦ÄÜ£¬Òò´Ë·Ç³£Êܵ½»¶Ó­£¬ºÜ¶àÏîÄ¿¶¼¿¼ÂÇÓÃMongoDBÀ´Ìæ´úMySQLÀ´ÊµÏÖ²»ÊÇÌØ±ð¸´ÔÓµÄWebÓ¦Ó㬱ȷ½Ëµwhy we migrated from MySQL to MongoDB¾ÍÊÇÒ»¸öÕæÊµµÄ´ÓMySQLÇ¨ÒÆµ½MongoDBµÄ°¸Àý£¬ÓÉÓÚÊý¾ÝÁ¿ÊµÔÚÌ«´ó£¬ËùÒÔÇ¨ÒÆµ½ÁËMongoÉÏÃæ£¬Êý¾Ý²éѯµÄËٶȵõ½Á˷dz£ÏÔÖøµÄÌáÉý¡£

MongoDBÒ²ÓÐÒ»¸örubyµÄÏîÄ¿MongoMapper£¬ÊÇÄ£·ÂMerbµÄDataMapper±àдµÄMongoDBµÄ½Ó¿Ú£¬Ê¹ÓÃÆðÀ´·Ç³£¼òµ¥£¬¼¸ºõºÍDataMapperһģһÑù£¬¹¦Äܷdz£Ç¿´óÒ×Óá£

2¡¢CouchDB
CouchDBÏÖÔÚÊÇÒ»¸ö·Ç³£ÓÐÃûÆøµÄÏîÄ¿£¬Ëƺõ²»Óöà½éÉÜÁË¡£µ«ÊÇÎÒÈ´¶ÔCouchDBûÓÐʲôÐËȤ£¬Ö÷ÒªÊÇÒòΪCouchDB½ö½öÌṩÁË»ùÓÚHTTP RESTµÄ½Ó¿Ú£¬Òò´ËCouchDBµ¥´¿´Ó²¢·¢¶ÁдÐÔÄÜÀ´Ëµ£¬ÊǷdz£Ôã¸âµÄ£¬ÕâÈÃÎÒÁ¢¿ÌÅׯúÁ˶ÔCouchDBµÄÐËȤ¡£

Èý¡¢Âú×ã¸ß¿ÉÀ©Õ¹ÐԺͿÉÓÃÐÔµÄÃæÏò·Ö²¼Ê½¼ÆËãµÄÊý¾Ý¿â£ºCassandra£¬Voldemort

ÃæÏòscaleÄÜÁ¦µÄÊý¾Ý¿âÆäʵÖ÷Òª½â¾öµÄÎÊÌâÁìÓòºÍÉÏÊöÁ½ÀàÊý¾Ý¿â»¹²»Ì«Ò»Ñù£¬ËüÊ×ÏȱØÐëÊÇÒ»¸ö·Ö²¼Ê½µÄÊý¾Ý¿âϵͳ£¬ÓÉ·Ö²¼ÔÚ²»Í¬½ÚµãÉÏÃæµÄÊý¾Ý¿â¹²Í¬¹¹³ÉÒ»¸öÊý¾Ý¿â·þÎñϵͳ£¬²¢ÇÒ¸ù¾ÝÕâÖÖ·Ö²¼Ê½¼Ü¹¹À´ÌṩonlineµÄ£¬¾ßÓе¯ÐԵĿÉÀ©Õ¹ÄÜÁ¦£¬ÀýÈç¿ÉÒÔ²»Í£»úµÄÌí¼Ó¸ü¶àÊý¾Ý½Úµã£¬É¾³ýÊý¾Ý½ÚµãµÈµÈ¡£Òò´ËÏñCassandra³£³£±»¿´³ÉÊÇÒ»¸ö¿ªÔ´°æ±¾µÄGoogle BigTableµÄÌæ´úÆ·¡£CassandraºÍVoldemort¶¼ÊÇÓÃJava¿ª·¢µÄ£º

1¡¢Cassandra
CassandraÏîÄ¿ÊÇFacebookÔÚ2008Ä꿪Դ³öÀ´µÄ£¬ËæºóFacebook×Ô¼ºÊ¹ÓÃCassandraµÄÁíÍâÒ»¸ö²»¿ªÔ´µÄ·ÖÖ§£¬¶ø¿ªÔ´³öÀ´µÄCassandraÖ÷Òª±»AmazonµÄDynamiteÍŶÓÀ´Î¬»¤£¬²¢ÇÒCassandra±»ÈÏΪÊÇDynamite2.0°æ±¾¡£Ä¿Ç°³ýÁËFacebookÖ®Í⣬twitterºÍdigg.com¶¼ÔÚʹÓÃCassandra¡£

CassandraµÄÖ÷ÒªÌØµã¾ÍÊÇËü²»ÊÇÒ»¸öÊý¾Ý¿â£¬¶øÊÇÓÉÒ»¶ÑÊý¾Ý¿â½Úµã¹²Í¬¹¹³ÉµÄÒ»¸ö·Ö²¼Ê½ÍøÂç·þÎñ£¬¶ÔCassandraµÄÒ»¸öд²Ù×÷£¬»á±»¸´ÖƵ½ÆäËû½ÚµãÉÏÈ¥£¬¶ÔCassandraµÄ¶Á²Ù×÷£¬Ò²»á±»Â·Óɵ½Ä³¸ö½ÚµãÉÏÃæÈ¥¶ÁÈ¡¡£¶ÔÓÚÒ»¸öCassandraȺ¼¯À´Ëµ£¬À©Õ¹ÐÔÄÜÊDZȽϼòµ¥µÄÊÂÇ飬ֻ¹ÜÔÚȺ¼¯ÀïÃæÌí¼Ó½Úµã¾Í¿ÉÒÔÁË¡£ÎÒ¿´µ½ÓÐÎÄÕÂ˵FacebookµÄCassandraȺ¼¯Óг¬¹ý100̨·þÎñÆ÷¹¹³ÉµÄÊý¾Ý¿âȺ¼¯¡£

CassandraÒ²Ö§³Ö±È½Ï·á¸»µÄÊý¾Ý½á¹¹ºÍ¹¦ÄÜÇ¿´óµÄ²éѯÓïÑÔ£¬ºÍMongoDB±È½ÏÀàËÆ£¬²éѯ¹¦ÄܱÈMongoDBÉÔÈõһЩ£¬twitterµÄƽ̨¼Ü¹¹²¿ÃÅÁìµ¼Evan WeaverдÁËһƪÎÄÕ½éÉÜCassandra£ºhttp://blog.evanweaver.com/artic ... ing-with-cassandra/£¬Óзdz£ÏêϸµÄ½éÉÜ¡£

CassandraÒÔµ¥¸ö½ÚµãÀ´ºâÁ¿£¬Æä½ÚµãµÄ²¢·¢¶ÁдÐÔÄܲ»ÊÇÌØ±ðºÃ£¬ÓÐÎÄÕÂ˵ÆÀ²âÏÂÀ´CassandraÿÃë´óÔ¼²»µ½1Íò´Î¶ÁдÇëÇó£¬ÎÒÒ²¿´µ½Ò»Ð©¶ÔÕâ¸öÎÊÌâ½øÐÐÖÊÒɵįÀÂÛ£¬µ«ÊÇÆÀ¼ÛCassandraµ¥¸ö½ÚµãµÄÐÔÄÜÊÇûÓÐÒâÒåµÄ£¬ÕæÊµµÄ·Ö²¼Ê½Êý¾Ý¿â·ÃÎÊϵͳ±ØÈ»ÊÇn¶à¸ö½Úµã¹¹³ÉµÄϵͳ£¬Æä²¢·¢ÐÔÄÜÈ¡¾öÓÚÕû¸öϵͳµÄ½ÚµãÊýÁ¿£¬Â·ÓÉЧÂÊ£¬¶ø²»½ö½öÊǵ¥½ÚµãµÄ²¢·¢¸ºÔØÄÜÁ¦¡£

2¡¢Voldemort
VoldemortÊǸöºÍCassandraÀàËÆµÄÃæÏò½â¾öscaleÎÊÌâµÄ·Ö²¼Ê½Êý¾Ý¿âϵͳ£¬CassandraÀ´×ÔÓÚFacebookÕâ¸öSNSÍøÕ¾£¬¶øVoldemortÔòÀ´×ÔÓÚLinkedinÕâ¸öSNSÍøÕ¾¡£ËµÆðÀ´SNSÍøÕ¾ÎªÎÒÃǹ±Ï×ÁËn¶àµÄNoSQLÊý¾Ý¿â£¬ÀýÈçCassandar£¬Voldemort£¬Tokyo Cabinet£¬FlareµÈµÈ¡£VoldemortµÄ×ÊÁϲ»ÊǺܶ࣬Òò´ËÎÒûÓÐÌØ±ð×Ðϸȥ×êÑУ¬Voldemort¹Ù·½¸ø³öVoldemortµÄ²¢·¢¶ÁдÐÔÄÜÒ²ºÜ²»´í£¬Ã¿Ã볬¹ýÁË1.5Íò´Î¶Áд¡£

´ÓFacebook¿ª·¢Cassandra£¬Linkedin¿ª·¢Voldemort£¬ÎÒÃÇÒ²¿ÉÒÔ´óÖ¿´³ö¹úÍâ´óÐÍSNSÍøÕ¾¶ÔÓÚ·Ö²¼Ê½Êý¾Ý¿â£¬ÌرðÊǶÔÊý¾Ý¿âµÄscaleÄÜÁ¦·½ÃæµÄÐèÇóÊǶàôÒóÇС£Ç°ÃæÎÒ£¨robbin£©Ìáµ½£¬webÓ¦Óõļܹ¹µ±ÖУ¬web²ãºÍapp²ãÏà¶ÔÀ´Ëµ¶¼ºÜÈÝÒ׺áÏòÀ©Õ¹£¬Î¨ÓÐÊý¾Ý¿âÊǵ¥µãµÄ£¬¼«ÄÑscale£¬ÏÖÔÚFacebookºÍLinkedinÔڷǹØÏµÐÍÊý¾Ý¿âµÄ·Ö²¼Ê½·½ÃæÌ½Ë÷ÁËÒ»ÌõºÜºÃµÄ·½Ïò£¬ÕâÒ²ÊÇΪʲôÏÖÔÚCassandraÕâôÈÈÃŵÄÖ÷ÒªÔ­Òò¡£

Èç½ñ£¬NoSQLÊý¾Ý¿âÊǸöÁîÈ˺ÜÐ˷ܵÄÁìÓò£¬×ÜÊDz»¶ÏÓÐеļ¼ÊõеIJúƷð³öÀ´£¬¸Ä±äÎÒÃÇÒѾ­ÐγɵĹÌÓеļ¼Êõ¹ÛÄÎÒ×Ô¼º£¨robbin£©ÉÔ΢Á˽âÁËһЩ£¬¾Í¸Ð¾õ×Ô¼ºÉîÉîµÄ³ÁÃÔ½øÈ¥ÁË£¬¿ÉÒÔ˵NoSQLÊý¾Ý¿âÁìÓòÒ²ÊDz©´ó¾«ÉîµÄ£¬ÎÒ£¨robbin£©Ò²Ö»ÄÜdz³¢éüÖ¹£¬ÎÒ£¨robbin£©Ð´ÕâÆªÎÄÕ¼ÈÊÇ×Ô¼ºÒ»µãµã×êÑÐÐĵã¬Ò²ÊÇÅ×שÒýÓñ£¬Ï£ÍûÎüÒý¶ÔÕâ¸öÁìÓòÓо­ÑéµÄÅóÓÑÀ´ÌÖÂۺͽ»Á÷¡£

[ Last edited by yalefield on 2012-7-27 at 09:34 ]
2Â¥2012-07-27 09:32:04
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

libralibra

ÖÁ×ðľ³æ (ÖøÃûдÊÖ)

æôÆï½«¾ü

¡ï
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
mingyue8608: »ØÌûÖö¥ 2012-07-27 18:06:18
·Æ¹ØÏµÐÍÊý¾Ý¿â
Ҫô×Ô¼ºÐ´¸ö,ÓÃpythonµÄdict,c/c++µÄmapÀàËÆµÄkey-value¶Ô´¢´æ
matlab/VB/python/c++/Javaд³ÌÐòÇë·¢QQÓʼþ:790404545@qq.com
3Â¥2012-07-27 16:53:24
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

mingyue8608

Òø³æ (СÓÐÃûÆø)

mingyue8608: »ØÌûÖö¥ 2012-07-27 18:03:58
Ë­»áѽ£¿Äܰï×ö·ñ£¿´ýÓöÓźñ£¡µ«Ê±¼ä½ôÆÈ£¡
¸¶³ö¾ÍÓÐÊÕ»ñ£¡
4Â¥2012-07-27 18:03:48
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ mingyue8608 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 268Çóµ÷¼Á +7 Ò»¶¨ÓÐѧÉÏ- 2026-03-14 8/400 2026-03-17 13:10 by zz820
[˶²©¼ÒÔ°] ÉîÛÚ´óѧ˶ʿÕÐÉú£¨2026Ç´«¸ÐÆ÷·½Ïò£¬½ö¼ȡµÚÒ»Ö¾Ô¸£© +4 xujiaoszu 2026-03-11 9/450 2026-03-17 10:29 by xujiaoszu
[¿¼ÑÐ] 326Çóµ÷¼Á +4 ŵ±´¶û»¯Ñ§½±êéê 2026-03-15 7/350 2026-03-16 17:11 by ŵ±´¶û»¯Ñ§½±êéê
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á +6 ÄÝÄÝninicgb 2026-03-15 9/450 2026-03-16 16:40 by houyaoxu
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á£¬Çó¸÷λÀÏʦÊÕÁô +8 ÇïÓÐľ±± 2026-03-14 8/400 2026-03-16 15:21 by ŶŶ123
[¿¼ÑÐ] 289Çóµ÷¼Á +4 ÕâôÃû×ÖÕ¦Ñù 2026-03-14 6/300 2026-03-14 18:58 by userper
[¿¼ÑÐ] ¸´ÊÔµ÷¼Á +4 z1z2z3879 2026-03-14 5/250 2026-03-14 16:30 by JourneyLucky
[¿¼ÑÐ] 328Çóµ÷¼Á +3 5201314Lsy£¡ 2026-03-13 6/300 2026-03-14 15:31 by hyswxzs
[¿¼ÑÐ] 330Çóµ÷¼Á +3 ?½´¸øµ÷¼Á¹òÁË 2026-03-13 3/150 2026-03-14 10:13 by JourneyLucky
[¿¼ÑÐ] 341Çóµ÷¼Á +4 ·¬ÇÑÍ·--- 2026-03-10 4/200 2026-03-13 23:12 by JourneyLucky
[¿¼ÑÐ] ²ÄÁÏ371Çóµ÷¼Á +9 öùÓã? 2026-03-11 11/550 2026-03-13 22:53 by JourneyLucky
[¿¼ÑÐ] ËÄ´¨´óѧ085601²ÄÁϹ¤³Ìר˶ ³õÊÔ294Çóµ÷¼Á +4 ×£ÎÒÃǺÃÔÚ¶¬Ìì 2026-03-11 4/200 2026-03-13 21:39 by peike
[˶²©¼ÒÔ°] 085600 260·ÖÇóµ÷¼Á +3 Ìì¿Õ»¹ÏÂÓêô 2026-03-13 5/250 2026-03-13 18:46 by Ìì¿Õ»¹ÏÂÓêô
[¿¼ÑÐ] ¿¼Ñе÷¼Á +4 ·Ò´ï46 2026-03-12 4/200 2026-03-13 16:04 by ruiyingmiao
[¿¼ÑÐ] 290Çóµ÷¼Á +7 ADT 2026-03-12 7/350 2026-03-13 15:17 by JourneyLucky
[¿¼ÑÐ] ²ÄÁÏ301·ÖÇóµ÷¼Á +5 Liyouyumairs 2026-03-12 5/250 2026-03-13 14:42 by JourneyLucky
[¿¼ÑÐ] 274Çóµ÷¼Á0856²ÄÁÏ»¯¹¤ +12 z2839474511 2026-03-11 13/650 2026-03-13 10:39 by peike
[¿¼ÑÐ] 270Çóµ÷¼Á 085600²ÄÁÏÓ뻯¹¤×¨Ë¶ +3 YXCT 2026-03-11 3/150 2026-03-13 10:13 by houyaoxu
[¿¼ÑÐ] 290Çóµ÷¼Á +3 ¿Â»´È» 2026-03-10 8/400 2026-03-11 13:48 by ¿Â»´È»
[¿¼ÑÐ] ´óÁ¬´óѧ»¯Ñ§×¨ÒµÑо¿Éúµ÷¼Á +3 ç÷¾Ã. 2026-03-10 8/400 2026-03-11 10:02 by ç÷¾Ã.
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û