½üЩÄêÀ´£¬¸÷ÖÖ»¥ÁªÍø+µÄ¹«Ë¾ÈçÓêºó´ºËñ°ã³öÏÖ£¬×öÒ»¸öÔÚÏ߯½Ì¨»òÕß×öÒ»¸öAPP»ù±¾³ÉΪÕâЩ¹«Ë¾µÄ±êÅä¡£WebϵͳµÄÁ÷ÐУ¬Êý¾ÝÊÕ¼¯Ô½À´Ô½ÈÝÒ×£¬´Ùʹ¸÷ÀàÊý¾Ý¿âϵͳӦÓõÃÔ½À´Ô½¹ã·º¡£
ÎÒÃÇÔÚÆ½Ê±µÄ¼¼ÊõÌÖÂÛ»òÕßʵ¼ÊÓ¦ÓÃÖо³£»áÌáµ½´«Í³Êý¾Ý¿â¡£Ìáµ½´«Í³Êý¾Ý¿â£¬ºÜ¶àÈË»áºÜÈÝÒ×ÁªÏëµ½Oracle¡¢MySQL¡¢SQL
ServerµÈ´øÓкÜÃ÷ÏÔ¹ØÏµÐÍÊý¾Ý¿âÌØÕ÷µÄÊý¾Ý¿âϵͳ¡£ÔÚÎÒ¿´À´£¬´«Í³Êý¾Ý¿â²¢²»µÈÓÚÕâЩÊý¾Ý¿â£¬¶øÊÇ¿´ÄãÔõôÓõġ£Ò»°ãÀ´Ëµ£¬´«Í³Êý¾Ý¿â°üÀ¨ÒÔÏÂÈý¸öÏÊÃ÷µÄÌØµã£º
1¡¢ÊÂÎñµÄ±£ÕÏ£ºACID
ACIDÒ»ÑÔÒÔ±ÎÖ®¾ÍÊÇÔ×ÓÐÔ¡¢Ò»ÖÂÐÔ¡¢¸ôÀëÐÔ¡¢³Ö¾Ã»¯ÊÂÎñ£¬ËüÊÇËĸöµ¥´ÊµÄËõд£º
1.Atomicity Ô×ÓÐÔ ÊÂÎñÖÐËùÓвÙ×÷Ҫôȫ²¿Íê³É£¬ÒªÃ´È«Ê§°Ü¡£
2.Consistency Ò»ÖÂÐÔ ÔÚÊÂÎñ¿ªÊ¼Ê±»òÕß½áÊøÊ±£¬Êý¾Ý¿âÓ¦¸Ã´¦ÓÚͬһ״̬¡£
3.Isolation ¸ôÀëÐÔ ÊÂÎñ½«¼Ù¶¨Ö»ÓÐËü×Ô¼ºÔÚ²Ù×÷Êý¾Ý¿â£¬±Ë´Ë²»ÖªÏþ¡£
4.Durablity Ò»µ©ÊÂÎñÍê³É£¬¾Í²»ÄÜ·µ»Ø¡£
Òª×öµ½ACID£¬´Ó±à³ÌµÄ½Ç¶ÈÀ´Ëµ£¬Êý¾Ý¿âϵͳһ¶¨»áÓõ½Ëø¡£
Ò»°ã¶ÔÊÂÎñÒªÇó±È½Ï¸ßµÄÖ÷ÒªÊǽ»Ò׳¡¾°£¬ÒøÐÐϵͳ¡¢´óÐÍÔÚÏßµçÉ̽»Ò×ϵͳÓõñȽ϶ࡣ¶ÔÓÚ¾ø´ó¶àÊý´´Òµ¹«Ë¾¶øÑÔ£¬ÊÂÎñÊÇÒ»¸öÆ«ÀíÂ۵ĸÅÄʵ¼ÊÉÏÔÚ£¬ÔÚÏßϵͳÖУ¬ÊÂÎñÊÇÒ»¸öºÜÓÐÓõĶ«Î÷£¬ÎÒÃǾٸöÀõ×Ó£º
Óû§AÔÚÆ½Ì¨¹ºÂòÔöÖµ·þÎñµÄ³¡¾°£¬»áÓкܶàÖÖ´¦Àí·½Ê½¡£
Ò»°ãµÄ³ÌÐòÔ±»áÈçÏ´¦Àí£º
1.ÔÚ²ÆÎñ±íÖÐÔö¼ÓÒ»ÌõÓû§AµÄ¿Û·Ñ¼Ç¼¡££¨¿Û·Ñ£©
2.ÔÚÓû§ÔöÖµ·þÎñ±íÖÐÔö¼ÓÒ»ÌõÓû§AµÄÔöÖµ·þÎñ¼Ç¼¡££¨¿ªÍ¨·þÎñ£©
Óû§ÖÁÉϵijÌÐòÔ±»áÈçÏ´¦Àí£º
1.ÔÚÓû§ÔöÖµ·þÎñ±íÖÐÔö¼ÓÒ»ÌõÓû§AµÄÔöÖµ·þÎñ¼Ç¼¡££¨¿ªÍ¨·þÎñ£©
2.ÔÚ²ÆÎñ±íÖÐÔö¼ÓÒ»ÌõÓû§AµÄ¿Û·Ñ¼Ç¼¡££¨¿Û·Ñ£©
ÈýÄêÒÔÉϹ¤×÷¾ÑéµÄ³ÌÐòÔ±»áÈçÏ´¦Àí£º
1.ÔÚ²ÆÎñ±íÖÐÔö¼ÓÒ»ÌõÓû§AµÄ¿Û·Ñ¼Ç¼¡££¨¿Û·Ñ£©
2.ÅжϲÆÎñ±íÖÐÊÇ·ñ¿Û·Ñ³É¹¦£¬²»³É¹¦Í¨ÖªÏµÍ³½»Ò×ʧ°Ü¡£
3.ÔÚÓû§ÔöÖµ·þÎñ±íÖÐÔö¼ÓÒ»ÌõÓû§AµÄÔöÖµ·þÎñ¼Ç¼¡££¨¿ªÍ¨·þÎñ£©
4.ÅжÏÓû§ÔöÖµ·þÎñ±íÖÐÊÇ·ñÔö¼Ó³É¹¦£¬²»³É¹¦É¾³ý²ÆÎñ±íÖеĿ۷Ѳ¢ÇÒ֪ͨϵͳ½»Ò×ʧ°Ü¡£
ÄÇôÓÃÉÏÊÂÎñÖ®ºó£¬ÄãÖ»ÒªÌá½»¸øÊý¾Ý¿âÒ»°ã³ÌÐòÔ±²Ù×÷£¬Êý¾Ý¿â¾Í»á¸øÄãÈýÄêÒÔÉϹ¤×÷¾ÑéµÄ³ÌÐòÔ±µÄ²Ù×÷½á¹û£¬ÔÚÖ÷´Ó¼Ü¹¹¶Áд·ÖÀëµÄÊý¾Ý¿â½á¹¹ÖÐЧ¹û»¹»á¸üºÃ¡£
2¡¢·á¸»µÄÊý¾ÝÀàÐͺÍSQLµÄ²Ù×÷·½Ê½
´«Í³µÄÊý¾Ý¿âϵͳ¿ÉÒÔ´æºÜ¶àÖÖÀàÐ͵ÄÊý¾Ý£¬Ö÷Òª°üÀ¨£º
1.Êý×Ö¼Ò×å¡¢ÕûÊýºÍСÊý¡£ÕûÊýÓÖ¿ÉÒÔ·ÖΪ32λµÄ£¬64λµÄ¡
2.×Ö·û´®ÀàÐÍ¡£×Ö·û´®ÓÖ·ÖΪ¹Ì¶¨³¤¶ÈµÄºÍ¿É±ä³¤¶ÈµÄ¡
3.ʱ¼ä¼Ò×å¡£ÈÕÆÚ¡¢Ê±¼ä¡
4.¶þ½øÖÆÁ÷¡
Õâô¶àÀàÐÍ£¬È·ÊµºÜ·á¸»¡£ÎÒÃÇËù¿´µ½µÄ£¬¶¼¿ÉÒÔÊÇ×Ö·û£¬¾ÍËã¶þ½øÖÆÁ÷£¬Ò²¿ÉÒÔͨ¹ýBase64תÂëÓÃ×Ö·û´®±íʾ¡£µ±È»£¬ÔÚ½²×Ö·û´®µÄʱºò£¬ÎÒÃÇÊǰѱà³ÌÓïÑÔ½ø»¯µ½ÁËÒ»¸öºÜ¸ß¼¶µÄ³Ì¶È£¬¿ª·¢µÄÓѺÃÐÔ´óÓÚ´æ´¢³É±¾¡£
¶ÔÓÚ´«Í³Êý¾Ý¿âϵͳµÄ³£ÓòÙ×÷£¬ÎÒÃÇÒ»°ã»á˵CURD¡£¼´¶Ô±íµÄÔöɾ¸Ä²é£¬»ù±¾¶¼ÓÃSQLÓï¾äÀ´ÊµÏÖ¡£SQLÓï¾äµÄ½á¹¹Ö÷Òª·ÖΪÒÔϼ¸´ó²¿·Ö£º
1.²Ù×÷£¬select¡¢insert¡¢update¡¢delete¡£
2.±í¶ÔÏó¡£
3.×ֶη¶Î§(*/f1/f2¡)¡£
4.WhereÌõ¼þ¡£
5.OrderÅÅÐò(desc/asc)¡£
6.²éѯ·¶Î§ÏÞÖÆ£¨top/limit£©¡£
¡¡
SQLÓï¾äÊÇΪʹÓÃÕßÓѺöøÉè¼ÆµÄ£¬ÎÞÂÛºÎÖÖÊý¾Ý¿âÒýÇæ£¬SQL×îºó¶¼±»Ó³Éä³ÉΪIOºÍÄÚ´æ²Ù×÷¡£
3¡¢ÑϸñµÄÊý¾ÝÄ£ÐÍ£ºÐÐʽ´æ´¢
ÔÚ´«Í³Êý¾Ý¿âϵͳÖУ¬Ò»°ãÀ´ËµÔÚµÚÒ»´ÎдÈëÊý¾Ý֮ǰ£¬¶¼ÐèÒª´´½¨¿âºÍ´´½¨±í£¬¶øÃ¿Ò»¸ö±í¶¼ÓÐÈ·¶¨µÄ±íÍ·£¬È·¶¨ÁÐÊý£¬Ã¿Ò»ÁеÄÃû×ÖÒÔ¼°È·¶¨µÄÊý¾ÝÀàÐÍ¡£ÔÚÐÂÊý¾ÝµÄдÈë»òÕßÊý¾ÝµÄÐ޸ĵÄʱºò£¬Êý¾Ý¿âϵͳ»á¸ù¾Ý´´½¨ºÃµÄ±í½á¹¹ÑϸñУÑéÊý¾ÝµÄºÏ·¨ÐÔ£¬¶Ô±í½á¹¹µÄµ÷ÕûÒ»°ã¶¼ÐèÒªºÜ´óµÄÐ޸Ĵú¼Û¡£
ÔÚ´æ´¢µ¥ÔªÀͬһÐеÄÊý¾Ý»á·Ö²¼ÔÚÏàÁڵĴ洢µ¥ÔªÀï¡£

