Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
³¬Ó²ººÍ¼Êý¾Ý¿âʵ¼ù£º°ÙÒÚÊý¾ÝʵÏÖһվʽ×ÔÖú¹ÜÀí
 
×÷ÕߣºµÇ²ý¡¢ÁºË§¡¢¸ß³½¡¢ÑîöΡ¢×ðÔ¶¡¢Íõ³¬µÈ
  1587  次浏览      30
2021-12-13
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁËÃÀÍŵÄͼÊý¾Ý¿âʵ¼ù£¬ÈçºÎʵÏÖ°ÙÒÚÊý¾ÝʵÏÖһվʽ×ÔÖú¹ÜÀí¡£Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×Ô΢ÐŹ«ÖÚºÅdbaplusÉçȺ£¬ÓÉ»ðÁú¹ûÈí¼þLinda±à¼­¡¢ÍƼö¡£

1 ǰÑÔ

ͼÊý¾Ý½á¹¹£¬Äܹ»ºÜ×ÔÈ»µØ±íÕ÷ÏÖʵÊÀ½ç¡£±ÈÈçÓû§¡¢ÃŵꡢÆïÊÖÕâЩʵÌå¿ÉÒÔÓÃͼÖеĵãÀ´±íʾ£¬Óû§µ½ÃŵêµÄÏû·ÑÐÐΪ¡¢ÆïÊÖ¸øÓû§µÄËͲÍÐÐΪ¿ÉÒÔÓÃͼÖеıßÀ´±íʾ¡£Ê¹ÓÃͼµÄ·½Ê½¶Ô³¡¾°½¨Ä££¬±ãÓÚÃèÊö¸´ÔÓ¹ØÏµ¡£ÔÚÃÀÍÅ£¬´æÔڱȽ϶àµÄͼÊý¾Ý´æ´¢¼°¶àÌø²éѯÐèÇ󣬸ÅÀ¨ÆðÀ´Ö÷Òª°üÀ¨ÒÔÏ 4 ¸ö·½Ã棺

ͼÆ×ÍÚ¾ò£ºÃÀÍÅÓÐÃÀʳͼÆ×¡¢ÉÌÆ·Í¼Æ×¡¢ÂÃÓÎͼÆ×¡¢Óû§È«¾°Í¼Æ×ÔÚÄڵĽü 10 ¸öÁìÓò֪ʶͼÆ×£¬Êý¾ÝÁ¿¼¶´ó¸ÅÔÚǧÒÚ¼¶±ð¡£ÔÚµü´ú¡¢ÍÚ¾òÊý¾ÝµÄ¹ý³ÌÖУ¬ÐèÒªÒ»ÖÖ×é¼þ¶ÔÕâЩͼÆ×Êý¾Ý½øÐÐͳһµÄ¹ÜÀí¡£

°²È«·ç¿Ø£ºÒµÎñ²¿ÃÅÓÐÄÚÈÝ·ç¿ØµÄÐèÇó£¬Ï£ÍûÔÚÉÌ»§¡¢Óû§¡¢ÆÀÂÛÖÐͨ¹ý¶àÌø²éѯÀ´Ê¶±ðÐé¼ÙÆÀ¼Û£»ÔÚÖ§¸¶Ê±½øÐнðÈÚ·ç¿ØµÄÑéÖ¤£¬ÊµÊ±¶àÌø²éѯ·çÏյ㡣

Á´Â··ÖÎö£º°üÀ¨´úÂë·ÖÎö¡¢·þÎñÖÎÀí¡¢Êý¾ÝѪԵ¹ÜÀí£¬±ÈÈ繫˾Êý¾Ýƽ̨ÉÏÓкܶà ETL Job£¬Job ºÍ Job Ö®¼ä´æÔÚÇ¿ÈõÒÀÀµ¹ØÏµ£¬ÕâЩǿÈõÒÀÀµ¹ØÏµÐγÉÁËÒ»ÕÅͼ£¬ÔÚ½øÐÐ ETL Job µÄÓÅ»¯»òÕß¹ÊÕÏ´¦Àíʱ£¬ÐèÒª¶ÔÕâ¸öͼ½øÐÐʵʱ²éѯ·ÖÎö¡£

×éÖ¯¼Ü¹¹£º¹«Ë¾×éÖ¯¼Ü¹¹µÄ¹ÜÀí£¬ÊµÏ߻㱨Á´¡¢ÐéÏ߻㱨Á´¡¢ÐéÄâ×éÖ¯µÄ¹ÜÀí£¬ÒÔ¼°É̼ÒÁ¬ËøÃŵêµÄ¹ÜÀí¡£±ÈÈ磬ά»¤Ò»¸öÉ̼ÒÔÚ²»Í¬ÇøÓò¶¼ÓÐÄÄЩÃŵ꣬Äܹ»½øÐжà²ã¹ØÏµ²éÕÒ»òÕßÄæÏò¹ØÏµËÑË÷¡£

×ÜÌåÀ´Ëµ£¬ÃÀÍÅÐèÒªÒ»ÖÖ×é¼þÀ´¹ÜÀíǧÒÚ¼¶±ðµÄͼÊý¾Ý£¬½â¾öͼÊý¾Ý´æ´¢ÒÔ¼°¶àÌø²éѯÎÊÌâ¡£º£Á¿Í¼Êý¾ÝµÄ¸ßЧ´æ´¢ºÍ²éѯÊÇͼÊý¾Ý¿âÑо¿µÄºËÐÄ¿ÎÌ⣬ÈçºÎÔÚ´ó¹æÄ£·Ö²¼Ê½³¡¾°ÖнøÐй¤³ÌÂ䵨ÊÇÎÒÃÇÃæÁÙµÄÍ´µãÎÊÌâ¡£´«Í³µÄ¹ØÏµÐÍÊý¾Ý¿â¡¢NoSQL Êý¾Ý¿â¿ÉÒÔÓÃÀ´´æ´¢Í¼Êý¾Ý£¬µ«ÊDz»Äܺܺô¦ÀíͼÉ϶àÌø²éѯÕâÒ»¸ßƵµÄ²Ù×÷¡£

Neo4j ¹«Ë¾ÔÚÉç½»³¡¾°£¨¼ûͼ1£©Àï×öÁË´«Í³¹ØÏµÐÍÊý¾Ý¿â MySQL ¸úͼÊý¾Ý¿â Neo4j µÄ²éѯÐÔÄÜ¶Ô±È [1]£¬ÔÚÒ»¸ö°üº¬ 100 ÍòÈË¡¢Ã¿ÈËÔ¼ÓÐ 50 ¸öÅóÓѵÄÉç½»ÍøÂçÀïÕÒ×î´óÉî¶ÈΪ 5 µÄÅóÓѵÄÅóÓÑ£¬ÊµÑé½á¹û±íÃ÷¶àÌø²éѯÖÐͼÊý¾Ý¿âÓÅÊÆÃ÷ÏÔ£¨¼ûͼ 2£©¡£È»¶øÑ¡È¡»òÕß×ÔÖ÷Ñз¢Ò»¿î¸ßÍÌÍ¡¢µÍ²éѯÑÓʱ¡¢ÄÜ´æ´¢º£Á¿Êý¾ÝÇÒÒ×ÓõÄͼÊý¾Ý¿â·Ç³£À§ÄÑ¡£ÏÂÃæ½«½éÉÜÃÀÍÅÔÚͼÊý¾Ý¿âÑ¡Ðͼ°Æ½Ì¨½¨Éè·½ÃæµÄһЩ¹¤×÷¡£

ͼ 1

ͼ 2

2 ͼÊý¾Ý¿âÑ¡ÐÍ

