Î÷Î÷Èí¼þÔ°¶àÖØ°²È«¼ì²âÏÂÔØÍøÕ¾¡¢ÖµµÃÐÅÀµµÄÈí¼þÏÂÔØÕ¾£¡
Èí¼þ
Èí¼þ
ÎÄÕÂ
ËÑË÷

Ê×Ò³ ¡ú Î÷Î÷½Ì³Ì ¡ú Êý¾Ý¿â½Ì³Ì ¡ú ΪʲôҪʹÓÃNoSQL£¿NOSQLµÄÓÅÊÆ

ΪʲôҪʹÓÃNoSQL£¿NOSQLµÄÓÅÊÆ

Ïà¹ØÈí¼þÏà¹ØÎÄÕ·¢±íÆÀÂÛ À´Ô´£ºInfoQʱ¼ä£º2011/1/14 0:32:56×ÖÌå´óС£ºA-A+

×÷ÕߣºØýÃûµã»÷£º489´ÎÆÀÂÛ£º0´Î±êÇ©£º MySQL

  • ÀàÐÍ£ºµç×ӽ̴̳óС£º8.5MÓïÑÔ£ºÖÐÎÄ ÆÀ·Ö£º8.3
  • ±êÇ©£º
Á¢¼´ÏÂÔØ
 NoSQLÔÚ2010Äê·çÉúË®Æ𣬴ó´óССµÄWebÕ¾µãÔÚ×·Çó¸ßÐÔÄܸ߿ɿ¿ÐÔ·½Ã棬²»ÓÉ×ÔÖ÷¶¼Ñ¡ÔñÁËNoSQL¼¼Êõ×÷ΪÓÅÏÈ¿¼Âǵķ½Ãæ¡£½ñÄêÒÁʼ£¬InfoQÖÐÎÄÕ¾ÓÐÐÒÑûÇëµ½·ï»ËÍøµÄËïÁ¢ÏÈÉú£¬Îª´ó¼Ò·ÖÏíËûÖ®ÓÚNoSQL·½ÃæµÄ¾­ÑéºÍÌå»á¡£

¡¡¡¡·Ç³£ÈÙÐÒÄÜÊÜÑûÔÚInfoQ¿ª±ÙÕâÑùÒ»¸ö¹ØÓÚNoSQLµÄרÀ¸£¬InfoQÊÇÎҷdz£×ðÖصÄÒ»¼Ò¼¼ÊõýÌ壬ͬʱÎÒҲϣÍû½èÖúInfoQ£¬ÔÚ¹úÄÚÍƶ¯NoSQLµÄ·¢Õ¹£¬Ï£Íû¸úÎÒÒ»ÑùÓÐÐËȤµÄÅóÓѼÓÈë½øÀ´¡£Õâ´ÎµÄNoSQLרÀ¸ÏµÁн«ÏÈÕûÌå½éÉÜNoSQL£¬È»ºó½éÉÜÈçºÎ°ÑNoSQLÔËÓõ½×Ô¼ºµÄÏîÄ¿ÖкÏÊʵij¡¾°ÖУ¬»¹»áÊʵ±µØ·ÖÎöһЩ³É¹¦°¸Àý£¬Ï£ÍûÓгɹ¦Ê¹ÓÃNoSQL¾­ÑéµÄÅóÓѸøÎÒÌṩһЩÏßË÷ºÍÐÅÏ¢¡£

¡¡¡¡NoSQL¸ÅÄî