ÁÐʽ´æ´¢Ïà¶ÔÓÚÐÐʽ´æ´¢¶øÑÔ£¬ÆäͬһÁеÄÊý¾Ý»á·Ö²¼ÔÚÏàÁڵĴ洢µ¥ÔªÀï¡£

ÌâÍâ»°£º³ýÁËÐд洢ºÍÁд洢£¬³£¼û»¹ÓÐÎĵµÄ£ÐÍ£¬µäÐ͵Ĵú±í¾ÍÊÇMongoDB¡£Èç¹ûÓô«Í³µÄÐеĽǶÈÀ´¿´£¬²»Í¬µÄÐÐÁÐÊý¿ÉÒÔ²»Ò»Ñù£¬ÁеÄÃû×ÖºÍÊý¾ÝÀàÐÍÒ²¿ÉÒÔ²»Ò»Ñù£¬ÁÐÀïÃæ¿ÉÒÔÊÇÁíÒ»¸öǶÌ×µÄÐС£
»¥ÁªÍøµÄÐèÇó
ÔÚ»¥ÁªÍø»¯µÄ´ó»·¾³Ï£¬ºÜ¶àϵͳ¶¼ºÜÈÝÒ×ÔÚ¶Ìʱ¼äÄÚϵͳÊÕ¼¯ÉÏÒÚµÄÊý¾Ý£¬²¢ÇÒÕâЩÊý¾Ý¾¹ý¼Ó¹¤£¬»¹ÒªÎª¼¸Ê®Íò¡¢¼¸°ÙÍòÉõÖÁ¸ü¶àÓû§Ìṩ·ÃÎÊ¡£´Óƽ̨½Ç¶ÈÀ´Ëµ£¬Ò»°ã¾ÍÊÇ´ÓСµ½´ó£¬´Ó¼òµ¥µ½¸´ÔӵĹý³Ì¡£Ö÷ÒªÀ´Ëµ£¬¾ßÓÐÒ»ÏÂÈý·½ÃæÌص㣺
1.¶ÔÊý¾Ý¸ß²¢·¢¶ÁдµÄÒªÇó
Êý¾Ý¿â¶ÁдѹÁ¦¾Þ´ó£¬Ó²ÅÌIOÎÞ·¨³ÐÊÜ¡£Ò»°ã´¦Àí·½·¨ÊÇÖ÷´Ó¼Ü¹¹£¬¶Áд·ÖÀ룬·Ö¿â¡¢·Ö±í£¬»º½âдѹÁ¦£¬ÔöÇ¿¶Á¿âµÄ¿ÉÀ©Õ¹ÐÔ¡£
2.¶Ôº£Á¿Êý¾ÝµÄ´æ´¢ºÍ·ÃÎÊ
´æ´¢¼Ç¼ÊýÁ¿ÓÐÏÞ£¬SQL²éѯЧÂʼ«µÍµÄÇé¿öÏ¡£Í¨¹ý·Ö¿â¡¢·Ö±í£¬»º½âÊý¾ÝÔö³¤Ñ¹Á¦¡£
3.ÉìËõÐÔ£¬¿ÉÓÃÐÔ£¬¿É¿¿ÐÔ·½ÃæµÄÐèÇó
ºáÏòÀ©Õ¹¼èÄÑ£¬ÎÞ·¨Í¨¹ý¿ìËÙÔö¼Ó·þÎñÆ÷½ÚµãʵÏÖ£¬ÏµÍ³Éý¼¶ºÍά»¤Ôì³É·þÎñ²»¿ÉÓá£Í¨¹ýÖ÷´Ó¼Ü¹¹£¬ÔöÇ¿¶Á¿âµÄÀ©Õ¹ÐÔ£¬ÀûÓÃMMM¼Ü¹¹´¦ÀíдµÄÆ¿¾±¡£

