·ÖÏí´ó¸Ù
1.ʲôÊÇ¡ºÊý¾Ý¿â¼´·þÎñ¡»
2.MongoDB
3.ÈçºÎ´î½¨Ò»¸öMongoDB¡ºÊý¾Ý¿â¼´·þÎñ¡»
ʲôÊÇ¡ºÊý¾Ý¿â¼´·þÎñ¡»


Ê×ÏȽéÉÜһϡºÊý¾Ý¿â¼´·þÎñ¡»¡£¡ºÊý¾Ý¿â¼´·þÎñ¡»ÆäʵÊÇ¡ºDatabase-as-a-service¡»µÄÖÐÎÄ·Ò룬ÎÒÃÇ¿´¿´ËüÔÚά»ù°Ù¿ÆÖе͍Ò壺¡ºÊý¾Ý¿â¼´·þÎñ¡»ÊÇÕâÑùÒ»ÖÖ·þÎñģʽ£¬ËüʹµÃÓ¦Óÿª·¢Õß²»ÔÙÐèÒª×Ô¼º°²×°ºÍά»¤Êý¾Ý¿â£¬¶øÊÇÓÉרÃŵÄÊý¾Ý¿â·þÎñÌṩÉÌÀ´×ö£¬Ó¦Óÿª·¢Õß¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèҪȥֱ½ÓʹÓÃÊý¾Ý¿â·þÎñ£¬²¢ÎªÊ¹ÓÃÁ¿Ö§¸¶·ÑÓü´¿É¡£ÎÒÃÇÖªµÀ£¬ÏÖÔÚÓкܶàµÄas-a-service£¬±ÈÈçInfrastructure
as a Service£¨IaaS£©¡¢Platform as a Service£¨Paas£©»¹ÓÐSoftware
as a Service£¨Saas£©¡£ËûÃǵ½µ×¶¼ÊÇÊ²Ã´ÄØ£¿ÓÐÊ²Ã´Çø±ð£¿

ÕâÕÅͼӦ¸Ã¿ÉÒԺܺõĽâÊÍÕâЩX-aaS¡£×î×ó±ßÊÇ´«Í³ÆóÒµµÄIT£¬ËùÓеĻҪ×Ô¼º¸É£¬´ÓÊý¾ÝÖÐÐÄ·þÎñÆ÷µ½²Ù×÷ϵͳÊý¾Ý¿âÔÙµ½ÉϲãÒµÎñϵͳ¡£IaaS¿ªÊ¼¾Í½øÈëÔÆ¼ÆËãµÄ·¶³ëÁË£¬×î»ù´¡µÄÊÇÔÆ·þÎñÆ÷£¬²»ÐèÒªÔÙ¹ØÐÄ»ú·¿°¡Ó²¼þÀ£¬Ö±½Ó¾Í¿ÉÒÔÓá£È»ºóÔÙÍùÓÒ¿Í»§ÐèÒª¹Ø×¢µÄÔ½À´Ô½ÉÙ£¬Ôà»îÀۻ½»¸ø·þÎñÌṩÉÌÀ´¸É¡£
ÄÇô¡ºÊý¾Ý¿â¼´·þÎñ¡»µÄÇé¿öÊÇÔõôÑùÄØ£¿

¡ºÊý¾Ý¿â¼´·þÎñ¡»Æäʵ¿ÉÒÔÈÏΪÊÇPaaSµÄÒ»ÖÖ±äÖÖ£¬Ö÷Òª¹Ø×¢µãÔÚÊý¾Ý¿âÉÏ£¬¿Í»§²»ÔÙÐèҪȥ×Ô¼º²¿ÊðÊý¾Ý¿â£¬¶øÊÇÖ»ÐèÒª°´ÐèʹÓÃÓÉ·þÎñÌṩÉÌÌṩµÄÊý¾Ý¿â¼´¿É£¬Êý¾Ý¿âµÄά»¤¶¼½»¸ø·þÎñÌṩÉÌÀ´Íê³É£¬ÕâÑù¿Í»§Ö»Ðè¹Ø×¢Ó¦Óñ¾Éí¼´¿É¡£

ÎÒÃÇÀ´¾ßÌå¿´Ò»ÏÂʹÓáºÊý¾Ý¿â¼´·þÎñ¡»ºÍÔÀ´ÓÐʲô²»Í¬£¬ÕâÀï³ýÁËÁоٴ«Í³È«²¿DIYµÄ·½Ê½Ö®Í⣬»¹¶Ô±ÈÁËÒ»ÖÖÀûÓÃIaaSÀ´×Ô½¨Êý¾Ý¿âµÄ·½Ê½£¬ÕâÒ²ÊÇÏÖÔڱȽϳ£¼ûµÄÒ»ÖÖ×ö·¨¡£ÎÒÃÇ¿´µ½´«Í³·½Ê½£¬ÐèÒª×öºÜ¶àÊÂÇ飬Õâµ±Öл¹Ðè񻃾¼°¶à¸öÍŶÓÀ´Ð×÷£¬·Ç³£²»ÈÝÒס£È»ºó¿´¿´µÚ¶þÖÖ·½Ê½£¬ÀûÓÃIaaSÀ´×Ô½¨£¬ÕâÀïÒÔ°¢ÀïÔÆµÄÔÆ·þÎñÆ÷ECSΪÀý£¬ÕâÖÖ·½Ê½ºÍ¸Õ¸ÕÏà±È£¬Ê¡Á˲»ÉÙÊ£¬µ«ÊÇÈÔÈ»ÊDZȽÏÂé·³µÄ£¬Ò²¿ÉÄÜ»¹Ðè񻃾¼°¿çÍŶÓÐ×÷¡£ÎÒÃÇÔÙÀ´¿´¿´Èç¹ûÊÇʹÓáºÊý¾Ý¿â¼´·þÎñ¡»ÄØ£¿Ö»ÐèÒªµãÏÂÒ³ÃæÉϵIJ¿Êð°´Å¥£¬¾Í¿ÉÒÔµÈ×ÅÓÃÁË£¬ÒѾ½ø»¯ÎªÍêÈ«×ÔÖú·þÎñÁË¡£´Óʱ¼äÉÏÀ´¿´£¬µÚÒ»ÖÖ·½Ê½¿ÉÄÜÐèÒª»¨·ÑÊýÔ£¬µÚ¶þÖÖ¿ÉÄÜÐèÒª»¨·ÑÊýÌ죬µÚÈýÖÖÔòÖ»ÐèÒªÊýСʱ¼´¿É¡£¿É¼û¡ºÊý¾Ý¿â¼´·þÎñ¡»µÄÓÅÊÆ»¹ÊǺÜÃ÷ÏԵġ£