¡¡¡¡Ëæ×Åweb2.0µÄ¿ìËÙ·¢Õ¹£¬·Ç¹ØϵÐÍ¡¢·Ö²¼Ê½Êý¾Ý´æ´¢µÃµ½ÁË¿ìËٵķ¢Õ¹£¬ËüÃDz»±£Ö¤¹ØϵÊý¾ÝµÄACIDÌØÐÔ¡£NoSQL¸ÅÄîÔÚ2009Äê±»ÌáÁ˳öÀ´¡£NoSQL×î³£¼ûµÄ½âÊÍÊÇ¡°non-relational¡±£¬¡°Not Only SQL¡±Ò²±»ºÜ¶àÈ˽ÓÊÜ¡££¨¡°NoSQL¡±Ò»´Ê×îÔçÓÚ1998Äê±»ÓÃÓÚÒ»¸öÇáÁ¿¼¶µÄ¹ØϵÊý¾Ý¿âµÄÃû×Ö¡££©

¡¡¡¡NoSQL±»ÎÒÃÇÓõÃ×î¶àµÄµ±Êýkey-value´æ´¢£¬µ±È»»¹ÓÐÆäËûµÄÎĵµÐ͵ġ¢Áд洢¡¢Í¼ÐÍÊý¾Ý¿â¡¢xmlÊý¾Ý¿âµÈ¡£ÔÚNoSQL¸ÅÄîÌá³ö֮ǰ£¬ÕâЩÊý¾Ý¿â¾Í±»ÓÃÓÚ¸÷ÖÖϵͳµ±ÖУ¬µ«ÊÇÈ´ºÜÉÙÓÃÓÚweb»¥ÁªÍøÓ¦ÓᣱÈÈçcdb¡¢qdbm¡¢bdbÊý¾Ý¿â¡£

¡¡¡¡´«Í³¹ØϵÊý¾Ý¿âµÄÆ¿¾±

¡¡¡¡´«Í³µÄ¹ØϵÊý¾Ý¿â¾ßÓв»´íµÄÐÔÄÜ£¬¸ßÎȶ¨ÐÍ£¬¾Ã¾­ÀúÊ·¿¼Ñ飬¶øÇÒʹÓüòµ¥£¬¹¦ÄÜÇ¿´ó£¬Í¬Ê±Ò²»ýÀÛÁË´óÁ¿µÄ³É¹¦°¸Àý¡£ÔÚ»¥ÁªÍøÁìÓò£¬MySQL³ÉΪÁ˾ø¶Ô¿¿Ç°µÄÍõÕߣ¬ºÁ²»¿äÕŵÄ˵£¬MySQLΪ»¥ÁªÍøµÄ·¢Õ¹×ö³öÁË׿ԽµÄ¹±Ïס£

¡¡¡¡ÔÚ90Äê´ú£¬Ò»¸öÍøÕ¾µÄ·ÃÎÊÁ¿Ò»°ã¶¼²»´ó£¬Óõ¥¸öÊý¾Ý¿âÍêÈ«¿ÉÒÔÇáËÉÓ¦¸¶¡£ÔÚÄǸöʱºò£¬¸ü¶àµÄ¶¼ÊǾ²Ì¬ÍøÒ³£¬¶¯Ì¬½»»¥ÀàÐ͵ÄÍøÕ¾²»¶à¡£

¡¡¡¡µ½ÁË×î½ü10Ä꣬ÍøÕ¾¿ªÊ¼¿ìËÙ·¢Õ¹¡£»ð±¬µÄÂÛ̳¡¢²©¿Í¡¢sns¡¢Î¢²©Öð½¥ÒýÁìwebÁìÓòµÄ³±Á÷¡£ÔÚ³õÆÚ£¬ÂÛ̳µÄÁ÷Á¿ÆäʵҲ²»´ó£¬Èç¹ûÄã½Ó´¥ÍøÂç±È½ÏÔ磬Äã¿ÉÄÜ»¹¼ÇµÃÄǸöʱºò»¹ÓÐÎı¾ÐÍ´æ´¢µÄÂÛ̳³ÌÐò£¬¿ÉÒÔÏëÏóÒ»°ãµÄÂÛ̳µÄÁ÷Á¿Óжà´ó¡£

¡¡¡¡Memcached+MySQL