´«Í³Êý¾Ý¿âµÄÆ¿¾±
·Ö¿â·Ö±íȱµã£º 1.ÊÜÒµÎñ¹æÔòÓ°Ï죬ÐèÇó±ä¶¯µ¼Ö·ֿâ·Ö±íµÄά»¤¸´ÔÓ¡£
2.ϵͳÊý¾Ý·ÃÎʲã´úÂëÐèÒªÐ޸ġ£
Ö÷´Ó¼Ü¹¹È±µã£º 1.SlaveʵʱÐԵı£ÕÏ£¬¶ÔÓÚʵʱÐԺܸߵij¡ºÏ¿ÉÄÜÐèÒª×öһЩ´¦Àí£¨ÔÚµÚÒ»¸ö¹ºÂòÔöÖµ·þÎñµÄÀý×ÓÖУ¬Ìí¼Ó¿Û·Ñ¼Ç¼֮ºó£¬ÔÚ¶Áд·ÖÀëµÄ³¡¾°Ï£¬Á¢ÂíÈ¥´Ó¿â²éѯ¿Û·Ñ¼Ç¼²»Ò»¶¨Äܲ鵽£©¡£
2.¸ß¿ÉÓÃÐÔÎÊÌ⣬Master¾ÍÊÇÄǸöÖÂÃüµã£¬ÈÝÒײúÉúµ¥µã¹ÊÕÏ¡£
MMMȱµã£º
±¾ÉíÀ©Õ¹ÐԲһ´ÎÖ»ÄÜÒ»¸öMaster¿ÉÒÔдÈ룬ֻÄܽâ¾öÓÐÏÞÊý¾ÝÁ¿ÏµĿÉÓÃÐÔ¡£
·Ö²¼Ê½»ù´¡ÀíÂÛ
1¡¢CAP
·Ö²¼Ê½ÁìÓòCAPÀíÂÛ
1.Consistency Ò»ÖÂÐÔ£ºÊý¾ÝÒ»Ö¸üУ¬ËùÓÐÊý¾Ý±ä¶¯¶¼ÊÇͬ²½µÄ¡£
2.Availability(¿ÉÓÃÐÔ)£ººÃµÄÏìÓ¦ÐÔÄÜ¡£
3.Partition tolerance£º·ÖÇøÈÝÈÌÐÔ¡£
ÔÚ·Ö²¼Ê½ÏµÍ³ÖУ¬ÕâÈý¸öÒªËØ×î¶àÖ»ÄÜͬʱʵÏÖÁ½µã£¬²»¿ÉÄÜÈýÕß¼æ¹Ë£»¶ÔÓÚ·Ö²¼Ê½Êý¾Ýϵͳ£¬·ÖÇøÈÝÈÌÐÔÊÇ»ù±¾ÒªÇó£»¶ÔÓÚ´ó¶àÊýWebÓ¦Óã¬ÎþÉüÒ»ÖÂÐÔ¶ø»»È¡¸ß¿ÉÓÃÐÔ£¬ÊÇĿǰ¶àÊý·Ö²¼Ê½Êý¾Ý¿â²úÆ·µÄ·½Ïò¡£
2¡¢Base
1.Basically Available£º»ù±¾¿ÉÓà ֧³Ö·ÖÇøÊ§°Ü¡£
2.Soft state Èí״̬£º×´Ì¬¿ÉÒÔÓÐÒ»¶Îʱ¼ä²»Í¬²½£¬Òì²½¡£
3.Eventually consistent£º×îÖÕÒ»ÖÂÐÔ £¬×îÖÕÊý¾ÝÊÇÒ»ÖµľͿÉÒÔÁË£¬¶ø²»ÊÇʱʱһÖ¡£
3¡¢NoSQLÔ˶¯Á½¸öºËÐÄÀíÂÛ
GoogleµÄBigTable
BigTableÌá³öÁËÒ»ÖÖºÜÓÐȤµÄÊý¾ÝÄ£ÐÍ£¬Ëü½«¸÷ÁÐÊý¾Ý½øÐÐÅÅÐò´æ´¢¡£Êý¾ÝÖµ°´·¶Î§·Ö²¼ÔÚ¶ą̀»úÆ÷£¬Êý¾Ý¸üвÙ×÷ÓÐÑϸñµÄÒ»ÖÂÐÔ±£Ö¤¡£
AmazonµÄDynamo
DynamoʹÓõÄÊÇÁíÍâÒ»ÖÖ·Ö²¼Ê½Ä£ÐÍ¡£DynamoµÄÄ£Ð͸ü¼òµ¥£¬Ëü½«Êý¾Ý°´key½øÐÐhash´æ´¢¡£ÆäÊý¾Ý·ÖƬģÐÍÓбȽÏÇ¿µÄÈÝÔÖÐÔ£¬Òò´ËËüʵÏÖµÄÊÇÏà¶ÔËÉÉ¢µÄÈõÒ»ÖÂÐÔ£º×îÖÕÒ»ÖÂÐÔ¡£