ËùÒÔ˵ΪʲôҪ¡º¼´·þÎñ¡»£¬ÆäʵÊÇÒ»¸ö½ø»¯µÄÇ÷ÊÆ¡£ÎÒÃǾ³£ËµÈ˲»ÄÜÌ«ÀÁ£¬µ«ÊÇÀÁÕâ¸ö×ÖÓÃÔÚ³ÌÐòÔ³ÉíÉÏ¿ÉÄܲ¢²»ÊDz»ºÃµÄ¶«Î÷£¬ÒòΪÀÁ£¬´ÙʹÎÒÃÇ»áÈ¥×Ô¶¯»¯¡£×îÔçÎÒÃÇͨ¹ýÈËÈâ²Ù×÷£¬ÏÂÔØÈí¼þ£¬±àÒ벿Êð£¬È»ºóÅäÖá£ÓÐÒ»ÌìÎÒÃÇ·¢ÏÖ¾³£ÐèÒªÕâô¸ÉºÜÀÛºÜÀË·Ñʱ¼ä£¬¾Í¿ªÊ¼Ð´½Å±¾À´Íê³ÉÕâЩ²Ù×÷£¬Éú²úÁ¦¿ªÊ¼Ìá¸ß¡£µÈµ½¹æÄ£¸ü´óµÄʱºò£¬±ÈÈçҪͬʱ¹ÜÀíÊýʮ̨Êý°Ų̀»úÆ÷£¬Õâʱºò¿ÉÄÜ·Ö·¢½Å±¾Ò²ÏÓÂé·³ÁË£¬¿ªÊ¼Ð´Ò»Ð©×Ô¶¯»¯µÄ¹¤¾ßÀ´×öÕâ¸öÊÂÇé¡£µ½×î¸ß¼¶½×¶Î£¬¾ÍÊÇÍêȫʵÏÖ×ÔÖú·þÎñ£¬ÕâÊÇÀÁµÄ×î¸ß¾³½ç¡£

MongoDB¼ò½é
˵ÍêÁË¡º¼´·þÎñ¡»ÒÔ¼°ÆäÖØÒªÐÔ£¬½ÓÏÂÀ´ÎÒÃÇ¿´Ò»Ï½ñÌìµÄÁíÒ»¸öÖ÷½Ç£ºMongoDB£¬ÒòΪÓÐЩͬѧ¿ÉÄܶÔÕâ¸ö²»Á˽⣬ËùÒÔ»¹ÊǼòµ¥½éÉÜһϡ£

Ê×ÏÈ£¬MongoDBÊÇÊ²Ã´ÄØ£¬ËüÊÇÒ»¸öDocument Store£¬ÎĵµÐÍÊý¾Ý¿â£¬Ò²ÊÇÎÒÃǾ³£ËµµÄNoSQL¡£¸ù¾ÝDB-EnginesµÄÊý¾Ý¿âÅÅÃû£¬MongoDB³¤ÆÚ°ÔÕ¼×ÅNoSQLÀÏ´óµÄµØÎ»£¬ÏÖÔÚÊÇÊý¾Ý¿â½çÒ»Î»ÖØÁ¿¼¶Ñ¡ÊÖ¡£

ÊÂʵÉÏ£¬MongoDB¿ÉÒÔ³ÆÎªÊÇÒ»ÖÖNewSQL£¬ËüÈÚºÏÁË´«Í³¹ØÏµÐÍÊý¾Ý¿âºÍNoSQLµÄһЩÓŵ㡣×î×ó±ßµÄ3¸öÄÜÁ¦ÊÇÀ´×ÔÓÚ¹ØÏµÐÍÊý¾Ý¿â¡£Ê×ÏÈ£¬Ëü¾ß±¸·á¸»µÄ²éѯÓï¾äºÍ¶þ¼¶Ë÷Òý¡£Í¨¹ýÕâµã£¬Óû§¿ÉÒÔÒÔ×ã¹»¸´Ôӵķ½Ê½À´·ÃÎʺÍ×éÖ¯Êý¾Ý¡£µÚ¶þµã£¬Ç¿Ò»ÖÂÐÔ¡£MongoDBÖ§³ÖÒ»¸öÁé»îµÄÒ»ÖÂÐÔÄ£ÐÍ¡£Äã¿ÉÒÔÑ¡ÔñʹÓÃǿһÖÂÐÔ£¬»ò×îÖÕÒ»ÖÂÐÔ£¬È¡¾öÓÚÄãµÄÒµÎñ³¡¾°¡£µÚÈýµã£¬MongoDBÄܺܺõɵ½¶àÆóÒµÏÖÓм¼Êõ¼Ü¹¹ÖС£ÓÒ±ß3¸öÄÜÁ¦
À´×ÔNoSQL£¬Ê×ÏÈÊÇÁé»îµÄÊý¾ÝÄ£ÐÍ£¬MongoDBµÄÎĵµÄ£ÐÍÔÊÐí¶¯Ì¬ÐÞ¸Äschema£¬²»Óõ£ÐÄÓÐÈκεÄÐÔÄÜÓ°Ïì¡£Æä´ÎÊǸßÐÔÄܺ͸߿ÉÀ©Õ¹ÐÔ£¬MongoDB¿ÉÒÔÇáËɽøÐÐˮƽÀ©Õ¹£¬´Ó¶ø´øÀ´¸ü¸ßµÄÍÌͺ͸üµÍµÄÑÓ³Ù¡£×îºó£¬ÊÇÈ«Çò²¿Êð£¬Ò²¾ÍÊǸ߿ÉÓ᣽ÓÏÂÀ´ÎÒÃǾÍÀ´¾ßÌå½²ÏÂMongoDBµÄ¼¸¸ö¹Ø¼üÌØÐÔ¡£