¡¡¡¡ºóÀ´£¬Ëæ×Å·ÃÎÊÁ¿µÄÉÏÉý£¬¼¸ºõ´ó²¿·ÖʹÓÃMySQL¼Ü¹¹µÄÍøÕ¾ÔÚÊý¾Ý¿âÉ϶¼¿ªÊ¼³öÏÖÁËÐÔÄÜÎÊÌ⣬web³ÌÐò²»ÔÙ½ö½öרעÔÚ¹¦ÄÜÉÏ£¬Í¬Ê±Ò²ÔÚ×·ÇóÐÔÄÜ¡£³ÌÐòÔ±ÃÇ¿ªÊ¼´óÁ¿µÄʹÓûº´æ¼¼ÊõÀ´»º½âÊý¾Ý¿âµÄѹÁ¦£¬ÓÅ»¯Êý¾Ý¿âµÄ½á¹¹ºÍË÷Òý¡£¿ªÊ¼±È½ÏÁ÷ÐеÄÊÇͨ¹ýÎļþ»º´æÀ´»º½âÊý¾Ý¿âѹÁ¦£¬µ«Êǵ±·ÃÎÊÁ¿¼ÌÐøÔö´óµÄʱºò£¬¶ą̀web»úÆ÷ͨ¹ýÎļþ»º´æ²»Äܹ²Ïí£¬´óÁ¿µÄСÎļþ»º´æÒ²´øÁËÁ˱ȽϸߵÄIOѹÁ¦¡£ÔÚÕâ¸öʱºò£¬Memcached¾Í×ÔÈ»µÄ³ÉΪһ¸ö·Ç³£Ê±Éеļ¼Êõ²úÆ·¡£

¡¡¡¡Memcached×÷Ϊһ¸ö¶ÀÁ¢µÄ·Ö²¼Ê½µÄ»º´æ·þÎñÆ÷£¬Îª¶à¸öweb·þÎñÆ÷ÌṩÁËÒ»¸ö¹²ÏíµÄ¸ßÐÔÄÜ»º´æ·þÎñ£¬ÔÚMemcached·þÎñÆ÷ÉÏ£¬ÓÖ·¢Õ¹Á˸ù¾ÝhashËã·¨À´½øÐжą̀Memcached»º´æ·þÎñµÄÀ©Õ¹£¬È»ºóÓÖ³öÏÖÁËÒ»ÖÂÐÔhashÀ´½â¾öÔö¼Ó»ò¼õÉÙ»º´æ·þÎñÆ÷µ¼ÖÂÖØÐÂhash´øÀ´µÄ´óÁ¿»º´æʧЧµÄ±×¶Ë¡£µ±Ê±£¬Èç¹ûÄãÈ¥ÃæÊÔ£¬Äã˵ÄãÓÐMemcached¾­Ñ飬¿Ï¶¨»á¼Ó·ÖµÄ¡£

¡¡¡¡MysqlÖ÷´Ó¶Áд·ÖÀë

¡¡¡¡ÓÉÓÚÊý¾Ý¿âµÄдÈëѹÁ¦Ôö¼Ó£¬MemcachedÖ»ÄÜ»º½âÊý¾Ý¿âµÄ¶ÁȡѹÁ¦¡£¶Áд¼¯ÖÐÔÚÒ»¸öÊý¾Ý¿âÉÏÈÃÊý¾Ý¿â²»¿°Öظº£¬´ó²¿·ÖÍøÕ¾¿ªÊ¼Ê¹ÓÃÖ÷´Ó¸´ÖƼ¼ÊõÀ´´ïµ½¶Áд·ÖÀ룬ÒÔÌá¸ß¶ÁдÐÔÄܺͶÁ¿âµÄ¿ÉÀ©Õ¹ÐÔ¡£MysqlµÄmaster-slaveģʽ³ÉΪÕâ¸öʱºòµÄÍøÕ¾±êÅäÁË¡£