HBaseÌØÕ÷
HBaseÊÇGoogle BigtableµÄ¿ªÔ´ÊµÏÖ£¬ÀàËÆGoogle
BigtableÀûÓÃGFS×÷ΪÆäÎļþ´æ´¢ÏµÍ³£¬HBaseÀûÓÃHadoop HDFS×÷ΪÆäÎļþ´æ´¢ÏµÍ³£»GoogleÔËÐÐMapReduceÀ´´¦ÀíBigtableÖеĺ£Á¿Êý¾Ý£¬HBaseͬÑùÀûÓÃHadoop
MapReduceÀ´´¦ÀíHBaseÖеĺ£Á¿Êý¾Ý£»Google BigtableÀûÓà Chubby×÷ΪÐͬ·þÎñ£¬HBaseÀûÓÃZooKeeper×÷Ϊ¶ÔÓ¦¡£
Ö÷ÒªÌØµã
ÁеĿÉÒÔ¶¯Ì¬Ôö¼Ó£¬²¢ÇÒÁÐΪ¿Õ¾Í²»´æ´¢Êý¾Ý£¬½ÚÊ¡´æ´¢¿Õ¼ä¡£
HBase×Ô¶¯ÇзÖÊý¾Ý£¬Ê¹µÃÊý¾Ý´æ´¢×Ô¶¯¾ßÓÐˮƽscalability¡£
HBase¿ÉÒÔÌṩ¸ß²¢·¢¶Áд²Ù×÷µÄÖ§³Ö£¬·Ö²¼Ê½¼Ü¹¹£¬¶ÁÐ´ËøµÈ´ýµÄ¸ÅÂÊ´ó´ó½µµÍ¡£
²»ÄÜÖ§³ÖÌõ¼þ²éѯ£¬Ö»Ö§³Ö°´ÕÕRowkeyÀ´²éѯ¡£
ÔÝʱ²»ÄÜÖ§³ÖMaster serverµÄ¹ÊÕÏÇл»£¬µ±Masterå´»úºó£¬Õû¸ö´æ´¢ÏµÍ³¾Í»á¹Òµô¡£
HBaseµ×²ã¼Ü¹¹