MongoDBµÄ¹Ø¼üÌØÐÔÖ÷ÒªÊÇ3¸ö£¬µÚÒ»¸ö¾ÍÊÇÁé»î¶¯Ì¬µÄÎĵµÄ£ÐÍ£¬µÚ¶þ¸öÊǸ߿ÉÓø±±¾¼¯£¬µÚÈý¸öÊÇMongoDBµÄˮƽÀ©Õ¹£¬Ò²¾ÍÊÇsharding¡£

MongoDBÒÔÒ»ÖÖ½Ð×öBSON£¨¶þ½øÖÆJSON£©µÄ´æ´¢ÐÎʽ½«Êý¾Ý×÷ΪÎĵµ´æ´¢¡£¾ßÓÐÏàËÆ½á¹¹µÄÎĵµÍ¨³£±»×éÖ¯³É¼¯ºÏ¡£¿ÉÒ԰Ѽ¯ºÏ¿´³ÉÀàËÆÓÚ¹ØÏµÊý¾Ý¿âÖÐµÄµÄ±í£ºÎĵµ¶ÔÓ¦µÄÊÇÐУ¬×ֶζÔÓ¦µÄÊÇÁС£
MongoDB½«Ò»Ìõ¼Ç¼µÄËùÓÐÊý¾Ý¾ÛºÏÔÚÒ»¸öÎĵµÖУ¬¶øÔÚ¹ØÏµÊý¾Ý¿âÖÐÔòÇãÏòÓÚ½«Êý¾Ý·Ö²¼ÔÚ¶à¸ö±íÖС£ÕâÑù×öÓм¸¸öºÃ´¦£¬Ò»ÊÇÓÉÓÚÊý¾Ý¾Û¼¯£¬¼õÉÙÁ˶à±íJOINµÄÐèÇó£¬ÕâÑùÖ»ÐèÒª¶ÁÒ»´Î¾Í¿ÉÒÔ¶Áµ½ËùÓÐÊý¾Ý£¬ÔÚÐÔÄÜÉÏ»áÓкܴóÓÅÊÆ¡£
ÁíÍ⣬ÕâÖÖÄ£Ð͸ü¼Ó½Ó½üÎÒÃÇÆ½Ê±±à³ÌÓïÑÔÖеĶÔÏó½á¹¹£¬¿ÉÒÔ·½±ã¿ª·¢Õß½øÐÐÊý¾ÝÓ³Éä¡£
×îºó¾ÍÊÇÕâÖÖÄ£ÐÍÊÇschema-lessµÄ£¬Ò²¾ÍÊÇÔÚMongoDBÖв»ÐèÒªÏñ¹ØÏµÊý¾Ý¿âÒ»ÑùÈ¥ÊÂÏȶ¨Òåÿ¸ö±íµÄschema¡£MongoDBÒ»¸ö¼¯ºÏÄÚµÄÎĵµÖ®¼ä¿ÉÒÔÓµÓв»Í¬µÄ½á¹¹£¬¿ÉÒÔÇáËÉΪһ¸öеÄÎĵµÌí¼ÓºÍ¼õÉÙ×ֶΣ¬²»»áÓÐÈκεÄÐÔÄÜÓ°Ïì¡£Õâ¸öÌØÐԷdz£ÊʺϿª·¢Ò»Ð©Ð²úÆ·£¬¿ÉÒÔ¿ìËÙµü´ú¡£
µ±È»£¬¹ýÓÚÁé»î¾Í¿ÉÄܵ¼Ö»ìÂÒ¡£ÓÐʱºòÎÒÃÇÏëÒªÇóÎĵµ±ØÐëÒªÓÐijЩ×ֶΣ¬Ä³Ð©×ֶαØÐëÒªÓй̶¨µÄÀàÐÍ¡£Îª´Ë£¬MongoDBÌṩÁËÒ»¸öÎĵµÑéÖ¤¹¦ÄÜÀ´¶ÔÎĵµµÄ¸ñʽ½øÐÐÔ¼Êø¡£