ÔÚͼÊý¾Ý¿âµÄÑ¡ÐÍÉÏÎÒÃÇÖ÷Òª¿¼ÂÇÁËÒÔÏ 5 µã£º(A) ÏîÄ¿¿ªÔ´£¬Ôݲ»¿¼ÂÇÐ踶·ÑµÄͼÊý¾Ý¿â£»(B) ·Ö²¼Ê½¼Ü¹¹Éè¼Æ£¬¾ß±¸Á¼ºÃµÄ¿ÉÀ©Õ¹ÐÔ£»(C) ºÁÃë¼¶µÄ¶àÌø²éѯÑÓ³Ù£»(D) Ö§³ÖǧÒÚÁ¿¼¶µã±ß´æ´¢£»(E) ¾ß±¸ÅúÁ¿´ÓÊý²Öµ¼ÈëÊý¾ÝµÄÄÜÁ¦¡£

·ÖÎö DB-Engines[2] ÉÏÅÅÃûǰ 30 µÄͼÊý¾Ý¿â£¬ÌÞ³ý²»¿ªÔ´µÄÏîÄ¿£¬ÎÒÃǽ«Ê£ÓàµÄͼÊý¾Ý¿â·ÖΪÈýÀࣺ

µÚÒ»ÀࣺNeo4j[3]¡¢ArangoDB[4]¡¢Virtuoso[5]¡¢TigerGraph[6]¡¢RedisGraph[7]¡£´ËÀàͼÊý¾Ý¿âÖ»Óе¥»ú°æ±¾¿ªÔ´¿ÉÓã¬ÐÔÄÜÓÅÐ㣬µ«²»ÄÜÓ¦¶Ô·Ö²¼Ê½³¡¾°ÖÐÊý¾ÝµÄ¹æÄ£Ôö³¤£¬¼´²»Âú×ãÑ¡ÐÍÒªÇó£¨B£©¡¢£¨D£©¡£

µÚ¶þÀࣺJanusGraph[8]¡¢HugeGraph[9]¡£´ËÀàͼÊý¾Ý¿âÔÚÏÖÓд洢ϵͳ֮ÉÏÐÂÔöÁËͨÓõÄͼÓïÒå½âÊͲ㣬ͼÓïÒå²ãÌṩÁËͼ±éÀúµÄÄÜÁ¦£¬µ«ÊÇÊܵ½´æ´¢²ã»òÕ߼ܹ¹ÏÞÖÆ£¬²»Ö§³ÖÍêÕûµÄ¼ÆËãÏÂÍÆ£¬¶àÌø±éÀúµÄÐÔÄܽϲºÜÄÑÂú×ã OLTP ³¡¾°Ï¶ԵÍÑÓʱµÄÒªÇ󣬼´²»Âú×ãÑ¡ÐÍÒªÇó£¨C£©¡£

µÚÈýÀࣺDGraph[10]¡¢NebulaGraph[11]¡£´ËÀàͼÊý¾Ý¿â¸ù¾ÝͼÊý¾ÝµÄÌØµã¶ÔÊý¾Ý´æ´¢Ä£ÐÍ¡¢µã±ß·Ö²¼¡¢Ö´ÐÐÒýÇæ½øÐÐÁËÈ«ÐÂÉè¼Æ£¬¶ÔͼµÄ¶àÌø±éÀú½øÐÐÁËÉî¶ÈÓÅ»¯£¬»ù±¾Âú×ãÎÒÃǵÄÑ¡ÐÍÒªÇó¡£

DGraph ÊÇÓÉǰ Google Ô±¹¤ Manish Rai Jain ÀëÖ°´´Òµºó£¬ÔÚ 2016 ÄêÍÆ³öµÄͼÊý¾Ý¿â²úÆ·£¬µ×²ãÊý¾ÝÄ£ÐÍÊÇ RDF[12]£¬»ùÓÚ Go ÓïÑÔ±àд£¬´æ´¢ÒýÇæ»ùÓÚ BadgerDB[13] ¸ÄÔ죬ʹÓà RAFT ±£Ö¤Êý¾Ý¶ÁдµÄǿһÖÂÐÔ¡£

NebulaGraph ÊÇÓÉǰ Facebook Ô±¹¤Ò¶Ð¡ÃÈÀëÖ°´´Òµºó£¬ÔÚ 2019Äê ÍÆ³öµÄͼÊý¾Ý¿â²úÆ·£¬µ×²ãÊý¾ÝÄ£ÐÍÊÇÊôÐÔͼ£¬»ùÓÚ C++ ÓïÑÔ±àд£¬´æ´¢ÒýÇæ»ùÓÚ RocksDB[14] ¸ÄÔ죬ҲʹÓà RAFT ±£Ö¤Êý¾Ý¶ÁдµÄǿһÖÂÐÔ¡£

ÕâÁ½¸öÏîÄ¿µÄ´´Ê¼È˶¼ÔÚ»¥ÁªÍø¹«Ë¾Í¼Êý¾Ý¿âÁìÓòÉî¸û¶àÄ꣬¶ÔͼÊý¾Ý¿âµÄÂäµØÍ´µãÓÐÉî¿ÌÈÏʶ£¬ÕûÌåµÄ¼Ü¹¹Éè¼ÆÒ²Óн϶àÏàËÆÖ®´¦¡£ÔÚͼÊý¾Ý¿â×îÖÕµÄÑ¡ÐÍÉÏ£¬ÎÒÃÇ»ùÓÚ LDBC-SNB Êý¾Ý¼¯[15]¶Ô NebulaGraph¡¢DGraph¡¢HugeGraph ½øÐÐÁËÉî¶ÈÐÔÄܲâÆÀ£¬²âÊÔÏêÇé¼ûÎÄÕ£ºÖ÷Á÷¿ªÔ´·Ö²¼Ê½Í¼Êý¾Ý¿â Benchmark£¬´Ó²âÊÔ½á¹û¿´ NebulaGraph ÔÚÊý¾Ýµ¼È롢ʵʱдÈë¼°¶àÌø²éѯ·½ÃæÐÔÄܾùÓÅÓÚ¾ºÆ·¡£´ËÍ⣬NebulaGraph ÉçÇø»îÔ¾£¬ÎÊÌâÏìÓ¦Ëٶȿ죬ËùÒÔÎÒÃÇÍŶÓ×îÖÕÑ¡Ôñ»ùÓÚ NebulaGraph À´´î½¨Í¼Êý¾Ý¿âƽ̨¡£

ͼ 3

Ò»¸öÍêÕûµÄ NebulaGraph ¼¯Èº°üº¬ÈýÀà·þÎñ£¬¼´ Query Service¡¢Storage Service ºÍ Meta Service¡£Ã¿Àà·þÎñ¶¼Óи÷×ԵĿÉÖ´Ðжþ½øÖÆÎļþ£¬¼È¿ÉÒÔ²¿ÊðÔÚͬһ½ÚµãÉÏ£¬Ò²¿ÉÒÔ²¿ÊðÔÚ²»Í¬µÄ½ÚµãÉÏ¡£ÏÂÃæÊÇNebulaGraph ¼Ü¹¹Éè¼Æ£¨¼ûͼ 3£©µÄ¼¸¸öºËÐĵã[16][17]¡£

Meta Service£º¼Ü¹¹Í¼ÖÐÓÒ²àΪ Meta Service ¼¯Èº£¬Ëü²ÉÓà Leader/Follower ¼Ü¹¹¡£Leader Óɼ¯ÈºÖÐËùÓÐµÄ Meta Service ½ÚµãÑ¡³ö£¬È»ºó¶ÔÍâÌṩ·þÎñ£»Followers ´¦ÓÚ´ýÃü״̬£¬²¢´Ó Leader ¸´ÖƸüеÄÊý¾Ý¡£Ò»µ© Leader ½Úµã Down µô£¬»áÔÙÑ¡¾ÙÆäÖÐÒ»¸ö Follower ³ÉΪÐ嵀 Leader¡£Meta Service ²»½ö¸ºÔð´æ´¢ºÍÌṩͼÊý¾ÝµÄ Meta ÐÅÏ¢£¬Èç Schema¡¢Êý¾Ý·ÖƬÐÅÏ¢µÈ£¬Í¬Ê±»¹Ìṩ Job Manager »úÖÆ¹ÜÀí³¤ºÄʱÈÎÎñ£¬¸ºÔðÖ¸»ÓÊý¾ÝÇ¨ÒÆ¡¢Leader ±ä¸ü¡¢Êý¾Ý compaction¡¢Ë÷ÒýÖØ½¨µÈÔËά²Ù×÷¡£

