javaapihbaseµÄ¼òµ¥½éÉÜ
kudoÊÇʲôϵͳ
1¡¢KudoÊÇÒ»¸öÁÐʽ´æ´¢µÄÓÃÓÚ¿ìËÙ·ÖÎöµÄNoSQLÊý¾Ý¿âϵͳ¡£ÒÔÏÂÊǹØÓÚKudoµÄÏêϸ½âÁÐʽ´æ´¢£ºKudu²ÉÓÃÁÐʽ´æ´¢·½Ê½£¬ÕâÖÖ·½Ê½ÓÐÀûÓÚÊý¾ÝµÄ±àÂëºÍѹËõ£¬Ê¹µÃÊý¾ÝÕ¼Óÿռä¸üС¡£ÁÐʽ´æ´¢»¹ÄܽµµÍÊý¾ÝµÄIO£¬Ìá¸ß¼ÆËã·þÎñµÄЧÂÊ¡£ÀàËÆSQLµÄ²éѯÓï¾ä£ºKuduÌṩÁËÀàËÆSQLµÄ²éѯÓï¾ä£¬Ê¹µÃÓû§¿ÉÒÔ·½±ãµØ½øÐÐÊý¾Ý²éѯºÍ·ÖÎö¡£
2¡¢KudoÊÇÒ»¸öÁÐʽ´æ´¢µÄÓÃÓÚ¿ìËÙ·ÖÎöµÄNoSQLÊý¾Ý¿â£¬ÌṩÁËÀàËÆSQLµÄ²éѯÓï¾ä£¬ÓëRDBMSÊ®·ÖÀàËÆ£¬ÓÐ**PRIMARY KEY **£¬»ùÓÚÖ÷¼ü²éѯ¶ø²»ÊÇHBaseµÄRowKey µÍÑÓ³ÙËæ»ú´æÈ¡ ÓëÆäËû´óÊý¾ÝÊý¾Ý¿â²»Í¬£¬Kudu²»½ö½öÊÇÒ»¸öÎļþ¸ñʽ¡£
3¡¢ÖÐɽÑÅÊ·µÄÈÕÓï¶ÁÒôÊÇ£º¤Ê¤«¤ä¤Þ¤Þ¤µ¤·£¨Nakayama Masashi£©¡£ÆäÖУ¬¡°ÖÐɽ¡±ÊÇÐÕ£¬¶Á×÷¡°¤Ê¤«¤ä¤Þ¡±£¨Nakayama£©£¬¡°ÑÅÊ·¡±ÊÇÃû£¬¶Á×÷¡°¤Þ¤µ¤·¡±£¨Masashi£©¡£¹¤ÌÙ¾²ÏãµÄÈÕÓï¶ÁÒôÊÇ£º¤¯¤É¤¦¤·¤º¤«£¨Kudo Sizuka£©¡£
4¡¢ÕÆ×³ÉÏñÊÇÒ»ÖÖÏȽøµÄ³ÉÏñϵͳ£¬Í¨¹ý¹âѧÊý×Ö·½·¨ÔöÇ¿ÄÚ¿ú¾µÍ¼Ïñ£¬¸ÄɯճĤ±íÃæ½á¹¹ºÍ΢Ѫ¹ÜģʽµÄ¿ÉÊÓ»¯¡£Ëü×÷Ϊ°×¹âÄÚ¾µ¼ì²éµÄÖØÒª¸¨Öú¹¤¾ß£¬ÄÜÏÔÖøÌáÉýÏû»¯µÀ²¡±äµÄ¼ì²âЧÂÊ¡£NBI²»½öÄÜÇø·ÖÁ¼¶ñÐÔ²¡±ä£¬»¹ÄܽøÐаÐÏò»î¼ì¡¢Ô¤²â°©Ö¢½þÈó·çÏÕ¡¢»®¶¨Çгý±ßÔµ£¬²¢Ê¶±ð°ÌºÛÖеIJÐÁôÖ×Áö¡£

