±à¼ÍƼö: |
¹ýÈ¥¼¸Ä꣬Êý¾Ý²Ö¿âºÍÊý¾Ýºþ·½°¸ÔÚ¿ìËÙÑݽøºÍÃÖ²¹×ÔÉíȱÏݵÄͬʱ£¬¶þÕßÖ®¼äµÄ±ß½çÒ²Öð½¥µ»¯¡£ÔÆÔÉúµÄÐÂÒ»´úÊý¾Ý¼Ü¹¹²»ÔÙ×ñÑÊý¾Ýºþ»òÊý¾Ý²Ö¿âµÄµ¥Ò»¾µä¼Ü¹¹£¬¶øÊÇÔÚÒ»¶¨³Ì¶ÈÉϽáºÏ¶þÕßµÄÓÅÊÆÖØÐ¹¹½¨¡£
±¾ÎÄÀ´×Ô InfoQ£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£ |
|
ÒµÎñ±³¾°
ÍøÒ×ÑÏÑ¡ÔÚ 2017 ÄêÖпªÊ¼´î½¨×Ô¼ºµÄ´óÊý¾ÝÌåϵ£¬Èç½ñ¸ÃÌåϵÒѾ֧³ÅÁËÑÏÑ¡µÄÉÌÒµ·ÖÎö¡¢ËÑË÷¡¢ÍƼö¡¢¹ã¸æ¡¢¹©Ó¦Á´¡¢·ç¿Ø¡¢ÉÌÆ·¿ª·¢¡¢Æ·¿ØµÈ¼¸ºõËùÓеÄÒµÎñ³¡¾°¡£Êý¾ÝÊǵçÉÌÔËתµÄÉúÃüÏߣ¬Ëæ×ÅÒµÎñ·¢Õ¹¶ÔÊý¾ÝµÄÒÀÀµ³Ì¶ÈÔ½À´Ô½¸ß£¬ÎÒÃÇ·¢ÏÖÔÀ´µÄÊý²Ö½¨Éè·½·¨ÂÛ¼°Ïà¹Ø¼¼Êõ´æÔÚ×ÅһЩ±È½ÏÃ÷ÏÔµÄÎÊÌ⣺
Êý¾ÝµÄÔËתЧÂʱȽϵ͡£¼¸ºõËùÓеÄÊý¾ÝÓ¦Óö¼ÖضÈÒÀÀµÊý²ÖÄ£ÐÍ£¬Êý²ÖÄ£Ðͱ¾ÉíµÄÑз¢Óëµü´ú³É±¾±È½Ï¸ß£¬Éú²úËٶȸϲ»ÉÏÐèÇóËÙ¶È£¬Õâ¾Íµ¼ÖÂÎÒÃǵĴ´ÐÂÏë·¨Â䵨¡¢ÒµÎñ²ßÂÔµü´úµÈ¶¼»á±»°´ÏÂÔÝÍ£¼ü¡£
Êý¾ÝµÄÔËתЧÂÊÍÏÂýÁËÒµÎñµÄµü´úЧÂÊ¡£ËùÒÔÌáÉýÊý¾ÝÔËתЧÂÊÊÇÎÒÃÇÊý¾ÝÌåϵÑݽøµÄÖØÒªÃüÌâ¡£ÒµÎñµÄ¿ìËÙµü´úµ¼ÖÂÁËÎÒÃÇ»ù´¡Êý¾Ý
schema µÄƵ·±±ä¸ü£¬¶øÃ¿´ÎÊý¾Ý schema ±ä¸ü£¬¶¼ÊÇÒ»´ÎÉ˽¹Ç¡£ÎÒÃǵÄÊý¾Ýƽ̨ÐèÒªÌṩ¸ü¼ÓÁé»îµÄÄÜÁ¦À´µÍ³É±¾Ö§³ÅÊý¾Ý
schema µÄ±ä»¯¡£
ÐèÒª¸ü¿É¿¿µÄ׼ʵʱ¾µÏñ±í¡£
Òª½â¾öÕâЩÎÊÌ⣬¶¼ÐèÒª¶ÔÎÒÃǵÄÊý¾Ý¼Ü¹¹½øÐгÖÐøµÄµü´ú¡£ÏÈÀ´¿´¿´ÎÒÃǵü´úǰµÄÊý¾Ý¼Ü¹¹¡£
Êý¾Ý¼Ü¹¹

