±à¼ÍƼö: |
ÎÄÕÂÖ÷Òª½éÉÜÁËHbase¡¢Hadoop¡¢Redis¡¢MongodDB¡¢Neo4j
Õ⼸ÖÖÖ÷ÒªµÄ·Ç¹ØÏµÐÍÊý¾Ý¿â£¬Ï£Íû¶ÔÄúÓаïÖú¡£
±¾ÎÄÀ´×ÔCSDN£¬ÓÉ»ðÁú¹ûÈí¼þLinda±à¼¡¢ÍƼö¡£
|
|
Hbase
ÁÐʽ´æ´¢ÒÔÁ÷µÄ·½Ê½ÔÚÁÐÖд洢ËùÓеÄÊý¾Ý¡£¶ÔÓÚÈκμǼ£¬Ë÷Òý¶¼¿ÉÒÔ¿ìËٵػñÈ¡ÁÐÉϵÄÊý¾Ý£»ÁÐʽ´æ´¢Ö§³ÖÐмìË÷£¬µ«ÕâÐèÒª´Óÿ¸öÁлñȡƥÅäµÄÁÐÖµ£¬²¢ÖØÐÂ×é³ÉÐС£HBase£¨Hadoop
Database£©ÊÇÒ»¸ö¸ß¿É¿¿ÐÔ¡¢¸ßÐÔÄÜ¡¢ÃæÏòÁС¢¿ÉÉìËõµÄ·Ö²¼Ê½´æ´¢ÏµÍ³£¬ÀûÓÃHBase¼¼Êõ¿ÉÔÚÁ®¼ÛPC
ServerÉϴÆð´ó¹æÄ£½á¹¹»¯´æ´¢¼¯Èº¡£HBaseÊÇGoogle BigTableµÄ¿ªÔ´ÊµÏÖ£¬Ä£·Â²¢ÌṩÁË»ùÓÚGoogleÎļþϵͳµÄBigTableÊý¾Ý¿âµÄËùÓй¦ÄÜ¡£HBase¿ÉÒÔÖ±½ÓʹÓñ¾µØÎļþϵͳ»òÕßHadoop×÷ΪÊý¾Ý´æ´¢·½Ê½£¬²»¹ýΪÁËÌá¸ßÊý¾Ý¿É¿¿ÐÔºÍϵͳµÄ½¡×³ÐÔ£¬·¢»ÓHBase´¦Àí´óÊý¾ÝÁ¿µÈ¹¦ÄÜ£¬ÐèҪʹÓÃHadoop×÷ΪÎļþϵͳ¡£HBase½öÄÜͨ¹ýÖ÷¼ü(row
key)ºÍÖ÷¼üµÄrangeÀ´¼ìË÷Êý¾Ý£¬½öÖ§³Öµ¥ÐÐÊÂÎñ£¬Ö÷ÒªÓÃÀ´´æ´¢·Ç½á¹¹»¯ºÍ°ë½á¹¹»¯µÄËÉÉ¢Êý¾Ý¡£
HbaseÖбíµÄÌØµã£º´ó£¬Ï¡Êè£¬ÃæÏòÁÐ
HadoopÉú̬ϵͳÖеĸ÷²ãϵͳ
HBaseλÓڽṹ»¯´æ´¢²ã£»
HDFSΪHBaseÌṩÁ˸߿ɿ¿ÐÔµÄµ×²ã´æ´¢Ö§³Ö£»
MapReduceΪHBaseÌṩÁ˸ßÐÔÄܵļÆËãÄÜÁ¦£»
ZookeeperΪHBaseÌṩÁËÎȶ¨·þÎñºÍʧ°Ü»Ö¸´»úÖÆ£»
PigºÍHive»¹ÎªHBaseÌṩÁ˸߲ãÓïÑÔÖ§³Ö£¬Ê¹µÃÔÚHBaseÉϽøÐÐÊý¾Ýͳ¼Æ´¦Àí±äµÄ·Ç³£¼òµ¥£»
SqoopÔòΪHBaseÌṩÁË·½±ãµÄRDBMSÊý¾Ýµ¼È빦ÄÜ£¬·½±ãÊý¾ÝÇ¨ÒÆ£»