´æ´¢¼ÆËã·ÖÀ룺Ôڼܹ¹Í¼ÖÐ Meta Service µÄ×ó²à£¬Îª NebulaGraph µÄÖ÷Òª·þÎñ£¬NebulaGraph ²ÉÓô洢Óë¼ÆËã·ÖÀëµÄ¼Ü¹¹£¬ÐéÏßÒÔÉÏΪ¼ÆË㣬ÒÔÏÂΪ´æ´¢¡£´æ´¢¼ÆËã·ÖÀëÓÐÖî¶àÓÅÊÆ£¬×îÖ±½ÓµÄÓÅÊÆ¾ÍÊÇ£¬¼ÆËã²ãºÍ´æ´¢²ã¿ÉÒÔ¸ù¾Ý¸÷×ÔµÄÇé¿öµ¯ÐÔÀ©ÈÝ¡¢ËõÈÝ¡£´æ´¢¼ÆËã·ÖÀ뻹´øÀ´ÁËÁíÒ»¸öÓÅÊÆ£ºÊ¹Ë®Æ½À©Õ¹³ÉΪ¿ÉÄÜ¡£´ËÍ⣬´æ´¢¼ÆËã·ÖÀëʹµÃ Storage Service ¿ÉÒÔΪ¶àÖÖÀàÐ͵ļÆËã²ã»òÕß¼ÆËãÒýÇæÌṩ·þÎñ¡£µ±Ç° Query Service ÊÇÒ»¸ö¸ßÓÅÏȼ¶µÄ OLTP ¼ÆËã²ã£¬¶ø¸÷ÖÖ OLAP µü´ú¼ÆËã¿ò¼Ü»áÊÇÁíÍâÒ»¸ö¼ÆËã²ã¡£

ÎÞ״̬¼ÆËã²ã£ºÃ¿¸ö¼ÆËã½Úµã¶¼ÔËÐÐ×ÅÒ»¸öÎÞ״̬µÄ²éѯ¼ÆËãÒýÇæ£¬¶ø½Úµã±Ë´Ë¼äÎÞÈκÎͨÐŹØÏµ¡£¼ÆËã½Úµã½ö´Ó Meta Service ¶ÁÈ¡ Meta ÐÅÏ¢ÒÔ¼°ºÍ Storage Service ½øÐн»»¥¡£ÕâÑùÉè¼ÆÊ¹µÃ¼ÆËã²ã¼¯Èº¸üÈÝÒ×ʹÓà K8s ¹ÜÀí»ò²¿ÊðÔÚÔÆÉÏ¡£Ã¿¸ö²éѯ¼ÆËãÒýÇæ¶¼ÄܽÓÊÕ¿Í»§¶ËµÄÇëÇ󣬽âÎö²éѯÓï¾ä£¬Éú³É³éÏóÓï·¨Ê÷£¨AST£©²¢½« AST ´«µÝ¸øÖ´Ðмƻ®Æ÷ºÍÓÅ»¯Æ÷£¬×îºóÔÙ½»ÓÉÖ´ÐÐÆ÷Ö´ÐС£

Shared-nothing ·Ö²¼Ê½´æ´¢²ã£ºStorage Service ²ÉÓà Shared-nothing µÄ·Ö²¼Ê½¼Ü¹¹Éè¼Æ£¬¹²ÓÐÈý²ã£¬×îµ×²ãÊÇ Store Engine£¬ËüÊÇÒ»¸öµ¥»ú°æ Local Store Engine£¬ÌṩÁ˶Ա¾µØÊý¾ÝµÄ get/put/scan/delete ²Ù×÷£¬¸Ã²ã¶¨ÒåÁËÊý¾Ý²Ù×÷½Ó¿Ú£¬Óû§¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèÇó¶¨ÖÆ¿ª·¢Ïà¹Ø Local Store Plugin¡£Ä¿Ç°£¬NebulaGraph ÌṩÁË»ùÓÚ RocksDB ʵÏÖµÄ Store Engine¡£ÔÚ Local Store Engine Ö®ÉÏÊÇ Consensus ²ã£¬ÊµÏÖÁË Multi Group Raft£¬Ã¿Ò»¸ö Partition ¶¼¶ÔÓ¦ÁËÒ»×é Raft Group¡£ÔÚ Consensus ²ãÉÏÃæÊÇ Storage interfaces£¬ÕâÒ»²ã¶¨ÒåÁËһϵÁкÍͼÏà¹ØµÄ API¡£ÕâЩ API ÇëÇó»áÔÚÕâÒ»²ã±»·­Òë³ÉÒ»×éÕë¶ÔÏàÓ¦ Partition µÄ KV ²Ù×÷¡£ÕýÊÇÕâÒ»²ãµÄ´æÔÚ£¬Ê¹µÃ´æ´¢·þÎñ±ä³ÉÁËÕæÕýµÄͼ´æ´¢¡£·ñÔò£¬Storage Service Ö»ÊÇÒ»¸ö KV ´æ´¢°ÕÁË¡£¶ø NebulaGraph û°Ñ KV ×÷Ϊһ¸ö·þÎñµ¥¶ÀÌá³ö£¬×îÖ÷ÒªµÄÔ­Òò±ãÊÇͼ²éѯ¹ý³ÌÖлáÉæ¼°µ½´óÁ¿¼ÆË㣬ÕâЩ¼ÆËãÍùÍùÐèҪʹÓÃͼµÄ Schema£¬¶ø KV ²ãûÓÐÊý¾Ý Schema ¸ÅÄÕâÑùÉè¼Æ±È½ÏÈÝÒ×ʵÏÖ¼ÆËãÏÂÍÆ£¬ÊÇ NebulaGraph ²éѯÐÔÄÜÓÅÔ½µÄÖ÷ÒªÔ­Òò¡£

NebulaGraph »ùÓÚ C++ ʵÏÖ£¬¼Ü¹¹Éè¼ÆÖ§³Ö´æ´¢Ç§ÒÚ¶¥µã¡¢ÍòÒڱߣ¬²¢ÌṩºÁÃë¼¶±ðµÄ²éѯÑÓʱ¡£ÎÒÃÇÔÚ 3 ̨ 48U192G ÎïÀí»ú´î½¨µÄ¼¯ÈºÉϹàÈë 10 ÒÚÃÀʳͼÆ×Êý¾Ý¶Ô NebulaGraph µÄ¹¦ÄܽøÐÐÁËÑéÖ¤¡£

Ò»Ìø²éѯ TP99 ÑÓʱÔÚ 5ms ÄÚ£¬Á½Ìø²éѯ TP99 ÑÓʱÔÚ 20ms ÄÚ£¬Ò»°ãµÄ¶àÌø²éѯ TP99 ÑÓʱÔÚ°ÙºÁÃëÄÚ¡£

¼¯ÈºÔÚÏßдÈëËÙÂÊԼΪ20Íò Records/s¡£

Ö§³Öͨ¹ý Spark ÈÎÎñÀëÏßÉú³É RocksDB µ×²ã SST File£¬Ö±½Ó½«Êý¾ÝÎļþÔØÈëµ½¼¯ÈºÖУ¬¼´ÀàËÆ HBase BulkLoad ÄÜÁ¦¡£

ÌṩÁËÀà SQL ²éѯÓïÑÔ£¬¶ÔÓÚÐÂÔöµÄÒµÎñÐèÇó£¬Ö»Ðè¹¹Ôì NebulaGraph SQL Óï¾ä£¬Ò×ÓÚÀí½âÇÒÄÜÂú×ã¸÷ÀิÔÓ²éѯҪÇó¡£