ͼ 1 Êý¾ÝÌåϵ¼Ü¹¹Í¼
ͼ 1 ÊÇÍøÒ×ÑÏÑ¡µÄÊý¾Ý¼¼ÊõÌåϵ£¬¸ú´ó¶àÊý¹«Ë¾µÄ´óÊý¾Ý¼Ü¹¹ºÍÓ¦Óó¡¾°Ò»Ö¡£Êý¾Ý´ÓÒµÎñϵͳ²úÉú£¬¾¹ýÊý¾ÝµÄ´«Êä¼°¼¯³É£¬ÔÙµ½Êý¾ÝºÍËã·¨¼Ó¹¤£¬×îºóΪÊý¾Ý²úÆ·
/BI ·ÖÎö / Ëã·¨ÒµÎñ£¨ÍƼö / ËÑË÷ / ¹ã¸æ / ·ç¿Ø£©µÈʹÓ㬶ÔÒµÎñÌṩÊý¾Ý¸¨Öú¾ö²ß»ò×Ô¶¯»¯¾ö²ßµÄÄÜÁ¦¡£
ͼÖÐÓÐÁ½ÌõÖØÒªµÄ´óÊý¾Ý Pipeline£¬Ò»¸öÊÇÊý¾Ý²Ö¿âÁ÷³Ì£¬ÁíÍâÒ»¸öÊÇ»úÆ÷ѧϰÁ÷³Ì£º
Êý¾Ý²Ö¿â¿ª·¢£¬ÊÂÏȶ¨ÒåÊý¾Ý½á¹¹£¬ÒµÎñÊý¾Ý¾¹ýÁËÇåÀí¡¢·á¸»ºÍת»»£¬½á¹ûͨ³£ÓÃÓÚ±¨¸æºÍ·ÖÎö¡£
»úÆ÷ѧϰÁ÷³Ì£¬ÇãÏòÓÚʹÓÃδ¼Ó¹¤µÄÔʼÊý¾Ý£¬Í¨¹ýÌØÕ÷ÌáÈ¡ºÍÄ£ÐÍ¿ª·¢£¬ÓÃÓÚÄ£ÐÍÔÚÏßÍÆÀí¡£
Á½ÕßÔÚÊý¾ÝµÄÐèÇóºÍ´¦ÀíÉÏÓкܶàµÄ²»Í¬£¬µ«Ëæ×ÅÒµÎñ³¡¾°ºÍ¼¼Êõ·¢Õ¹£¬ÕâÁ½ÕßÓÐͬÑùµÄÐèÇó£º
Êý¾ÝºÍÄ£ÐÍ¿ª·¢¹ý³ÌÖУ¬ÅúÁ÷¼ÆËãºÍ´æ´¢µÄÈںϣ¬ÌáÉý¿ª·¢Ð§ÂÊ£»
¸üʵʱµÄÊý¾ÝºÍÄ£ÐÍ£¬¸øÒµÎñÌṩ¸ü¼°Ê±µÄÊý¾Ý¾ö²ßÄÜÁ¦£»
¸ü¼ÓÁé»îµÄÊý¾Ý schema£¬ÒÔÓ¦¶ÔÒµÎñºÍÄ£Ð͵ĿìËÙµü´ú£»
Ö±½Ó·ÖÎöÓë´¦ÀíÔʼÊý¾ÝµÄÄÜÁ¦¡£
ÏÖ×´ & Ä¿±ê
ͼ 3 ÊÇÑÏÑ¡Êý¾Ý¼¯³ÉºÍÈë²ÖÁ÷³Ìͼ£¬ºÍ¾ø´ó²¿·Ö¹«Ë¾Ò»Ñù¡£¶ÔÓÚ Binlog Êý¾Ý£¬Í¨¹ý²É¼¯×é¼þ£¨Canal£©°ÑÏàÓ¦µÄ
Binlog ͬ²½µ½ Kafka£¬¶ÔÓÚÈÕÖ¾Êý¾Ý£¬Í¨¹ý Flume ²É¼¯Í¬²½µ½ Kafka£¬Í¬Ê±»á¾¹ýÒ»¸ö
DataHub-Hound ×é¼þ£¬Ò²¾ÍÊÇÒ»¸ö Kafka2Hive µÄÈÎÎñ³ÌÐò°ÑËüµ¼Èëµ½ÔʼÊý¾Ý£¬ÔÙ¾¹ý
Merge ÈÎÎñ£¬²ú³öÊý²Öµ×²ã ODS Êý¾Ý¡£

ͼ 2 Êý¾ÝÁ÷³Ìͼ
ͼÖÐµÄ raw data ÆäʵËãÒ»¸öÏÁÒåµÄÊý¾Ýºþ£¬Ö»ÊÇÊÜÏÞÓÚ HDFS µÄ´æ´¢Ìص㣬ÎÞ·¨Ö§³Ö update
²Ù×÷£¬ÎÞ·¨Ö§³ÖÁé»îµÄ shema ÓïÒåÒÔ¼° ACID µÄ±£Ö¤¡£
ËùÒÔ´æÔÚ merge ÈÎÎñ£¬Ö÷Òª»ùÓÚÀúÊ·Êý¾Ý£¬ºÍÁ÷ʽͬ²½µÄÔöÁ¿Êý¾Ý½øÐкϲ¢£¬Éú²ú ODS ²ãµÄÖÜÆÚ¿ìÕÕÊý¾Ý¡£ÕâÑùµÄʵÏÖ£¬¶ÔÓÚ
T+1 ÀëÏßÊý²ÖÊý¾ÝÀ´ËµÊÇ¿ÉÒÔÂú×ãµÄÐèÇóµÄ£¬µ«¶ÔÓÚ½üʵʱµÄÊý¾Ý·ÖÎöÐèÇó£¬ÓÈÆäÊÇÊý¾ÝÁ¿´óµÄ±í£¬ÎÞ·¨ÔÚ·ÖÖÓ¼¶±ðÍê³ÉºÏ²¢¡£
ÔÚÒýÈëеļ¼ÊõºÍ½â¾ö·½°¸Ê±£¬ÎÒÃÇ»á´ÓÒÔϼ¸¸öÄ¿±êÈ¥ÆÀ¹ÀºÍʵʩÂ䵨£º
½â¾öÎÊÌ⣬еļ¼ÊõºÍ½â¾ö·½°¸¶ÔÎÒÃÇÕû¸öÊý¾Ý / Ëã·¨ÌåϵÓÐûÓÐеÄÄÜÁ¦Í»ÆÆ£¬·½·¨ÌåϵÓÐûÓиïУ¿
ÒýÈëÒ»¸öеļ¼ÊõÊÇÐèÒª½â¾öϵͳͨÓõij¡¾°ÎÊÌ⣬¶ø²»ÊDz¿·Ö³¡¾°µÄÓ¦Óá£ÌáÉýЧÂÊ£¬Ðµļ¼ÊõºÍ½â¾ö·½°¸¶ÔÎÒÃÇÌåϵµÄÔËתЧÂÊÓжàÉÙÌáÉý£¿
½µµÍ³É±¾£¬ÊÇ·ñÄܹ»½µµÍ´æ´¢ / ¼ÆËã / ʹÓóɱ¾£¿
Îȶ¨Â䵨£¬ÈçºÎ±£ÕÏÔÚ²»Ó°ÏìÏÖÓÐÒµÎñµÄÇé¿öÏ£¬´ó¹æÄ£Â䵨еļ¼ÊõºÍ½â¾ö·½°¸£¿
ËùÒÔÎÒÃÇÏëҪͨ¹ýÊý¾Ýºþ£¬²¢ÇÒÔÚ²»ÒýÈë¶îÍâµÄ´æ´¢³É±¾µÄÇé¿öÏ£¬Ìṩ¸ü¼ÓʵʱµÄÊý¾ÝÄÜÁ¦¡£Ò»¸öÊý¾ÝÈë²Ö¸üʵʱ£¬ÕâÑùÒ»·½Ãæ¿ÉÒÔ¼õÇá
T+1 Êý¾Ý¼ÆËãµÄѹÁ¦£¬ÁíÍâÒ»·½Ãæ¿ÉÒÔÌṩ¸ü¼ÓʵʱµÄÊý¾Ý·ÃÎÊ£¬¶ÔÓÚËã·¨¹¤³ÌµÄ³¡¾°À´Ëµ£¬ÎªÊµÊ±Ä£ÐÍѵÁ·Ìṩ¸ü¼ÓʵʱµÄÌØÕ÷Êý¾Ý¡£

