HadoopÓÚ2006Äê1ÔÂ28ÈÕµ®Éú£¬ÖÁ½ñÒÑÓÐ10Ä꣬Ëü¸Ä±äÁËÆóÒµ¶ÔÊý¾ÝµÄ´æ´¢¡¢´¦ÀíºÍ·ÖÎöµÄ¹ý³Ì£¬¼ÓËÙÁË´óÊý¾ÝµÄ·¢Õ¹£¬ÐγÉÁË×Ô¼ºµÄ¼«Æä»ð±¬µÄ¼¼ÊõÉú̬Ȧ£¬²¢Êܵ½·Ç³£¹ã·ºµÄÓ¦Óá£ÔÚ2016ÄêHadoopÊ®ËêÉúÈÕÖ®¼Ê£¬InfoQ²ß»®ÁËÒ»¸öHadoopÈȵãϵÁÐÎÄÕ£¬Îª´ó¼ÒÊáÀíHadoopÕâÊ®ÄêµÄ±ä»¯£¬¼¼ÊõȦµÄÉú̬״¿ö£¬»Ø¹ËÒÔǰ£¬¼¤ÀøÒÔºó¡£
Òª½¨Á¢Ò»¸ö´óÊý¾Ýϵͳ£¬ÎÒÃÇÐèÒª´ÓÊý¾ÝÁ÷µÄÔ´Í·¸ú×Ùµ½×îºóÓмÛÖµµÄÊä³ö£¬²¢ÔÚÏÖÓеÄHadoopºÍ´óÊý¾ÝÉú̬ȦÄÚ¸ù¾Ýʵ¼ÊÐèÇóÌôÑ¡²¢ÕûºÏ¸÷²¿·ÖºÏÊʵÄ×é¼þÀ´¹¹½¨Ò»¸öÄܹ»Ö§³Å¶àÖÖ²éѯºÍ·ÖÎö¹¦ÄܵÄϵͳƽ̨¡£ÕâÆäÖмȰüÀ¨Á˶ÔÊý¾Ý´æ´¢µÄÑ¡Ôñ£¬Ò²º¸ÇÁËÊý¾ÝÏßÉϺÍÏßÏ´¦Àí·ÖÀëµÈ·½ÃæµÄ˼¿¼ºÍȨºâ¡£´ËÍ⣬ûÓÐÈκÎÒ»¸öÒýÈë´óÊý¾Ý½â¾ö·½°¸µÄÉÌÒµÓ¦ÓÃÔÚÉú²ú»·¾³Éϳе£µÄÆð°²È«Òþ»¼¡£Òò´Ë£¬
±¾ÎĽ«´Ó¼ÆËã¿ò¼Ü£¬NoSQLÊý¾Ý¿â£¬´óÊý¾Ýƽ̨°²È«µÈÈý¸ö·½ÃæÏêϸ²ûÊöÔÚ½«Êý¾Ýת»»³É¼ÛÖµµÄ¹ý³ÌÖпÉÄܲúÉúµÄ¼¼ÊõÑ¡ÐÍ£¬¶Ô±È·ÖÎö²»Í¬µÄÓ¦¶Ô³¡¾°ºÍδÀ´µÄ¿ò¼ÜºÍ¼¼Êõ·¢Õ¹·½Ïò¡£
¼ÆËã¿ò¼Üƪһ. ´óÊý¾ÝµÄ¼ÛÖµÖ»ÓÐÔÚÄÜÖ¸µ¼ÈËÃÇ×ö³öÓмÛÖµµÄ¾ö¶¨Ê±£¬Êý¾Ý²ÅÄÜÌåÏÖÆä×ÔÉíµÄ¼ÛÖµ¡£Òò´Ë£¬´óÊý¾Ý¼¼ÊõÒª·þÎñÓÚʵ¼ÊµÄÓÃ;£¬²ÅÊÇÓÐÒâÒåµÄ¡£Ò»°ãÀ´Ëµ£¬´óÊý¾Ý¿ÉÒÔ´ÓÒÔÏÂÈý¸ö·½ÃæÖ¸µ¼ÈËÃÇ×ö³öÓмÛÖµµÄ¾ö¶¨£º
±¨±íÉú³É£¨±ÈÈç¸ù¾ÝÓû§ÀúÊ·µã»÷ÐÐΪµÄ¸ú×ÙºÍ×ۺϷÖÎö¡¢Ó¦ÓóÌÐò»îÔ¾³Ì¶ÈºÍÓû§Õ³ÐÔ¼ÆËãµÈ£©£»
Õï¶Ï·ÖÎö£¨ÀýÈç·ÖÎöΪºÎÓû§Õ³ÐÔϽµ¡¢¸ù¾ÝÈÕÖ¾·ÖÎöϵͳΪºÎÐÔÄÜϽµ¡¢À¬»øÓʼþÒÔ¼°²¡¶¾µÄÌØÕ÷¼ì²âµÈ£©£»
¾ö²ß£¨ÀýÈç¸öÐÔ»¯ÐÂÎÅÔĶÁ»ò¸èÇúÍÆ¼ö¡¢Ô¤²âÔö¼ÓÄÄЩ¹¦ÄÜÄÜÔö¼ÓÓû§Õ³ÐÔ¡¢°ïÖú¹ã¸æÖ÷½øÐÐ¹ã¸æ¾«×¼Í¶·Å¡¢É趨À¬»øÓʼþºÍ²¡¶¾À¹½Ø²ßÂԵȣ©¡£

ͼ1: ´óÊý¾ÝµÄ¼ÛÖµ
½øÒ»²½À´¿´£¬´óÊý¾Ý¼¼Êõ´ÓÒÔÏÂÈý¸ö·½Ãæ½â¾öÁË´«Í³¼¼ÊõÄÑÒÔ´ï³ÉµÄÄ¿±ê£¨Èçͼ1£©£º
ÔÚÀúÊ·Êý¾ÝÉϵĵÍÑÓ³Ù£¨½»»¥Ê½£©²éѯ£¬Ä¿±êÊǼӿì¾ö²ß¹ý³ÌºÍʱ¼ä£¬ÀýÈç·ÖÎöÒ»¸öÕ¾µãΪºÎ±ä»ºÂý²¢³¢ÊÔÐÞ¸´Ëü£»
ÔÚʵʱÊý¾ÝÉϵĵÍÑÓ³Ù²éѯ£¬Ä¿µÄÊǰïÖúÓû§ºÍÓ¦ÓóÌÐòÔÚʵʱÊý¾ÝÉÏ×ö³ö¾ö²ß£¬
ÀýÈçʵʱ¼ì²â²¢×èÀ¹²¡¶¾È䳿£¨Ò»¸ö²¡¶¾È䳿¿ÉÒÔÔÚ1.3ÃëÄÚ¹¥»÷1°ÙÍǫ̀Ö÷»ú£©£»
¸ü¼Ó¾«Ï¸¸ß¼¶µÄÊý¾Ý´¦ÀíËã·¨£¬Õâ¿ÉÒÔ°ïÖúÓû§×ö³ö¡°¸üºÃ¡±µÄ¾ö²ß£¬ ÀýÈçͼÊý¾Ý´¦Àí¡¢Òì³£µã¼ì²â¡¢Ç÷ÊÆ·ÖÎö¼°ÆäËû»úÆ÷ѧϰËã·¨¡£
¶þ. µ°¸âģʽ

