¼ÓÈëÊÕ²Ø | ÉèΪÊ×Ò³ | »áÔ±ÖÐÐÄ | ÎÒҪͶ¸å Àî´óͬ £¨https://www.lidatong.com.cn/£©- ¿Æ¼¼¡¢½¨Õ¾¡¢¾­Ñé¡¢ÔÆ¼ÆËã¡¢5G¡¢´óÊý¾Ý,Õ¾³¤Íø!
µ±Ç°Î»Ö㺠Ê×Ò³ > °Ù¿Æ > ÕýÎÄ

ΪʲôҪʹÓÃNoSQL

·¢²¼Ê±¼ä£º2020-12-13 13:53:21 ËùÊôÀ¸Ä¿£º°Ù¿Æ À´Ô´£ºÍøÂçÕûÀí
µ¼¶Á£º¡¾±àÕß°´¡¿NoSQLÔÚ2010Äê·çÉúË®Æð£¬´ó´óССµÄWebÕ¾µãÔÚ×·Çó¸ßÐÔÄܸ߿ɿ¿ÐÔ·½Ã棬²»ÓÉ×ÔÖ÷¶¼Ñ¡ÔñÁËNoSQL¼¼Êõ×÷ΪÓÅÏÈ¿¼Âǵķ½Ãæ¡£½ñÄêÒÁʼ£¬InfoQÖÐÎÄÕ¾ÓÐÐÒÑûÇëµ½·ï»ËÍøµÄËïÁ¢ÏÈÉú£¬Îª´ó¼Ò·ÖÏíËûÖ®ÓÚNoSQL·½ÃæµÄ¾­ÑéºÍÌå»á¡£ ·Ç³£ÈÙÐÒÄÜÊÜÑûÔÚInfoQ¿ª±ÙÕâÑù

¡¾±àÕß°´¡¿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µÄÓÅÊÆ
1¡¢Ò×À©Õ¹

NoSQLÊý¾Ý¿âÖÖÀà·±¶à£¬µ«ÊÇÒ»¸ö¹²Í¬µÄÌØµã¶¼ÊÇÈ¥µô¹ØÏµÊý¾Ý¿âµÄ¹ØÏµÐÍÌØÐÔ¡£Êý¾ÝÖ®¼äÎÞ¹ØÏµ£¬ÕâÑù¾Í·Ç³£ÈÝÒ×À©Õ¹¡£Ò²ÎÞÐÎÖ®¼ä£¬Ôڼܹ¹µÄ²ãÃæÉÏ´øÀ´ÁË¿ÉÀ©Õ¹µÄÄÜÁ¦¡£
2¡¢´óÊý¾ÝÁ¿£¬¸ßÐÔÄÜ
NoSQLÊý¾Ý¿â¶¼¾ßÓзdz£¸ßµÄ¶ÁдÐÔÄÜ£¬ÓÈÆäÔÚ´óÊý¾ÝÁ¿Ï£¬Í¬Ñù±íÏÖÓÅÐã¡£ÕâµÃÒæÓÚËüµÄÎÞ¹ØÏµÐÔ£¬Êý¾Ý¿âµÄ½á¹¹¼òµ¥¡£Ò»°ãMySQLʹÓÃQuery Cache£¬Ã¿´Î±íµÄ¸üÐÂCache¾ÍʧЧ£¬ÊÇÒ»ÖÖ´óÁ£¶ÈµÄCache£¬ÔÚÕë¶Ôweb2.0µÄ½»»¥Æµ·±µÄÓ¦Óã¬CacheÐÔÄܲ»¸ß¡£¶øNoSQLµÄCacheÊǼǼ¼¶µÄ£¬ÊÇÒ»ÖÖϸÁ£¶ÈµÄCache£¬ËùÒÔNoSQLÔÚÕâ¸ö²ãÃæÉÏÀ´Ëµ¾ÍÒªÐÔÄܸߺܶàÁË¡£
3¡¢Áé»îµÄÊý¾ÝÄ£ÐÍ
NoSQLÎÞÐèÊÂÏÈΪҪ´æ´¢µÄÊý¾Ý½¨Á¢×ֶΣ¬ËæÊ±¿ÉÒÔ´æ´¢×Ô¶¨ÒåµÄÊý¾Ý¸ñʽ¡£¶øÔÚ¹ØÏµÊý¾Ý¿âÀÔöɾ×Ö¶ÎÊÇÒ»¼þ·Ç³£Âé·³µÄÊÂÇé¡£Èç¹ûÊǷdz£´óÊý¾ÝÁ¿µÄ±í£¬Ôö¼Ó×ֶμòÖ±¾ÍÊÇÒ»¸öجÃΡ£ÕâµãÔÚ´óÊý¾ÝÁ¿µÄweb2.0ʱ´úÓÈÆäÃ÷ÏÔ¡£
4¡¢¸ß¿ÉÓÃ
NoSQLÔÚ²»Ì«Ó°ÏìÐÔÄܵÄÇé¿ö£¬¾Í¿ÉÒÔ·½±ãµÄʵÏָ߿ÉÓõļܹ¹¡£±ÈÈçCassandra£¬HBaseÄ£ÐÍ£¬Í¨¹ý¸´ÖÆÄ£ÐÍÒ²ÄÜʵÏָ߿ÉÓá£
×ܽá
NoSQLÊý¾Ý¿âµÄ³öÏÖ£¬ÃÖ²¹Á˹ØÏµÊý¾Ý£¨±ÈÈçMySQL£©ÔÚijЩ·½ÃæµÄ²»×㣬ÔÚijЩ·½ÃæÄܼ«´óµÄ½ÚÊ¡¿ª·¢³É±¾ºÍά»¤³É±¾¡£
MySQLºÍNoSQL¶¼Óи÷×ÔµÄÌØµãºÍʹÓõÄÓ¦Óó¡¾°£¬Á½ÕߵĽôÃܽáºÏ½«»á¸øweb2.0µÄÊý¾Ý¿â·¢Õ¹´øÀ´ÐµÄ˼·¡£ÈùØÏµÊý¾Ý¿â¹Ø×¢ÔÚ¹ØÏµÉÏ£¬NoSQL¹Ø×¢ÔÚ´æ´¢ÉÏ¡£
²Î¿¼ÔĶÁ
NoSQL£ºhttp://nosql-database.org/
NoSQLÔÚwikiÉϵĽéÉÜ£ºhttp://en.wikipedia.org/wiki/NoSQL
NoSQLÏà¹Ø²©¿Í£ºhttp://nosql.mypopescu.com/
NoSQLÏà¹Ø²©¿Í£ºhttp://blog.nosqlfan.com/
ÐÂÀË΢²©NoSQL΢Ⱥ£ºhttp://q.t.sina.com.cn/127870