ͼ 3 Êý¾Ýºþ¼Ü¹¹
Êý¾ÝºþÊǽⷨ£¿
×î½ü¼¸Ä꣬Êý¾Ýºþ¸ÅÄî¼°Ïà¹Ø¼¼Êõ·¢Õ¹µÄºÜѸËÙ¡£¾ÍÏñÿһ¸öʱ÷ֵļ¼ÊõÃû´Ê£¬Êý¾ÝºþµÄ¸ÅÄîÒ²·Ç³£µÄ»ìÂÒ£¬ºÜ¶à»ù´¡ÉèÊ©¶¼×Ô³Æ×Ô¼ºÊÇÊý¾Ýºþ½â¾ö·½°¸¡£Êý¾Ýºþµ½µ×ÊÇʲô£¬Ïà¹ØµÄ¼¼Êõ°üÀ¨ÄÄЩ£¿ÕâÆäʵȡ¾öÓÚÎÒÃÇÒªÓÃËüÀ´½â¾öʲô¾ßÌåµÄÎÊÌâ¡£´Ó×Ô¼ºµÄÐèÇó³ö·¢£¬È¥Ñ°Çó½â¾ö·½°¸Â䵨£¬ÕâÑù²Å²»ÈÝÒ×ÔÚ¸÷ÀàÓªÏú¸ÅÄîÖÐÃÔʧ¡£
Êý¾Ýºþ vs Êý¾Ý²Ö¿â
Êý¾ÝºþÓÅÏȵÄÉè¼Æ£¬Äܹ»Óиü¸ßµÄÁé»îÐÔ¡£Êý¾ÝºþµÄÊý¾Ý´æ´¢ÐÎʽºÍ½á¹¹¿ÉÒÔ²»Ô¤Ïȶ¨Ò壬¿ÉÒÔÊǽṹ»¯µÄ£¬Ò²¿ÉÒÔÊǰë½á¹¹»¯µÄ¡£¼ÆËãÒýÇæ¿ÉÒÔ¸ù¾Ý²»Í¬µÄ³¡¾°¶ÁдÊý¾ÝºþÖд洢µÄÊý¾Ý£¬ÕâÒâζ×ÅÎÒÃÇÔÚ¶ÔÊý¾Ý½øÐзÖÎöºÍ´¦ÀíʱÄÜ»ñÈ¡µ½Êý¾ÝÈ«²¿µÄ³õʼÐÅÏ¢£¬Ê¹ÓÃÒ²¸üÁé»î£¬¸ßЧ¡£
¶øÊý¾Ý²Ö¿âÓÅÏȵÄÉè¼Æ£¬Äܹ»×öµ½¸ü¼Ó¹æ·¶»¯µÄÊý¾Ý¹ÜÀí¡£Êý¾Ý½øÈëÊý¾Ý²Ö¿âǰ£¬Í¨³£Ô¤Ïȶ¨Òå schema£¬Êý¾Ý¿ª·¢ÐèÒªÔ¤Ïȸù¾ÝÒµÎñ½øÐн¨Ä££¬¹¹½¨Êý¾ÝÄ£ÐÍ£¬Óû§Í¨¹ýÊý¾Ý·þÎñ½Ó¿Ú»òÕß¼ÆËãÒýÇæ·ÃÎÊÊý¾ÝÄ£ÐÍÀ´»ñÈ¡¸É¾»ºÍ¹æ·¶µÄÊý¾Ý¡£