ÌṩÁªºÏË÷Òý¡¢GEO Ë÷Òý£¬¿Éͨ¹ýʵÌåÊôÐÔ»òÕß¹ØÏµÊôÐÔ²éѯʵÌå¡¢¹ØÏµ£¬»òÕß²éѯÔÚij¸ö¾­Î³¶È¸½½ü N Ã×ÄÚµÄʵÌå¡£

Ò»¸ö NebulaGraph ¼¯ÈºÖпÉÒÔ´´½¨¶à¸ö Space £¨¸ÅÄîÀàËÆ MySQL µÄDataBase£©£¬²¢ÇÒ²»Í¬ Space ÖеÄÊý¾ÝÔÚÎïÀíÉÏÊǸôÀëµÄ¡£

3 ͼÊý¾Ý¿âƽ̨½¨Éè

ͼ 4

ΪÁËͳһ¹ÜÀíͼÊý¾Ý£¬¼õÉÙ¹¤³ÌͬѧÔÚͼÊý¾Ý¿â¼¯ÈºÉϵÄÔËάѹÁ¦£¬ÎÒÃÇ»ùÓÚ¿ªÔ´·Ö²¼Ê½Í¼Êý¾Ý¿â NebulaGraph£¬´î½¨ÁËÒ»Ì×һվʽͼÊý¾Ý¿â×ÔÖú¹ÜÀíÆ½Ì¨£¨¼ûͼ 4£©£¬¸Ãƽ̨°üº¬ÒÔÏ 4 ²ã£º

Êý¾ÝÓ¦Óò㡣ҵÎñ·½¿ÉÒÔÔÚÒµÎñ·þÎñÖÐÒýÈëͼÆ× SDK£¬ÊµÊ±µØ¶ÔͼÊý¾Ý½øÐÐÔöɾ¸Ä²é¡£

Êý¾Ý´æ´¢²ã¡£Ö§³ÖÁ½ÖÖͼÊý¾Ý¿â¼¯ÈºµÄ²¿Êð¡£

µÚÒ»ÖÖ²¿Êð·½Ê½ÊÇ CP ·½°¸£¬¼´ Consistency & Partition tolerance¡£µ¥¼¯Èº²¿Ê𣬼¯ÈºÖлúÆ÷ÊýÁ¿´óÓÚµÈÓÚ¸±±¾µÄÊýÁ¿£¬¸±±¾ÊýÁ¿´óÓÚµÈÓÚ 3 ¡£Ö»Òª¼¯ÈºÖÐÓдóÓÚ¸±±¾ÊýÒ»°ëµÄ»úÆ÷´æ»î£¬Õû¸ö¼¯Èº¾Í¿ÉÒÔ¶ÔÍâÕý³£Ìṩ·þÎñ¡£CP ·½°¸±£Ö¤ÁËÊý¾Ý¶ÁдµÄǿһÖÂÐÔ£¬µ«ÕâÖÖ²¿Êð·½Ê½Ï¼¯Èº¿ÉÓÃÐÔ²»¸ß¡£

µÚ¶þÖÖ²¿Êð·½Ê½ÊÇ AP ·½°¸£¬¼´ Availability & Partition tolerance¡£ÔÚÒ»¸öÓ¦ÓÃÖв¿Êð¶à¸öͼÊý¾Ý¿â¼¯Èº£¬Ã¿¸ö¼¯ÈºÊý¾Ý¸±±¾ÊýΪ 1 £¬¶à¼¯ÈºÖ®¼ä½øÐл¥±¸¡£ÕâÖÖ²¿Êð·½Ê½µÄºÃ´¦ÔÚÓÚÕû¸öÓ¦ÓöÔÍâµÄ¿ÉÓÃÐԸߣ¬µ«Êý¾Ý¶ÁдµÄÒ»ÖÂÐÔÒª²îЩ¡£

Êý¾ÝÉú²ú²ã¡£Í¼Êý¾ÝÖ÷ÒªÓÐÁ½ÖÖÀ´Ô´£¬µÚÒ»ÖÖÊÇÒµÎñ·½°ÑÊý²ÖÖÐÊý¾Ýͨ¹ý ETL Job ת³ÉµãºÍ±ßµÄ Hive ±í£¬È»ºóÀëÏßµ¼È뵽ͼÊý¾Ý¿âÖУ»µÚ¶þÖÖÊÇÒµÎñÏßÉÏʵʱ²úÉúµÄÊý¾Ý¡¢»òÕßͨ¹ý Spark/Flink µÈÁ÷ʽ´¦Àí²úÉúµÄ½üÏßÊý¾Ý£¬µ÷ÓÃÔÚÏßÅúÁ¿Ð´½Ó¿Úʵʱ¹àµ½Í¼Êý¾Ý¿âÖС£

Ö§³Åƽ̨¡£ÌṩÁË Schema ¹ÜÀí¡¢È¨ÏÞ¹ÜÀí¡¢Êý¾ÝÖʼ졢Êý¾ÝÔöɾ¸Ä²é¡¢¼¯ÈºÀ©ËõÈÝ¡¢Í¼Æ×»­Ïñ¡¢Í¼Êý¾Ýµ¼³ö¡¢¼à¿Ø±¨¾¯¡¢Í¼¿ÉÊÓ»¯¡¢¼¯Èº°ü¹ÜÀíµÈ¹¦ÄÜ¡£

ÓëÒµ½ç·½°¸Ïà±È£¬ÍŶÓÖ÷µ¼Éè¼ÆµÄͼÊý¾Ý¿âƽ̨³ýÁËÖ§³Ö´æ´¢Ç§ÒÚ¶¥µã¡¢ÍòÒڱߣ¬¾ß±¸ºÁÃë¼¶±ð²éѯÄÜÁ¦Í⣬»¹ÌṩÁËÈçÏÂËÄÏîÄÜÁ¦£ºÓ¦ÓÿÉÓÃÐÔ SLA ´ï 99.99%£»Ö§³ÖÿСʱ°ÙÒÚÁ¿¼¶Êý¾Ýµ¼È룻ʵʱдÈëÊý¾Ýʱ±£Ö¤¶à¼¯ÈºÊý¾Ý×îÖÕÒ»ÖÂÐÔ£»Ò×ÓõÄͼÆ×¿ÉÊÓ»¯ÄÜÁ¦¡£ÏÂÃæ½«½éÉܾßÌåµÄÉè¼ÆË¼Â·¡£

3.1 ¸ß¿ÉÓÃÄ£¿éÉè¼Æ

ͼ 5

Ê×ÏȽéÉܵ¥Ó¦Óö༯Ⱥ¸ß¿ÉÓÃÄ£¿éµÄÉè¼Æ£¨AP ·½°¸£©¡£ÎªÊ²Ã´ÓÐ AP ·½°¸µÄÉè¼ÆÄØ£¿ÒòΪ½ÓÈëͼÊý¾Ý¿âƽ̨µÄÒµÎñ·½±È½ÏÔÚÒâµÄÖ¸±êÊǼ¯Èº¿ÉÓÃÐÔ¡£ÔÚÏß·þÎñ¶Ô¼¯ÈºµÄ¿ÉÓÃÐÔÒªÇó·Ç³£¸ß£¬×î»ù´¡µÄÒªÇóÊǼ¯Èº¿ÉÓÃÐÔÄÜ´ïµ½ 4 ¸ö 9£¬¼´Ò»ÄêÀOȺµÄ²»¿ÉÓÃʱ¼äҪСÓÚÒ»¸öСʱ¡£¶ÔÓÚÔÚÏß·þÎñÀ´Ëµ£¬·þÎñ»òÕß¼¯ÈºµÄ¿ÉÓÃÐÔÊÇÕû¸öÒµÎñµÄÉúÃüÏߣ¬Èç¹ûÕâµã±£Ö¤²»ÁË£¬¼´Ê¹¼¯ÈºÌṩµÄÄÜÁ¦ÔÙ¶àÔٷḻ£¬ÄÇôҵÎñ·½Ò²²»»á¿¼ÂÇʹÓ㬿ÉÓÃÐÔÊÇÒµÎñÑ¡Ð͵Ļù´¡¡£