HBaseÊÇÒ»¸öÁÐʽ´æ´¢µÄÊý¾Ý¿âϵͳ£¬¸úËùÓеÄÊý¾Ý¿âϵͳһÑù£¬Êý¾Ý¿âÊÇÒÀÀµÎļþϵͳµÄ£¬ÔÚ´«Í³Êý¾Ý¿âÀïÃæÎÒÃǾ³£Ìáµ½´æ´¢ÒýÇæ£¬ÀýÈçMySQLÓÐMyISAM/InnoDB£¬Oracle/SqlServer²»¿ªÔ´£¬Ã»ÓÐÄÇô¶àÑ¡Ôñ£¬µ«¶¼»áÓÐ×Ô¼ºµÄ´æ´¢ÒýÇæ£¬ËµµÃͨË×Ò»µã¾ÍÊÇÐéÄâÎļþϵͳ£¬HBaseµÄÎļþϵͳÊÇHDFS£¬Ò»ÖÖ·Ö²¼Ê½Îļþϵͳ£¬ËùÒÔHBaseÌìÈ»¾ß±¸·Ö²¼Ê½µÄÌØÐÔ¡£Í¬Ê±Hadoop
MapReduceΪHBaseÌṩÁ˸ßÐÔÄܵļÆËãÄÜÁ¦£¬ZookeeperΪHBaseÌṩÁËÎȶ¨·þÎñºÍfailover»úÖÆ¡£
HBaseÉè¼ÆÒªµã
1¡¢Âß¼Êý¾ÝÄ£ÐÍ
1.Table
2.Region
3.ColumnFamily
4.Row
5.Column
6.Value
7.TimeStamp