ͼ 4 Êý¾Ý²Ö¿â vs Êý¾Ýºþ
¶ÔÊý¾ÝºþºÍÊý¾Ý²Ö¿âµÄÇø±ðºÜ¶àÎÄÕ¶¼ÓÐÃèÊö£¬¶þÕßÓи÷×ÔµÄÓÅÊÆºÍ¾ÖÏÞÐÔ£¬µ«²¢²»ÊDZØÐëÒª¶þѡһ¡£
Êý¾ÝºþµÄÓÅÊÆ
ÎÒÃǶÔÊý¾ÝºþµÄÌØÐÔºÍÑÏѡҵÎñʵ¼ÊµÄ³¡¾°£¬×öÁËһЩ̽ÌֺͷÖÎö£¬ÐγÉÁËÎÒÃÇ×Ô¼ºµÄÀí½â¡£
×î³õ½Ó´¥Êý¾Ýºþ¸ÅÄîʱ£¬ÏàÐŹúÄÚµÄÐí¶àͬÐлá¸úÎÒÓÐÀàËÆµÄÒÉ»ó£ºHadoop ´æ´¢ºÍ¼ÆËã·Ç½á¹¹»¯Êý¾ÝµÄÄÜÁ¦Ò»Ö±¶¼Ã»ÓÐÎÊÌ⣬ΪʲôÐèÒªÖ£ÖØÆäʵØÌá³öÕâÑùµÄÀíÄ
Õâ¿ÉÄÜÒª´ÓÊý²ÖµÄ·¢Õ¹ÀúÊ·¿´Æð£¬´óÁ¿µÄÊý¾Ý²Ö¿âʵ¼ùÆäʵÊÇ´Ó¹ØÏµÐÍÊý¾Ý¿â¿ªÊ¼µÄ£¬´ÓÊý¾Ý²Ö¿âµÄ¸ÅÄʼ£¬¾ÍûÓаѷǽṹ»¯Êý¾Ý£¨±ÈÈçͼÏñ£©¿¼ÂÇÔÚÄÚ¡£Òò´Ë£¬Êý¾ÝºþÀíÄîÊǶÔÊý²ÖµÄÒ»¸ö±ä¸ï£¬¶ø¶Ô¹úÄÚÐí¶à´Ó
Hadoop ¼¼ÊõÕ»³É³¤ÆðÀ´µÄͬѧ¶øÑÔ£¬Êý¾ÝºþÆäʵÊÇÌìÈ»µÄÊÂÇé¡£
µ«ÊÇ£¬Êý¾ÝºþµÄÏà¹ØÀíÄîºÍ¼¼ÊõÒÀÈ»¶ÔÓÚ Hadoop Éú̬µÄÊý²ÖÀíÄîºÍ·½·¨ÓбȽϴóµÄ±ä¸ï£º
1.´ÓÌØÐԽǶÈÀ´¿´£º½á¹¹»¯ / ·Ç½á¹¹»¯Êý¾ÝÍùÍùÊÇÇø·ÖÊý¾Ý²Ö¿âºÍÊý¾ÝºþµÄÖØÒªÌØÕ÷£¬µ«ÊÇÔÚÍøÒ×ÑÏÑ¡£¬ÎÒÃǶԷǽṹ»¯Êý¾ÝµÄ·ÖÎöÐèÇó²¢²»Ç¿ÁÒ¡£¶ÔÓÚÈÕÖ¾ÀàÊý¾Ý£¬ÎÒÃÇ»¹ÊÇ»á×öһЩÇåÏ´²¢½«Æä½á¹¹»¯ºó´æÈëÊý¾Ýºþ¡£ÎÒÃDz»Ó¦¸Ã½ÌÌõµÄÀí½âÊý¾Ýºþ
RAW Data µÄ¶¨Òå¡£ÔʼÈÕÖ¾¾¹ýÇåÏ´ / ½á¹¹»¯ºó£¬Ö»ÒªÆä°üÀ¨µÄÐÅϢûÓб仯£¬ËüÒÀÈ»ÊÇ RAW
Data¡£
2.´ÓʹÓýǶÈÀ´¿´£ºÊý¾ÝºþÇ¿µ÷¶ÔÔʼÊý¾ÝµÄʹÓá£Áé»îµÄʹÓÃÊý¾ÝºþÊý¾Ý£¬¶ÔÑÏÑ¡µÄÊý¾ÝÌåϵÓÐÁ½·½ÃæµÄ¼ÛÖµ£º
ÌáÉýÊý¾Ý¿ª·¢Ð§ÂÊ¡£µ±ÎÒÃÇÐèҪ̽Ë÷Êý¾Ý¶´²ìÒµÎñ»ú»áµÄʱºò£¬ÍùÍùÐèÒª¸øÊý¾Ý¿ª·¢ÌáÊý¾ÝÄ£Ðͽ¨ÉèÐèÇó¡£ÓÉÓÚÊý¾Ý̽Ë÷µÄ²»È·¶¨ÐÔºÍÁÙʱÐÔ£¬¼¸ºõ²»¿ÉÄÜΪÁËÁÙʱµÄƵ·±µÄÊý¾Ý̽Ë÷È¥ÅÅÆÚ½¨ÉèÊý²ÖÄ£ÐÍ¡£Í¬Ê±Êý¾ÝÄ£Ðͽ¨ÉèÍê±Ïºó£¬Ä£Ðͱ¾ÉíµÄÄÜÁ¦¾Í¾ö¶¨ÁËÎÒÃÇ̽Ë÷Êý¾Ý¼ÛÖµµÄÉÏÏÞ¡£
±ÜÃâÐÅÏ¢µÄ¶ªÊ§¡£Êý²ÖÄ£Ð͵Ľ¨ÉèÍùÍùÊÇΪÁËÂú×ã¹ýÈ¥»òÕßµ±Ç°µÄÒµÎñÐèÇó£¬ÔÚÄ£Ð͵Ŀª·¢¹ý³ÌÖУ¬²»¿É±ÜÃâµÄ¶ªÊ§µô¶Ôµ±Ê±ÈÏΪ¼ÛÖµ²»´óµÄÊý¾ÝÐÅÏ¢¡£µ«ÊÇ£¬ÎÒÃÇÔÚ¹¹½¨»úÆ÷ѧϰģÐÍ»òÕß̽Ë÷Êý¾ÝµÄʱºò£¬ÍùÍùÐèÒª¸ü¼Ó³ä·ÖµÄÐÅÏ¢£¬¶ø´«Í³µÄÊý²Ö´Ó¸ù±¾ÉÏÎÞ·¨±ÜÃâÕâ¸öÎÊÌâ¡£
Êý¾Ýºþ·½°¸Äܹ»ºÜºÃµØ½â¾öÒÔÉÏÁ½¸öÎÊÌâ¡£
3.´ÓʵʱÐԽǶÈÀ´¿´£ºDelta/Iceberg/Huid ¾³£±»Ðû´«ÎªÊý¾Ýºþ½â¾ö·½°¸¡£´ÓÎÒÃǵĽǶÈÀ´¿´£¬ÕâЩ¼¼ÊõºÜºÃµÄ½â¾öÁËÊý¾Ýºþ
ACID µÄÎÊÌ⣬²¢ÇÒÌṩÁ˽ϺõÄʵʱÐÔ¡£Òâζ×ÅÎÒÃÇ¿ÉÒÔͨ¹ýÕâЩ¼¼ÊõÒԱȽÏʵʱµÄ·½Ê½Ìṩ¿É¿¿µÄÔʼÊý¾Ý·ÃÎÊÄÜÁ¦¸øÓ¦Óá£ÔÚ
Delta Lake ÕâÀà´æ´¢¸ñʽ³öÏÖ֮ǰ£¬ÑÏѡҲ×Ô¼º¹¹½¨ÁËÀàËÆµÄ±È½Ï¸ßʵʱÐÔµÄÔʼÊý¾Ý·ÃÎÊ·½°¸£¬µ«ÓÉÓÚȱ·¦
ACID ÄÜÁ¦µÄÖ§³Ö£¬Ê¹µÃʵ¼ÊÂ䵨µÄʱºòÍùÍù¿É¿¿ÐÔ²»×ã¡£
Delta/Iceberg/Hudi Ò²ÍùÍù±»ÈÏΪÊÇÅúÁ¿Ò»ÌåµÄ´æ´¢½â¾ö·½°¸¡£ÅúÁ÷Ò»Ìå¸úÊý¾ÝºþµÄ¸ÅÄîôÛºÏÔÚÒ»Æð£¬¸øºÜ¶à´óÊý¾ÝÐÐÒµµÄͬѧ´øÀ´ÁËÀ§ÈÅ¡£ÎÒÃÇÓÃ
Delta ¼¼ÊõÀ´¹¹½¨ÔʼÊý¾Ý²ã£¬ÄÇôÈç¹ûÓà Delta ¹¹½¨½üʵʱµÄ DWD ²ã£¬ÊDz»ÊÇÒ²ÊÇÊý¾Ýºþ£¿ÔÚÕâÀïÐèÒª×öÒ»¸ö¸ÅÄîÉϵijÎÇ壺Êý¾Ýºþ¹Ø×¢µÄÊǶÔÔʼÊý¾Ý¸ßЧ¡¢Áé»îµÄ´¦Àí£¬DWD
¼°ÆäËûÊý²Ö·Ö²ãÊdzä·ÖÉè¼ÆµÄÊý¾ÝÄ£ÐÍ£¬Ëü²¢²»·ûºÏÎÒÃǶÔÊý¾ÝºþµÄ¶¨ÒåºÍÐèÇó¡£
ÂäµØÊµ¼ù
Êý¾ÝºþµÄ½¨É裬´Ó¼¼Êõ²ãÃæÐèÒª½â¾öµÄÊÇÊý¾ÝдÈëºÍ¶ÁÈ¡£¬ÒÔ¼°ÈçºÎ¸úÏÖÓеĴóÊý¾Ýƽ̨¼°ÖÐ̨¼¼Êõ¼¯³ÉÔÚÒ»Æð¡£×ܽáÏÂÀ´Ö÷ÒªÓÐÒÔϼ¸µãÄÚÈÝ£º
Êý¾ÝµÄ´æ´¢£¬Ñ¡ÔñʲôÑùµÄ´æ´¢¸ñʽ×÷ΪÊý¾ÝºþµÄ´æ´¢ÒýÇæ£»
Êý¾ÝµÄдÈ룬Ҳ¾ÍÊÇÒµÎñÊý¾ÝÈçºÎÁ÷Ïòµ½Êý¾Ýºþ´æ´¢£»
ÔªÊý¾Ý¹ÜÀí£¬Êý¾ÝºþÀïµÄÊý¾ÝÈçºÎ½øÐÐÔªÊý¾ÝµÄ´æ´¢ / ¹ÜÀí / ²éѯ£»
Êý¾ÝµÄ·ÃÎÊ£¬Ò²¾ÍÊǸúÎÒÃÇÏÖÓеļÆËãÒýÇæ /OLAP ÒýÇæµÄ¼¯³É¡£
Ê×ÏÈ£¬¶ÔÓÚÊý¾ÝµÄ´æ´¢£¬ÎÒÃǵÄÊý¾ÝÖ÷ÒªÒԽṹ»¯µÄÊý¾ÝΪÖ÷£¬Í¬Ê±Îļþ´æ´¢ÏµÍ³Ò²Êǵ¥Ò»µÄ HDFS¡£ÎÒÃÇ´Ó
2019 Ä꿪ʼ£¬×îÔç¹Ø×¢µÄÊÇ Delta£¬ËùÒÔÑ¡ÔñËü×÷ΪÁËÎÒÃǵĴ洢¸ñʽ¡£Ëæ×Å¿ªÔ´ÏîÄ¿ Hudi
ºÍ Iceberg µÄ·¢Õ¹£¬ÎÒÃÇÓµÓÐÁ˸ü¶à¸üÁé»îµÄÑ¡Ôñ¡£Èý¸öÏîÄ¿ÔÚ ACID/ ʱ¼äÂÃÐÐ / ×Ô¶¯ºÏ²¢µÈ¹¦ÄܵÄÖ§³ÖÏÖ×´ºÍ¹æ»®¶¼´óͬСÒ죬ÓкܶàÎÄÕÂ¶ÔÆäÓÐÏêϸµÄ¶Ô±È£¬ÕâÀï¾Í²»Õ¹¿ª×¸ËßÁË¡£±È½Ï´óµÄÇø±ðÊÇ
Iceberg ¸ú¼ÆËãÒýÇæ½â°ó£¬Ä¿Ç° Hudi Ò²ÔÚÔö¼Ó´ËÌØÐÔ¡£
ÓÉÓÚ Iceberg ÔÚÔçÆÚûÓÐÖ§³Ö Row-level µÄ delete ¹¦ÄÜ£¬Õâ¸ö¶ÔÓÚÎÒÃÇÊý¾Ý¼¯³ÉµÄ³¡¾°ÊDZØÐëµÄ£¬ËùÒÔÎÒÃÇÑ¡ÔñµÄÊÇ
Delta ×÷ΪÎÒÃǵĽâ¾ö·½°¸²¢ÇÒÂ䵨¡£ÓÉÓÚÔçÆÚ¿¼Âǵ½Á˶àÖÖ´æ´¢¸ñʽµÄÖ§³Ö£¬ËùÒÔ×öÁËÂß¼·â×°ºÍ³éÏó£¬ÔÚ
Iceberg Ö§³Ö row-level µÄ delete Ö®ºóÎÒÃÇÒ²Íê³ÉÁË¿ìËÙÖ§³ÖºÍ¼¯³É¡£Iceberg
¶Ô Flink µÄÖ§³Ö£¬¿ÉÒÔ½â¾öÁ÷¼ÆËãÒýÇæÍ³Ò»ºÍÓ¦Óó¡¾°µÄÀ©´ó£¬ÎÒÃÇÒ²ÔÚÖð½¥ÍùÆäÇ¨ÒÆ¡£
¶ÔÓÚÊý¾ÝµÄдÈëºÍ·ÃÎÊÖ÷ÒªÊÇÔÚ¼ÆËãÒýÇæ Flink/Spark/Presto µÈµÄ¼¯³É£¬Èý¸ö¼ÆËãÒýÇæÉú̬½¨Éè¶¼Ïà¶Ô±È½ÏÍêÉÆ£¬ÕâÀï²»Õ¹¿ªÏ¸Ëµ¡£
ÔªÊý¾Ý¹ÜÀíÕâ¿é£¬ÓÉÓÚÌáǰ¶ÔͳһԪÊý¾Ý·þÎñ½øÐÐÁ˳éÏóºÍʵÏÖ£¬ÔÚ½ÓÈëÊý¾ÝºþÖ®ºó£¬ÓÉͳһԪÊý¾Ý·þÎñʵÏÖ¶Ô±í´æ´¢¸ñʽ£¨Delta
¼° Iceberg£©¶¨ÒåºÍÔªÊý¾ÝµÄ²éѯ£¬ÕâÑù¶à¸öƽ̨»òÆäËü·þÎñ£¬Äܹ»¿ìËÙµÄʵÏÖ¶ÔÊý¾ÝºþµÄÔªÊý¾Ý¹ÜÀí¡£
Íê³É¼ÆËãÒýÇæºÍ»ù´¡·þÎñµÄÖ§³Ö£¬Óû§¼´¿ÉÔÚ´óÊý¾Ýƽ̨£¬°üÀ¨Êý¾Ý×ÜÏß / Á÷¼ÆËã / ÀëÏß¿ª·¢Æ½Ì¨ /
»úÆ÷ѧϰƽ̨µÈ¶ÔÊý¾ÝºþµÄÊý¾Ý½øÐзÃÎʺÍʹÓÃÁË¡£
ͬʱ£¬ÎÒÃÇ»¹ÐèÒª¿¼ÂÇÈçºÎÎȶ¨¿É¿¿µÄÓ¦Óõ½Éú²úϵͳÖС£µÃÒæÓÚÎÒÃǵÄÈý´ó»ù´¡·þÎñµÄ½¨É裬ԪÊý¾Ý·þÎñ +
ѪԵ·þÎñ + ¼à¿Ø·þÎñ ¡£