ÁíÍ⣬¹«Ë¾ÒªÇóÖмä¼þÒªÓпçÇøÓòÈÝÔÖÄÜÁ¦£¬¼´Òª¾ß±¸ÔÚ¶à¸öµØÓò²¿Êð¶à¼¯ÈºµÄÄÜÁ¦¡£ÎÒÃÇ·ÖÎöÁËÆ½Ì¨½ÓÈë·½µÄÒµÎñÐèÇ󣬴óÔ¼ 80% µÄ³¡¾°ÊÇ T+1 È«Á¿µ¼ÈëÊý¾Ý¡¢ÏßÉÏÖ»¶Á¡£ÔÚÕâÖÖ³¡¾°Ï£¬¶ÔͼÊý¾ÝµÄ¶ÁдǿһÖÂÐÔÒªÇó²¢²»¸ß£¬Òò´ËÎÒÃÇÉè¼ÆÁ˵¥Ó¦Óö༯ȺÕâÖÖ²¿Êð·½°¸¡£

AP ·½°¸²¿Êð·½Ê½¿ÉÒԲο¼Í¼ 5£¬Ò»¸öÒµÎñ·½ÔÚͼÊý¾Ý¿âƽ̨ÉÏ´´½¨ÁË 1 ¸öÓ¦Óò¢²¿ÊðÁË 4 ¸ö¼¯Èº£¬ÆäÖб±¾© 2 ¸ö¡¢ÉϺ£ 2 ¸ö£¬Æ½Ê±Õâ 4 ¸ö¼¯ÈºÍ¬Ê±¶ÔÍâÌṩ·þÎñ¡£¼ÙÈçÏÖÔÚ±±¾©¼¯Èº 1 ¹ÒÁË£¬ÄÇô±±¾©¼¯Èº 2 ¿ÉÒÔÌṩ·þÎñ¡£Èç¹ûËµÕæÄÇô²»ÇÉ£¬±±¾©¼¯Èº¶¼¹ÒÁË£¬»òÕß±±¾©²à¶ÔÍâµÄÍøÂç²»¿ÉÓã¬ÄÇôÉϺ£µÄ¼¯ÈºÒ²¿ÉÒÔÌṩ·þÎñ¡£ÔÚÕâÖÖ²¿Êð·½Ê½Ï£¬Æ½Ì¨»á¾¡¿ÉÄܵØÍ¨¹ýһЩ·½Ê½À´±£Ö¤Õû¸öÓ¦ÓõĿÉÓÃÐÔ¡£È»ºóÿ¸ö¼¯ÈºÄÚ²¿¾¡Á¿²¿Êðͬ»ú·¿µÄ»úÆ÷£¬ÒòΪͼÊý¾Ý¿â¼¯ÈºÄÚ²¿ RPC ·Ç³£¶à£¬Èç¹ûÓпç»ú·¿»òÕß¿çÇøÓòµÄƵ·±µ÷Óã¬Õû¸ö¼¯Èº¶ÔÍâµÄÐÔÄÜ»á±È½ÏµÍ¡£

ͼ 6

¸ß¿ÉÓÃÄ£¿éÖ÷Òª°üº¬ÏÂÃæ 4 ¸ö²¿·Ö£¬ÈçÉÏͼ 6 Ëùʾ£º

µÚÒ»²¿·ÖÊÇÓÒ²àµÄͼÊý¾Ý¿â Agent£¬ËüÊDz¿ÊðÔÚͼÊý¾Ý¿â¼¯ÈºµÄÒ»¸ö½ø³Ì£¬ÓÃÀ´ÊÕ¼¯»úÆ÷ºÍͼÊý¾Ý¿âÈý¸öºËÐÄÄ£¿éµÄÐÅÏ¢£¬²¢Éϱ¨µ½Í¼Êý¾Ý¿âƽ̨¡£Agent Äܹ»½ÓÊÕͼÊý¾Ý¿âƽ̨µÄÃüÁî²¢¶ÔͼÊý¾Ý¿â½øÐвÙ×÷¡£

µÚ¶þ²¿·ÖÊÇͼÊý¾Ý¿âƽ̨£¬ËüÖ÷ÒªÊǶԼ¯Èº½øÐйÜÀí£¬²¢Í¬²½Í¼Êý¾Ý¿â¼¯ÈºµÄ״̬µ½ÅäÖÃÖÐÐÄ¡£

µÚÈý²¿·ÖÊÇͼÊý¾Ý¿â SDK£¬Ö÷Òª¸ºÔð¹ÜÀíÁ¬½Óµ½Í¼Êý¾Ý¿â¼¯ÈºµÄÁ¬½Ó¡£Èç¹ûÒµÎñ·½·¢ËÍÁËij¸ö²éѯÇëÇó£¬SDK »á½øÐм¯ÈºµÄ·Óɺ͸ºÔؾùºâ£¬Ñ¡Ôñ³öÒ»Ìõ¸ßÖÊÁ¿µÄÁ¬½ÓÀ´·¢ËÍÇëÇó¡£´ËÍ⣬SDK »¹»á´¦ÀíͼÊý¾Ý¿â¼¯ÈºÖÐÎÊÌâ»úÆ÷µÄ×Ô¶¯½µ¼¶ÒÔ¼°»Ö¸´£¬²¢ÇÒÖ§³Öƽ»¬Çл»¼¯ÈºµÄÊý¾Ý°æ±¾¡£

µÚËIJ¿·ÖÊÇÅäÖÃÖÐÐÄ£¬ÀàËÆ ZooKeeper£¬´æ´¢¼¯ÈºµÄµ±Ç°×´Ì¬¡£

3.2 ÿСʱ°ÙÒÚÁ¿¼¶Êý¾Ýµ¼ÈëÄ£¿éÉè¼Æ

ͼ 7

µÚ¶þ¸öÄ£¿éÊÇÿСʱ°ÙÒÚÁ¿¼¶Êý¾Ýµ¼ÈëÄ£¿é£¬Æ½Ì¨ÔÚ 2019 Äêµ×- 2020 Äê³õÈ«Á¿µ¼ÈëÊý¾ÝµÄ·½Ê½Êǵ÷Óà NebulaGraph ¶ÔÍâÌṩµÄÅúÁ¿Êý¾Ýµ¼Èë½Ó¿Ú£¬ÕâÖÖ·½Ê½µÄÊý¾ÝдÈëËÙÂÊ´ó¸ÅÊÇÿСʱ 10 ÒÚ¼¶±ð£¬µ¼Èë°ÙÒÚÊý¾Ý´ó¸ÅÒªºÄ·Ñ 10 ¸öСʱ£¬ºÄʱ½Ï³¤¡£´ËÍ⣬ÔÚÒÔ¼¸Ê®ÍòÿÃëµÄËٶȵ¼Êý¾ÝµÄ¹ý³ÌÖУ¬»á³¤ÆÚÕ¼ÓûúÆ÷µÄ CPU¡¢IO ×ÊÔ´£¬Ò»·½Ãæ»á¶Ô»úÆ÷Ôì³ÉËðºÄ£¬ÁíÒ»·½ÃæÊý¾Ýµ¼Èë¹ý³ÌÖм¯Èº¶ÔÍâÌṩµÄ¶ÁÐÔÄÜ»á±äÈõ¡£

ΪÁ˽â¾öÉÏÃæÁ½¸öÎÊÌ⣬ƽ̨½øÐÐÁËÈçÏÂÓÅ»¯£ºÔÚ Spark ¼¯ÈºÖÐÖ±½ÓÉú³ÉͼÊý¾Ý¿âµ×²ãÎļþ SST File£¬ÔÙ½èÖú RocksDB µÄ Bulkload ¹¦ÄÜÖ±½Ó ingest Îļþµ½Í¼Êý¾Ý¿â¡£