½ÓÏÂÀ´ËµMongoDBµÄµÚ¶þ¸ö¹Ø¼üÌØÐÔ£¬¸ß¿ÉÓø±±¾¼¯£¨Ò²¿ÉÒÔ·Òë³É¸´ÖƼ¯£©¡£
Mongodb¸±±¾¼¯ÓÉÒ»×éMongodʵÀý£¨½ø³Ì£©×é³É£¬°üº¬Ò»¸öPrimary½ÚµãºÍ¶à¸öSecondary½Úµã£¬Mongodb
Driver£¨¿Í»§¶Ë£©µÄËùÓÐÊý¾Ý¶¼Ð´ÈëPrimary£¬Secondary´ÓPrimaryͬ²½Ð´ÈëµÄÊý¾Ý£¬ÒÔ±£³Ö¸±±¾¼¯ÄÚËùÓгÉÔ±´æ´¢ÏàͬµÄÊý¾Ý¼¯£¬ÌṩÊý¾ÝµÄ¸ß¿ÉÓá£
ÉÏͼÊÇÒ»¸öµäÐ͵ÄMongdb¸±±¾¼¯£¬°üº¬Ò»¸öPrimary½ÚµãºÍ2¸öSecondary½Úµã¡£
¸±±¾¼¯Í¨¹ýreplSetInitiateÃüÁ»òmongo shellµÄrs.initiate()£©½øÐгõʼ»¯£¬³õʼ»¯ºó¸÷¸ö³ÉÔ±¼ä¿ªÊ¼·¢ËÍÐÄÌøÏûÏ¢£¬²¢·¢ÆðPrimaryÑ¡¾Ù²Ù×÷£¬»ñµÃ¡º´ó¶àÊý¡»³ÉԱͶƱ֧³ÖµÄ½Úµã£¬»á³ÉΪPrimary£¬ÆäÓà½Úµã³ÉΪSecondary¡£
ÕâÀ´ó¶àÊý¡»µÄ¶¨ÒåÊǸ±±¾¼¯ÄÚ¿ÉͶƱ³ÉÔ±µÄÒ»°ëÒÔÉÏ£¬µ±¸±±¾¼¯ÄÚ´æ»î³ÉÔ±ÊýÁ¿²»×ã´ó¶àÊýʱ£¬Õû¸ö¸±±¾¼¯½«ÎÞ·¨Ñ¡¾Ù³öPrimary£¬´Ëʱ¸±±¾¼¯½«ÎÞ·¨Ìṩд·þÎñ£¬´¦ÓÚÖ»¶Á״̬¡£Í¨³£½¨Ò齫¸±±¾¼¯³ÉÔ±ÊýÁ¿ÉèÖÃÎªÆæÊý£¬ÒòΪżÊý¸ö½ÚµãÄÜÈÝÈ̵ĽڵãʧЧºÍ±ÈËûÉÙ1¸ö½ÚµãµÄÆæÊý¸ö½ÚµãÊÇÒ»ÑùµÄ£¬µ«ÊÇ¿ÉÒÔ½Úʡһ¸ö½ÚµãµÄÊý¾Ý´æ´¢³É±¾¡£
³ýÁ˳õʼ»¯µÄʱºò»á½øÐÐÑ¡¾Ù£¬MongoDB¸±±¾¼¯µÄ¸ß¿ÉÓ÷þÎñÌåÏÖÔÚ£¬µ±¸±±¾¼¯ÖÐûÓÐPrimary½Úµãʱ£¬Ñ¡¾Ù¶¼»á½øÐС£±ÈÈçµ±Primary½Úµãå´»úʱ£¬Ê£ÏµÄSecondary½ÚµãÖлáÑ¡¾Ù³öеÄPrimary£¨Ö»ÐèÒªÂú×ã´ó¶àÊý³ÉÔ±´æ»îµÄÌõ¼þ£©¡£Ñ¡¾ÙʹÓõÄËã·¨ÊÇ»ùÓÚRaftÐÒ飬µ«ÊÇ¿ÉÒÔͨ¹ýΪ½ÚµãÅäÖÃÑ¡¾ÙÓÅÏȼ¶¶ÔÑ¡¾Ù½á¹û½øÐпØÖÆ¡£
´ËÍâÐèÒªÌáһϣ¬ÓÐһЩ±È½Ï³£¼ûµÄÌØÊâµÄSecondary¡£Ò»¸öÊÇHidden£¬Hidden½ÚµãºÍÆÕͨµÄSecondaryµÄÇø±ðÊÇËüÊǶÔDriverÒþ²ØµÄ½Úµã£¬Ò²¾ÍÊǿͻ§¶ËÎÞ·¨·ÃÎʵ½Hidden£¬ÁíÍâ¾ÍÊÇËüµÄÑ¡¾ÙÓÅÏȼ¶ÊÇ0£¬Ò²¾ÍÊÇËü²»Äܱ»Ñ¡¾ÙΪPrimary¡£Hidden½ÚµãÉÏÓµÓÐÊý¾Ý£¬Òò´Ëͨ³£»áÓÃÀ´×÷һЩÔËάÈÎÎñ£¬ÈçÊý¾Ý±¸·Ý¡¢¼ÆËã·ÖÎöµÈ¡£
ÁíÍ⻹ÓÐÒ»¸öÊÇArbiter£¬ArbiterÊÇÖ»²ÎÓëͶƱ£¬µ«ÊDz»´æ´¢Êý¾ÝµÄ½Úµã£¬Õâ¿ÉÒÔÓÃÔÚ¶Ô¿ÉÓÃÐÔÓÐÒªÇó£¬ÓÖÒªÑϸñ¿ØÖƳɱ¾µÄ³¡¾°¡£
´ËÍ⻹ÓÐÈçPriority0½Úµã¡¢Delayed½ÚµãµÈ¡£

MongoDBÌṩÁËÒ»ÖÖˮƽÀ©Õ¹µÄ·½Ê½£¬½Ð×ösharding£¬Í¨¹ýÕâÖÖ·½Ê½¶ÔÊý¾Ý¿â½øÐÐÀ©ÈÝ£¬¶ÔÓ¦ÓÃÊÇ͸Ã÷µÄ¡£Í¨¹ýsharding£¬¿ÉÒÔ½«Ò»¸ö¼¯ºÏµÄÊý¾ÝÉ¢µ½¶à¸öshard½ÚµãÉÏ¡£ÕâÀïÿ¸öshard¶¼¿ÉÒÔÊÇÒ»×鸱±¾¼¯¡£Ó¦ÓóÌÐòͨ¹ýÒ»¸ö·Óɽڵ㣨mongos£©À´·ÃÎÊsharding¼¯ÈºµÄÊý¾Ý¡£ÓÐÁËsharding£¬mongodb¾Í¿ÉÒÔÍ»ÆÆµ¥»úµÄÏÞÖÆ£¬±ÈÈç´ÅÅÌ¡¢ÄÚ´æºÍIOPSµÈ£¬´Ó¶øÌṩ¸üÇ¿´óµÄ·þÎñÄÜÁ¦¡£