ͼ 5 Êý¾Ýºþ¼Ü¹¹
Èçͼ 5 Ëùʾ£¬ÔªÊý¾ÝºÍѪԵ·þÎñ£¬ÌṩµÄÔªÊý¾ÝµÄ¹ÜÀíºÍÈ«Á´Â·Êý¾Ý×·×Ù£¬ÎªÎÒÃÇ·Ö¼¶»Ò¶ÈÇл»ÌṩÁËÓÐÁ¦µÄÖ§³Ö¡£¶øÈ«Á´Â·µÄÊý¾Ý¼à¿ØÌåϵ£¬°üÀ¨ÈÎÎñÁ£¶ÈµÄ¼à¿ØºÍ×Ô¶¯ÈÝ´í£¬ÒÔ¼°ÏûÏ¢¼¶±ðµÄ´¦ÀíÑÓ³Ù
/ ¶ªÊ§ / ÖØ¸´µÄ̽²â£¬ÎªÎÒÃÇ 0 ¹ÊÕϵÄÉÏÏߺÍÇл»ÌṩÁËÓÐÁ¦µÄ±£ÕÏ¡£
ĿǰÎÒÃÇÍê³ÉÁËÊý¾Ýºþ½¨ÉèµÄ³õ²½½×¶Î£¬ÏÂÃæ¶ÔÓÚÎÒÃǵÄһЩÂ䵨³¡¾°Ó¦Óúͽâ¾öµÄÎÊÌâÕ¹¿ª½éÉÜ¡£
Êý¾Ý¼¯³É
Êý¾Ý¼¯³ÉÔÚ´óÊý¾ÝÁ÷³Ìµ±ÖÐÊǷdz£ÖØÒªµÄÒ»»·£¬ÏàÐźܶ๫˾¶¼¾ÀúÁ˼¸´úµÄ¼¼Êõ·¢Õ¹ºÍµü´ú¡£