¡¾²©Ñ§¹Èѧϰ¼Ç¼¡¿³¬Ç¿×ܽá,ÓÃÐÄ·ÖÏí|¿ñÒ°´óÊý¾ÝµÄHBase×ܽá·ÖÎö...
1¡¢±¾Öܲ©Ñ§¹Èѧϰ¼Ç¼¹ØÓÚ¿ñÒ°´óÊý¾ÝµÄHBase×ܽá·ÖÎöÖ÷Òª°üÀ¨ÒÔϼ¸µã£º»ù´¡²Ù×÷£º½øÈëHBase¿ØÖÆÌ¨£ºÍ¨¹ýÃüÁîÐнçÃæÖ´ÐÐHBase²Ù×÷¡£³£ÓÃÃüÁʹÓÃstatus²é¿´¼¯Èº×´Ì¬£¬listչʾÏÖÓÐ±í£¬ÒÔ¼°Ö´Ðд´½¨¡¢Ìí¼Ó¡¢¶ÁÈ¡¡¢Ð޸ĺÍɾ³ýÊý¾ÝµÄ»ù±¾²½Öè¡£
2¡¢Ê×ÏÈ£¬ÎÒÃÇ´Ó½øÈëHBase¿ØÖÆÌ¨¿ªÊ¼£¬Í¨¹ý¼òµ¥µÄÃüÁîÐвÙ×÷£¬Èçstatus²é¿´¼¯Èº×´Ì¬£¬listչʾÏÖÓÐ±í£¬ÒÔ¼°´´½¨¡¢Ìí¼Ó¡¢¶ÁÈ¡¡¢Ð޸ĺÍɾ³ýÊý¾ÝµÄ»ù±¾²½Öè¡£½Ó×Å£¬ÉîÈë̽Ìָ߼¶shell²Ù×÷£¬Èç¹ýÂ˲éѯ£¬ÀýÈç²éÕÒÌØ¶¨rowkey»òÁÐÃûµÄÌØ¶¨Ä£Ê½£¬ÒÔ¼°ÏÔʾµ±Ç°µÇ¼Óû§ºÍÅжϱíÊÇ·ñ´æÔÚ¡£
3¡¢Êý¾Ýµ¼ÈëÓë´¦ÀíÊÇÏîÄ¿µÄ¹Ø¼ü»·½Ú¡£È«Á¿Êý¾Ý´ÓÔ´Í·µ¼ÈëÖÁHDFS£¬È·±£Êý¾Ý¼¯µÄÍêÕûÐÔÓëÒ»ÖÂÐÔ¡£ÔöÁ¿Êý¾Ýͨ¹ýHDFSÓëMySQLÖ®¼äµÄ½»»¥£¬ÊµÏÖ¸ßЧµÄÊý¾Ý¸üÐÂÓëͬ²½£¬ÌáÉýÊý¾Ý´¦ÀíµÄʵʱÐÔÓë׼ȷÐÔ¡£´ËÍ⣬Êý¾Ý´ÓHiveµ¼³öÖÁMySQL£¬½øÒ»²½À©Õ¹ÁËÊý¾ÝµÄÓ¦Óó¡¾°£¬ÔöÇ¿ÁËÊý¾ÝµÄ¿É·ÃÎÊÐԺͷÖÎöÄÜÁ¦¡£
4¡¢ÉÌÆ·Ë𻵣º¿ÉÍËÉÌÆ·»ùÓÚÈë¿âµ¥·¢ÆðÍË»õ£¬²»¿ÉÍËÉÌÆ·½øÈë²Ð´ÎÆ·Á÷³Ì£»Óû§ÊÛºó£ºÓû§ÍË»õºóÐèͬ²½¸üÐÂ¿â´æ£¨ÈçÔö¼Ó¿ÉÊÛ¿â´æ¡¢¼Ç¼ËðºÄ£©£»ÐÉÌÍË»õ£ºÓ빩ӦÉÌ´ï³ÉÒ»Öºó°´Á÷³Ì´¦Àí¡£
5¡¢ÔÚÒ»ÖܵÄѧϰÈÕÖ¾ÖУ¬Óöµ½µÄÎÊÌâÖ÷Òª¼¯ÖÐÔÚ³ÌÐò±¨´í¼°½â¾ö·½·¨ÉÏ¡£Í¨¹ý·ÖÎö´íÎóÐÅÏ¢£¬ÎÒ×ܽáÁËÒÔϼ¸µã¹Ø¼üµã£ºÊ×ÏÈ£¬Óöµ½¡°ÎÞ·¨¶Áȡ䶨ÒåµÄÊôÐÔ£¨¶ÁÈ¡filter£©¡±µÄ´íÎ󣬯äÔÒòÔÚÓÚʹÓÃÁË䶨ÒåµÄ±äÁ¿¡£ÔÚÏîÄ¿µÄʵ¼ÊÓ¦ÓÃÖУ¬ÎÒ·¢ÏÖ±äÁ¿ÃûÔÚ¶¨ÒåºÍʹÓÃʱ³öÏÖÁ˲»Ò»ÖµÄÇé¿ö¡£
ÄÚº¬ÃæÊÔ|Ò»Îĸ㶮HBaseµÄ»ù±¾ÔÀí
1¡¢HBaseÊÇÒ»¸ö·Ö²¼Ê½¡¢ÃæÏòÁС¢¸ßÐÔÄÜ¡¢¿ÉÉìËõµÄÊý¾Ý¿â£¬×¨ÃÅÓÃÓÚ´æ´¢·Ç½á¹¹»¯ºÍ°ë½á¹¹»¯µÄÏ¡ÊèÊý¾Ý¡£ÒÔÏÂÊǹØÓÚHBase»ù±¾ÔÀíµÄÏêϸ½âÆðÔ´Óë»ù´¡£ºÆðÔ´£ºHBase»ùÓڹȸèµÄBigTableÉè¼Æ¡£Êý¾Ý´æ´¢Óë´¦Àí£ºÀûÓÃMapReduceÄ£ÐÍ´¦ÀíÊý¾Ý£¬µ×²ã¿ÉÒÔÖ§³ÖGFS»òHDFS×÷Ϊ´æ´¢ÏµÍ³¡£
2¡¢Hbase³£¼ûÃæÊÔÎÊÌâÖ÷Òª°üÀ¨ÒÔϼ¸¸ö·½Ã棺 HBaseÖ§³ÖµÄÊý¾ÝÀàÐʹ𰸣ºHBaseͨ¹ýPut²Ù×÷ºÍResult²Ù×÷Ö§³Ö¡°byte-in / bytes-out¡±½Ó¿Ú£¬Òò´ËÈκοÉÒÔת»»Îª×Ö½ÚÊý×éµÄÄÚÈݶ¼¿ÉÒÔ×÷Ϊһ¸öÖµ´æ´¢¡£ÊäÈë¿ÉÒÔÊÇ×Ö·û´®¡¢Êý×Ö¡¢¸´ÔÓ¶ÔÏó£¬ÉõÖÁ¿ÉÒÔÊÇͼÏñ£¬Ö»ÒªËüÃÇ¿ÉÒÔ³ÊÏÖΪ×Ö½Ú¡£
3¡¢MemStoreÊÇHBaseÖÐʹÓõÄд»º³åÇø£¬ÓÃÓÚÔÚÓÀ¾ÃдÈë֮ǰÔÚÄÚ´æÖÐÀÛ»ýÊý¾Ý¡£µ±MemStoreÌîÂúÊý¾Ýʱ£¬ÆäÄÚÈݽ«Ë¢Ðµ½´ÅÅ̲¢ÐγÉÒ»¸öеÄHfile£¬Ã¿¸öÁÐ×å´æÔÚÒ»¸öMemStore¡£HFileÊÇHBaseµ×²ãµÄ´æ´¢¸ñʽ£¬Ã¿¸öHFile¶¼ÊôÓÚÒ»¸öÁÐ×壬һ¸öÁÐ×å¿ÉÄÜÓжà¸öHFile¡£È»¶ø£¬µ¥¸öHFileÓÀÔ¶²»»á°üº¬¶à¸öÁÐ×åµÄÊý¾Ý¡£
4¡¢·Ö²¼Ê½ÀíÂÛ - BASEBASEÊǶÔCAPÖÐÒ»ÖÂÐԺͿÉÓÃÐÔȨºâµÄ½á¹û£¬ÊǶÔCAP¶¨ÀíµÄÑÓÉì¡£BASEÊÇ¡°Basically Available£¬ Soft state£¬ Eventually consistent£¨»ù±¾¿ÉÓá¢Èí״̬¡¢×îÖÕÒ»ÖÂÐÔ£©¡±µÄÊ××ÖĸËõд¡£ÆäÖеÄÈí״̬ºÍ×îÖÕÒ»ÖÂÐÔÕâÁ½ÖÖ¼¼ÇÉÉÃÓÚ¶Ô¸¶´æÔÚ·ÖÇøµÄ³¡ºÏ£¬²¢Òò´ËÌá¸ßÁË¿ÉÓÃÐÔ¡£