Sharded clusterÓÉShard¡¢MongosºÍConfig server 3¸ö×é¼þ¹¹³É¡£Mongos±¾Éí²¢²»³Ö¾Ã»¯Êý¾Ý£¬Sharded
clusterËùÓеÄÔªÊý¾Ý¶¼»á´æ´¢µ½Config Server£¬¶øÓû§µÄÊý¾ÝÔò»á·ÖÉ¢´æ´¢µ½¸÷¸öshard¡£MongosÆô¶¯ºó£¬»á´Óconfig
server¼ÓÔØÔªÊý¾Ý£¬¿ªÊ¼Ìṩ·þÎñ£¬½«Óû§µÄÇëÇóÕýȷ·Óɵ½¶ÔÓ¦µÄShard¡£
Sharded clusterÖ§³Ö½«µ¥¸ö¼¯ºÏµÄÊý¾Ý·ÖÉ¢´æ´¢ÔÚ¶à¸öshardÉÏ£¬Óû§¿ÉÒÔÖ¸¶¨¸ù¾Ý¼¯ºÏÄÚÎĵµµÄij¸ö×ֶμ´shard
keyÀ´·Ö²¼Êý¾Ý£¬Ä¿Ç°Ö÷ÒªÖ§³Ö2ÖÖÊý¾Ý·Ö²¼µÄ²ßÂÔ£¬·¶Î§·ÖƬ£¨Range based sharding£©»òhash·ÖƬ£¨Hash
based sharding£©¡£
·¶Î§·ÖƬÏ£¬ÎĵµÊǸù¾ÝÆäshard keyµÄÖµ½øÐÐ·ÖÆ¬¡£shard keyµÄÖµÏàÁÚ½üµÄÎĵµ±È½ÏÓпÉÄܻᱻ·ÅÔÚͬһ¸öshardÉÏ£¬ÕâÖÖ·½Ê½ÊÊÓÃÓÚÐèҪʹÓ÷¶Î§²éѯµÄÒµÎñ¡£
¹þÏ£·ÖƬÏ£¬Îĵµ¸ù¾ÝÆäshard keyµÄhashÖµ½øÐÐ·ÖÆ¬¡£Õâ»á±£Ö¤Êý¾Ý·Ö²¼±È½Ï¾ùÔÈ£¬µ«ÊDz»ÀûÓÚ·¶Î§²éѯ¡£
Ëæ×ÅÊý¾ÝÁ¿µÄÔö¶à£¬MongoDBÒ²»á×Ô¶¯ÔÚºǫ́¶ÔÊý¾ÝÒÔchunkΪµ¥Î»½øÐиºÔؾùºâ¡£

ÈçºÎ´î½¨Ò»¸öMongoDB¡ºÊý¾Ý¿â¼´·þÎñ¡»
½ÓÏÂÀ´½éÉÜһϽñÌìµÄÖØµãÄÚÈÝ£¬ÈçºÎ´î½¨Ò»¸öMongoDBÊý¾Ý¿â¼´·þÎñ¡£

Ê×ÏÈ£¬ÔÚÎÒ¿´À´£¬Êý¾Ý¿â¼´·þÎñ£¬Ó¦¸Ã¾ß±¸ÕâÐ©ÌØÐÔ£º×Ô¶¯»¯¡¢°´Ðè·þÎñ¡¢µ¯ÐÔ¡¢°²È«¡¢¸ß¿ÉÓúͿÉÁ¿»¯¡£µÚÒ»¸ö£¬×Ô¶¯»¯£¬ÕâÊǷdz£¹Ø¼üµÄ£¬ÊÇʵÏÖ×ÔÖú·þÎñµÄ»ù´¡£¬ËùÓпÉÒÔ±»×Ô¶¯»¯²Ù×÷µÄÁ÷³Ì¶¼Ó¦¸Ã±»×Ô¶¯»¯£¬²»ÐèÒªÈ˹¤¸ÉÔ¤¡£µÚ¶þ¸ö£¬°´Ðè·þÎñ£¬Êý¾Ý¿â¼´·þÎñÓ¦¸ÃÊÇÓÉÓû§Çý¶¯µÄ£¬ºǫ́Ӧ¸ÃÒªÓÐÒ»¸ö¹¤×÷Á÷µÄ»úÖÆÀ´¶ÔÐèÇó½øÐÐÏìÓ¦¡£µÚÈý¸ö£¬µ¯ÐÔ£¬¿ÉÒÔ°´Ð趯̬À©ËõÈÝ¡£µÚËĸö£¬°²È«£¬ÕâÊÇÎãÓ¹ÖÃÒɵġ£µÚÎå¸ö£¬¸ß¿ÉÓã¬å´»ú×Ô¶¯Çл»¡£µÚÁù¸ö£¬¿ÉÁ¿»¯£¬·þÎñµÄʹÓÃÁ¿¿ÉÒÔ±»ºâÁ¿¡¢±¨¸æ²¢ÇÒÊǿɿصġ£

´ËͼΪÊý¾Ý¿â¼´·þÎñÓ¦¾ß±¸µÄ¹¦ÄÜ´óͼ¡£Ö÷Òª°üÀ¨ÉúÃüÖÜÆÚ¹ÜÀí¡¢ÈÝÔÖÌåϵ¡¢¼à¿Ø±¨¾¯¡¢Êý¾Ý¹ÜÀíºÍÔöÖµ·þÎñ¡£ÉúÃüÖÜÆÚ¹ÜÀí°üÀ¨Êý¾Ý¿âʵÀýµÄн¨¡¢ÊÍ·Å¡¢À©ËõÈݵȣ¬ÕâÊÇÊý¾Ý¿â¼´·þÎñ×î»ù´¡µÄ¹¦ÄÜ¡£ÈÝÔÖÌåϵ°üÀ¨¸ß¿ÉÓᢱ¸·Ý»Ö¸´£¬ÉõÖÁ¸ü¸ß¼¶µÄÈçÒìµØÈÝÔÖ/¶à»îµÈµÈ¡£¼à¿Ø±¨¾¯Ò»·½Ãæ¾ÍÊÇ·þÎñʹÓÃÁ¿µÄ¼à¿Ø£¬ÁíÒ»·½ÃæÔòÊDZ¨¾¯£¬°üÀ¨·þÎñ²»¿ÉÓõı¨¾¯£¬ÒÔ¼°Ò»Ð©¼à¿ØÊý¾ÝÒì³£µÄ±¨¾¯¡£Êý¾Ý¹ÜÀíÖ¸µÄ¾ÍÊÇ¿ÉÒÔ·½±ãµÄ¶ÔÊý¾Ý½øÐйÜÀí£¬Èç¿ÉÒÔÌṩһЩͼÐλ¯½çÃæµÈ¡£ÔöÖµ·þÎñ°üÀ¨É󼯡¢Õï¶Ï·þÎñµÈ¡£ÆäÖÐÉó¼ÆÊÇÊý¾Ý¿âµÄÒ»¸ö·Ç³£ÖØÒªµÄ¹¦ÄÜ£¬Ò»·½Ãæ¿ÉÒÔ°ïÖú²éÖ¤ÎÊÌ⣬ÁíÒ»·½Ãæ¿ÉÒÔΪһЩÊý¾Ý·ÖÎö»òÕï¶ÏÌṩÊý¾ÝÔ´¡£Õï¶Ï·þÎñÒ»·½Ãæ¸ú×Ù·þÎñµÄ×ÊԴʹÓÃÁ¿£¬ÎªÊÇ·ñÐèÒªÀ©ËõÈÝÌṩ¾ö²ßÒÀ¾Ý£¬ÁíÒ»·½ÃæÖ÷ҪΪÂý²éѯÌṩÓÅ»¯½¨Òé¡£