ÉÏһƪ¼òµ¥µÄ˵Ã÷ÁËΪʲôҪʹÓÃNoSQL¡£½ÓÏÂÀ´ÎÒÃÇ¿´ÏÂÈçºÎ°ÑNoSQLÒýÈëµ½ÎÒÃǵÄÏîÄ¿ÖУ¬ÎÒÃǵ½µ×Òª²»Òª°ÑNoSQLÒýÈëµ½ÏîÄ¿ÖС£
ÔÚ¹ýÈ¥£¬ÎÒÃÇÖ»ÐèҪѧϰºÍʹÓÃÒ»ÖÖÊý¾Ý¿â¼¼Êõ£¬¾ÍÄÜ×ö¼¸ºõËùÓеÄÊý¾Ý¿âÓ¦Óÿª·¢¡£ÒòΪ³ÉÊìÎȶ¨µÄ¹ØÏµÊý¾Ý¿â²úÆ·²¢²»ÊǺܶ࣬¶ø¹©ÄãÑ¡ÔñµÄÃâ·Ñ°æ±¾¾Í¸ü¼ÓÉÙÁË£¬ËùÒÔ»¥ÁªÍøÁìÓò»ù±¾É϶¼Ñ¡ÔñÁËÃâ·ÑµÄMySQLÊý¾Ý¿â¡£ÔÚ¸ßËÙ·¢Õ¹µÄWEB2.0ʱ´ú£¬ÎÒÃÇ·¢ÏÖ¹ØÏµÊý¾Ý¿âÔÚÐÔÄÜ¡¢À©Õ¹ÐÔ¡¢Êý¾ÝµÄ¿ìËÙ±¸·ÝºÍ»Ö¸´¡¢Âú×ãÐèÇóµÄÒ×ÓÃÐÔÉϲ¢²»×ÜÊÇÄܺܺõÄÂú×ãÎÒÃǵÄÐèÒª£¬ÎÒÃÇÔ½À´Ô½Ç÷ÏòÓÚ¸ù¾ÝÒµÎñ³¡¾°Ñ¡ÔñºÏÊʵÄÊý¾Ý¿â£¬ÒÔ¼°½øÐжàÖÖÊý¾Ý¿âµÄÈÚºÏÔËÓ᣼¸ÄêǰµÄһƪÎÄÕ¡¶One Size Fits All - An Idea Whose Time Has Come and Gone¡·¾ÍÒѾ­²ûÊöÁËÕâ¸ö¹Ûµã¡£
µ±ÎÒÃÇÔÚÌÖÂÛÊÇ·ñҪʹÓÃNoSQLµÄʱºò£¬Ä㻹ÐèÒªÀí½âNoSQLÒ²ÊǷֺܶàÖÖÀàµÄ£¬ÔÚNoSQL°Ù»¨Æë·ÅµÄ½ñÌ죬NoSQLµÄÕýÈ·Ñ¡Ôñ±ÈÑ¡Ôñ¹ØÏµÊý¾Ý¿â»¹¾ßÓÐÌôÕ½ÐÔ¡£ËäÈ»NoSQLµÄʹÓúܼòµ¥£¬µ«ÊÇÑ¡ÔñÈ´ÊǸöÂ鷳ʣ¬ÕâÒ²ÕýÊǺܶàÈËÔÚ¹ÛÍûµÄÒ»¸öÔ­Òò¡£
NoSQLµÄ·ÖÀà
NoSQL½ö½öÊÇÒ»¸ö¸ÅÄNoSQLÊý¾Ý¿â¸ù¾ÝÊý¾ÝµÄ´æ´¢Ä£ÐͺÍÌØµã·ÖΪºÜ¶àÖÖÀà¡£