¡¡¡¡·Ö±í·Ö¿â

¡¡¡¡Ëæ×Åweb2.0µÄ¼ÌÐø¸ßËÙ·¢Õ¹£¬ÔÚMemcachedµÄ¸ßËÙ»º´æ£¬MySQLµÄÖ÷´Ó¸´ÖÆ£¬¶Áд·ÖÀëµÄ»ù´¡Ö®ÉÏ£¬ÕâʱMySQLÖ÷¿âµÄдѹÁ¦¿ªÊ¼³öÏÖÆ¿¾±£¬¶øÊý¾ÝÁ¿µÄ³ÖÐøÃÍÔö£¬ÓÉÓÚMyISAMʹÓñíËø£¬Ôڸ߲¢·¢Ï»á³öÏÖÑÏÖصÄËøÎÊÌ⣬´óÁ¿µÄ¸ß²¢·¢MySQLÓ¦ÓÿªÊ¼Ê¹ÓÃInnoDBÒýÇæ´úÌæMyISAM¡£Í¬Ê±£¬¿ªÊ¼Á÷ÐÐʹÓ÷ֱí·Ö¿âÀ´»º½âдѹÁ¦ºÍÊý¾ÝÔö³¤µÄÀ©Õ¹ÎÊÌâ¡£Õâ¸öʱºò£¬·Ö±í·Ö¿â³ÉÁËÒ»¸öÈÈÃż¼Êõ£¬ÊÇÃæÊÔµÄÈÈÃÅÎÊÌâÒ²ÊÇÒµ½çÌÖÂÛµÄÈÈÃż¼ÊõÎÊÌâ¡£Ò²¾ÍÔÚÕâ¸öʱºò£¬MySQLÍƳöÁË»¹²»Ì«Îȶ¨µÄ±í·ÖÇø£¬ÕâÒ²¸ø¼¼ÊõʵÁ¦Ò»°ãµÄ¹«Ë¾´øÀ´ÁËÏ£Íû¡£ËäÈ»MySQLÍƳöÁËMySQL Cluster¼¯Èº£¬µ«ÊÇÓÉÓÚÔÚ»¥ÁªÍø¼¸ºõûÓгɹ¦°¸Àý£¬ÐÔÄÜÒ²²»ÄÜÂú×㻥ÁªÍøµÄÒªÇó£¬Ö»ÊÇÔڸ߿ɿ¿ÐÔÉÏÌṩÁ˷dz£´óµÄ±£Ö¤¡£

¡¡¡¡MySQLµÄÀ©Õ¹ÐÔÆ¿¾±

¡¡¡¡ÔÚ»¥ÁªÍø£¬´ó²¿·ÖµÄMySQL¶¼Ó¦¸ÃÊÇIOÃܼ¯Ð͵ģ¬ÊÂʵÉÏ£¬Èç¹ûÄãµÄMySQLÊǸöCPUÃܼ¯Ð͵Ļ°£¬ÄÇôºÜ¿ÉÄÜÄãµÄMySQLÉè¼ÆµÃÓÐÐÔÄÜÎÊÌ⣬ÐèÒªÓÅ»¯ÁË¡£´óÊý¾ÝÁ¿¸ß²¢·¢»·¾³ÏµÄMySQLÓ¦Óÿª·¢Ô½À´Ô½¸´ÔÓ£¬Ò²Ô½À´Ô½¾ßÓм¼ÊõÌôÕ½ÐÔ¡£·Ö±í·Ö¿âµÄ¹æÔò°ÑÎÕ¶¼ÊÇÐèÒª¾­ÑéµÄ¡£ËäÈ»ÓÐÏñÌÔ±¦ÕâÑù¼¼ÊõʵÁ¦Ç¿´óµÄ¹«Ë¾¿ª·¢ÁË͸Ã÷µÄÖмä¼þ²ãÀ´ÆÁ±Î¿ª·¢Õߵĸ´ÔÓÐÔ£¬µ«ÊDZÜÃâ²»ÁËÕû¸ö¼Ü¹¹µÄ¸´ÔÓÐÔ¡£·Ö¿â·Ö±íµÄ×Ó¿âµ½Ò»¶¨½×¶ÎÓÖÃæÁÙÀ©Õ¹ÎÊÌâ¡£»¹ÓоÍÊÇÐèÇóµÄ±ä¸ü£¬¿ÉÄÜÓÖÐèÒªÒ»ÖÖеķֿⷽʽ¡£