ͼ2: »ùÓÚYarnÉϵĿª·¢¶ÑÕ»
´Ó½«Êý¾Ýת»»³É¼ÛÖµµÄ½Ç¶ÈÀ´Ëµ£¬ÔÚHadoopÉú̬ȦʮÄêÅ³É³¤µÄ¹ý³ÌÖУ¬YARNºÍSparkÕâ¶þÕß¿ÉÒÔËãµÃÉÏÊÇÀï³Ì±®Ê¼þ¡£YarnµÄ³öÏÖʹµÃ¼¯Èº×ÊÔ´¹ÜÀíºÍÊý¾Ý´¦ÀíÁ÷Ë®Ïß·ÖÀ룬´ó´ó¸ïв¢Íƶ¯ÁË´óÊý¾ÝÓ¦ÓòãÃæ¸÷ÖÖ¿ò¼ÜµÄ·¢Õ¹£¨SQL
on Hadoop¿ò¼Ü, Á÷Êý¾Ý£¬Í¼Êý¾Ý£¬»úÆ÷ѧϰ£©¡£ËüʹµÃÓû§²»ÔÙÊܵ½MapReduce¿ª·¢Ä£Ê½µÄÔ¼Êø£¬¶øÊÇ¿ÉÒÔ´´½¨ÖÖÀà¸üΪ·á¸»µÄ·Ö²¼Ê½Ó¦ÓóÌÐò£¬²¢Èø÷ÀàÓ¦ÓóÌÐòÔËÐÐÔÚͳһµÄ¼Ü¹¹ÉÏ£¬Ïû³ýÁËΪÆäËû¿ò¼Üά»¤¶ÀÓÐ×ÊÔ´µÄ¿ªÏú¡£¾ÍºÃ±ÈÒ»¸ö¶à²ãµ°¸â£¬ÏÂÃæÁ½²ãÊÇHDFSºÍYarn,
¶øMapReduce¾ÍÖ»Êǵ°¸âÉϲãµÄÒ»¸ùÀ¯Öò¶øÒÑ£¬ÔÚµ°¸âÉÏ»¹Äܲå¸÷ʽ¸÷ÑùµÄÀ¯Öò¡£ÔÚÕâÒ»¼Ü¹¹ÌåϵÖУ¬×ÜÌåÊý¾Ý´¦Àí·ÖÎö×÷Òµ·ÖÈý¿é£¨Í¼2£©£¬ÔÚHBaseÉÏ×ö½»»¥Ê½²éѯ£¨Apache
Phoenix, Cloudera ImpalaµÈ£©£¬ ÔÚÀúÊ·Êý¾Ý¼¯ÉϱàдMapReduce³ÌÐòÒÖ»òÀûÓÃHiveµÈ×öÅú´¦ÀíÒµÎñ£¬
ÁíÍâ¶ÔÓÚʵʱÁ÷Êý¾Ý·ÖÎöApache StormÔò»áÊÇÒ»ÖÖ±ê׼ѡÔñ·½°¸¡£ ËäÈ»YarnµÄ³öÏÖ¼«´óµØ·á¸»ÁËHadoopÉú̬ȦµÄÓ¦Óó¡¾°£¬µ«ÈÔ´æÓÐÁ½¸öÏÔ¶øÒ×¼ûµÄÌôÕ½£ºÒ»ÊÇÔÚÒ»¸öƽ̨ÉÏÐèҪά»¤Èý¸ö¿ª·¢¶ÑÕ»£»¶þÊÇÔÚ²»Í¬¿ò¼ÜÄÚºÜÄѹ²ÏíÊý¾Ý£¬±ÈÈçºÜÄÑÔÚÒ»¸ö¿ò¼ÜÄÚ¶ÔÁ÷Êý¾Ý×ö½»»¥Ê½²éѯ¡£ÕâÒ²Òâζ×ÅÎÒÃÇÐèÒªÒ»¸ö¸üΪͳһºÍÖ§³Ö¸üºÃ³éÏóµÄ¼ÆËã¿ò¼ÜµÄ³öÏÖ¡£
Èý. һͳ½ºþ
SparkµÄ³öÏÖʹµÃÅú´¦ÀíÈÎÎñ£¬½»»¥Ê½²éѯ£¬ÊµÊ±Á÷Êý¾Ý´¦Àí±»ÕûºÏµ½Ò»¸öͳһµÄ¿ò¼ÜÄÚ£¨Í¼3£©£¬Í¬Ê±SparkºÍÏÖÓеĿªÔ´Éú̬ϵͳҲÄܹ»ºÜºÃµØ¼æÈÝ£¨Hadoop,
HDFS, Yarn, Hive, Flume£©¡£ ͨ¹ýÆôÓÃÄÚ´æ·Ö²¼Êý¾Ý¼¯£¬ÓÅ»¯µü´ú¹¤×÷¸ºÔØ£¬ Óû§Äܹ»¸ü¼òµ¥µØ²Ù×÷Êý¾Ý£¬²¢ÔÚ´Ë»ù´¡ÉÏ¿ª·¢¸üΪ¾«Ï¸µÄËã·¨£¬Èç»úÆ÷ѧϰºÍͼËã·¨µÈ¡£ÓÐÈý¸ö×îÖ÷ÒªµÄÔÒò´ÙʹSparkĿǰ³ÉΪÁËʱÏÂ×î»ðµÄ´óÊý¾Ý¿ªÔ´ÉçÇø£¨ÓµÓг¬¹ýÀ´×Ô200¶à¸ö¹«Ë¾µÄ800¶à¸öcontributors£©£º