Êý¾Ý¿â¼´·þÎñµÄºËÐļܹ¹¾ÍÊǹ¤×÷Á÷ÒýÇæ£¬ÕâÊÇʵÏÖ×Ô¶¯»¯¼°°´Ðè·þÎñµÄ»ù´¡¡£

ÉúÃüÖÜÆÚ¹ÜÀí¹¦ÄܰüÀ¨Êý¾Ý¿âʵÀýµÄн¨¡¢ÊÍ·Å¡¢À©ËõÈÝÒÔ¼°Ç¨ÒÆ¡£Ð½¨Ò»¸öÊý¾Ý¿âʵÀý°üÀ¨·ÖÅä×ÊÔ´£¨Ö÷ÒªÊÇÖ÷»ú×ÊÔ´£©¡¢°²×°Êý¾Ý¿â¡¢³õʼ»¯ÅäÖ᣶ÔMongoDBÀ´Ëµ£¬¸±±¾¼¯Éæ¼°¶à¸ö½Úµã£¬Éæ¼°µ½×ÊÔ´µÄ·ÖÅä²ßÂÔ£¬Sharding¸ü¶à¡£ÁíÍ⸱±¾¼¯»¹ÐèҪһЩ³õʼ»¯¹¤×÷£¬shardingÐèÒªÓÐÒ»¸ö¸÷×é¼þµÄ×éºÏ¡£ÊÍ·ÅʵÀý±È½Ï¼òµ¥£¬Ö÷ÒªÊÇ×ÊÔ´µÄ»ØÊÕ¡£À©ËõÈÝ¿ÉÒÔ·ÖΪ±¾µØºÍ¿ç»úµÄÀ©ËõÈÝ£¬Æäʵ¿ç»úµÄÀ©ËõÈݾÍÊÇÇ¨ÒÆ¡£¶ÔÓÚMongoDBÀ´Ëµ£¬Ç¨ÒÆ¿ÉÒÔÖ±½ÓÀûÓÃMongoDBµÄÌí¼Ó½Úµã×Ô¶¯Í¬²½µÄÌØÐÔ£¬»¹ÊDZȽϷ½±ãµÄ¡£

ÉúÃüÖÜÆÚ¹ÜÀí¹¦ÄÜÖ÷񻃾¼°Õ⼸¸ö×é¼þ£¬°üÀ¨×ÊÔ´¹ÜÀí¡¢¹æ¸ñ¼°ÅäÖùÜÀí¡¢Èí¼þÕ»¹ÜÀíºÍ¸ºÔؾùºâ¡£×ÊÔ´¹ÜÀíÖ÷ÒªÊÇÖ¸Ö÷»ú×ÊÔ´µÄ¹ÜÀí£¬ÕâÀïÖ÷»ú¿ÉÒÔÊÇÎïÀí»ú£¬Ò²¿ÉÒÔÊÇÐéÄâ»ú£¬ÈçÔÆÖ÷»úµÈ¡£×ÊÔ´¹ÜÀíÖ÷Òª¸ºÔð×ÊÔ´µÄ·ÖÅäºÍ»ØÊÕ£¬´ËÍ⻹°üÀ¨ÈçºÎʵʩ×ÊÔ´¸ôÀë¡£¹æ¸ñ¼°ÅäÖùÜÀíÒ»¸öÊÇÐèҪΪÊý¾Ý¿âʵÀýÖÆ¶¨Ò»Ð©¹æ¸ñ£¬ÒÔ·½±ãÀ©ÈݺÍËõÈÝ£¬ÁíÒ»·½ÃæÊǸºÔðÊý¾Ý¿âÏà¹ØÅäÖõÄά»¤¡£Èí¼þÕ»¹ÜÀíÔò°üÀ¨Êý¾Ý¿âÈí¼þÒÔ¼°ÆäÒÀÀµµÄÈí¼þµÄ°²×°Î¬»¤µÈ£¬°üÀ¨²Ù×÷ϵͳ¡£³ýÁËÕâЩ£¬»¹ÐèÒªÒ»¸ö¸ºÔؾùºâ×é¼þÀ´±£Ö¤Êý¾Ý¿âʵÀýÔÚ×ÊÔ´Éϵķֲ¼µÄ¾ùºâ£¬µ±ÓÐÖ÷»ú×ÊÔ´ÐèÒªÏÂÏßµÄʱºò£¬Äܹ»×öµ½×Ô¶¯¶ÔÆäÉϵÄÊý¾Ý¿âʵÀý½øÐÐÇ¨ÒÆ¡£