ͼ 6 Êý¾Ý¼¯³É v1
ÑÏÑ¡ÔÚÊý¾ÝÁ¿·Ç³£Ð¡µÄʱºò£¬Ã¿ÌìÁ賿µÄʱºòÒµÎñ DB µÄÊý¾Ý¼òµ¥´Ö±©µÄÈ«²¿ load µ½Êý²Ö¡£µ«ÊÇËæ×ÅÒµÎñµÄ·¢Õ¹£¬¶ÔÓÚÊý¾ÝÁ¿´óµÄ
DB ºÍ±í£¬È«Á¿ load Êý¾ÝËù»¨µÄʱ¼ä£¬Ö±½ÓÓ°ÏìÀëÏßÊý²ÖÊý¾ÝµÄ²ú³öʱ¼ä¡£
ÓÚÊÇÓÐÁËÊý¾Ý¼¯³ÉµÄ V2.0 ·½°¸£¬×ÔÑÐÁËÔöÁ¿ merge µÄ·½°¸£¬°ÑÊý¾ÝµÄ´«Êä±ä³ÉÁËʵʱµÄͬ²½£¬Õë¶Ô²»Í¬µÄÓ¦Óó¡¾°Ìṩ²»Í¬µÄÊý¾Ý¡£
ÔÚÁ賿µÄʱºò£¬»ùÓÚ T+2 µÄ¿ìÕպ͵±Ìì±ä¸üÊý¾Ý£¬Éú³É T+1 µÄ¿ìÕÕÊý¾Ý£¬Ò²¾ÍÊÇÎÒÃÇÀëÏßÊý²Öµ×²ã
ODS Êý¾Ý£¬ÕâÑùÎÒÃÇÕû¸öÊý¾ÝÈë²ÖµÄʱ¼ä¼õÉÙµ½Ò»¸öСʱÁË£¬´ó´óÌá¸ßÁËÕû¸öÊý¾ÝµÄ²ú³öЧÂÊ