ÀàÐÍ

²¿·Ö´ú±í

ÌØµã

Áд洢

Hbase

Cassandra

Hypertable

¹ËÃû˼Ò壬Êǰ´Áд洢Êý¾ÝµÄ¡£×î´óµÄÌØµãÊÇ·½±ã´æ´¢½á¹¹»¯ºÍ°ë½á¹¹»¯Êý¾Ý£¬·½±ã×öÊý¾ÝѹËõ£¬¶ÔÕë¶ÔijһÁлòÕßij¼¸ÁеIJéѯÓзdz£´óµÄIOÓÅÊÆ¡£

Îĵµ´æ´¢

MongoDB

CouchDB

Îĵµ´æ´¢Ò»°ãÓÃÀàËÆjsonµÄ¸ñʽ´æ´¢£¬´æ´¢µÄÄÚÈÝÊÇÎĵµÐ͵ġ£ÕâÑùÒ²¾ÍÓÐÓлú»á¶ÔijЩ×ֶν¨Á¢Ë÷Òý£¬ÊµÏÖ¹ØÏµÊý¾Ý¿âµÄijЩ¹¦ÄÜ¡£

key-value´æ´¢

Tokyo Cabinet / Tyrant

Berkeley DB

MemcacheDB

Redis

¿ÉÒÔͨ¹ýkey¿ìËÙ²éѯµ½Æävalue¡£Ò»°ãÀ´Ëµ£¬´æ´¢²»¹ÜvalueµÄ¸ñʽ£¬ÕÕµ¥È«ÊÕ¡££¨Redis°üº¬ÁËÆäËû¹¦ÄÜ£©

ͼ´æ´¢

Neo4J

FlockDB

ͼÐιØÏµµÄ×î¼Ñ´æ´¢¡£Ê¹Óô«Í³¹ØÏµÊý¾Ý¿âÀ´½â¾öµÄ»°ÐÔÄܵÍÏ£¬¶øÇÒÉè¼ÆÊ¹Óò»·½±ã¡£

¶ÔÏó´æ´¢

db4o

Versant

ͨ¹ýÀàËÆÃæÏò¶ÔÏóÓïÑÔµÄÓï·¨²Ù×÷Êý¾Ý¿â£¬Í¨¹ý¶ÔÏóµÄ·½Ê½´æÈ¡Êý¾Ý¡£

xmlÊý¾Ý¿â

Berkeley DB XML

BaseX

¸ßЧµÄ´æ´¢XMLÊý¾Ý£¬²¢Ö§³ÖXMLµÄÄÚ²¿²éѯÓï·¨£¬±ÈÈçXQuery,Xpath¡£