¶ÔÓÚMongoDBÀ´Ëµ£¬ÔÚʵʩ×ÊÔ´·ÖÅä²ßÂÔʱÐèҪעÒâµÄÒ»µãÊÇÐèÒª±£Ö¤²»ÒªÆÆ»µ¸±±¾¼¯Ô±¾µÄ¸ß¿ÉÓÃÌØÐÔ¡£ËäÈ»MongoDB¸±±¾¼¯×Ô´øÁ˸߿ÉÓ㬵«ÊÇÈç¹ûÄã°Ñ¸±±¾¼¯µÄËùÓнڵ㶼·Ö²¼ÔÚһ̨ÎïÀí»úÉÏ£¬ÄÇÈç¹ûÕâ¸öÎïÀí»ú¹ÒÁË£¬Õû¸ö¸±±¾¼¯¶¼Ã»ÓÃÁË¡£ËùÒÔÒ»¸öÆðÂëµÄÔÔòÊÇÒª±£Ö¤MongoDB¶à¸±±¾µÄÖ÷»ú°²È«ÐÔ£¬¾¡¿ÉÄܹ»×öµ½»ú¼Ü°²È«¡£

ÏÖÔÚÎÒÃǵÄMongoDBÊý¾Ý¿â¼´·þÎñµÄ¼Ü¹¹¿ÉÒÔÉÔ΢À©³äÒ»ÏÂÁË£¬¶àÁË×ÊÔ´·þÎñ¡¢¹æ¸ñ¼°ÅäÖ÷þÎñ¡¢Èí¼þÕ»·þÎñÒÔ¼°¸ºÔؾùºâ·þÎñÕ⼸¸ö×é¼þ¡£

½ÓÏÂÀ´¿´Ò»ÏÂÈÝÔÖÌåϵ£¬Õâ°üÀ¨¸ß¿ÉÓᢱ¸·Ý/»Ö¸´¡¢ÒìµØÈÝÔÖ/¶à»î¡£¸ß¿ÉÓÃÐèÒªÓÐÒ»¸ö¸ºÔ𽡿µ¼ì²éµÄѲ¼ì·þÎñ£¬ÁíÍ⻹ÐèÒªÓÐÒ»¸öÈÝÔÖÇл»µÄ×é¼þ¡£±¸·Ý/»Ö¸´Ò²ÊÇÈÝÔÖÌåϵ·Ç³£ÖØÒªµÄÒ»»·£¬ÕâÀïÓÐÒ»¸öºÜÈÝÒ×±»ºöÊÓµÄÊÂÇéÊÇÐèÒª×ö±¸·ÝµÄÓÐЧÐÔÑéÖ¤¡£Èç¹û±¸·Ý²»ÊÇÓÐЧµÄ£¬ÄǵÈÓÚûÓб¸·Ý¡£ÒìµØÈÝÔÖ/¶à»îÊDZȽϸ߼¶µÄÈÝÔÖÄÜÁ¦£¬ÊµÊ©ÆðÀ´±È½Ï¸´ÔÓ£¬ÓÐÐËȤµÄͬѧ¿ÉÒԲο¼ÎÒ֮ǰ×ö¹ýµÄÒ»¸ö·ÖÏí
MongoDBÒìµØÈÝÔÖ¶à»îʵ¼ù

MongoDB¸±±¾¼¯×Ô´øÁ˸߿ÉÓã¬ÎÒÃÇ»¹ÐèÒª×öʲô¹¤×÷ÄØ£¿Ö÷ÒªÊÇÐèÒª±£Ö¤ÈÝÔÖÇл»µÄÒ»¸ö¿É¿Ø¡£ÒÔÒ»¸ö¾µäµÄ3½ÚµãP/S/H¸±±¾¼¯ÎªÀý£¬Ò»·½ÃæÎÒÃÇ¿ÉÒÔͨ¹ýÅäÖÃÑ¡¾ÙÓÅÏȼ¶µÄ·½Ê½À´±£³ÖPrimaryºÍSecondaryµÄ½ÇÉ«Îȶ¨ÐÔ¡£ÁíÒ»·½Ã棬ÎÒÃÇÏ£ÍûÔÚÈÎÒâʱ¿Ì£¬Óû§¶¼¿ÉÒÔÓÐÁ½¸ö½ÚµãÊǿɷÃÎʵģ¬Òò´ËÎÒÃÇÐèÒª¶Ô½Úµãå´»úºóµÄ¸±±¾¼¯×öһЩreconfig²Ù×÷£¬±£Ö¤å´»ú½Úµã×îÖÕ¶¼»á±ä³ÉHidden£¬È»ºóͳһ¶ÔHidden½øÐд¦Àí£¬±ÈÈçÖØ´îµÈ¡£

ÈÝÔÖÌåϵµÚ¶þ¸ö±È½ÏÖØÒªµÄµã¾ÍÊDZ¸·Ý»Ö¸´¡£±¸·ÝÖ÷ÒªÐèÒª×öµÄÊÇÐèÒªÌṩ×Ô¶¯/ÊÖ¶¯µÄ±¸·Ý·½Ê½ÒÔ¼°Ö§³ÖһЩÁé»îµÄ±¸·Ý²ßÂÔÖÆ¶¨£¬È籸·ÝÖÜÆÚ/±¸·Ý±£Áôʱ¼äµÈ¡£»Ö¸´Ö÷ÒªÊÇ¿´¶Ô»Ö¸´µÄÐÎ̬×ö³ÉʲôÑù£¬ÊǸ²¸ÇÔÀ´µÄʵÀý»¹Êǿˡ³öÒ»¸öеÄʵÀýÀ´£¬»¹ÓоÍÊǻָ´µÄÁ£¶È£¬ÕâÈ¡¾öÓÚ±¸·ÝÄÜÁ¦£¬ÊÇÖ»Äָܻ´µ½Ä³¸öÈ«Á¿±¸·Ý£¬»¹ÊÇ¿ÉÒÔ»Ö¸´µ½ÈÎÒâʱ¼äµã¡£¹ØÓÚ±¸·Ý´æ´¢£¬ÎÒÃÇÒªÇóµÄ×îÒª
ÄÜÁ¦ÊǸ߿ɿ¿ÐÔ¡£ÁíÍâ¾ÍÊǸոÕÌá¹ýµÄ±¸·ÝÓÐЧÐÔÑéÖ¤£¬²»Äܵȵ½»ðÉÕüëÁ˲ŷ¢ÏÖ±¸·Ý²»¿ÉÓã¬ÐèÒª·À·¶ÓÚδȻ¡£