Êý¾Ýµ¼ÈëµÄºËÐÄÁ÷³Ì¿ÉÒԲο¼Í¼ 7£¬µ±Óû§Ö´Ðе¼Êý¾Ý²Ù×÷ºó£¬Í¼Êý¾Ý¿âƽ̨»áÏò¹«Ë¾µÄ Spark ¼¯ÈºÌá½»Ò»¸ö Spark ÈÎÎñ£¬ÔÚ Spark ÈÎÎñÖлáÉú³ÉͼÊý¾Ý¿âÀïÏà¹ØµÄµã¡¢±ßÒÔ¼°µãË÷Òý¡¢±ßË÷ÒýÏà¹ØµÄ SST Îļþ£¬²¢ÉÏ´«µ½ÃÀÍÅµÄ S3 ÔÆ´æ´¢ÉÏ¡£ÎļþÉú³Éºó£¬Í¼Êý¾Ý¿âƽ̨»á֪ͨӦÓÃÖжà¸ö¼¯ÈºÈ¥ÏÂÔØÕâЩ´æ´¢Îļþ£¬Ö®ºóÍê³É ingest ¸ú compact ²Ù×÷£¬×îºóÍê³ÉÊý¾Ý°æ±¾µÄÇл»¡£

Ϊ¼æ¹Ë¸÷¸öÒµÎñ·½µÄ²»Í¬ÐèÇ󣬯½Ì¨Í³Ò»ÁËÓ¦Óõ¼Èë¡¢¼¯Èºµ¼Èë¡¢ÀëÏßµ¼Èë¡¢ÔÚÏßµ¼È룬ÒÔ¼°È«Á¿µ¼Èë¡¢ÔöÁ¿µ¼ÈëÕâЩ³¡¾°£¬È»ºóϸ·Ö³ÉÏÂÃæ¾Å¸ö½×¶Î£¬´ÓÁ÷³ÌÉϱ£Ö¤ÔÚµ¼Êý¾Ý¹ý³ÌÖÐÓ¦ÓÃÕûÌåµÄ¿ÉÓÃÐÔ£ºSST File Éú³É ¡¢SST File ÏÂÔØ ¡¢ingest¡¢compact¡¢Êý¾ÝУÑé¡¢ÔöÁ¿»ØËÝ¡¢Êý¾Ý°æ±¾Çл»¡¢¼¯ÈºÖØÆô¡¢Êý¾ÝÔ¤ÈÈ¡£

3.3 ʵʱдÈë¶à¼¯ÈºÊý¾Ýͬ²½Ä£¿éÉè¼Æ

ͼ 8

µÚÈý¸öÄ£¿éÊÇʵʱдÈë¶à¼¯ÈºÊý¾Ýͬ²½Ä£¿é£¬Æ½Ì¨Ô¼ÓÐ 15% µÄÐèÇ󳡾°ÊÇÔÚʵʱ¶ÁÈ¡Êý¾Ýʱ£¬»¹Òª°ÑвúÉúµÄÒµÎñÊý¾ÝʵʱдÈ뼯Ⱥ£¬²¢ÇÒ¶ÔÊý¾ÝµÄ¶ÁдǿһÖÂÐÔÒªÇ󲻸ߡ£¾ÍÊÇ˵£¬ÒµÎñ·½Ð´µ½Í¼Êý¾Ý¿âÀïµÄÊý¾Ý£¬²»ÐèÒªÁ¢ÂíÄܶÁµ½¡£Õë¶ÔÉÏÊö³¡¾°£¬ÒµÎñ·½ÔÚʹÓõ¥Ó¦Óö༯ȺÕâÖÖ²¿Êð·½°¸Ê±£¬¶à¼¯ÈºÀïµÄÊý¾ÝÐèÒª±£Ö¤×îÖÕÒ»ÖÂÐÔ¡£Õë¶ÔÕâÒ»ÐèÇó£¬ÎÒÃÇ×öÁËÒÔÏÂÉè¼Æ¡£

µÚÒ»²¿·ÖÊÇÒýÈë Kafka ×é¼þ£¬ÒµÎñ·½ÔÚ·þÎñÖÐͨ¹ý SDK ¶ÔͼÊý¾Ý¿â½øÐÐд²Ù×÷ʱ£¬SDK ²¢²»Ö±½ÓдͼÊý¾Ý¿â£¬¶øÊǰÑд²Ù×÷дµ½ Kafka ¶ÓÁÐÀ֮ºóÓɸÃÓ¦ÓÃϵĶà¸ö¼¯ÈºÒì²½Ïû·ÑÕâ¸ö Kafka ¶ÓÁС£

µÚ¶þ²¿·ÖÊǼ¯ÈºÔÚÓ¦Óü¶±ð¿ÉÅäÖÃÏû·Ñ²¢·¢¶È£¬À´¿ØÖÆÊý¾ÝдÈ뼯ȺµÄËÙ¶È¡£¾ßÌåÁ÷³ÌÈçÏ£º

SDK ¶ÔÓû§Ð´²Ù×÷Óï¾ä×öÓï·¨½âÎö£¬½«ÆäÖеã±ßµÄÅúÁ¿²Ù×÷²ð½â³Éµ¥¸öµã±ß²Ù×÷£¬¼´¶ÔдÓï¾ä×öÒ»´Î¸Äд¡£

Agent Ïû·Ñ Kafka ʱȷ±£Ã¿¸öµã¼°Æä³ö±ßÏà¹Ø²Ù×÷ÔÚµ¥¸öÏß³ÌÀï˳ÐòÖ´ÐУ¨¼ûͼ 8£©£¬±£Ö¤Õâµã¾ÍÄܱ£Ö¤¸÷¸ö¼¯ÈºÖ´ÐÐÍêд²Ù×÷ºó×îÖյĽá¹ûÊÇÒ»Öµġ£

²¢·¢À©Õ¹£ºÍ¨¹ý¸Ä±ä Kafka ·ÖƬÊý¡¢Agent ÖÐÏû·Ñ Kafka Ïß³ÌÊýÀ´µ÷Õû Kafka ÖвÙ×÷µÄÏû·ÑËÙ¶È¡£Èç¹ûδÀ´Í¼Êý¾Ý¿âÖ§³ÖÊÂÎñµÄ»°£¬ÉÏÃæµÄÅäÖÃÐèÒªµ÷Õû³Éµ¥·ÖƬµ¥Ïß³ÌÏû·Ñ£¬ÓбØÒª¶ÔÉè¼Æ·½°¸ÔÙ×öÓÅ»¯µ÷Õû¡£

ͼ 9

µÚÈý²¿·ÖÊÇÔÚʵʱдÈëÊý¾Ý¹ý³ÌÖУ¬Æ½Ì¨¿ÉÒÔͬ²½Éú³ÉÒ»¸öÈ«Á¿Êý¾Ý°æ±¾£¬²¢×öƽ»¬Çл»£¨¼ûͼ 9£©£¬È·±£Êý¾ÝµÄ²»ÖØ¡¢²»Â©¡¢²»ÑÓ³Ù¡£

3.4 ͼ¿ÉÊÓ»¯Ä£¿éÉè¼Æ

ͼ 10

µÚËĸöÄ£¿éÊÇͼ¿ÉÊÓ»¯Ä£¿é£¨¼ûͼ10£©£¬Ö÷ÒªÊÇÓÃÓÚ½â¾ö×Óͼ̽Ë÷ÎÊÌâ¡£µ±Óû§ÔÚͼÊý¾Ý¿âƽ̨ͨ¹ý¿ÉÊÓ»¯×é¼þ²é¿´Í¼Êý¾Ýʱ£¬Äܾ¡Á¿Í¨¹ýÇ¡µ±µÄ½»»¥Éè¼ÆÀ´±ÜÃâÒòΪ½Úµã¹ý¶à¶øÒý·¢±¬ÆÁ¡£Ö÷Òª°üÀ¨ÒÔϼ¸¸ö¹¦ÄÜ£º