ͼ 7 Êý¾Ý¼¯³É v2
ΪÁËÂú×ãһЩ¸ü¼ÓʵʱµÄ³¡¾°£¬merge Ä£¿éÌṩÁ˶ÌÖÜÆÚ¿ìÕÕ 10/30/60 ·ÖÖÓ¼¶±ðµÄ¿ìÕÕÊý¾ÝÀ´Âú×ãÕâÑùµÄ³¡¾°¡£µ«ÊÇÕâ¸ö·½°¸´æÔڱȽϴóµÄȱÏÝ£º
ʵʱÐÔÎÞ·¨Âú×ã¡£ÓÈÆäÊÇÊý¾ÝÁ¿´óµÄ±í£¬ÊÇÎÞ·¨Âú×ã·ÖÖÓ¼¶±ð½üʵʱµÄÊý¾ÝÐèÇó£»
ÒԿռ任ʱ¼ä£¬ÓдóÁ¿µÄ´æ´¢×ÊÔ´ÀË·Ñ£»
ûÓÐ ACID µÄÖ§³Ö£¬¸üÐÂÆÚ¼ä²¢·¢Êý¾Ý·ÃÎʶÌÔݲ»¿ÉÓá£
Ëæ×Å Delta/Iceberg/Hudi ÕâÑù¿ªÔ´µÄ´æ´¢¸ñʽµÄ·¢Õ¹£¬¸øÊý¾Ý¼¯³É·½°¸ÌṩÁ˺ܺõÄÓÅ»¯Ö§³Ö£¬Äܹ»½â¾öÒÔÉÏÌáµ½µÄ
3 ¸öÎÊÌâ¡£Èçͼ 8 ÖÐµÄ DataHund ¿ò¼ÜÔÚ delta ºÍ iceberg µÄ»ù´¡ÉϽøÐзâ×°¿ª·¢£¬Íê³ÉʵʱÈëºþµÄ¼¯³É·½°¸¡£

ͼ 8 Êý¾Ý¼¯³É v3
Êý²Ö½¨Éè
Êý¾ÝºþµÄÊý¾Ý£¬ÊµÊ±ÐÔ¸üÇ¿£¬¿É¿¿ÐÔ¸ü¸ß¡£³ýÁËÄܹ»Ìṩ½üʵʱµÄÊý¾Ý·ÖÎö£¬ÔÚ´Ë»ù´¡ÉÏ¿ÉÒÔ¹¹½¨ÎÒÃÇ ODS
²ãµÄÊý¾Ý¡£ÈçÏÂͼËùʾ£º

