***
רҵ×ÊÁÏÕûÀí·ÖÏí
ËÉÁ˶ÔÊÂÎñ ACID ËÄ ÐÔµÄÒªÇ󣬶øÊÇ×ñÊØ BASEÄ£ÐÍ£¬ Ö»Äܱ£Ö¤ ×îÖÕÒ»ÖÂÐÔ
Êý¾ÝÍêÕûÐÔ ÈÝÒ×ʵÏÖ ºÜÄÑʵÏÖ ÈκÎÒ»¸ö RDBMS¶¼¿É ÒÔºÜÈÝÒ×ʵÏÖÊý¾ÝÍê ÕûÐÔ£¬±ÈÈçͨ¹ýÖ÷¼ü »òÕß·Ç¿ÕÔ¼ÊøÀ´ÊµÏÖ ÊµÌåÍêÕûÐÔ£¬Í¨¹ýÖ÷ ¼ü¡¢Íâ¼üÀ´ÊµÏÖ²ÎÕÕ ÍêÕûÐÔ£¬Í¨¹ýÔ¼Êø»ò Õß´¥·¢Æ÷À´ÊµÏÖÓû§ ×Ô¶¨ÒåÍêÕûÐÔ µ«ÊÇ£¬ÔÚ NoSQLÊý¾Ý ¿âÈ´ÎÞ·¨ÊµÏÖ
À©Õ¹ÐÔ Ò»°ã ºÃ RDBMSºÜÄÑʵÏÖºáÏò À©Õ¹£¬×ÝÏòÀ©Õ¹µÄ¿Õ ¼äÒ²±È½ÏÓÐÏÞ NoSQL ÔÚÉè¼ÆÖ®³õ¾Í ³ä·Ö¿¼ÂÇÁ˺áÏòÀ©Õ¹ µÄÐèÇ󣬿ÉÒÔºÜÈÝÒ× Í¨¹ýÌí¼ÓÁ®¼ÛÉ豸ʵ ÏÖÀ©Õ¹
¿ÉÓÃÐÔ ºÃ ºÜºÃ RDBMSÔÚÈκÎʱºò¶¼ ÒÔ±£Ö¤Êý¾ÝÒ»ÖÂÐÔΪ ÓÅÏÈÄ¿±ê£¬Æä´Î²ÅÊÇ ÓÅ»¯ÏµÍ³ÐÔÄÜ£¬Ëæ×Å Êý ¾Ý¹æ Ä£ µÄÔö´ó £¬ RDBMSΪÁ˱£Ö¤Ñϸñ
ÍêÃÀ WORD¸ñʽ±à¼
***
***
רҵ×ÊÁÏÕûÀí·ÖÏí
µÄÒ»ÖÂÐÔ£¬Ö»ÄÜÌṩ Ïà¶Ô½ÏÈõµÄ¿ÉÓÃÐÔ ´ó¶àÊý NoSQL¶¼ÄÜÌá ¹©½Ï¸ßµÄ¿ÉÓÃÐÔ
±ê×¼»¯ ÊÇ ·ñ RDBMSÒÑ ¾ ±ê ×¼ »¯ £¨SQL£©
NoSQL »¹Ã»ÓÐÐÐÒµ±ê ×¼£¬²»Í¬µÄ NoSQLÊý ¾Ý¿â¶¼ÓÐ×Ô¼ºµÄ²éѯ ÓïÑÔ£¬ºÜÄѹ淶ӦÓà ³ÌÐò½Ó¿Ú
StoneBraker ÈÏΪ£º NoSQL ȱ·¦Í³Ò»²éѯ Óï ÑÔ £¬ ½« »á ÍÏ Âý NoSQL·¢Õ¹
¼¼ÊõÖ§³Ö ¸ß µÍ RDBMS¾¹ý¼¸Ê®ÄêµÄ ·¢Õ¹£¬ÒѾ·Ç³£³ÉÊ죬 Oracle µÈ ´óÐͳ§ ÉÌ ¶¼¿ÉÒÔÌṩºÜºÃµÄ¼¼ ÊõÖ§³Ö
NoSQL ÔÚ¼¼ÊõÖ§³Ö·½ Ãæ ÈÔÈ» ´¦ ÓÚÆð²½ ½× ¶Î£¬»¹²»³ÉÊ죬ȱ·¦ ÓÐÁ¦µÄ¼¼ÊõÖ§³Ö
¿Éά»¤ÐÔ ¸´ÔÓ ¸´ÔÓ RDBMSÐèҪרÃŵÄÊý ¾Ý¿â¹ÜÀíÔ± (DBA) ά »¤
NoSQL Êý¾Ý¿âËäȻû ÓÐ DBMS¸´ÔÓ£¬Ò²ÄÑÒÔ
ÍêÃÀ WORD¸ñʽ±à¼
***
***
רҵ×ÊÁÏÕûÀí·ÖÏí
ά»¤
38. ÊÔÊö NoSQLÊý¾Ý¿âµÄËÄ´óÀàÐÍ
´ð£º¼üÖµÊý¾Ý¿â¡¢ÁÐ×åÊý¾Ý¿â¡¢ÎĵµÊý¾Ý¿âºÍͼÊý¾Ý¿â
39. ÊÔÊö¼üÖµÊý¾Ý¿â¡¢ÁÐ×åÊý¾Ý¿â¡¢ÎĵµÊý¾Ý¿âºÍͼÊý¾Ý¿âµÄÊÊÓó¡ºÏºÍÓÅȱµã¡£
Êý¾Ý¿â ¼üÖµÊý¾Ý¿â
ÊÊÓó¡ºÏ ͨ¹ý¼ü¶øÊÇͨ¹ýÖµÀ´
²éµÄÒµÎñ
Óŵã
À©Õ¹ÐԺ㬠Áé»îÐԺ㬠´óÁ¿Ð´²Ù×÷ʱÐÔÄܸß
ȱµã ÎÞ·¨´æ´¢½á¹¹»¯ÐÅ
Ï¢£¬Ìõ¼þ²éѯЧÂʽÏ
µÍ
ÁÐ×åÊý¾Ý¿â ²»ÐèÒª ACIDÊÂÎñÖ§
³ÖµÄÇéÐÎ
²éÕÒËٶȿ죬¿ÉÀ©Õ¹ ÐÔÇ¿£¬ÈÝÒ×½øÐзֲ¼ ʽÀ©Õ¹£¬¸´ÔÓÐÔµÍ
¹¦ÄܽÏÉÙ£¬´ó¶¼²»Ö§ ³ÖÇ¿ÊÂÎñÒ»ÖÂÐÔ
ÎĵµÊý¾Ý¿â Ö»ÔÚÏàͬµÄÎĵµÉÏÌí
¼ÓÊÂÎñ
ÐÔÄܺ㨸߲¢·¢£©£¬ Áé»îÐԸߣ¬ ¸´ÔÓÐԵͣ¬
ȱ·¦Í³Ò»µÄ²éѯÓï·¨
Êý¾Ý½á¹¹Áé»î ÌṩǶÈëʽÎĵµ¹¦ ÄÜ£¬½«¾³£²éѯµÄÊý ¾Ý´æ´¢ÔÚͬһ¸öÎĵµ
ÖÐ
¼È¿ÉÒÔ¸ù¾Ý¼üÀ´¹¹½¨ Ë÷Òý£¬Ò²¿ÉÒÔ¸ù¾ÝÄÚ
Èݹ¹½¨Ë÷Òý
ͼÐÎÊý¾Ý¿â ¾ßÓи߶ÈÏ໥¹ØÁª¹Ø
ϵµÄÊý¾Ý
Áé»îÐԸߣ¬Ö§³Ö¸´ÔÓ µÄͼÐÎËã·¨£¬¿ÉÓÃÓÚ ¹¹½¨¸´ÔӵĹØÏµÍ¼Æ×
¸´ÔÓÐԸߣ¬Ö»ÄÜÖ§³Ö Ò»¶¨µÄÊý¾Ý¹æÄ£
ÍêÃÀ WORD¸ñʽ±à¼
***
***
רҵ×ÊÁÏÕûÀí·ÖÏí
40. ÊÔÊö CAPÀíÂ۵ľßÌ庬Òå¡£
´ð£ºËùνµÄ CAPÖ¸µÄÊÇ£º
C£¨Consistency £©£ºÒ»ÖÂÐÔ£¬ÊÇÖ¸ÈκÎÒ»¸ö¶Á²Ù×÷×ÜÊÇÄܹ»¶Áµ½Ö®Ç°Íê³ÉµÄд²Ù×÷µÄ½á¹û£¬ Ò²¾ÍÊÇÔÚ·Ö²¼Ê½»·¾³ÖУ¬ ¶àµãµÄÊý¾ÝÊÇÒ»Öµģ¬ »òÕß˵£¬ ËùÓнڵãÔÚͬһʱ¼ä¾ßÓÐÏàͬµÄÊý ¾Ý
A:£¨Availability
£©£º¿ÉÓÃÐÔ£¬ÊÇÖ¸¿ìËÙ»ñÈ¡Êý¾Ý£¬¿ÉÒÔÔÚÈ·¶¨µÄʱ¼äÄÚ·µ»Ø²Ù×÷½á¹û£¬±£
֤ÿ¸öÇëÇ󲻹ܳɹ¦»òÕßʧ°Ü¶¼ÓÐÏìÓ¦£» P£¨Tolerance of Network Partition
£©£º·ÖÇøÈÝÈÌÐÔ£¬ÊÇÖ¸µ±³öÏÖÍøÂç·ÖÇøµÄÇé¿öʱ£¨¼´ÏµÍ³ÖеÄÒ»²¿·Ö½ÚµãÎÞ·¨ºÍÆäËû½Úµã½øÐÐͨÐÅ£©£¬·ÖÀëµÄϵͳҲÄܹ»Õý³£ÔËÐУ¬Ò²¾ÍÊÇ˵£¬ ϵͳÖÐÈÎÒâÐÅÏ¢µÄ¶ªÊ§»òʧ°Ü²»»áÓ°ÏìϵͳµÄ¼ÌÐøÔË×÷¡£
41. Çë¾ÙÀý˵Ã÷²»Í¬²úÆ·ÔÚÉè¼ÆÊ±ÊÇÈçºÎÔËÓÃ
CAPÀíÂ۵ġ£
A
Ñ¡ÔñAP£¬·ÅÆúC
Ñ¡ÔñCA£¬·ÅÆúP
Dynamo MySQL
Cassandra
SQL Server
Voldemort PostgresSQL
CouchDB Riak
C
P
Ñ¡ÔñCP£¬·ÅÆúA
Neo4J,Bigtable,MongoDB,Hbase,Hypertable,Redis
***