??¹ØÓÚMongoDBµÄ±¸·Ý·½·¨£¬Ïà¹ØµÄÎĵµºÍ·ÖÏíÒѾÓкܶàÁË£¬ÕâÀïÔÙ¼òµ¥Ìáһϡ£È«Á¿±¸·Ý´Óʵʩ·½Ê½ÉÏ¿ÉÒÔ·ÖΪÁ½ÖÖ£¬Âß¼±¸·ÝºÍÎïÀí±¸·Ý¡£ÆäÖÐÂß¼±¸·ÝÖ÷ҪʹÓùٷ½ÌṩµÄmongodump/mongorestore¹¤¾ß¡£ÎïÀí±¸·ÝÔò¿ÉÒÔÔÚÎļþϵͳ»òÊǸüµ×²ãµÄÂß¼¾í¡¢¿éÉ豸Õâ²ãÈ¥×ö¡£

´Ó¸÷¸öÖ¸±êÉ϶ԱÈÂß¼±¸·ÝºÍÎïÀí±¸·Ý£¬ÔÚ±¸·ÝºÍ»Ö¸´Ð§ÂÊÉÏ£¬ÎïÀí±¸·ÝµÄÓÅÊÆ±È½ÏÃ÷ÏÔ£¬²»¹ýÂß¼±¸·ÝÔÚ¼æÈÝÐÔÉÏ»á±È½ÏºÃ¡£

MongoDBµÄÔöÁ¿±¸·ÝÖ÷Ҫͨ¹ý³ÖÐøµÄץȡoplogÀ´ÊµÏÖ¡£ÓÐÁËÈ«Á¿±¸·Ý¼ÓÔöÁ¿±¸·Ý£¬¾Í¿ÉÒÔʵÏÖ»Ö¸´µ½ÈÎÒâʱ¼äµã¡£

ÖÁ´Ë£¬ÎÒÃǵÄMongoDBÊý¾Ý¿â¼´·þÎñµÄ¼Ü¹¹ÓÖ¿ÉÒԵõ½Ò»¸ö±È½Ï´óµÄÀ©³ä£¬Ö÷ÒªÔö¼ÓÁ˸߿ÉÓÃÒÔ¼°±¸·ÝÏà¹ØµÄһЩ·þÎñ¡£

½ÓÏÂÀ´¿´ÏÂÊý¾Ý¿âµÄ¼à¿Ø±¨¾¯£¬ÐÔÄÜ¼à¿Ø?Ö÷񻃾¼°ÐÔÄÜÊý¾ÝµÄ²É¼¯¡¢´æ´¢ºÍչʾ¡£²É¼¯Á£¶ÈԽϸԽºÃ£¬×îºÃÄÜ×öµ½Ãë¼¶¡£±¨¾¯Ôò¿ÉÒÔ·ÖΪ¿ÉÓÃÐԵı¨¾¯ºÍÐÔÄÜÊý¾ÝµÄ±¨¾¯¡£

¾ß±¸¼à¿Ø±¨¾¯ÄÜÁ¦ºóµÄ¼Ü¹¹Í¼ÒѾÓеãÂúÁË£¬ÕâÀﱨ¾¯·þÎñ¿ÉÒÔͨ¹ýѲ¼ì·þÎñºÍÐÔÄÜÊý¾Ý´æ´¢ÊÕ¼¯Ïà¹ØÊý¾Ý¡£

À´¿´×îºóÒ»¸öÔöÖµ·þÎñ£¬Ò»¸öÊÇÉ󼯣¬Ö÷񻃾¼°Éó¼ÆÈÕÖ¾µÄ²É¼¯¡¢´æ´¢ºÍ·ÖÎö¡£ÁíÒ»¸öÊÇÕï¶Ï·þÎñ£¬Ò»¸öÊÇ×ÊԴʹÓÃÁ¿ÉϵÄÕï¶Ï£¬ÁíÍâÒ»¸öÊÇÂý²éѯµÄÕï¶Ï£¬¿ÉÒÔ×öһЩË÷ÒýÍÆ¼öµÈ¡£

Õâ¾ÍÊÇÎÒÃǵÄMongoDBÊý¾Ý¿â¼´·þÎñµÄÍêÕû¼Ü¹¹£¬¿ÉÒÔ¿´µ½×é¼þ»¹ÊDZȽ϶àµÄ£¬×öÒ»¸öÊý¾Ý¿â¼´·þÎñ»¹²»ÊÇÄÇôÈÝÒ×¹þ¡£

??????×îºó×öÒ»ÏÂ×ܽᣬÎÒÈÏΪÊý¾Ý¿â¼´·þÎñµÄºËÐÄÌØÐÔÓÐÁ½µã£¬Ò»¸öÊÇ×ÊÔ´³Ø»¯£¬ÁíÍâÒ»¸öÊÇ·þÎñ¿ÉÁ¿»¯¡£×ÊÔ´³Ø»¯ºó²Å¿ÉÒÔ½øÐÐ×ÊÔ´µÄ×Ô¶¯¹ÜÀí£¬¶øÎÒÃÇÐèÒªµÄ·þÎñÊÇÒªÄܹ»±»Á¿»¯µÄ£¬²¢ÇÒÊǿɿصġ£ÏÖÔڻعËÒ»ÏÂ֮ǰµÄÒ»¼ü°²×°Êý¾Ý¿â£¬Æäʵ±³ºóÓÐÐí¶à¹¤×÷Òª×ö¡£ÕâÀï˳±ã×öÏÂ¹ã¸æ£¬Èç¹û¾õµÃ×Ô¼º´î½¨Ò»¸öÊý¾Ý¿â¼´·þÎñÌ«Âé·³£¬¿ÉÒÔ¿¼ÂÇʹÓÃÏֳɵÄÔÆ·þÎñ£¬±ÈÈç°¢ÀïÔÆMongoDBÊý¾Ý¿â·þÎñ£º£©ÄãÏëÒªµÄÈ«¶¼ÓУ¡ |