ÒÔÉÏNoSQLÊý¾Ý¿âÀàÐ͵Ļ®·Ö²¢²»ÊǾø¶Ô£¬Ö»ÊǴӴ洢ģÐÍÉÏÀ´½øÐеĴóÌå»®·Ö¡£ËüÃÇÖ®¼äûÓоø¶ÔµÄ·Ö½ç£¬Ò²Óн»²îµÄÇé¿ö£¬±ÈÈçTokyo Cabinet / TyrantµÄTableÀàÐÍ´æ´¢£¬¾Í¿ÉÒÔÀí½âΪÊÇÎĵµÐÍ´æ´¢£¬Berkeley DB XMLÊý¾Ý¿âÊÇ»ùÓÚBerkeley DBÖ®ÉÏ¿ª·¢µÄ¡£
NoSQL»¹ÊǹØÏµÊý¾Ý¿â
ËäÈ»09Äê³öÏÖÁ˱Ƚϼ¤½øµÄÎÄÕ¡¶¹ØÏµÊý¾Ý¿âÒÑËÀ¡·£¬µ«ÊÇÎÒÃÇÐÄÀï¶¼Çå³þ£¬¹ØÏµÊý¾Ý¿âÆäʵ»¹»îµÃºÃºÃµÄ£¬Ä㻹²»Äܲ»ÓùØÏµÊý¾Ý¿â¡£µ«ÊÇҲ˵Ã÷ÁËÒ»¸öÊÂʵ£¬¹ØÏµÊý¾Ý¿âÔÚ´¦ÀíWEB2.0Êý¾ÝµÄʱºò£¬µÄÈ·ÒѾ­³öÏÖÁËÆ¿¾±¡£
ÄÇôÎÒÃǵ½µ×ÊÇÓÃNoSQL»¹ÊǹØÏµÊý¾Ý¿âÄØ£¿ÎÒÏëÎÒÃÇûÓбØÒªÀ´½øÐÐÒ»¸ö¾ø¶ÔµÄ»Ø´ð¡£ÎÒÃÇÐèÒª¸ù¾ÝÎÒÃǵÄÓ¦Óó¡¾°À´¾ö¶¨ÎÒÃǵ½µ×ÓÃʲô¡£
Èç¹û¹ØÏµÊý¾Ý¿âÔÚÄãµÄÓ¦Óó¡¾°ÖУ¬ÍêÈ«Äܹ»ºÜºÃµÄ¹¤×÷£¬¶øÄãÓÖÊǷdz£ÉÆÓÚʹÓúÍά»¤¹ØÏµÊý¾Ý¿âµÄ£¬ÄÇôÎÒ¾õµÃÄãÍêȫûÓбØÒªÇ¨ÒƵ½NoSQLÉÏÃæ£¬³ý·ÇÄãÊǸöϲ»¶ÕÛÌÚµÄÈË¡£Èç¹ûÄãÊÇÔÚ½ðÈÚ£¬µçÐŵÈÒÔÊý¾ÝΪÍõµÄ¹Ø¼üÁìÓò£¬Ä¿Ç°Ê¹ÓõÄÊÇOracleÊý¾Ý¿âÀ´Ìṩ¸ß¿É¿¿ÐԵ쬳ý·ÇÓöµ½Ìرð´óµÄÆ¿¾±£¬²»È»Ò²±ðóȻ³¢ÊÔNoSQL¡£
È»¶ø£¬ÔÚWEB2.0µÄÍøÕ¾ÖУ¬¹ØÏµÊý¾Ý¿â´ó²¿·Ö¶¼³öÏÖÁËÆ¿¾±¡£ ÔÚ´ÅÅÌIO¡¢Êý¾Ý¿â¿ÉÀ©Õ¹É϶¼»¨·ÑÁË¿ª·¢ÈËÔ±Ï൱¶àµÄ¾«Á¦À´ÓÅ»¯£¬±ÈÈç×ö·Ö±í·Ö¿â£¨database sharding£©¡¢Ö÷´Ó¸´ÖÆ¡¢Òì¹¹¸´ÖƵȵȣ¬È»¶ø£¬ÕâЩ¹¤×÷ÐèÒªµÄ¼¼ÊõÄÜÁ¦Ô½À´Ô½¸ß£¬Ò²Ô½À´Ô½¾ßÓÐÌôÕ½ÐÔ¡£Èç¹ûÄãÕýÔÚ¾­ÀúÕâЩ³¡ºÏ£¬ÄÇôÎÒ¾õµÃÄãÓ¦¸Ã³¢ÊÔÒ»ÏÂNoSQLÁË¡£
Ñ¡ÔñºÏÊʵÄNoSQL
Èç´Ë¶àÀàÐ͵ÄNoSQL£¬¶øÃ¿ÖÖÀàÐ͵ÄNoSQLÓÖÓкܶ࣬µ½µ×Ñ¡ÔñʲôÀàÐ͵ÄNoSQLÀ´×÷ΪÎÒÃÇµÄ´æ´¢ÄØ£¿Õâ²¢²»ÊÇÒ»¸öºÜºÃ»Ø´ðµÄÎÊÌ⣬ӰÏìÎÒÃÇÑ¡ÔñµÄÒòËØÓкܶ࣬¶øÑ¡ÔñÒ²¿ÉÄÜÓжàÖÖ£¬Ëæ×ÅÒµÎñ³¡¾°£¬ÐèÇóµÄ±ä¸ü¿ÉÄÜÑ¡ÔñÓÖ»á±ä»¯¡£ÎÒÃdz£³£ÐèÒª¸ù¾ÝÈçÏÂÇé¿ö¿¼ÂÇ£º
Êý¾Ý½á¹¹Ìص㡣°üÀ¨½á¹¹»¯¡¢°ë½á¹¹»¯¡¢×Ö¶ÎÊÇ·ñ¿ÉÄܱä¸ü¡¢ÊÇ·ñÓдóÎı¾×ֶΡ¢Êý¾Ý×Ö¶ÎÊÇ·ñ¿ÉÄܱ仯¡£
дÈëÌØµã¡£°üÀ¨insert±ÈÀý¡¢update±ÈÀý¡¢ÊÇ·ñ¾­³£¸üÐÂÊý¾ÝµÄijһ¸öС×ֶΡ¢Ô­×Ó¸üÐÂÐèÇó¡£
²éÑ¯ÌØµã¡£°üÀ¨²éѯµÄÌõ¼þ¡¢²éѯÈȵãµÄ·¶Î§¡£±ÈÈçÓû§ÐÅÏ¢µÄ²éѯ£¬¿ÉÄܾÍÊÇËæ»úµÄ£¬¶øÐÂÎŵIJéѯ¾ÍÊǰ´ÕÕʱ¼ä£¬Ô½ÐµÄԽƵ·±¡£
NoSQLºÍ¹ØÏµÊý¾Ý¿â½áºÏ
ÆäʵNoSQLÊý¾Ý¿â½ö½öÊǹØÏµÊý¾Ý¿âÔÚijЩ·½Ã棨ÐÔÄÜ£¬À©Õ¹£©µÄÒ»¸öÃÖ²¹£¬µ¥´Ó¹¦ÄÜÉϽ²£¬NoSQLµÄ¼¸ºõËùÓеŦÄÜ£¬ÔÚ¹ØÏµÊý¾Ý¿âÉ϶¼Äܹ»Âú×㣬ËùÒÔÑ¡ÔñNoSQLµÄÔ­Òò²¢²»ÔÚ¹¦ÄÜÉÏ¡£
ËùÒÔ£¬ÎÒÃÇÒ»°ã»á°ÑNoSQLºÍ¹ØÏµÊý¾Ý¿â½øÐнáºÏʹÓ㬸÷È¡Ëù³¤£¬ÐèҪʹÓùØÏµÌØÐÔµÄʱºòÎÒÃÇʹÓùØÏµÊý¾Ý¿â£¬ÐèҪʹÓÃNoSQLÌØÐÔµÄʱºòÎÒÃÇʹÓÃNoSQLÊý¾Ý¿â£¬¸÷µÃÆäËù¡£
¾Ù¸ö¼òµ¥µÄÀý×Ó°É£¬±ÈÈçÓû§ÆÀÂ۵Ĵ洢£¬ÆÀÂÛ´ó¸ÅÓÐÖ÷¼üid¡¢ÆÀÂ۵ĶÔÏóaid¡¢ÆÀÂÛÄÚÈÝcontent¡¢Óû§uidµÈ×ֶΡ£ÎÒÃÇÄÜÈ·¶¨µÄÊÇÆÀÂÛÄÚÈÝcontent¿Ï¶¨²»»áÔÚÊý¾Ý¿âÖÐÓÃwhere content=¡¯¡¯²éѯ£¬ÆÀÂÛÄÚÈÝÒ²ÊÇÒ»¸ö´óÎı¾×ֶΡ£ÄÇôÎÒÃÇ¿ÉÒÔ°Ñ Ö÷¼üid¡¢ÆÀÂÛ¶ÔÏóaid¡¢Óû§id´æ´¢ÔÚÊý¾Ý¿â£¬ÆÀÂÛÄÚÈÝ´æ´¢ÔÚNoSQL£¬ÕâÑùÊý¾Ý¿â¾Í½ÚÊ¡ÁË´æ´¢contentÕ¼ÓõĴÅÅ̿ռ䣬´Ó¶ø½ÚÊ¡´óÁ¿IO£¬¶ÔcontentÒ²¸üÈÝÒ××öCache¡£
//´ÓMySQLÖвéѯ³öÆÀÂÛÖ÷¼üidÁбí
commentIds=DB.query("SELECT id FROM comments where aid='ÆÀÂÛ¶ÔÏóid' LIMIT 0,20");
//¸ù¾ÝÖ÷¼üidÁÐ±í£¬´ÓNoSQLÈ¡»ØÆÀÂÛʵÌåÊý¾Ý
CommentsList=NoSQL.get(commentIds);
NoSQL´úÌæMySQL
ÔÚijЩӦÓó¡ºÏ£¬ ±ÈÈçһЩÅäÖõĹØÏµ¼üÖµÓ³Éä´æ´¢¡¢Óû§ÃûºÍÃÜÂëµÄ´æ´¢¡¢Session»á»°´æ´¢µÈµÈ£¬ÓÃNoSQLÍêÈ«¿ÉÒÔÌæ´úMySQL´æ´¢¡£²»µ«¾ßÓиü¸ßµÄÐÔÄÜ£¬¶øÇÒ¿ª·¢Ò²¸ü¼Ó·½±ã¡£
NoSQL×÷Ϊ»º´æ·þÎñÆ÷
MySQL+MemcachedµÄ¼Ü¹¹ÖУ¬ÎÒÃÇ´¦´¦¶¼Òª¾«ÐÄÉè¼ÆÎÒÃǵĻº´æ£¬°üÀ¨¹ýÆÚʱ¼äµÄÉè¼Æ¡¢»º´æµÄʵʱÐÔÉè¼Æ¡¢»º´æÄÚ´æ´óСÆÀ¹À¡¢»º´æÃüÖÐÂʵȵȡ£
NoSQLÊý¾Ý¿âÒ»°ã¶¼¾ßÓзdz£¸ßµÄÐÔÄÜ£¬ÔÚ´ó¶àÊý³¡¾°ÏÂÃæ£¬Äã²»±ØÔÙ¿¼ÂÇÔÚ´úÂë²ãΪNoSQL¹¹½¨Ò»²ãMemcached»º´æ¡£NoSQLÊý¾Ý±¾ÉíÔÚCacheÉÏÒѾ­×öÁËÏ൱¶àµÄÓÅ»¯¹¤×÷¡£
MemcachedÕâÀàÄڴ滺´æ·þÎñÆ÷»º´æµÄÊý¾Ý´óСÊÜÏÞÓÚÄÚ´æ´óС£¬Èç¹ûÓÃNoSQLÀ´´úÌæMemcachedÀ´»º´æÊý¾Ý¿âµÄ»°£¬¾Í¿ÉÒÔ²»ÔÙÊÜÏÞÓÚÄÚ´æ´óС¡£ËäÈ»¿ÉÄÜÓÐÉÙÁ¿µÄ´ÅÅÌIO¶Áд£¬¿ÉÄܱÈMemcachedÂýÒ»µã£¬µ«ÊÇÍêÈ«¿ÉÒÔÓÃÀ´»º´æÊý¾Ý¿âµÄ²éѯ²Ù×÷¡£
¹æ±Ü·çÏÕ
ÓÉÓÚNoSQLÊÇÒ»¸ö±È½ÏÐµĶ«Î÷£¬ÌرðÊÇÎÒÃÇÑ¡ÔñµÄNoSQLÊý¾Ý¿â»¹²»ÊǷdz£³ÉÊìµÄ²úÆ·£¬ËùÒÔÎÒÃÇ¿ÉÄÜ»áÓöµ½Î´ÖªµÄ·çÏÕ¡£ÎªÁ˵õ½NoSQLµÄºÃ´¦£¬ÓÖÒª¿¼Âǹæ±Ü·çÏÕ£¬ÓãÓëÐÜÕÆÈçºÎ¼æµÃ£¿
ÏÖÔÚÒµÄںܶ๫˾µÄ×ö·¨¾ÍÊÇÊý¾ÝµÄ±¸·Ý¡£ÔÚÍùNoSQLÀïÃæ´æ´¢Êý¾ÝµÄʱºò»¹»áÍùMySQLÀïÃæ´æ´¢Ò»·Ý¡£NoSQLÊý¾Ý¿â±¾ÉíÒ²ÐèÒª½øÐб¸·Ý£¨À䱸ºÍÈȱ¸£©¡£»òÕß¿ÉÒÔ¿¼ÂÇʹÓÃÁ½ÖÖNoSQLÊý¾Ý¿â£¬³öÏÖÎÊÌâºó¿ÉÒÔ½øÐÐÇл»£¨±ÜÃâ³öÏÖdiggʹÓÃCassandraµÄ±¯¾ç£©¡£
×ܽá
±¾ÎÄÖ»ÊǼòµ¥µÄ´ÓMySQLºÍNoSQLµÄ½Ç¶È·ÖÎöÈçºÎÑ¡Ôñ£¬ÒÔ¼°½øÐÐÈÚºÏʹÓá£ÆäʵÔÚÑ¡ÔñNoSQLµÄʱºò£¬Äã¿ÉÄÜ»¹»áÅöµ½¹ØÓÚCAPÔ­Ôò£¬×îÖÕÒ»ÖÂÐÔ£¬BASE˼ÏëµÄ¿¼ÂÇ¡£ÒòΪʹÓÃMySQL¼Ü¹¹µÄʱºò£¬ÄãÒ²»áÅöµ½ÉÏÃæµÄÎÊÌ⣬ËùÒÔÕâÀïûÓвûÊö¡£
¹ØÓÚ×÷Õß
ËïÁ¢£¬Ä¿Ç°ÔÚ·ï»ËÍø¸ºÔðµ×²ã×éµÄÑз¢¹¤×÷¡£Ôø¾ÍÖ°ÓÚËѺüºÍku6¡£¶àÄ껥ÁªÍø´ÓÒµ¾­ÑéºÍ³ÌÐò¿ª·¢£¬¶Ô·Ö²¼Ê½ËÑË÷ÒýÇæµÄ¿ª·¢£¬¸ß²¢·¢£¬´óÊý¾ÝÁ¿ÍøÕ¾ÏµÍ³¼Ü¹¹ÓÅ»¯£¬¸ß¿ÉÓÃÐÔ£¬¿ÉÉìËõÐÔ£¬·Ö²¼Ê½ÏµÍ³»º´æ,Êý¾Ý¿â·Ö±í·Ö¿â£¨sharding£©µÈÓзḻµÄ¾­Ñ飬²¢ÇÒ¶ÔÔËά¼à¿ØºÍ×Ô¶¯»¯ÔËά¿ØÖÆÓо­Ñé¡£¿ªÔ´ÏîÄ¿phplock£¬phpbufferµÄ×÷Õß¡£½üÆÚ¿ª·¢ÁËÒ»¸öNOSQLÊý¾Ý¿â´æ´¢INetDB,ÊÇNoSQLÊý¾Ý¿â°®ºÃÕß¡£ËûµÄÐÂÀË΢²©ÊÇ£º http://t.sina.com.cn/sunli1223

±¾ÎÄÕûÀí×Ô£ºhttp://www.cnblogs.com/sunli/category/250681.html

£¨±à¼­£ºÀî´óͬ£©

¡¾ÉùÃ÷¡¿±¾Õ¾ÄÚÈݾùÀ´×ÔÍøÂ磬ÆäÏà¹ØÑÔÂÛ½ö´ú±í×÷Õ߸öÈ˹۵㣬²»´ú±í±¾Õ¾Á¢³¡¡£ÈôÎÞÒâÇÖ·¸µ½ÄúµÄȨÀû£¬Ç뼰ʱÓëÁªÏµÕ¾³¤É¾³ýÏà¹ØÄÚÈÝ!

    ÍÆ¼öÎÄÕÂ
      ÈȵãÔĶÁ