ÄãÒ²¿ÉÒÔ°ÑHBase¿´³ÉÒ»¸ö¶àά¶ÈµÄMapÄ£ÐÍÈ¥Àí½âËüµÄÊý¾ÝÄ£ÐÍ¡£ÕýÈçÏÂͼ¡£


2¡¢HBaseµÄÌåϵ×é³É

NameNode´æ´¢DataNodeÐÅÏ¢£¬ZooKeeper¸ºÔðµ÷¶È¡£

Ò»¸öRegionÖ»»á´æÔÚһ̨RegionServerÉÏ£¬Ò»Ì¨RegionServerÉÏ¿ÉÒÔ°üº¬¶à¸öRegion¡£

Ò»¸öÂß¼µÄ±í°üº¬¶à¸öRegion£¬·Ö²¼ÔÚ¸÷¸öRegionServerÉÏ£¬¶ÔÓ¦ÓóÌÐòÀ´ËµÖ»ÓÐÒ»¸ö´ó±í²»Óùֱܷí·Ö¿â¡£
RegionµÄ¶¨Î»
-ROOT- .META


´æ´¢·Ö²¼

ÿһÐаüº¬N¸öÁУ¬ÒÔÁеÄÐÎʽ·Ö²¼ÔÚ²»Í¬RegionÀïÃæ¡£
3¡¢HBase¸÷¶ÔÏóÖ°Ôð
Client
HBaseµÄ·ÃÎʽӿڣ¬Î¬»¤cache¼Ó¿ìHBaseµÄ·ÃÎÊ¡£
Zookeeper
¼à¿ØMaster£¬±£Ö¤Ö»ÓÐÒ»¸öMaster£»
´æ´¢RegionµÄÈë¿ÚµØÖ·£»
¼à¿ØRegionServerÉÏÏÂÏߣ¬²¢¸æÖªMaster£»
´æ´¢Hbase shcemaºÍTableµÄÔªÊý¾Ý¡£
Master
·ÖÅäRegionµ½RegionServer£»
RegionSeverµÄ¸ºÔؾùºâ£»
·¢ÏÖʧЧµÄRegionServer²¢ÖØÐ·ÖÅäÆäÉϵÄRegion
¹ÜÀíÓû§¶ÔTableµÄÔöɾ¸Ä²é²Ù×÷¡£
RegionServer
ά»¤Region£¬´¦Àí¶ÔÕâЩRegionµÄIO£»
Split&Compact¡£
4¡¢Ó¦Ó÷½Ê½
HBaseÊÇÈýάÓÐÐò´æ´¢µÄ£¬Í¨¹ýRowKey£¨Ðмü£©£¬column
key£¨column familyºÍqualifier£©ºÍTimeStamp£¨Ê±¼ä´Á£©Õâ¸öÈý¸öά¶È¿ÉÒÔ¶ÔHBaseÖеÄÊý¾Ý½øÐпìËÙ¶¨Î»¡£
RowKeyÊÇHBase±í½á¹¹Éè¼ÆÖкÜÖØÒªµÄÒ»»· £¬HBaseÖÐRowKey¿ÉÒÔΨһ±êʶһÐмǼ£¬ÔÚHBase²éѯµÄʱºò£¬ÓÐÒÔÏÂ2ÖÖ·½Ê½£º
°´Ö¸¶¨RowKey»ñȡΨһһÌõ¼Ç¼£¬get·½·¨
£¨org.apache.hadoop.hbase.client.Get£©
°´Ö¸¶¨µÄÌõ¼þ»ñȡһÅú¼Ç¼£¬scan·½·¨
£¨org.apache.hadoop.hbase.client.Scan£©
µÚÒ»ÖÖÀàËÆkey-value²éÕÒ£¬µÚ¶þÖÖ¿ÉÒÔʵÏÖ¼òµ¥µÄÌõ¼þ²éѯ¹¦ÄÜ¡£
Q&A
Q1£ºHBaseÊDz»ÊÇûÓд«Í³±íµÄ¸ÅÄîÁË¡£¸Ð¾õ¶¼ÏñÊǼüÖµ´æ´¢¡£
A1£ºÈç¹û´æ´¢½Ç¶È¿´ÊǺ¸ÇÁ˵쬵«ÊÇÈ¥µôÁ˹ØÏµ¡£
Q2£ºHBase ÓëMongoDBµÄʹÓó¡¾°µÄÇø±ðÀÏʦÄÜ·ñ¼òµ¥½éÉÜһϣ¿
A2£ºHBaseÊʺÏ×öÊý¾Ý·ÖÎö£¬MongoDBÔÚÏß·þÎñÐÔÄܺܺã¬ÓÈÆäÊǶÁ£¬HBaseÒª½áºÏMapReduce£¬»¹ÓоÍÊÇMongoDBÊʺÏWeb·þÎñ£¬ÀýÈçPHP¡£
|