HbaseÔÚ»¥ÁªÍø´æ´¢µÄ¼¸¸öÓ¦Óó¡¾°£º
1.ץȡÔöÁ¿Êý¾Ý
ʹÓÃHBase ×÷ΪÊý¾Ý´æ´¢£¬×¥È¡À´×Ô¸÷ÖÖÊý¾ÝÔ´µÄÔöÁ¿Êý¾Ý£¬ÈçץȡÓû§½»»¥Êý¾Ý£¬ÒÔ±¸Ö®ºó½øÐзÖÎö¡¢´¦Àí
2.ÄÚÈÝ·þÎñ
´«Í³Êý¾Ý¿â×îÖ÷ÒªµÄʹÓó¡ºÏÖ®Ò»ÊÇΪÓû§ÌṩÄÚÈÝ·þÎñ£¬ÈçURL¶ÌÁ´½Ó·þÎñ£¬¿ÉÒÔHBaseΪ»ù´¡£¬´æ´¢´óÁ¿µÄ¶ÌÁ´½ÓÒÔ¼°ºÍÔʼ³¤Á´½ÓµÄÓ³Éä¹ØÏµ
3.ÐÅÏ¢½»»»
FacebookµÄ¶ÌÐÅÆ½Ì¨Ã¿Ìì½»»»ÊýÊ®ÒÚÌõ¶ÌÐÅ£¬HBase¿ÉÒԺܺõÄÂú×ã¸Ãƽ̨µÄÐèÇ󣺸ߵÄдÍÌÍÂÁ¿£¬¼«´óµÄ±í£¬Êý¾ÝÖÐÐĵÄǿһÖÂÐÔ
HbaseÓ봫ͳ¹ØÏµÐÍÊý¾Ý¿âÇø±ð£º
Êý¾ÝÀàÐÍ
HBaseÖ»Óмòµ¥µÄ×Ö·û´®ÀàÐÍ£¬ËùÓÐÀàÐͶ¼ÓÉÓû§×Ô¼º´¦Àí£¬ËüÖ»±£´æ×Ö·û´®£»
¹ØÏµÊý¾Ý¿âÓзḻµÄÀàÐÍÑ¡ÔñºÍ´æ´¢·½Ê½¡£
Êý¾Ý²Ù×÷
HBase²Ù×÷Ö»Óкܼòµ¥µÄ²åÈë¡¢²éѯ¡¢É¾³ý¡¢Çå¿ÕµÈ£¬±íºÍ±íÖ®¼äÊÇ·ÖÀëµÄ£¬Ã»Óи´ÔӵıíºÍ±íÖ®¼äµÄ¹ØÏµ£¬ËùÒÔÒ²²»ÄÜҲûÓбØÒªÊµÏÖ±íºÍ±íÖ®¼äµÄ¹ØÁªµÈ²Ù×÷£»
´«Í³µÄ¹ØÏµÊý¾Ýͨ³£Óи÷ÖÖ¸÷ÑùµÄº¯Êý¡¢Á¬½Ó²Ù×÷¡£
´æ´¢Ä£Ê½
HBaseÊÇ»ùÓÚÁд洢µÄ£¬Ã¿¸öÁÐ×å¶¼Óм¸¸öÎļþ±£´æ£¬²»Í¬ÁÐ×åµÄÎļþÊÇ·ÖÀëµÄ£»
´«Í³µÄ¹ØÏµÊý¾Ý¿âÊÇ»ùÓÚ±í¸ñ½á¹¹ºÍÐÐģʽ±£´æµÄ¡£
Êý¾Ýά»¤
HBaseµÄ¸üÐÂÕýÈ·À´ËµÓ¦¸Ã²»½Ð¸üУ¬¶øÇÒÒ»¸öÖ÷¼ü»òÕßÁжÔÓ¦µÄеİ汾£¬¶øËü¾ÉÓеİ汾ÈÔÈ»»á±£Áô£¬ËùÒÔËüʵ¼ÊÉÏÊDzåÈëÁËеÄÊý¾Ý£»
´«Í³¹ØÏµÊý¾Ý¿âÀïÃæÊÇÌæ»»Ð޸ġ£
¿ÉÉìËõÐÔ
HBaseºÍBigTableÕâÀà·Ö²¼Ê½Êý¾Ý¿â¾ÍÊÇÖ±½ÓΪÁËÕâ¸öÄ¿µÄ¿ª·¢³öÀ´µÄ£¬Äܹ»ÇáÒ×µÄÔö¼Ó»òÕß¼õÉÙ£¨ÔÚÓ²¼þ´íÎóµÄʱºò£©Ó²¼þÊýÁ¿£¬¶øÇÒ¶Ô´íÎóµÄ¼æÈÝÐԱȽϸߣ»
´«Í³µÄ¹ØÏµÊý¾Ý¿âͨ³£ÐèÒªÔö¼ÓÖмä²ã²ÅÄÜʵÏÖÀàËÆµÄ¹¦ÄÜ¡£
Ð޸ıíģʽÐèÒªÏȽ«±íÉèÖÃΪ²»¿ÉÓÃ(disable)£¬Ä£Ê½ÐÞ¸ÄÍê³ÉÔÙÆôÓñí(enable)
HBaseµÄÈý¸öÖ÷ÒªµÄ¹¦ÄÜ×é¼þ
¿âº¯Êý£ºÁ´½Óµ½Ã¿¸ö¿Í»§¶Ë£»Ò»¸öHMasterÖ÷·þÎñÆ÷£»Ðí¶à¸öHRegion·þÎñÆ÷¡£
HbaseÈý²ã½á¹¹
1.ZookeeperÎļþ£ºËü¼Ç¼ÁË-ROOT-±íµÄλÖÃÐÅÏ¢£¬¼´root regionµÄλÖÃÐÅÏ¢¡£
2.-ROOT-±í£ºÖ»°üº¬Ò»¸öroot region£¬¼Ç¼ÁË.META.±íÖеÄregionÐÅÏ¢¡£Í¨¹ýroot
region£¬ÎÒÃǾͿÉÒÔ·ÃÎÊ.META.±íµÄÊý¾Ý¡£
3.META.±í£º¼Ç¼ÁËÓû§±íµÄHRegionÐÅÏ¢£¬.META.±í¿ÉÒÔÓжà¸öHRegion£¬±£´æÁËHBaseÖÐËùÓÐÊý¾Ý±íµÄHRegionλÖÃÐÅÏ¢¡£
HbaseÁ½ÖÖÎļþÀàÐÍ
HFile£ºHBaseÖÐKeyValueÊý¾ÝµÄ´æ´¢¸ñʽ£¬HFileÊÇHadoopµÄ¶þ½øÖƸñʽÎļþ£¬Êµ¼ÊÉÏHStoreFile¾ÍÊǶÔHFile×öÁËÇáÁ¿¼¶°ü×°£¬¼´HStoreFileµ×²ã¾ÍÊÇHFile¡£
HLogFile£ºHBaseÖÐWAL£¨Write Ahead Log£©µÄ´æ´¢¸ñʽ£¬ÎïÀíÉÏÊÇHadoopµÄ˳ÐòÎļþ¡£
Redis
RedisÊÇÒ»¸ökey-value´æ´¢ÏµÍ³,keyΪ×Ö·û´®ÀàÐÍ£¬Ö»ÄÜͨ¹ýkey¶Ôvalue½øÐвÙ×÷£¬Ö§³ÖµÄÊý¾ÝÀàÐͰüÀ¨string¡¢list¡¢set¡¢zset(ÓÐÐò¼¯ºÏ)ºÍhash¡£RedisÖ§³ÖÖ÷´Óͬ²½£¬Êý¾Ý¿ÉÒÔ´ÓÖ÷·þÎñÆ÷ÏòÈÎÒâÊýÁ¿µÄ´Ó·þÎñÆ÷ÉÏͬ²½¡£
RedisÊÂÎñÔÊÐíÒ»×éÃüÁîÔÚµ¥Ò»²½ÖèÖÐÖ´ÐС£ÊÂÎñÓÐÁ½¸öÊôÐÔ£ºÔÚÒ»¸öÊÂÎñÖеÄËùÓÐÃüÁî×÷Ϊµ¥¸ö¶ÀÁ¢µÄ²Ù×÷˳ÐòÖ´ÐУ»RedisÊÂÎñÊÇÔ×ӵģ¬Ô×ÓÒâζ×ÅҪôËùÓеÄÃüÁî¶¼Ö´ÐУ¬ÒªÃ´¶¼²»Ö´ÐС£Redis
ÊÂÎñÓÉÖ¸Áî MULTI ·¢ÆðµÄ£¬Ö®ºó´«µÝÐèÒªÔÚÊÂÎñÖкÍÕû¸öÊÂÎñÖУ¬×îºóÓÉ EXEC ÃüÁîÖ´ÐÐËùÓÐÃüÁîµÄÁÐ±í¡£
Redis·ÖÇø
Êǽ«Êý¾Ý·Ö¸î³É¶à¸ö Redis ʵÀý£¬Ê¹Ã¿¸öʵÀý½«Ö»°üº¬¼ü×Ó¼¯µÄ¹ý³Ì.ËüÔÊÐí¸ü´óµÄÊý¾Ý¿â£¬Ê¹Óöą̀¼ÆËã»úµÄÄÚ´æ×ܺÍ,ËüÔÊÐí°´±ÈÀýÔÚ¶àÄں˺Ͷà¸ö¼ÆËã»ú¼ÆË㣬ÒÔ¼°ÍøÂç´ø¿íÏò¶ą̀¼ÆËã»úºÍÍøÂçÊÊÅäÆ÷¡£ÁÓÊÆ£ºÉæ¼°¶à¸ö¼üʱ£¬RedisÊÂÎñÎÞ·¨Ê¹Óã»Êý¾Ý´¦Àí±È½Ï¸´ÔÓ£»¼ÓºÍɾ³ýµÄÈÝÁ¿¿ÉÄÜ»áºÜ¸´ÔÓ¡£
·ÖÇøÀàÐÍ£º·¶Î§·ÖÇø£»É¢ÁзÖÇø
Redis Êý¾Ý¿â¿ÉÒÔÅäÖð²È«±£»¤µÄ£¬ËùÒÔÈκοͻ§¶ËÔÚÁ¬½ÓÖ´ÐÐÃüÁîʱÐèÒª½øÐÐÉí·ÝÑéÖ¤¡£
Ó¦ÓãºÍ³¼Æ
MongodDB
Ò»¸ö»ùÓÚ·Ö²¼Ê½Îļþ´æ´¢µÄ¿ªÔ´Êý¾Ý¿âϵͳ£¬ÎªWEBÓ¦ÓÃÌṩ¿ÉÀ©Õ¹µÄ¸ßÐÔÄÜÊý¾Ý´æ´¢½â¾ö·½°¸¡£MongoDB
½«Êý¾Ý´æ´¢ÎªÒ»¸öÎĵµ£¬Êý¾Ý½á¹¹ÓɼüÖµ(key value)¶Ô×é³É¡£
ÌØµã£º
ÃæÏò¼¯ºÏ´æ´¢£¬Ò×´æ´¢¶ÔÏóÀàÐ͵ÄÊý¾Ý£»Ä£Ê½×ÔÓÉ£»Ö§³Ö¶¯Ì¬²éѯ£»Ö§³ÖÍêÈ«Ë÷Òý£¬°üº¬ÄÚ²¿¶ÔÏó£»Ö§³Ö²éѯ£»Ö§³Ö¸´Öƺ͹ÊÕϻָ´£»Ê¹ÓøßЧµÄ¶þ½øÖÆÊý¾Ý´æ´¢£¬°üÀ¨´óÐͶÔÏó£¨ÈçÊÓÆµ£©£»×Ô¶¯´¦ÀíË鯬£¬ÒÔÖ§³ÖÔÆ¼ÆËã²ã´ÎµÄÀ©Õ¹ÐÔ£»Ö§³ÖRUBY£¬PYTHON£¬JAVA£¬C++£¬PHP£¬C#µÈ¶àÖÖÓïÑÔ£»Îļþ´æ´¢¸ñʽΪBSON£¨Ò»ÖÖJSONµÄÀ©Õ¹£©£»¿Éͨ¹ýÍøÂç·ÃÎÊ¡£
ÊÊÓó¡¾°£ºÍøÕ¾Êý¾Ý£»»º´æ£»´ó³ß´ç£¬µÍ¼ÛÖµµÄÊý¾Ý£»¸ßÉìËõÐԵij¡¾°£»ÓÃÓÚ¶ÔÏó¼°JSON Êý¾ÝµÄ´æ´¢¡£
²»ÊÊÓó¡¾°£º¸ß¶ÈÊÂÎñÐÔµÄϵͳ£»´«Í³µÄÉÌÒµÖÇÄÜÓ¦Óã»ÐèÒªSQL µÄÎÊÌâ¡£
*¾ÛºÏ¹ÜµÀ½«ÎĵµÔÚÒ»¸ö¹ÜµÀ´¦ÀíÍê±Ïºó½«½á¹û´«µÝ¸øÏÂÒ»¸ö¹ÜµÀ´¦Àí£¬¹ÜµÀ²Ù×÷ÊÇ¿ÉÒÔÖØ¸´µÄ¡£
ÒýÓÃʽÎĵµ²éѯ£ºÐèÒªÁ½´Î²éѯ
µÚÒ»´Î²éѯÓû§µØÖ·µÄ¶ÔÏóid£¨ObjectId£©£»µÚ¶þ´Îͨ¹ý²éѯµÄid»ñÈ¡Óû§µÄÏêϸµØÖ·ÐÅÏ¢¡£
¼¯ºÏÖÐË÷Òý²»Äܳ¬¹ý64¸ö£»Ë÷ÒýÃûµÄ³¤¶È²»Äܳ¬¹ý125¸ö×Ö·û£»Ò»¸ö¸´ºÏË÷Òý×î¶à¿ÉÒÔÓÐ31¸ö×ֶΡ£mongorestore
ÃüÁîÀ´»Ö¸´±¸·ÝµÄÊý¾Ý¡£
Neo4j
ÊÇÒ»¸ö¸ßÐÔÄÜµÄ NoSQL ͼÐÎÊý¾Ý¿â£¬°ÑÊý¾Ý±£´æÎªÍ¼ÖеĽڵãÒÔ¼°½ÚµãÖ®¼äµÄ¹ØÏµ¡£Neo4j ÖÐÁ½¸ö×î»ù±¾µÄ¸ÅÄîÊǽڵãºÍ±ß
½Úµã±íʾʵÌ壬±ßÔò±íʾʵÌåÖ®¼äµÄ¹ØÏµ¡£½ÚµãºÍ±ß¶¼¿ÉÒÔÓÐ×Ô¼ºµÄÊôÐÔ£¬²»Í¬ÊµÌåͨ¹ý¸÷ÖÖ²»Í¬µÄ¹ØÏµ¹ØÁªÆðÀ´£¬Ðγɸ´ÔӵĶÔÏóͼ¡£
Neo4j ÌṩÁËÔÚ¶ÔÏóͼÉϽøÐвéÕҺͱéÀúµÄ¹¦ÄÜ£ºÉî¶ÈËÑË÷¡¢¹ã¶ÈËÑË÷¡£
ÌØµã£º
ÍêÕûµÄACIDÖ§³Ö£»¸ß¿ÉÓÃÐÔ£»ÇáÒ×À©Õ¹µ½ÉÏÒÚ¼¶±ðµÄ½ÚµãºÍ¹ØÏµ£»Í¨¹ý±éÀú¹¤¾ß¸ßËÙ¼ìË÷Êý¾Ý£»ÊôÐÔÊÇÓÉKey-Value¼üÖµ¶Ô×é³É¡£
Ó¦ÓãºÉç½»ÍøÂ磬¸èÇúÐÅÏ¢£¬×´Ì¬Í¼
Êý¾Ý¿âת»¯
¹ØÏµÐÍÊý¾Ý¿â
Hbase
Redis

MongoDB
Neo4j


NewSQL
ÊǶԸ÷ÖÖеĿÉÀ©Õ¹/¸ßÐÔÄÜÊý¾Ý¿âµÄ¼ò³Æ¡£¾ßÓÐNoSQL¶Ôº£Á¿Êý¾ÝµÄ´æ´¢¹ÜÀíÄÜÁ¦£¬±£³ÖÁË´«Í³Êý¾Ý¿âÖ§³ÖACIDºÍSQLµÈÌØÐÔ¡£
NewSQL¹²Í¬Ìص㣺֧³Ö¹ØÏµÊý¾ÝÄ£ÐÍ£»Ê¹ÓÃSQL×÷ΪÆäÖ÷ÒªµÄ½Ó¿Ú¡£

|