¡¡¡¡MySQLÊý¾Ý¿âÒ²¾­³£´æ´¢Ò»Ð©´óÎı¾×ֶΣ¬µ¼ÖÂÊý¾Ý¿â±í·Ç³£µÄ´ó£¬ÔÚ×öÊý¾Ý¿â»Ö¸´µÄʱºò¾Íµ¼Ö·dz£µÄÂý£¬²»ÈÝÒ׿ìËÙ»Ö¸´Êý¾Ý¿â¡£±ÈÈç1000Íò4KB´óСµÄÎı¾¾Í½Ó½ü40GBµÄ´óС£¬Èç¹ûÄÜ°ÑÕâЩÊý¾Ý´ÓMySQLÊ¡È¥£¬MySQL½«±äµÃ·Ç³£µÄС¡£

¡¡¡¡¹ØϵÊý¾Ý¿âºÜÇ¿´ó£¬µ«ÊÇËü²¢²»ÄܺܺõÄÓ¦¸¶ËùÓеÄÓ¦Óó¡¾°¡£MySQLµÄÀ©Õ¹ÐԲÐèÒª¸´Ôӵļ¼ÊõÀ´ÊµÏÖ£©£¬´óÊý¾ÝÏÂIOѹÁ¦´ó£¬±í½á¹¹¸ü¸ÄÀ§ÄÑ£¬ÕýÊǵ±Ç°Ê¹ÓÃMySQLµÄ¿ª·¢ÈËÔ±ÃæÁÙµÄÎÊÌâ¡£

¡¡¡¡NOSQLµÄÓÅÊÆ

¡¡¡¡Ò×À©Õ¹

¡¡¡¡NoSQLÊý¾Ý¿âÖÖÀà·±¶à£¬µ«ÊÇÒ»¸ö¹²Í¬µÄÌص㶼ÊÇÈ¥µô¹ØϵÊý¾Ý¿âµÄ¹ØϵÐÍÌØÐÔ¡£Êý¾ÝÖ®¼äÎÞ¹Øϵ£¬ÕâÑù¾Í·Ç³£ÈÝÒ×À©Õ¹¡£Ò²ÎÞÐÎÖ®¼ä£¬Ôڼܹ¹µÄ²ãÃæÉÏ´øÀ´ÁË¿ÉÀ©Õ¹µÄÄÜÁ¦¡£

¡¡¡¡´óÊý¾ÝÁ¿£¬¸ßÐÔÄÜ

¡¡¡¡NoSQLÊý¾Ý¿â¶¼¾ßÓзdz£¸ßµÄ¶ÁдÐÔÄÜ£¬ÓÈÆäÔÚ´óÊý¾ÝÁ¿Ï£¬Í¬Ñù±íÏÖÓÅÐã¡£ÕâµÃÒæÓÚËüµÄÎÞ¹ØϵÐÔ£¬Êý¾Ý¿âµÄ½á¹¹¼òµ¥¡£Ò»°ãMySQLʹÓÃQuery Cache£¬Ã¿´Î±íµÄ¸üÐÂCache¾ÍʧЧ£¬ÊÇÒ»ÖÖ´óÁ£¶ÈµÄCache£¬ÔÚÕë¶Ôweb2.0µÄ½»»¥Æµ·±µÄÓ¦Óã¬CacheÐÔÄܲ»¸ß¡£¶øNoSQLµÄCacheÊǼǼ¼¶µÄ£¬ÊÇÒ»ÖÖϸÁ£¶ÈµÄCache£¬ËùÒÔNoSQLÔÚÕâ¸ö²ãÃæÉÏÀ´Ëµ¾ÍÒªÐÔÄܸߺܶàÁË¡£