ͨ¹ý ID »òÕßË÷Òý²éÕÒ¶¥µã¡£

Äܲ鿴¶¥µãºÍ±ßµÄ¿¨Æ¬£¨¿¨Æ¬ÖÐչʾµã±ßÊôÐÔºÍÊôÐÔÖµ£©£¬¿ÉÒÔµ¥Ñ¡¡¢¶àÑ¡¡¢¿òÑ¡ÒÔ¼°°´ÀàÐÍÑ¡Ôñ¶¥µã¡£

ͼ̽Ë÷£¬µ±Óû§µã»÷ij¸ö¶¥µãʱ£¬ÏµÍ³»áչʾËüµÄÒ»ÌøÁÚ¾ÓÐÅÏ¢£¬°üÀ¨¸Ã¶¥µãÓÐÄÄЩ³ö±ß£¿Í¨¹ýÕâ¸ö±ßËüÄܹØÁªµ½¼¸¸öµã£¿¸Ã¶¥µãµÄÈë±ßÓÖÊÇʲôÇé¿ö£¿Í¨¹ýÕâÖÖÒ»ÌøÐÅÏ¢µÄչʾ£¬Óû§ÔÚÆ½Ì¨ÉÏ̽Ë÷×ÓͼµÄʱºò£¬¿É¿ìËÙÁ˽⵽ÖܱߵÄÁÚ¾ÓÐÅÏ¢£¬¸ü¿ìµØ½øÐÐ×Óͼ̽Ë÷¡£ÔÚ̽Ë÷¹ý³ÌÖУ¬Æ½Ì¨Ò²Ö§³Öͨ¹ýÊôÐԶԱ߽øÐйýÂË¡£

ͼ±à¼­ÄÜÁ¦£¬ÈÃÆ½Ì¨Óû§ÔÚ²»ÊìϤ NebulaGraph Óï·¨µÄÇé¿öÏÂÒ²ÄÜÔöɾ¸Äµã±ßÊý¾Ý£¬¶ÔÏßÉÏÊý¾Ý½øÐÐÁÙʱ¸ÉÔ¤¡£

4 ÒµÎñʵ¼ù

4.1 ÖÇÄÜÖúÀí

¸ÃÏîÄ¿Êý¾ÝÊÇ»ùÓÚÃÀÍÅÉÌ»§Êý¾Ý¡¢Óû§ÆÀÂÛ¹¹½¨µÄ²ÍÒûÓéÀÖ֪ʶͼÆ×£¬¸²¸ÇÃÀʳ¡¢¾Æµê¡¢ÂÃÓεÈÁìÓò£¬°üº¬ 13 ÀàʵÌåºÍ 22 Àà¹ØÏµ¡£Ä¿Ç°£¬µã±ßÊýÁ¿´ó¸ÅÔÚ°ÙÒÚ¼¶±ð£¬Êý¾Ý T+1 È«Á¿¸üУ¬Ö÷ÒªÓÃÓÚ½â¾öËÑË÷»òÕßÖÇÄÜÖúÀíÀï KBQA£¨È«³Æ£ºKnowledge Based Question Answer£©ÀàÎÊÌâ¡£ºËÐÄ´¦ÀíÁ÷³ÌÊÇͨ¹ý NLP Ë㷨ʶ±ð¹ØÏµºÍʵÌåºó¹¹Ôì³ö NebulaGraph SQL Óï¾ä£¬ÔÙµ½Í¼Êý¾Ý¿â»ñÈ¡Êý¾Ý¡£

µäÐ͵ÄÓ¦Óó¡¾°°üÀ¨É̳¡Õҵ꣬±ÈÈ磬ij¸öÓû§ÏëÖªµÀÍû¾©ÐÂÜö³ÇÕâ¸öÉ̳¡ÓÐûÓк£µ×ÀÌ£¬ÏµÍ³¿ÉÒÔ¿ìËÙ²é³ö½á¹û¸æËßÓû§£»ÁíÒ»¸ö³¡¾°ÊDZêÇ©Õҵ꣬Óû§ÏëÖªµÀÍû¾© SOHO ¸½½üÓÐûÓÐÊʺÏÇéÂÂÔ¼»áµÄ²ÍÌü£¬»òÕß¿ÉÒÔ¶à¼Ó¼¸¸ö³¡¾°±êÇ©£¬ÏµÍ³¶¼¿ÉÒÔ°ïæ²éÕÒ³öÀ´¡£

4.2 ËÑË÷ÕÙ»Ø

¸ÃÏîÄ¿Êý¾ÝÊÇ»ùÓÚÒ½ÃÀÉ̼ÒÐÅÏ¢¹¹½¨µÄÒ½ÃÀ֪ʶͼÆ×£¬°üº¬ 9 ÀàʵÌåºÍ 13 Àà¹ØÏµ£¬µã±ßÊýÁ¿ÔÚ°ÙÍò¼¶±ð£¬Í¬ÑùÒ²ÊÇ T+1 È«Á¿¸üУ¬Ö÷ÒªÓÃÓÚ´óËѵײãʵʱÕٻأ¬·µ»ØÓë Query Ïà¹ØµÄÉÌ»§¡¢²úÆ·»òÒ½ÉúÐÅÏ¢£¬½â¾öÒ½ÃÀÀàËÑË÷´ÊÉÙ½á¹û¡¢ÎÞ½á¹ûÎÊÌâ¡£±ÈÈ磬ij¸öÓû§ËÑ¡°Æ¡¾Æ¶Ç¡±ÕâÖÖÖ¢×´¡¢»òÕß¡°Èó°ÙÑÕ¡±ÕâÀàÆ·ÅÆ£¬ÏµÍ³¿ÉÒÔÕÙ»ØÏà¹ØµÄÒ½ÃÀÃŵꡣ

4.3 ͼÆ×ÍÆ¼öÀíÓÉ

¸ÃÏîÄ¿Êý¾ÝÀ´×ÔÓû§µÄ»­ÏñÐÅÏ¢¡¢ÉÌ»§µÄÌØÕ÷ÐÅÏ¢¡¢Óû§°ëÄêÄÚÊÕ²Ø/¹ºÂòÐÐΪ£¬Êý¾ÝÁ¿¼¶ÊÇ 10 ÒÚ¼¶±ð£¬T+1 È«Á¿¸üС£ÏÖÔÚÃÀÍÅ App ºÍµãÆÀ App ÉÏĬÈϵÄÉÌ»§ÍƼöÁбíÊÇÓÉÉî¶ÈѧϰģÐÍÉú³ÉµÄ£¬µ«Ä£ÐͲ¢²»»á¸ø³öÉú³ÉÕâ¸öÁбíµÄÀíÓÉ£¬È±ÉٿɽâÊÍÐÔ¡£

¶øÔÚͼÆ×ÀïÓû§¸úÉÌ»§Ö®¼äÌìÈ»´æÔÚ¶àÌõÁ¬Í¨Â·¾¶£¬ÏîÄ¿¿¼ÂÇÑ¡³öÒ»ÌõºÏÊÊ·¾¶À´Éú³ÉÍÆ¼öÀíÓÉ£¬ÔÚ App ½çÃæÉÏչʾ¸øÓû§ÍƼöij¼ÒµêµÄÔ­Òò¡£¸ÃÏîÄ¿»ùÓÚÓû§µÄЭͬ¹ýÂËËã·¨À´Éú³ÉÍÆ¼öÀíÓÉ£¬ÔÚ¼ÒÏç¡¢Ïû·Ñˮƽ¡¢Æ«ºÃÀàÄ¿¡¢Æ«ºÃ²ËϵµÈ¶à¸ö×éºÏά¶ÈÖÐÕÒ³ö¶àÌõ·¾¶£¬È»ºó¸øÕâЩ·¾¶´ò·Ö£¬Ñ¡³öÒ»Ìõ·ÖÖµ½Ï¸ßµÄ·¾¶£¬Ö®ºó°´ÕÕÌØ¶¨ Pattern ²ú³öÍÆ¼öÀíÓÉ¡£Í¨¹ýÉÏÊö·½Ê½£¬¾Í¿ÉÒÔ»ñµÃ¡°ÔÚ±±¾©Ï²»¶±±¾©²ËµÄɽ¶«ÀÏÏ綼˵Õâ¼ÒµêºÜÔÞ¡±£¬»òÕß¡°¹ãÖÝÀÏÏç¶¼ÖÐÒâËû¼ÒµÄÕý×Ú±±¾©Õ¨½´Ã桱ÕâÀàÀíÓÉ¡£

