¸üÐÂʱ¼ä:2018Äê11ÔÂ26ÈÕ16ʱ34·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:
¡¡¡¡1¡¢¼ò½é
¡¡¡¡hbaseÊÇbigtableµÄ¿ªÔ´java°æ±¾¡£Êǽ¨Á¢ÔÚhdfsÖ®ÉÏ£¬Ìṩ¸ß¿É¿¿ÐÔ¡¢¸ßÐÔÄÜ¡¢Áд洢¡¢¿ÉÉìËõ¡¢ÊµÊ±¶ÁдnosqlµÄÊý¾Ý¿âϵͳ¡£
¡¡¡¡Ëü½éÓÚnosqlºÍRDBMSÖ®¼ä£¬½öÄÜͨ¹ýÖ÷¼ü(row key)ºÍÖ÷¼üµÄrangeÀ´¼ìË÷Êý¾Ý£¬½öÖ§³Öµ¥ÐÐÊÂÎñ(¿Éͨ¹ýhiveÖ§³ÖÀ´ÊµÏÖ¶à±íjoinµÈ¸´ÔÓ²Ù×÷)¡£
¡¡¡¡Ö÷ÒªÓÃÀ´´æ´¢½á¹¹»¯ºÍ°ë½á¹¹»¯µÄËÉÉ¢Êý¾Ý¡£
¡¡¡¡Hbase²éѯÊý¾Ý¹¦Äܼܺòµ¥£¬²»Ö§³ÖjoinµÈ¸´ÔÓ²Ù×÷£¬²»Ö§³Ö¸´ÔÓµÄÊÂÎñ(Ðм¶µÄÊÂÎñ)
¡¡¡¡HbaseÖÐÖ§³ÖµÄÊý¾ÝÀàÐÍ£ºbyte[]
¡¡¡¡ÓëhadoopÒ»Ñù£¬HbaseÄ¿±êÖ÷ÒªÒÀ¿¿ºáÏòÀ©Õ¹£¬Í¨¹ý²»¶ÏÔö¼ÓÁ®¼ÛµÄÉÌÓ÷þÎñÆ÷£¬À´Ôö¼Ó¼ÆËãºÍ´æ´¢ÄÜÁ¦¡£
¡¡¡¡HBaseÖеıíÒ»°ãÓÐÕâÑùµÄÌØµã£º
¡¡¡¡² ´ó£ºÒ»¸ö±í¿ÉÒÔÓÐÉÏÊ®ÒÚÐУ¬ÉϰÙÍòÁÐ
¡¡¡¡² ÃæÏòÁÐ:ÃæÏòÁÐ(×å)µÄ´æ´¢ºÍȨÏÞ¿ØÖÆ£¬ÁÐ(×å)¶ÀÁ¢¼ìË÷¡£
¡¡¡¡² Ï¡Êè:¶ÔÓÚΪ¿Õ(null)µÄÁУ¬²¢²»Õ¼Óô洢¿Õ¼ä£¬Òò´Ë£¬±í¿ÉÒÔÉè¼ÆµÄ·Ç³£Ï¡Êè¡£
¡¡¡¡2¡¢±í½á¹¹Âß¼ÊÓͼ
¡¡¡¡HBaseÒÔ±íµÄÐÎʽ´æ´¢Êý¾Ý¡£±íÓÐÐкÍÁÐ×é³É¡£Áл®·ÖΪÈô¸É¸öÁÐ×å(column family)
¡¡¡¡
¡¡¡¡3¡¢Row Key
¡¡¡¡ÓënosqlÊý¾Ý¿âÃÇÒ»Ñù,row keyÊÇÓÃÀ´¼ìË÷¼Ç¼µÄÖ÷¼ü¡£·ÃÎÊhbase tableÖеÄÐУ¬Ö»ÓÐÈýÖÖ·½Ê½£º
¡¡¡¡1 ͨ¹ýµ¥¸örow key·ÃÎÊ
¡¡¡¡2 ͨ¹ýrow keyµÄrange
¡¡¡¡3 È«±íɨÃè
¡¡¡¡Row keyÐмü (Row key)¿ÉÒÔÊÇÈÎÒâ×Ö·û´®(×î´ó³¤¶ÈÊÇ 64KB£¬Êµ¼ÊÓ¦ÓÃÖ㤶ÈÒ»°ãΪ 10-100bytes)£¬ÔÚhbaseÄÚ²¿£¬row key±£´æÎª×Ö½ÚÊý×é¡£
¡¡¡¡Hbase»á¶Ô±íÖеÄÊý¾Ý°´ÕÕrowkeyÅÅÐò(×Öµä˳Ðò)
¡¡¡¡´æ´¢Ê±£¬Êý¾Ý°´ÕÕRow keyµÄ×ÖµäÐò(byte order)ÅÅÐò´æ´¢¡£Éè¼Ækeyʱ£¬Òª³ä·ÖÅÅÐò´æ´¢Õâ¸öÌØÐÔ£¬½«¾³£Ò»Æð¶ÁÈ¡µÄÐд洢·Åµ½Ò»Æð¡£(λÖÃÏà¹ØÐÔ)
¡¡¡¡×¢Ò⣺
¡¡¡¡×ÖµäÐò¶ÔintÅÅÐòµÄ½á¹ûÊÇ
¡¡¡¡1,10,100,11,12,13,14,15,16,17,18,19,2,20,21,…,9,91,92,93,94,95,96,97,98,99¡£Òª±£³ÖÕûÐεÄ×ÔÈ»Ðò£¬Ðмü±ØÐëÓÃ0×÷×óÌî³ä¡£
¡¡¡¡ÐеÄÒ»´Î¶ÁдÊÇÔ×Ó²Ù×÷ (²»ÂÛÒ»´Î¶Áд¶àÉÙÁÐ)¡£Õâ¸öÉè¼Æ¾ö²ßÄܹ»Ê¹Óû§ºÜÈÝÒ×µÄÀí½â³ÌÐòÔÚ¶Ôͬһ¸öÐнøÐв¢·¢¸üвÙ×÷ʱµÄÐÐΪ¡£
¡¡¡¡4¡¢ÁÐ×å
¡¡¡¡hbase±íÖеÄÿ¸öÁУ¬¶¼¹éÊôÓëij¸öÁÐ×å¡£ÁÐ×åÊDZíµÄschemaµÄÒ»²¿·Ö(¶øÁв»ÊÇ)£¬±ØÐëÔÚʹÓñí֮ǰ¶¨Òå¡£
¡¡¡¡ÁÐÃû¶¼ÒÔÁÐ×å×÷Ϊǰ׺¡£ÀýÈçcourses:history £¬ courses:math ¶¼ÊôÓÚ courses Õâ¸öÁÐ×å¡£
¡¡¡¡·ÃÎÊ¿ØÖÆ¡¢´ÅÅ̺ÍÄÚ´æµÄʹÓÃͳ¼Æ¶¼ÊÇÔÚÁÐ×å²ãÃæ½øÐеġ£
¡¡¡¡ÁÐ×åÔ½¶à£¬ÔÚȡһÐÐÊý¾ÝʱËùÒª²ÎÓëIO¡¢ËÑѰµÄÎļþ¾ÍÔ½¶à£¬ËùÒÔ£¬Èç¹ûûÓбØÒª£¬²»ÒªÉèÖÃÌ«¶àµÄÁÐ×å
¡¡¡¡5¡¢Ê±¼ä´Á
¡¡¡¡HBaseÖÐͨ¹ýrowºÍcolumnsÈ·¶¨µÄΪһ¸ö´æÖüµ¥Ôª³ÆÎªcell¡£Ã¿¸ö cell¶¼±£´æ×Åͬһ·ÝÊý¾ÝµÄ¶à¸ö°æ±¾¡£°æ±¾Í¨¹ýʱ¼ä´ÁÀ´Ë÷Òý¡£Ê±¼ä´ÁµÄÀàÐÍÊÇ 64λÕûÐÍ¡£Ê±¼ä´Á¿ÉÒÔÓÉhbase(ÔÚÊý¾ÝдÈëʱ×Ô¶¯ )¸³Öµ£¬´Ëʱʱ¼ä´ÁÊǾ«È·µ½ºÁÃëµÄµ±Ç°ÏµÍ³Ê±¼ä¡£Ê±¼ä´ÁÒ²¿ÉÒÔÓɿͻ§ÏÔʽ¸³Öµ¡£Èç¹ûÓ¦ÓóÌÐòÒª±ÜÃâÊý¾Ý°æ±¾³åÍ»£¬¾Í±ØÐë×Ô¼ºÉú³É¾ßÓÐΨһÐÔµÄʱ¼ä´Á¡£Ã¿¸ö cellÖУ¬²»Í¬°æ±¾µÄÊý¾Ý°´ÕÕʱ¼äµ¹ÐòÅÅÐò£¬¼´×îеÄÊý¾ÝÅÅÔÚ×îÇ°Ãæ¡£
¡¡¡¡ÎªÁ˱ÜÃâÊý¾Ý´æÔÚ¹ý¶à°æ±¾Ôì³ÉµÄµÄ¹ÜÀí (°üÀ¨´æÖüºÍË÷Òý)¸ºµ££¬hbaseÌṩÁËÁ½ÖÖÊý¾Ý°æ±¾»ØÊÕ·½Ê½£º
¡¡¡¡² ±£´æÊý¾ÝµÄ×îºón¸ö°æ±¾
¡¡¡¡² ±£´æ×î½üÒ»¶Îʱ¼äÄڵİ汾(ÉèÖÃÊý¾ÝµÄÉúÃüÖÜÆÚTTL)¡£
¡¡¡¡Óû§¿ÉÒÔÕë¶Ôÿ¸öÁÐ×å½øÐÐÉèÖá£
¡¡¡¡6¡¢Cell
¡¡¡¡ÓÉ{row key, column( =
¡¡¡¡cellÖеÄÊý¾ÝÊÇûÓÐÀàÐ͵ģ¬È«²¿ÊÇ×Ö½ÚÂëÐÎʽ´æÖü¡£
×÷ÕߣºÀÖÓã²¥¿Í´óÊý¾ÝÅàѵѧԺ
Ê×·¢£º http://cloud.itcast.cn
±±¾©Ð£Çø