¡¡¡¡Áé»îµÄÊý¾ÝÄ£ÐÍ

¡¡¡¡NoSQLÎÞÐèÊÂÏÈΪҪ´æ´¢µÄÊý¾Ý½¨Á¢×ֶΣ¬Ëæʱ¿ÉÒÔ´æ´¢×Ô¶¨ÒåµÄÊý¾Ý¸ñʽ¡£¶øÔÚ¹ØϵÊý¾Ý¿âÀÔöɾ×Ö¶ÎÊÇÒ»¼þ·Ç³£Âé·³µÄÊÂÇé¡£Èç¹ûÊǷdz£´óÊý¾ÝÁ¿µÄ±í£¬Ôö¼Ó×ֶμòÖ±¾ÍÊÇÒ»¸öجÃΡ£ÕâµãÔÚ´óÊý¾ÝÁ¿µÄweb2.0ʱ´úÓÈÆäÃ÷ÏÔ¡£

¡¡¡¡¸ß¿ÉÓÃ

¡¡¡¡NoSQLÔÚ²»Ì«Ó°ÏìÐÔÄܵÄÇé¿ö£¬¾Í¿ÉÒÔ·½±ãµÄʵÏָ߿ÉÓõļܹ¹¡£±ÈÈçCassandra£¬HBaseÄ£ÐÍ£¬Í¨¹ý¸´ÖÆÄ£ÐÍÒ²ÄÜʵÏָ߿ÉÓá£

¡¡¡¡×ܽá

¡¡¡¡NoSQLÊý¾Ý¿âµÄ³öÏÖ£¬ÃÖ²¹Á˹ØϵÊý¾Ý£¨±ÈÈçMySQL£©ÔÚijЩ·½ÃæµÄ²»×㣬ÔÚijЩ·½ÃæÄܼ«´óµÄ½ÚÊ¡¿ª·¢³É±¾ºÍά»¤³É±¾¡£

¡¡¡¡MySQLºÍNoSQL¶¼Óи÷×ÔµÄÌصãºÍʹÓõÄÓ¦Óó¡¾°£¬Á½ÕߵĽôÃܽáºÏ½«»á¸øweb2.0µÄÊý¾Ý¿â·¢Õ¹´øÀ´ÐµÄ˼·¡£ÈùØϵÊý¾Ý¿â¹Ø×¢ÔÚ¹ØϵÉÏ£¬NoSQL¹Ø×¢ÔÚ´æ´¢ÉÏ¡£

    Ïà¹ØÆÀÂÛ

    ÔĶÁ±¾ÎĺóÄúÓÐʲô¸ÐÏë? ÒÑÓÐÈ˸ø³öÆÀ¼Û!

    • 8 ϲ»¶Ï²»¶
    • 3 ¶¥¶¥
    • 1 ÄѹýÄѹý
    • 5 ‡å‡å
    • 3 Χ¹ÛΧ¹Û
    • 2 ÎÞÁÄÎÞÁÄ

    ÈÈÃÅÆÀÂÛ

    ×îÐÂÆÀÂÛ

    ·¢±íÆÀÂÛ ²é¿´ËùÓÐÆÀÂÛ(0)

    êdzÆ:
    ±íÇé: ¸ßÐË ¿É º¹ ÎÒ²»Òª º¦Ðß ºÃ ÏÂÏÂÏ ËÍ»¨ ʺ Ç×Ç×
    ×ÖÊý: 0/500 (ÄúµÄÆÀÂÛÐèÒª¾­¹ýÉóºË²ÅÄÜÏÔʾ)