4.4 ´úÂëÒÀÀµ·ÖÎö

¸ÃÏîÄ¿°Ñ´úÂë¿âÖдúÂëÒÀÀµ¹ØÏµÐ´È뵽ͼÊý¾Ý¿â¡£´úÂë¿âÖдæÔںܶà·þÎñ´úÂ룬ÕâЩ·þÎñ»á°üÀ¨¶ÔÍâÌṩµÄ½Ó¿Ú£¬ÕâЩ½Ó¿ÚµÄʵÏÖÒÀÀµÓڸ÷þÎñÖÐijЩÀàµÄ³ÉÔ±º¯Êý£¬ÕâЩÀàµÄ³ÉÔ±º¯ÊýÓÖÒÀÀµÁ˱¾ÀàµÄ³ÉÔ±±äÁ¿¡¢³ÉÔ±º¯Êý»òÕ߯äËüÀàµÄ³ÉÔ±º¯Êý£¬ÄÇôËüÃÇÖ®¼äµÄÒÀÀµ¹ØÏµ¾ÍÐγÉÁËÒ»ÕÅͼ£¬¿ÉÒÔ°ÑÕâ¸öͼдµ½Í¼Êý¾Ý¿âÀï×ö´úÂëÒÀÀµ·ÖÎö¡£

µäÐÍÓ¦Óó¡¾°ÊǾ«×¼²âÊÔ£ºµ±¿ª·¢Í¬Ñ§Íê³ÉÐèÇó²¢Ïò¹«Ë¾µÄ´úÂë²Ö¿âÌá½»ÁË PR ºó£¬¿ÉÒ԰Ѹü¸ÄʵʱµØÐ´µ½Í¼Êý¾Ý¿âÖС£ÕâÑùµÄ»°£¬¿ª·¢Í¬Ñ§¾ÍÄܲ鵽ËûËùдµÄ´úÂëÓ°ÏìÁËÄÄЩÍⲿ½Ó¿Ú£¬²¢ÇÒ½èÖúͼ¿ÉÊÓ»¯×é¼þ²é¿´µ÷Ó÷¾¶¡£Èç¹û¿ª·¢Í¬Ñ§±¾À´ÊÇÒª¸Ä½Ó¿Ú A µÄÐÐΪ£¬¸ÄÁ˺ܶà´úÂ룬µ«ÊÇËû¿ÉÄܲ¢²»ÖªµÀËû¸ÄµÄ´úÂëÒ²»áÓ°Ïìµ½¶ÔÍâ½Ó¿Ú B¡¢C¡¢D£¬Õâʱºò¾Í¿ÉÒÔÓôúÂëÒÀÀµ·ÖÎöÀ´×ö¸ö Check£¬Ôö¼Ó²âÊÔµÄÍ걸ÐÔ¡£

5 ×ܽáÓëÕ¹Íû

Ŀǰ£¬Í¼Êý¾Ý¿âƽ̨»ù±¾¾ß±¸Á˶ÔͼÊý¾ÝµÄһվʽ×ÔÖú¹ÜÀí¹¦ÄÜ¡£Èç¹ûij¸öÒµÎñ·½ÒªÊ¹ÓÃÕâÖÖͼÊý¾Ý¿âÄÜÁ¦£¬ÄÇôҵÎñ·½¿ÉÒÔÔÚÆ½Ì¨ÉÏ×ÔÖúµØ´´½¨Í¼Êý¾Ý¿â¼¯Èº¡¢´´½¨Í¼µÄ Schema¡¢µ¼ÈëͼÊý¾Ý¡¢ÅäÖõ¼ÈëÊý¾ÝµÄÖ´Ðмƻ®¡¢ÒýÈëÆ½Ì¨ÌṩµÄ SDK ¶ÔÊý¾Ý½øÐвÙ×÷µÈµÈ¡£Æ½Ì¨²àÖ÷Òª¸ºÔð¸÷ÒµÎñ·½Í¼Êý¾Ý¿â¼¯ÈºµÄÎȶ¨ÐÔ¡£Ä¿Ç°£¬ÃÀÍÅÓÐÈýËÄÊ®¸öÒµÎñÒѾ­ÔÚ¸ÃÆ½Ì¨ÉÏÂ䵨£¬»ù±¾Âú×ãÁ˸÷¸öÒµÎñ·½µÄÐèÇó¡£

δÀ´¹æ»®Ö÷ÒªÓÐÁ½¸ö·½Ïò£¬µÚÒ»£¬¸ù¾ÝÒµÎñ³¡¾°ÓÅ»¯Í¼Êý¾Ý¿âÄںˣ¬ÌáÉýƽ̨Îȶ¨ÐÔ£¬¿ª·¢µÄͨÓà Feature ³ÖÐø·´²¸ NebulaGraph ÉçÇø¡£µÚ¶þ£¬ÍÚ¾ò¸ü¶àµÄͼÊý¾Ý¼ÛÖµ¡£ÏÖÔÚÆ½Ì¨½öÖ§³ÖͼÊý¾Ý´æ´¢¼°¶àÌø²éѯÕâÖÖ»ù±¾ÄÜÁ¦£¬ºóÐø½«»ùÓÚ NebulaGraph ȥ̽Ë÷ͼѧϰ¡¢Í¼¼ÆËãµÄÄÜÁ¦£¬ÎªÆ½Ì¨Óû§Ìṩ¸ü¶àÍÚ¾òͼÊý¾Ý¼ÛÖµµÄ¹¦ÄÜ¡£

   
1587 ´Îä¯ÀÀ       30
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]
 
×îÐÂÎÄÕÂ
InfluxDB¸ÅÄîºÍ»ù±¾²Ù×÷
InfluxDB TSM´æ´¢ÒýÇæÖ®Êý¾ÝдÈë
Éî¶ÈÂþ̸Êý¾Ýϵͳ¼Ü¹¹¡ª¡ªLambda architecture
Lambda¼Ü¹¹Êµ¼ù
InfluxDB TSM´æ´¢ÒýÇæÖ®Êý¾Ý¶ÁÈ¡
×îпγÌ
OracleÊý¾Ý¿âÐÔÄÜÓÅ»¯¡¢¼Ü¹¹Éè¼ÆºÍÔËÐÐά»¤
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
NoSQLÊý¾Ý¿â£¨Ô­Àí¡¢Ó¦Óá¢×î¼Ñʵ¼ù£©
ÆóÒµ¼¶Hadoop´óÊý¾Ý´¦Àí×î¼Ñʵ¼ù
OracleÊý¾Ý¿âÐÔÄÜÓÅ»¯×î¼Ñʵ¼ù
³É¹¦°¸Àý
ij½ðÈÚ¹«Ë¾ Mysql¼¯ÈºÓëÐÔÄÜÓÅ»¯
±±¾© ²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
ÖªÃûijÐÅϢͨÐŹ«Ë¾ NoSQL»º´æÊý¾Ý¿â¼¼Êõ
±±¾© oracleÊý¾Ý¿âSQLÓÅ»¯
ÖйúÒÆ¶¯ IaaSÔÆÆ½Ì¨-Ö÷Á÷Êý¾Ý¿â¼°´æ´¢¼¼Êõ