ͼ3: SparkͳһÁË¿ª·¢¿ò¼Ü
Spark¿ÉÒÔÀ©Õ¹²¿Êðµ½³¬¹ý8000½Úµã²¢´¦ÀíPB¼¶±ðµÄÊý¾Ý£¬Í¬Ê±Ò²ÌṩÁ˺ܶ಻´íµÄ¹¤¾ß¹©Ó¦Óÿª·¢Õß½øÐйÜÀíºÍ²¿Êð£»
SparkÌṩÁËÒ»¸ö½»»¥Ê½shell¹©¿ª·¢Õß¿ÉÒÔÓÃScala»òÕßPython¼´Ê±ÐÔÊÔÑ鲻ͬµÄ¹¦ÄÜ£»
SparkÌṩÁ˺ܶàÄÚÖú¯ÊýʹµÃ¿ª·¢ÕßÄܹ»±È½ÏÈÝÒ×µØÐ´³öµÍñîºÏµÄ²¢ÇÒÄܹ»²¢·¢Ö´ÐеĴúÂ룬ÕâÑù¿ª·¢ÈËÔ±¾Í¸üÄܼ¯Öо«Á¦µØÎªÓû§Ìṩ¸ü¶àµÄÒµÎñ¹¦Äܶø²»ÊÇ»¨·Ñʱ¼äÔÚÓÅ»¯²¢Ðл¯´úÂëÖ®ÉÏ¡£
µ±È»SparkÒ²ºÍµ±ÄêµÄMapReduceÒ»Ñù²»ÊÇÍòÁéÒ©£¬±ÈÈç¶ÔʵʱÐÔÒªÇóºÜ¸ßµÄÁ÷Êý¾Ý´¦ÀíÉÏApache
Storm»¹ÊDZ»×÷ΪÖ÷Á÷Ñ¡Ôñ£¬ÒòΪSpark Streamingʵ¼ÊÉÏÊÇmicrobatch£¨½«Ò»¸öÁ÷Êý¾Ý°´Ê±¼äƬÇгÉbatch,ÿ¸öbatchÌá½»Ò»¸öjob£©¶ø²»ÊÇʼþ´¥·¢ÊµÊ±ÏµÍ³£¬ËùÒÔËäȻ֧³ÖÕßÃÇÈÏΪmicrobatchÔÚϵͳÑÓʱÐÔÉϹ±Ïײ¢²»¶à£¬µ«ÔÚÉú²ú»·¾³ÖкÍApache
StormÏà±È»¹²»ÊÇÌØ±ðÄÜÂú×ã¶ÔµÍÑÓʱҪÇóºÜ¸ßµÄÓ¦Óó¡¾°¡£±ÈÈçÔÚʵ¼ù¹ý³ÌÖУ¬Èç¹ûͳ¼ÆÃ¿ÌõÏûÏ¢µÄƽ¾ù´¦Àíʱ¼ä£¬ºÜÈÝÒ×´ïµ½ºÁÃë¼¶±ð£¬µ«Ò»µ©Í³¼ÆÀàËÆservice
assurance£¨È·±£Ä³ÌõÏûÏ¢ÔÚºÁÃë»ù±¾Äܱ»´¦ÀíÍê³É£©µÄÖ¸±ê£¬ ϵͳµÄÆ¿¾±ÓÐʱ»¹ÊDz»ÄܱÜÃâ¡£µ«Í¬Ê±ÎÒÃDz»Äܲ»×¢Òâµ½£¬ÔÚÐí¶àÓÃÀýµ±ÖУ¬ÓëÁ÷Êý¾ÝµÄ½»»¥ÒÔ¼°ºÍ¾²Ì¬Êý¾Ý¼¯µÄ½áºÏÊǺÜÓбØÒªµÄ,
ÀýÈçÎÒÃÇÐèÒªÔÚ¾²Ì¬Êý¾Ý¼¯ÉϽøÐзÖÀàÆ÷µÄÄ£ÐͼÆË㣬²¢ÔÚÒÑÓзÖÀàÆ÷Ä£Ð͵Ļù´¡ÉÏ£¬¶Ôʵʱ½øÈëϵͳµÄÁ÷Êý¾Ý½øÐн»»¥¼ÆËãÀ´Åж¨Àà±ð¡£ÓÉÓÚSparkµÄϵͳÉè¼Æ¶Ô¸÷À๤×÷£¨Åú´¦Àí¡¢Á÷´¦ÀíÒÔ¼°½»»¥Ê½¹¤×÷£©½øÐÐÁËÒ»¸ö¹²ÓгéÏ󣬲¢ÇÒÉú̬ȦÄÚÑÓÉì³öÁËÐí¶à·á¸»µÄ¿â£¨MLlib»úÆ÷ѧϰ¿â¡¢SQLÓïÑÔAPI¡¢GraphX£©,
ʹµÃÓû§¿ÉÒÔÔÚÿһÅúÁ÷Êý¾ÝÉϽøÐÐÁé»îµÄSparkÏà¹Ø²Ù×÷£¬ÔÚ¿ª·¢ÉÏÌṩÁËÐí¶à±ãÀû¡£
SparkµÄ³ÉÊìʹµÃHadoopÉú̬ȦÔڶ̶ÌÒ»ÄêÖ®¼ä·¢ÉúÁË·Ì츲µØµÄ±ä»¯£¬
ClouderaºÍHortonworks·×·×¼ÓÈëÁËSparkÕóÓª£¬¶øHadoopÏîĿȺÖгýÁËYarnÖ®ÍâÒѾûÓÐÏîÄ¿ÊDZØÐëµÄÁË£¨ËäÈ»MesosÒÑÔÚһЩ³¡ºÏÌæ´úÁËYarn£©,
ÒòΪ¾ÍÁ¬HDFS£¬Spark¶¼¿ÉÒÔ²»ÒÀÀµ¡£µ«ºÜ¶àʱºòÎÒÃÇÈÔÈ»ÐèÒªÏñImpalaÕâÑùµÄÒÀÀµ·Ö²¼Ê½ÎļþϵͳµÄMPP½â¾ö·½°¸²¢ÀûÓÃHive¹ÜÀíÎļþµ½±íµÄÓ³É䣬Òò´ËHadoop´«Í³Éú̬ȦÒÀÈ»ÓкÜÇ¿µÄÉúÃüÁ¦¡£
ÁíÍâÔÚÕâÀï¼òÒª¶Ô±ÈһϽ»»¥Ê½·ÖÎöÈÎÎñÖи÷ÀàSQL on Hadoop¿ò¼Ü£¬ÒòΪÕâÒ²ÊÇÎÒÃÇÔÚʵ¼ÊÏîĿʵʩÖо³£Óöµ½µÄÎÊÌâ¡£ÎÒÃÇÖ÷Òª½«×¢ÒâÁ¦¼¯ÖÐÔÚSpark
SQL, ImpalaºÍHive on TezÉÏ, ÆäÖÐSpark SQLÊÇÈýÕßÖ®ÖÐÀúÊ·×î¶ÌµÄ£¬ÂÛÎÄ·¢±íÔÚ15ÄêµÄSIGMOD»áÒéÉÏ£¬
ÔÎĶԱÈÁËÊý¾Ý²Ö¿âÉϲ»Í¬ÀàÐ͵IJéѯÔÚShark£¨Spark×îÔç¶ÔSQL½Ó¿ÚÌṩµÄÖ§³Ö£©¡¢Spark SQLºÍImpalaÉϵÄÐÔÄܱȽϡ£Ò²¾ÍÊÇ˵£¬
ËäÈ»Spark SQLÔÚSharkµÄ»ù´¡ÉÏÀûÓÃCatalyst optimizerÔÚ´úÂëÉú³ÉÉÏ×öÁ˺ܶàÓÅ»¯£¬µ«×ÜÌåÐÔÄÜ»¹ÊDZȲ»ÉÏImpala,
ÓÈÆäÊǵ±×öjoin²Ù×÷µÄʱºò£¬ Impala¿ÉÒÔÀûÓá°predicate pushdown¡±¸üÔç¶Ô±í½øÐÐÑ¡Ôñ²Ù×÷´Ó¶øÌá¸ßÐÔÄÜ¡£²»¹ýSpark
SQLµÄCatalyst optimizerÒ»Ö±ÔÚ³ÖÐøÓÅ»¯ÖУ¬ÏàÐÅδÀ´»áÓиü¶à¸üºÃµÄ½øÕ¹¡£ClouderaµÄBenchmarkÆÀ²âÖÐImpalaÒ»Ö±±ÈÆäËûSQL
on Hadoop¿ò¼ÜÐÔÄܸü¼ÓÓÅÔ½£¬µ«Í¬Ê±HortonworksÆÀ²âÔòÖ¸³öËäÈ»µ¥¸öÊý¾Ý²Ö¿â²éѯImpala¿ÉÒÔÔں̵ܶÄʱ¼äÄÚÍê³É£¬µ«ÊÇÒ»µ©²¢·¢¶à¸ö²éѯHive
on TezµÄÓÅÊÆ¾Íչʾ³öÀ´¡£ÁíÍâHive on TezÔÚSQL±í´ïÄÜÁ¦Ò²Òª±ÈImpala¸üÇ¿£¨Ö÷ÒªÊÇÒòΪImpalaµÄǶÌ״洢ģÐ͵¼Öµģ©£¬
Òò´Ë¸ù¾Ý²»Í¬µÄ³¡¾°Ñ¡È¡²»Í¬µÄ½â¾ö·½°¸ÊǺÜÓбØÒªµÄ¡£
ËÄ. ¸÷Áì·çɧÒÖ»ò´úÓвÅÈ˳ö£¿
½üÒ»Äê±È½ÏÎüÒýÈËÑÛÇòµÄApache Flink£¨ÓëSparkÒ»ÑùÒÑÓÐ5ÄêÀúÊ·£¬Ç°ÉíÒѾÊǰØÁÖÀí¹¤´óѧһ¸öÑо¿ÐÔÏîÄ¿£¬±»ÆäÓµõ»ÍƳçΪ¼ÌMapReduce,
Yarn£¬SparkÖ®ºóµÚËÄ´ú´óÊý¾Ý·ÖÎö´¦Àí¿ò¼Ü£©£¬ ÓëSparkÏà·´£¬FlinkÊÇÒ»¸öÕæÕýµÄʵʱÁ÷Êý¾Ý´¦Àíϵͳ£¬Ëü½«Åú´¦Àí¿´×÷ÊÇÁ÷Êý¾ÝµÄÌØÀý£¬Í¬SparkÒ»ÑùËüÒ²ÔÚ³¢ÊÔ½¨Á¢Ò»¸öͳһµÄƽ̨ÔËÐÐÅúÁ¿£¬Á÷Êý¾Ý£¬½»»¥Ê½×÷ÒµÒÔ¼°»úÆ÷ѧϰ£¬Í¼Ëã·¨µÈÓ¦Óá£FlinkÓÐһЩÉè¼ÆË¼Â·ÊÇÃ÷ÏÔÇø±ðÓÚSparkµÄ£¬Ò»¸öµäÐ͵ÄÀý×ÓÊÇÄÚ´æ¹ÜÀí£¬Flink´ÓÒ»¿ªÊ¼¾Í¼á³Ö×Ô¼º¾«È·µÄ¿ØÖÆÄÚ´æÊ¹Óò¢ÇÒÖ±½Ó²Ù×÷¶þ½øÖÆÊý¾Ý£¬¶øSparkÒ»Ö±µ½1.5°æ±¾¶¼»¹ÊÇÊÔÓÃjavaµÄÄÚ´æ¹ÜÀíÀ´×öÊý¾Ý»º´æ£¬ÕâÒ²µ¼ÖÂÁËSparkºÜÈÝÒ×ÔâÊÜOOMÒÔ¼°JVM
GC´øÀ´µÄÐÔÄÜËðʧ¡£µ«ÊÇ´ÓÁíÍâÒ»¸ö½Ç¶ÈÀ´Ëµ, SparkÖеÄRDDÔÚÔËÐÐʱ±»´æ³Éjava objectsµÄÉè¼ÆÄ£Ê½Ò²´ó´ó½µµÍÁËÓû§±à³ÌÉè¼ÆÃż÷£¬
Í¬Ê±Ëæ×ÅTungstenÏîÄ¿µÄÒýÈ룬SparkÏÖÔÚÒ²Öð½¥×ªÏò×ÔÉíµÄÄÚ´æ¹ÜÀí£¬¾ßÌå±íÏÖΪSparkÉú̬ȦÄÚ´Ó´«Í³µÄÎ§ÈÆRDD£¨·Ö²¼Ê½java¶ÔÏ󼯺ϣ©ÎªºËÐĵĿª·¢Öð½¥×ªÏòÒÔDataFrame(·Ö²¼Ê½ÐжÔÏ󼯺Ï)ΪºËÐÄ¡£×ܵÄÀ´Ëµ£¬ÕâÁ½¸öÉú̬ȦĿǰ¶¼ÔÚ»¥Ïàѧϰ£¬FlinkµÄÉè¼Æ»ùÒò¸üΪ³¬Ç°Ò»Ð©£¬µ«SparkÉçÇø»îÔ¾¶È´óºÜ¶à£¬·¢Õ¹µ½Ä¿Ç°ºÁÎÞÒÉÎÊÊǸüΪ³ÉÊìµÄÑ¡Ôñ£¬±ÈÈç¶ÔÊý¾ÝÔ´µÄÖ§³Ö£¨HBase,
Cassandra, Parquet, JSON, ORC£©¸üΪ·á¸»ÒÔ¼°¸üΪͳһ¼ò½àµÄ¼ÆËã±íʾ¡£ÁíÒ»·½Ã棬Apache
Flink×÷Ϊһ¸öÓÉÅ·ÖÞ´ó½·¢ÆðµÄÏîÄ¿£¬Ä¿Ç°ÒѾӵÓÐÀ´×Ô±±ÃÀ¡¢Å·ÖÞÒÔ¼°ÑÇÖÞµÄÐí¶à¹±Ï×Õߣ¬ÕâÊÇ·ñÄܹ»Ò»¸ÄÅ·ÖÞÔÚ¿ªÔ´ÊÀ½çÖÐÒ»¹áµÄ±»¶¯½ÇÉ«£¬ÎÒÃǽ«ÔÚδÀ´ÊÃÄ¿ÒÔ´ý¡£
NoSQLÊý¾Ý¿âƪ
NoSQLÊý¾Ý¿âÔÚÖ÷Á÷Ñ¡ÔñÉÏÒÀ¾É¼¯ÖÐÔÚMongoDB, HBaseºÍCassandraÕâÈýÕßÖ®¼ä¡£ÔÚËùÓеÄNoSQLÑ¡ÔñÖУ¬ÓÃC++±àдµÄMongoDB¼¸ºõÓ¦¸ÃÊÇ¿ª·¢Õß×î¿ìÒ²×îÒײ¿ÊðµÄÑ¡Ôñ¡£MongoDBÊÇÒ»¸öÃæÏòÎĵµµÄÊý¾Ý¿â£¬Ã¿¸öÎĵµ£¯¼Ç¼£¯Êý¾Ý£¨°üÀ¨ÅÀÈ¡µÄÍøÒ³Êý¾Ý¼°ÆäËû´óÐͶÔÏóÈçÊÓÆµµÈ£©ÊÇÒÔÒ»ÖÖBSON£¨Binary
JSON£©µÄ¶þ½øÖÆÊý¾Ý¸ñʽ´æ´¢, ÕâʹµÃMongoDB²¢²»ÐèÒªÊÂÏȶ¨ÒåÈκÎģʽ, Ò²¾ÍÊÇģʽ×ÔÓÉ£¨¿ÉÒÔ°ÑÍêÈ«²»Í¬½á¹¹µÄ¼Ç¼·ÅÔÚͬһ¸öÊý¾Ý¿âÀ¡£MongoDB¶ÔÓÚÍêÈ«Ë÷ÒýµÄÖ§³ÖÔÚÓ¦ÓÃÉÏÊǺܷ½±ãµÄ£¬Í¬Ê±Ò²¾ß±¸Ò»°ãNoSQL·Ö²¼Ê½Êý¾Ý¿âÖпÉÀ©Õ¹£¬Ö§³Ö¸´Öƺ͹ÊÕϻָ´µÈ¹¦ÄÜ¡£
MongoDBÒ»°ãÓ¦ÓÃÓڸ߶ÈÉìËõÐԵĻº´æ¼°´ó³ß´çµÄJSONÊý¾Ý´æ´¢ÒµÎñÖУ¬µ«²»ÄÜÖ´ÐС°JOIN¡±²Ù×÷£¬¶øÇÒÊý¾ÝÕ¼ÓÿռäÒ²±È½Ï´ó£¬×î±»Óû§Ú¸²¡µÄ¾ÍÊÇÓÉÓÚMongoDBÌṩµÄÊÇÊý¾Ý¿â¼¶ËøÁ£¶Èµ¼ÖÂÔÚһЩÇé¿öϽ¨Ë÷Òý²Ù×÷»áÒý·¢Õû¸öÊý¾Ý¿â×èÈû¡£Ò»°ãÀ´Ëµ£¬MongoDBÍêÈ«¿ÉÒÔÂú×ãһЩ¿ìËÙµü´úµÄÖÐСÐÍÏîÄ¿µÄÐèÇó¡£
ÏÂÃæÀ´Ö÷Ҫ̸̸CassandraºÍHBaseÖ®¼äµÄ±È½ÏÑ¡Ôñ¡£CassandraºÍHBaseÓÐ׎ØÈ»²»Í¬µÄ»ùÒòѪͳ¡£HBaseºÍÆäµ×²ãÒÀÀµµÄϵͳ¼Ü¹¹Ô´×ÔÓÚÖøÃûµÄGoogle
FileSystem£¨·¢±íÓÚ2003Ä꣩ºÍGoogle BigTableÉè¼Æ£¨·¢±íÓÚ2006Ä꣩£¬ Æä¿Ë·þÁËHDFS×¢ÖØÍÌÍÂÁ¿È´ÎþÉüI/OµÄȱµã£¬ÌṩÁËÒ»¸ö´æ´¢Öмä²ãʹµÃÓû§»òÕßÓ¦ÓóÌÐò¿ÉÒÔËæ»ú¶ÁдÊý¾Ý¡£¾ßÌåÀ´Ëµ£¬HBaseµÄ¸üкÍɾ³ý²Ù×÷ʵ¼ÊÉÏÊÇÏÈ·¢ÉúÔÚÄÚ´æMemStoreÖУ¬µ±MemStoreÂúÁËÒÔºó»áFlushµ½StoreFile,
Ö®ºóµ±StoreFileÎļþÊýÁ¿Ôö³¤µ½Ò»¶¨ãÐÖµºó»á´¥·¢CompactºÏ²¢²Ù×÷£¬Òò´ËHBaseµÄ¸üвÙ×÷ÆäʵÊDz»¶Ï×·¼ÓµÄ²Ù×÷£¬¶ø×îÖÕËùÓиüкÍɾ³ýÊý¾ÝµÄ³Ö¾Ã»¯²Ù×÷¶¼ÊÇÔÚÖ®ºóCompact¹ý³ÌÖнøÐеģ¬ÕâʹµÃÓ¦ÓóÌÐòÔÚÏòÄÚ´æMemStoreдÈëÊý¾Ýºó£¬Ëù×öµÄÐÞ¸ÄÂíÉϾÍÄܵõ½·´Ó³£¬Óû§¶Áµ½µÄÊý¾Ý¾ø²»»áÊdz¾ɵÄÊý¾Ý£¬±£Ö¤ÁËI/O¸ßÐÔÄܺÍÊý¾ÝÍêȫһÖÂÐÔ£»ÁíÒ»·½ÃæÀ´Ëµ£¬
HBase»ùÓÚHadoopÉú̬ϵͳµÄ»ùÒò¾ÍÒѾ¾ö¶¨ÁËËû×ÔÉíµÄ¸ß¶È¿ÉÀ©Õ¹ÐÔ¡¢ÈÝ´íÐÔ¡£
ÔÚÊý¾ÝÄ£ÐÍÉÏ£¬CassandraºÍHBaseÀàËÆÊµÏÖÁËÒ»¸ökey-valueÌá¹©ÃæÏòÁÐʽ´æ´¢·þÎñ£¬ÆäϵͳÉè¼Æ²Î¿¼ÁË
Amazon Dynamo (·¢±íÓÚ2007Äê) ·Ö²¼Ê½¹þÏ££¨DHT£©µÄP2P½á¹¹£¨Êµ¼ÊÉϴ󲿷ÖCassandraµÄ³õʼ¹¤×÷¶¼ÊÇÓÉÁ½Î»´ÓAmazonµÄDynamo×éÌø²Ûµ½FacebookµÄ¹¤³ÌʦÍê³É)£¬Í¬Ñù¾ßÓкܸߵĿÉÀ©Õ¹ÐÔºÍÈÝ´íÐÔµÈÌØµã¡£³ý´ËÖ®Í⣬
Ïà¶ÔHBaseµÄÖ÷´Ó½á¹¹£¬CassandraÈ¥ÖÐÐÄ»¯µÄP2P½á¹¹Äܹ»¸ü¼òµ¥µØ²¿ÊðºÍά»¤£¬±ÈÈçÔö¼Óһ̨»úÆ÷Ö»Ðè¸æÖªCassandraϵͳнڵãÔÚÄÄ£¬Ê£ÏµĽ»¸øÏµÍ³Íê³É¾ÍÐÐÁË¡£Í¬Ê±£¬Cassandra¶Ô¶àÊý¾ÝÖÐÐĵÄÖ§³ÖÒ²¸üºÃ£¬Èç¹ûÐèÒªÔÚ¶à¸öÊý¾ÝÖÐÐĽøÐÐÊý¾ÝÇ¨ÒÆCassandra»áÊÇÒ»¸ö¸üÓŵÄÑ¡Ôñ¡£Eric
Brewer½ÌÊÚÌá³öµÄ¾µäCAPÀíÂÛÈÏΪÈκλùÓÚÍøÂçµÄÊý¾Ý¹²Ïíϵͳ£¬×î¶àÖ»ÄÜÂú×ãÊý¾ÝÒ»ÖÂÐÔ¡¢¿ÉÓÃÐÔ¡¢·ÖÇøÈÝÈÌÐÔÈýÒªËØÖеÄÁ½¸öÒªËØ¡£Êµ¼Ê·Ö²¼Ê½ÏµÍ³µÄÉè¼Æ¹ý³ÌÍùÍù¶¼ÊÇÔÚÒ»ÖÂÐÔÓë¿ÉÓÃÐÔÉϽøÐÐÈ¡ÉᣬÏà±ÈÓÚHBaseÊý¾ÝÍêȫһÖÂÐÔµÄϵͳÉè¼Æ£¬CassandraÑ¡ÔñÁËÔÚÓÅÏÈ¿¼ÂÇÊý¾Ý¿ÉÓÃÐԵĻù´¡ÉÏÈÃÓû§×Ô¼º¸ù¾ÝÓ¦ÓóÌÐòÐèÇó¾ö¶¨ÏµÍ³Ò»ÖÂÐÔ¼¶±ð¡£±ÈÈ磺Óû§¿ÉÒÔÅäÖÃQUONUM²ÎÊýÀ´¾ö¶¨ÏµÍ³ÐèÒª¼¸¸ö½Úµã·µ»ØÊý¾Ý²ÅÄÜÏò¿Í»§¶Ë×ö³öÏìÓ¦£¬ONEÖ¸Ö»ÒªÓÐÒ»¸ö½Úµã·µ»ØÊý¾Ý¾Í¿ÉÒÔ¶Ô¿Í»§¶Ë×ö³öÏìÓ¦£¬ALLÖ¸µÈÓÚÊý¾Ý¸´ÖÆ·ÝÊýµÄËùÓнڵ㶼·µ»Ø½á¹û²ÅÄÜÏò¿Í»§¶Ë×ö³öÏìÓ¦£¬¶ÔÓÚÊý¾ÝÒ»ÖÂÐÔÒªÇó²»ÊÇÌØ±ð¸ßµÄ¿ÉÒÔÑ¡ÔñONE£¬ËüÊÇ×î¿ìµÄÒ»ÖÖ·½Ê½¡£
´Ó»ùÒòºÍ·¢Õ¹ÀúÊ·ÉÏÀ´Ëµ£¬HBase¸üÊʺÏÓÃ×öÊý¾Ý²Ö¿âºÍ´ó¹æÄ£Êý¾Ý´¦ÀíÓë·ÖÎö£¨±ÈÈç¶ÔÍøÒ³Êý¾Ý½¨Á¢Ë÷Òý£©£¬
¶øCassandraÔò¸üÊʺÏÓÃ×÷ʵʱÊÂÎñºÍ½»»¥Ê½²éѯ·þÎñ¡£CassandraÔÚ¹úÍâÊг¡Õ¼ÓбÈÀýºÍ·¢Õ¹ÒªÔ¶±È¹úÄÚºì»ð£¬
ÔÚ²»ÉÙȨÍþ²âÆÀÍøÕ¾ÉÏÅÅÃû¶¼ÒѾ³¬¹ýÁËHBase¡£Ä¿Ç°Apache CassandraµÄÉÌÒµ»¯°æ±¾Ö÷ÒªÓÉÈí¼þ¹«Ë¾DataStax½øÐпª·¢ºÍÏúÊÛÍÆ¹ã¡£ÁíÍ⻹ÓÐһЩNoSQL·Ö²¼Ê½Êý¾Ý¿âÈçRiak,
CouchDBÒ²¶¼ÔÚ¸÷×ÔÖ§³ÖµÄ³§ÉÌÍÆ¶¯ÏÂÈ¡µÃÁ˲»´íµÄ·¢Õ¹¡£
ËäÈ»ÎÒÃÇÒ²¿¼Âǵ½ÁËHBaseÔÚʵ¼ÊÓ¦ÓÃÖеIJ»±ãÖ®´¦±ÈÈç¶Ô¶þ¼¶Ë÷ÒýµÄÖ§³Ö³Ì¶È²»¹»£¨Ö»Ö§³Öͨ¹ýµ¥¸öÐмü·ÃÎÊ£¬Í¨¹ýÐмüµÄ·¶Î§²éѯ£¬È«±íɨÃ裩£¬²»¹ýÔÚÃ÷ÂԵĴóÊý¾Ý»ù´¡Æ½Ì¨ÉÏ£¬Ä¿Ç°ÕûºÏµÄÊÇÒÀÈ»ÊÇHBase,
ÀíÓÉÒ²ºÜ¼òµ¥£¬HBase³öÉí¾ÍÓëHadoopµÄÉú̬ϵͳ½ôÃܼ¯³É£¬ÆäÄܹ»ºÜÈÝÒ×ÓëÆäËûSQL on Hadoop¿ò¼Ü£¨Cloudera
Impala, Apache Phoenix, or Hive on Tez£©½øÐÐÕûºÏ£¬¶ø²»ÐèÒªÖØÐ²¿ÊðÒ»Ì×·Ö²¼Ê½Êý¾Ý¿âϵͳ£¬¶øÇÒ¿ÉÒԺܷ½±ãµØ½«Í¬ÑùµÄÊý¾ÝÄÚÈÝÔÚͬһ¸öÉú̬ϵͳÖиù¾Ý²»Í¬¿ò¼ÜÐèÒªÀ´±ä»»´æ´¢¸ñʽ£¨±ÈÈç´æ´¢³ÉHive±í»òÕßParquet¸ñʽ£©¡£ÎÒÃÇÔںܶàÏîÄ¿Öж¼ÓÐÐèÒªÓõ½¶àÖÖSQL
on Hadoop¿ò¼ÜÓ¦¶Ô²»Í¬Ó¦Óó¡¾°µÄÇé¿ö£¬Ò²Ìå»áµ½ÁËÔÚͬһÉú̬ϵͳϲ¿Êð¶àÖÖ¿ò¼ÜµÄ¼ò±ãÐÔ¡£ µ«Í¬Ê±ÎÒÃÇÒ²Óöµ½ÁËһЩÎÊÌ⣬
ÒòΪHBaseÏîÄ¿±¾ÉíÓëHDFSºÍZookeeperϵͳ·Ö±ðÊÇÓɲ»Í¬¿ªÔ´ÍŶӽøÐÐά»¤µÄ£¬ËùÒÔÔÚϵͳÕûºÏʱÎÒÃÇÐèÒªÏȶÔHBaseËùÒÀÀµµÄÆäËûÄ£¿é½øÐÐÉèÖÃÔÙ¶ÔHBase½øÐÐÅäÖã¬ÔÚÒ»¶¨³Ì¶ÈÉϽµµÍÁËϵͳά»¤µÄÓѺÃÐÔ¡£Ä¿Ç°ÎÒÃÇÒ²ÒѾÔÚ¿¼Âǽ«CassandraÓ¦Óõ½Ò»Ð©ÐµĿͻ§ÏîÄ¿ÖУ¬ÒòΪºÜ¶àÆóÒµ¼¶µÄÓ¦Óö¼ÐèÒª½«ÏßÉÏÏßÏÂÊý¾Ý¿â½øÐзÖÀ룬HBase¸üÊʺϴ洢ÀëÏß´¦ÀíµÄ½á¹ûºÍÊý¾Ý²Ö¿â£¬¶ø¸üÊʺÏÓÃ×÷ʵʱÊÂÎñºÍ²¢·¢½»»¥ÐÔÄܸüºÃµÄCassandra×÷ΪÏßÉÏ·þÎñÊý¾Ý¿â»áÊÇÒ»ÖֺܺõÄÑ¡Ôñ¡£
´óÊý¾Ý°²È«Æª
Ëæ×ÅÔ½À´Ô½¶à¸÷ʽ¸÷ÑùµÄÊý¾Ý±»´æ´¢ÔÚ´óÊý¾ÝϵͳÖУ¬ÈÎºÎ¶ÔÆóÒµ¼¶Êý¾ÝµÄÆÆ»µ¶¼ÊÇÔÖÄÑÐԵ쬴ÓÇÖ·¸Òþ˽µ½¼à¹ÜÎ¥¹æ£¬ÉõÖÁ»áÔì³É¹«Ë¾Æ·ÅÆµÄÆÆ»µ²¢×îÖÕÓ°Ïìµ½¹É¶«ÊÕÒæ¡£¸ø´óÊý¾ÝϵͳÌá¹©È«ÃæÇÒÓÐЧµÄ°²È«½â¾ö·½°¸µÄÐèÇóÒѾʮ·ÖÆÈÇУº
´óÊý¾Ýϵͳ´æ´¢×ÅÐí¶àÖØÒªÇÒÃô¸ÐµÄÊý¾Ý£¬ÕâЩÊý¾ÝÊÇÆóÒµ³¤¾ÃÒÔÀ´µÄ²Æ¸»
Óë´óÊý¾Ýϵͳ»¥¶¯µÄÍⲿϵͳÊǶ¯Ì¬±ä»¯µÄ£¬Õâ»á¸øÏµÍ³ÒýÈëÐµİ²È«Òþ»¼
ÔÚÒ»¸öÆóÒµµÄÄÚ²¿£¬²»Í¬Business Units»áÓò»Í¬µÄ·½Ê½Óë´óÊý¾Ýϵͳ½øÐн»»¥£¬±ÈÈçÏßÉϵÄϵͳ»áʵʱ¸ø¼¯ÈºÍÆËÍÊý¾Ý¡¢Êý¾Ý¿ÆÑ§¼ÒÍŶÓÔòÐèÒª·ÖÎö´æ´¢ÔÚÊý¾Ý²Ö¿âÄÚµÄÀúÊ·Êý¾Ý¡¢ÔËάÍŶÓÔò»áÐèÒª¶Ô´óÊý¾ÝϵͳӵÓйÜÀíȨÏÞ¡£
Òò´ËΪÁ˱£»¤¹«Ë¾ÒµÎñ¡¢¿Í»§¡¢²ÆÎñºÍÃûÓþÃâÓÚ±»ÇÖº¦£¬´óÊý¾ÝϵͳÔËάÍŶӱØÐ뽫ϵͳ°²È«¸ß¶ÈÌá¸ßµ½ºÍÆäËûÒÅÁôϵͳһÑùµÄ¼¶±ð¡£Í¬Ê±´óÊý¾Ýϵͳ²¢²»Òâζ×ÅÒýÈë´óµÄ°²È«Òþ»¼£¬Í¨¹ý¾«Ï¸ÍêÕûµÄÉè¼Æ£¬ÈÔÈ»Äܹ»°ÑһЩ´«Í³µÄϵͳ°²È«½â¾ö·½°¸¶Ô½Óµ½×îеĴóÊý¾Ý¼¯ÈºÏµÍ³ÖС£
Ò»°ãÀ´Ëµ£¬Ò»¸öÍêÕûµÄÆóÒµ¼¶°²È«¿ò¼Ü°üÀ¨Îå¸ö²¿·Ö£º
Administration: ´óÊý¾Ý¼¯ÈºÏµÍ³µÄ¼¯ÖÐʽ¹ÜÀí£¬É趨ȫ¾Öһֵݲȫ²ßÂÔ
Authentication: ¶ÔÓû§ºÍϵͳµÄÈÏÖ¤
Authorization£ºÊÚȨ¸öÈËÓû§ºÍ×é¶ÔÊý¾ÝµÄ·ÃÎÊȨÏÞ
Audit£ºÎ¬»¤Êý¾Ý·ÃÎʵÄÈÕÖ¾¼Ç¼
Data Protection£ºÊý¾ÝÍÑÃôºÍ¼ÓÃÜÒÔ´ïµ½±£»¤Êý¾ÝµÄÄ¿µÄ
ϵͳ¹ÜÀíÔ±ÒªÄܹ»Ìṩ¸²¸ÇÒÔÉÏÎå¸ö²¿·ÖµÄÆóÒµ¼¶°²È«»ù´¡ÉèÊ©£¬·ñÔòÈκÎÒ»»·µÄȱʧ¶¼¿ÉÄܸøÕû¸öϵͳÒýÈ밲ȫÐÔ·çÏÕ¡£ÔÚ´óÊý¾Ýϵͳ°²È«¼¯ÖÐʽ¹ÜÀíÆ½Ì¨Õâ¿é£¬ÓÉHortonworksÍÆ³öµÄ¿ªÔ´ÏîÄ¿Apache
Ranger¾Í¿ÉÒÔÊ®·ÖÈ«ÃæµØÎªÓû§ÌṩHadoopÉú̬ȦµÄ¼¯Öа²È«²ßÂԵĹÜÀí£¬²¢½â¾öÊÚȨ(Authorization)ºÍÉó¼Æ(Audit)¡£ÀýÈ磬ÔËά¹ÜÀíÔ±¿ÉÒÔÇáËɵØÎª¸öÈËÓû§ºÍ×é¶ÔÎļþ¡¢Êý¾ÝµÈµÄ·ÃÎʲßÂÔ£¬È»ºóÉ󼯶ÔÊý¾ÝÔ´µÄ·ÃÎÊ¡£ÓëRangerÌṩÏàËÆ¹¦ÄܵϹÓÐClouderaÍÆ³öµÄApache
SentryÏîÄ¿£¬Ïà±È½Ï¶øÑÔRangerµÄ¹¦ÄÜ»á¸üÈ«ÃæÒ»Ð©¡£¶øÔÚÈÏÖ¤£¨Authentication£©·½Ãæ,
Ò»ÖÖÆÕ±é²ÉÓõĽâ¾ö·½°¸Êǽ«»ùÓÚKerberosµÄÈÏÖ¤·½°¸¶Ô½Óµ½ÆóÒµÄÚ²¿µÄLDAP»·¾³ÖУ¬ KerberosÒ²ÊÇΨһΪHadoopÈ«ÃæÊµÊ©µÄÑéÖ¤¼¼Êõ¡£ÁíÍâÖµµÃÒ»ÌáµÄÊÇApache
Knox GatewayÏîÄ¿£¬ÓëRangerÌá¸ß¼¯ÈºÄÚ²¿×é¼þÒÔ¼°Óû§»¥Ïà·ÃÎʵݲȫ²»Í¬£¬KnoxÌṩµÄÊÇHadoop¼¯ÈºÓëÍâ½çµÄΨһ½»»¥½Ó¿Ú£¬Ò²¾ÍÊÇ˵ËùÓÐÓ뼯Ⱥ½»»¥µÄREST
API¶¼Í¨¹ýKnox´¦Àí¡£ÕâÑù£¬Knox¾Í¸ø´óÊý¾ÝϵͳÌṩÁËÒ»¸öºÜºÃµÄ»ùÓÚ±ßÔµµÄ°²È«£¨perimeter-based
security£©¡£
»ùÓÚÒÔÉÏÌáµ½µÄÎå¸ö°²È«Ö¸±êºÍHadoopÉú̬Ȧ°²È«Ïà¹ØµÄ¿ªÔ´ÏîÄ¿£¬ ÒѾ×ãÒÑÖ¤Ã÷»ùÓÚHadoopµÄ´óÊý¾Ýƽ̨ÎÒÃÇÊÇÄܹ»¹¹½¨Ò»¸ö¼¯ÖС¢Ò»Ö¡¢È«ÃæÇÒÓÐЧµÄ°²È«½â¾ö·½°¸¡£ÎÒÃÇÃ÷ÂÔµÄMDP´óÊý¾Ýƽ̨¾ÍÊÇÕâÑùÒ»¿î¼æ¹ËÊý¾Ý°²È«ÓëÔËά°²È«µÄ²úÆ·¡£
½áÓï
±¾ÎÄÖ÷Òª½éÉÜÁËÈçºÎ½«HadoopºÍ´óÊý¾ÝÉú̬ȦµÄ¸÷²¿·ÖÖØÒª×é¼þÓлúµØÁªÏµÔÚÒ»ÆðÈ¥´´½¨Ò»¸öÄܹ»Ö§³ÅÅú´¦Àí¡¢½»»¥Ê½ºÍʵʱ·ÖÎö¹¤×÷µÄ´óÊý¾Ýƽ̨ϵͳ¡£ÆäÖУ¬ÎÒÃÇÖØµã³¢ÊÔ´Ó¼ÆËã¿ò¼Ü¡¢
NoSQL Êý¾Ý¿âÒÔ¼°´óÊý¾Ýƽ̨°²È«ÕâÈý·½Ãæ·ÖÎöÁËÔÚ²»Í¬µÄÓ¦Óó¡¾°ÖÐÏàÓ¦µÄ¼¼ÊõÑ¡ÐÍÒÔ¼°ÐèÒª¿¼Âǵ½µÄȨºâµã£¬Ï£ÍûÈôó¼Ò¶ÔÈçºÎ½¨Á¢Ò»¸öÍêÕû¿ÉÓõݲȫ´óÊý¾Ýƽ̨ÄÜÓÐÒ»¸öÖ±¹ÛµÄÈÏʶ¡£
|