ĿǰÒѾÍê³ÉÁ˽üʵʱµÄÊý¾Ý·ÃÎʳ¡¾°£¬Ò²¾ÍÊÇÎÒÃǵķÖÖÓ / СʱÊý¾Ý·ÃÎʵij¡¾°ÐèÇ󣬽â¾öÉÏÃæËùÌáµ½µÄ
3 ¸öÎÊÌ⣺
ʵʱÐÔ¡£Æ½¾ùÑÓ³ÙÔÚ 1s ×óÓÒ£¬¶ÔÓÚ´óÊý¾ÝÁ¿µÄ±íͬ²½ÑÓ³ÙÔÚ·ÖÖÓ¼¶£»
½ÚÊ¡ÁË 70% µÄ¼ÆËãºÍ´æ´¢×Ê£»
ÓÐÁË ACID µÄÖ§³Ö£¬ÏÂÓÎÈÎÎñ·ÃÎÊÊý¾Ýʧ°ÜÂʼõÉÙΪ 0¡£
ÌØÕ÷¹¤³Ì
³ýÁËÊý¾Ý·ÖÎöÓ¦Óõij¡¾°£¬ÎÒÃǰÑÊý¾ÝºþÒ²Ó¦ÓÃÔÚÁË»úÆ÷ѧϰµÄ³¡¾°ÖС£ÌØÕ÷¹¤³ÌÔÚ»úÆ÷ѧϰÖÐÆð×ÅÖÁ¹ØÖØÒªµÄ×÷Óã¬ÌØÕ÷µÄºÃ»µÖ±½Ó»áÓ°Ïìµ½Ëã·¨µÄ×îÖÕЧ¹û£¬Ëã·¨¹¤³Ìʦ½«ÀëÏßÌØÕ÷ÓÚË㷨ģÐ͵ÄѵÁ·£¬Í¬Ê±ÊµÊ±ÌØÕ÷ÓÃÓÚÔÚÏßÍÆÀí·þÎñ¡£
ÔÀ´µÄÌØÕ÷´¦ÀíÁ÷³Ì£¬´æÔÚÓÐÁ½¸ö±È½Ï´óµÄÎÊÌ⣺
ÌØÕ÷²»Ò»Ö£¬Ôì³ÉÕâ¸öÎÊÌâµÄÔÒòÓУº1. ÀëÏßÌØÕ÷ºÍÊµÊ±ÌØÕ÷µÄ¿ª·¢ÈËÔ±²»ÊÇͬһ¸ö£»2 ÌØÕ÷´¦ÀíµÄÒýÇæ²»Ò»Ñù¡£
ÀëÏßѵÁ·Ä£ÐÍ¡£ÀëÏßÌØÕ÷ÓÃÓÚÄ£ÐÍѵÁ·¡£Êý¾Ý²ú³öµ½Éú³ÉÑù±¾ÔÙµ½Ä£ÐÍѵÁ·ºÍ²¿ÊðÉÏÏߣ¬ÑÓ³ÙÔÚ 24h ÒÔÉÏ¡£

ͨ¹ýÒýÈëÊý¾Ýºþ£¬ÎÒÃÇÓÅ»¯ÁËÉÏÊöÁ÷³Ì£¬½â¾öÁËÌØÕ÷²»Ò»ÖºÍÄ£ÐÍѵÁ·²»ÊµÊ±µÄÎÊÌâ¡£ÌØÕ÷µÄ¼ÆËãÖ÷Ҫͨ¹ý Flink
ÈÎÎñ½øÐд¦Àí£¬´¦ÀíºóдÈë Redis ÓÃÓÚÏßÉÏÔ¤²â£¬ÔÙ½«´¦ÀíºóµÄÌØÕ÷ append µ½ÌØÕ÷±í£¨Iceberg£©ÖУ¬Ê¹µÃÕû¸öÄ£ÐÍѵÁ·¶¼¿ÉÒÔ±äµÃ¸ü¼Óʵʱ¡£

ÏÂͼÊÇÎÒÃÇÌØÕ÷´æ´¢µÄÄ£¿é¼Ü¹¹Í¼£¬ÒòΪÎÒÃÇÓÐÌØÕ÷´æ´¢µÄ³éÏóºÍʵÏÖ£¬ËùÒÔ¼¯³ÉÊý¾ÝºþµÄ·ÃÎÊÏà¶Ô»¹ÊDZȽÏÈÝÒ׵ģ¬Í³Ò»µÄÌØÕ÷¶Áд
SDK£¬¶ÔÓÚÉϲãµÄÌØÕ÷´¦ÀíÈÎÎñºÍÀëÏßѵÁ·ÈÎÎñ¶¼Äܹ»ÎÞ¸ÐÖªµÄÇ¨ÒÆºÍʹÓá£
ÌØÕ÷´æ´¢·þÎñ°üÀ¨Èý¸ö²¿·Ö£ºÒ»¿éÊÇÌØÕ÷µÄ¹ÜÀí£»Ò»¿éÊÇÌØÕ÷µÄ´æ´¢£¬ÆÁ±Îµ×²ã´æ´¢½éÖÊ£»ÁíÒ»¸öÄ£¿éÊÇÌØÕ÷µÄ·ÃÎÊ£¬Êý¾Ý¿ª·¢¹¤³Ìʦͨ¹ý
FeatureStore ÌṩµÄ SDK£¬½«´¦ÀíºÃµÄÌØÕ÷дÈë FeatureStore¡£

ÌØÕ÷´æ´¢¼Ü¹¹
δÀ´¹æ»®
Êý¾ÝºþºÍÊý¾Ý²Ö¿âÔÚÊý¾ÝÉú²úºÍ·þÎñЧÂÊÉÏÓкܴóµÄ²î±ð¡£ÎÒÃÇÔÚµÚÒ»½×¶ÎÍê³ÉÁ˳õ²½µÄƽ̨¼¯³ÉºÍ½¨É裬ÕýÔڻҶȽ׶Σ¬Ö§³ÅÁË
5 ¸öÈÎÎñ¡£½ÓÏÂÀ´µÄ¹¤×÷¸üÓÐÄѶȺÍÌôÕ½£¬ÎÒÃÇ»á¸úËã·¨ÍŶӡ¢BI ÍŶÓÐ×÷£¬Îª¸ü¹Ø¼üµÄ·þÎñºÍ·ÖÎöÌṩÊý¾ÝºþÄÜÁ¦¡£±ÈÈçËÑË÷¡¢ÍƼö¡¢·ç¿ØµÈ¶ÔÊý¾ÝÄ£Ð͵ĵü´úÐèÒª·Ç³£Æµ·±µÄ·þÎñ£»ÔÙ±ÈÈç¶ÔÒµÎñ½øÐÐ̽Ë÷Óë·ÖÎöµÈ£¬¶ÔÊý¾ÝµÄʹÓôæÔڱȽϴóµÄËæ»úÐԵij¡¾°¡£Ëæ×Ÿü¶à¸´ÔÓ³¡¾°µÄÂ䵨£¬ÐèÒªÎÒÃǶԼÆËãºÍ´æ´¢ÒýÇæ±¾ÉíÈ¥×ö½øÒ»²½µÄÓÅ»¯¡£ |