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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
CockroachDBÖ®±¾µØÒÔ¼°·Ö²¼Ê½²éѯ´¦Àí
 
À´Ô´£º¼«¿ÍÍ·Ìõ ·¢²¼ÓÚ£º 2017-6-22
  5887  次浏览      28
 

µ±CockroachDB½Úµã½ÓÊÕµ½²éѯSQLʱ£¬´ó¸Å»á·¢ÉúʲôÊÂÇéÄØ£º

pgwireÄ£¿é¸ºÔðÓë¿Í»§¶ËÓ¦ÓÃͨÐÅ£¬´Ó¿Í»§¶Ë½ÓÊÕ²éѯÇëÇó¡£½«SQLÎı¾·ÖÎö²¢×ª»»Îª³éÏóÓï·¨Ê÷£¨Abstract Syntax Tree£¬¼ò³ÆAST£©¡£È»ºó½øÒ»²½·ÖÎö²¢½«Æäת»»ÎªÂß¼­²éѯ¼Æ»®£¬¸Ã¼Æ»®ÊǹØÏµÔËËã·ûµÄÊ÷£¬Èç¹ýÂËÆ÷£¬äÖȾ£¨ÏîÄ¿£©£¬Á¬½Ó¡£ ˳±ã˵һÏ£¬Âß¼­¼Æ»®Ê÷ÊÇÓÉEXPLAINÓï¾ä±¨¸æµÄÊý¾Ý¡£

È»ºó½«Âß¼­¼Æ»®½»¸ø¸ºÔðÖ´ÐвéѯµÄback-end²ã£¬²¢Éú³ÉÒª·µ»Ø¸ø¿Í»§¶ËµÄ½á¹ûÊý¾Ý¡£

CockroachDBÀïÓÐÁ½ÖÖback-end£º±¾µØÖ´ÐÐÒýÇæºÍ·Ö²¼Ê½Ö´ÐÐÒýÇæ¡£

±¾µØ²éѯ´¦Àí

±¾µØÖ´ÐÐÒýÇæÄܹ»Ö±½ÓÔÚ¿Í»§¶ËÓ¦ÓóÌÐòÁ¬½ÓµÄ½ÚµãÉÏÖ´ÐÐSQLÓï¾ä¡£ËüÖ÷ÒªÔÚ±¾µØ´¦Àí²éѯ£¬ÔÚÒ»¸ö½ÚµãÉÏ:ËüÐèÒªµÄÈκÎÊý¾Ý¶¼¿ÉÒÔÔÚ¼¯ÈºÖÐµÄÆäËû½ÚµãÉ϶ÁÈ¡£¬È»ºó¸´ÖƵ½´¦Àí½ÚµãÉÏÒÔ¹¹½¨²éѯ½á¹û¡£

CockroachDBµÄ±¾µØÒýÇæµÄ¼Ü¹¹´óÖÂ×ñÑ­Goetz GraefeÓÚ1993ÄêÃèÊöµÄ»ðɽģÐÍ£¨PDFÁ´½Ó£©¡£´ÓÈí¼þ¼Ü¹¹Ê¦µÄ½Ç¶ÈÀ´¿´£¬Âß¼­²éѯ¼Æ»®ÖеÄÿ¸ö½Úµã¶¼ÏñÒ»¸öÓÐ״̬µÄµü´úÆ÷£¨ÀýÈçPython·¢ÉúÆ÷×öʲô£©£ºÔÚÊ÷µÄ¸ùÉϵü´úÉú³ÉËùÓнá¹ûÐУ¬²¢ÇÒÔڼƻ®Ê÷µÄÿ¸ö½Úµã´¦£¬Ò»´Îµü´ú½«ÔÚÊ÷ÖнøÒ»²½ÏûºÄÁã¸ö»ò¶à¸ö½ÚµãµÄµü´ú¡£Ê÷µÄÊ÷Ò¶ÊDZí»òË÷Òý¶ÁÈ¡Æ÷½Úµã£¬ËüÏòCockroachDBµÄ·Ö²¼Ê½´æ´¢²ã·¢³öKV²éÕÒ²Ù×÷¡£

*Âß¼­¼Æ»®ÊµÀý£º

SELECT cust_id, address FROM customer WHERE name LIKE ¡®Comp%¡¯ AND state = ¡®CA¡¯

¼ÙÉècust_id¾ÍÊÇÖ÷¼ü£¬²¢ÇÒcustomer(name)ÉÏÃæ½¨Á¢ÁËË÷Òý¡£*

´Ó´úÂëµÄ½Ç¶ÈÀ´¿´£¬Ã¿¸ö¹ØÏµ²Ù×÷·û¶¼ÊÇ×÷Ϊµü´úÆ÷µÄ¡°ÏÂÒ»¸ö¡±·½·¨µÄʵÏÖ£»µ±Ö´Ðвéѯʱ£¬µü´úÆ÷µÄÊ÷ÊÇÓÐÐòµÄ½øÐд¦Àí£ºÃ¿¸ö½ÚµãµÄ¡°ÏÂÒ»¸ö¡±·½·¨¶¼´¦Óڵȴý״̬£¬Ö±µ½Ô´½ÚµãÍê³É×Ô¼ºµÄ¡°ÏÂÒ»¸ö¡±·½·¨µ÷ÓᣴÓÍⲿ¿´£¬²éѯִÐÐÂß¼­ÖðÐд¦ÀíÊý¾Ý²¢×÷³ö¾ö¶¨£¨ÀýÈ磬±£Áô/ɾ³ýÐУ¬¼ÆËãÅÉÉú½á¹û£©¡£´¦Àí±¾ÖÊÉÏÊÇÁ¬ÐøµÄ¡£

¼òµ¥ÊǸÃÒýÇæµÄÖ÷ÒªÌØµã¡£

¸ÃÒýÇæµÄ´úÂë¿ÉÒÔ½öʹÓñ¾µØÍÆÀí½øÐÐÉó²éºÍÑéÖ¤£¬´Ó¶ø±£Ö¤ÕýÈ·ÐÔ; ¶Ô´ËÎÒÃÇ£¨CockroachDB¿ª·¢ÈËÔ±£©ÊDZȽÏÐÅÈεġ£

ÁíÍ⣬ÒòΪ´¦ÀíÊÇÔÚ±¾µØÖ´Ðеģ¬ËùÒÔ˵Èç¹û±¾µØ(ÔÚÏàͬµÄ½ÚµãÉÏ)ÓÐÐèÒªµÄËùÓÐÊý¾Ý£¬²¢ÇÒ/»òÕßÔÚÔ´±í/Ë÷ÒýÖÐÖ»ÓÐÉÙÊýÐнøÐд¦Àíʱ£¬Ôò¿ÉÒԷdz£¿ìËÙµØÌṩ½á¹û¡£

±¾µØ²¢Ðд¦ÀíUPDATE

¿Í»§¶ËÓ¦ÓóÌÐòÖеij£¼ûģʽÊÇÔÚµ¥¸ö»á»°/ÊÂÎñµÄÒ»ÐÐÖз¢³ö¶à¸öINSERT»òUPDATE£¨»òUPSERT»òDELETE£©Óï¾ä¡£Í¬Ê±£¬CockroachDBÖеÄÊý¾Ý¸üбØÐë±È´ó¶àÊýÆäËûSQLÒýÇæ³ÖÐø¸ü³¤Ê±¼ä£¬ÒòΪΪÁ˱£³ÖÒ»ÖÂÊÇÐèÒªÇ¿ÖÆÐÔµÄÍøÂçÁ÷Á¿¡£

ÎÒÃÇÕÒµ½ÁË×Ô¼ºµÄÀ§»ó£ºÎÒÃÇΪʲô²»ÄÜͨ¹ý²¢ÐеØÖ´ÐÐËüÃÇ´Ó¶ø¼Ó¿ìÊý¾ÝдÈëµÄ´¦ÀíÄØ£¿ÕâÑùµÄ»°£¬ËäÈ»Ð޸ĵ¥¸öÊý¾ÝµÄÓï¾äµÄÑÓ³Ù¸ü¸ß£¬µ«Èç¹ûÓжà¸öµÄ»°£¬ÄÇôÊÇ¿ÉÒÔ½µµÍ×ÜÌåµÄÑÓ³Ù¡£

È»¶ø£¬ÕâÖÖµ÷Õû´øÀ´µÄ¸Ä±äÊÇ΢²»×ãµÀµÄ¡£

ÔÚ¿Í»§»úÓ¦ÓóÌÐòºÍÊý¾Ý¿â·þÎñÆ÷Ö®¼ä±»¿´×÷ÊÇAPIʱ£¬±ê×¼SQLÓïÑÔÓÐÒ»¸ö²»·½±ãµÄÊôÐÔ:Ëü²»ÔÊÐí²¢Ðд¦Àí¶à¸ö²éѯ¡£

SQLÓïÑÔµÄÉè¼ÆÕßÒѾ­¹æ¶¨Ã¿ÌõSQLÓï¾äÖ´ÐÐʱµÄ״̬Ӧ¸Ã¡°¾Í¼ÙÉè֮ǰµÄÓï¾äÒѾ­Ö´ÐÐÍê³ÉÒ»Ñù¡±£¬ÌرðÊÇPostgreSQLºÍCockroachDB²ÉÓõķ½ÑÔ¡£ÀýÈ磬Èç¹ûÔÚINSERTÖ®ºó½ô¸ú×ÅÖ´ÐÐÁËÒ»±éSELECT£¬ÄÇôSELECTʱ¾Í±ØÐë¼ÙÉèÒѾ­INSERTÖ´ÐÐÍêÁË¡£³ý´ËÖ®Í⣬SQL¡°API¡±»ò¡°Ð­Ò顱ÊǻỰʽµÄ:ÿ¸öÓï¾ä¶¼¿ÉÄÜÓÐÒ»¸ö½á¹û£¬¶ø¿Í»§¶ËÓ¦ÓóÌÐòÔÚ¾ö¶¨ÏÂÒ»²½½«ÔËÐÐÄĸöÓï¾ä֮ǰ£¬ÊÇ¿ÉÒÔ¹Û²ì½á¹ûµÄ¡£ÀýÈçUPDATEÍê³ÉÖ®ºóÒ²»áÓÐÒ»¸ö·µ»Ø½á¹û£ºÓ°ÏìÁ˶àÉÙÌõÊý¾Ý¡£¿Í»§¶Ë¿ÉÒÔʹÓÃUPDATEÈ¥¸üÐÂÒ»ÌõÊý¾Ý£¬Èç¹ûUPDATEµÄ½á¹ûÏÔʾӰÏì0ÌõÊý¾Ý£¨²»´æÔÚÕâÑùµÄÊý¾Ý£©£¬ÄÇô»á¾ö¶¨·¢³öINSERT¡£

SQLÓïÑÔµÄÓïÒåÌØÕ÷ÊǷdz£ÓÐÓõģ»ËüÃǸ³ÓèÁ˿ͻ§¶ËÓ¦ÓúܶàµÄ¿ØÖÆ¡£µ±Ê±ÎªÁ˰ÑÕâÐ©ÌØÕ÷¸ø°üº¬µ½SQLÖжø×ö³öµÄÑ¡Ôñ£¬ÎÞÒâµ±ÖÐÈ´µ¼ÖÂÁËSQL²¢ÐÐ×Ô¶¯»¯Ö´ÐгÉΪÁ˲»¿ÉÄÜ¡£

×Ô¶¯»¯²¢ÐÐÊÇʲôÑù×ӵģ¿ÔÚ¼ÆËã»ú¿ÆÑ§µ±ÖÐÕâÊÇÒ»¸ö·Ç³£¾­µäµÄÎÊÌâ¡£µ±´¦ÔÚ×ã¹»¸ßµÄ¼¶±ðÉÏʱ£¬Ã¿¸ö½â¾ö·½°¸¿´ÆðÀ´¶¼ÊÇÒ»ÑùµÄ:´ÓÓ¦ÓóÌÐò½ÓÊÕÖ¸Áî/²Ù×÷/²éѯµÄ´¦ÀíÒýÇæ±ØÐëÕÒ³öÄÄЩ²Ù×÷ÔÚ¹¦ÄÜÉ϶ÀÁ¢ÓÚËüÃÇ֮ǰºÍÖ®ºó¡£Èç¹û¿Í»§¶ËÓ¦ÓûòÕß³ÌÐòÏò´¦ÀíÒýÇæ·¢ËÍÖ¸Áî¡°´¦ÀíA£¬ÔÙ´¦ÀíB¡±£¬ÄÇô´¦ÀíÒýÇæ»áÈ·ÈÏBÊDz»ÐèÒªAÌṩÈκνá¹ûµÄ£¬Èç¹ûBÔÚA֮ǰÍê³É£¬ÔòA²»»áÊܵ½Ó°Ï죬¿ÉÒÔÔÚAÍê³É֮ǰÆô¶¯B£¨¿ÉÄÜÔÚͬһʱ¼äµã£©£¬ÒÔ±ãAºÍB²¢ÐÐÖ´ÐС£µ±È»£¬Ã¿Ò»¸ö·µ»Ø¸øÓ¦ÓûòÕß³ÌÐòµÄ²Ù×÷½á¹û±ØÐë¿´ÆðÀ´ºÃÏñÊÇÑϸñ°´ÕÕ˳ÐòÖ´Ðеġ£

ʹÓñê×¼SQL£¬Ò»µ©Êý¾ÝÐÞ¸ÄÓï¾äÓëͬһ¸ö±íÉϵÄSELECT½øÐн»´í£¬¾ÍºÜÄÑÈ·¶¨¡£

È»¶ø£¬µ±ÎÒÃÇÓëijЩ¶ÔдÑÓ³ÙÓÐÌØ±ðÐËȤµÄÓû§ÌÖÂÛÕâ¸öÎÊÌâʱ£¬ÎÒÃÇ´ï³ÉÁËÒ»ÖµĹ۵ã:ÎÒÃÇ¿ÉÒÔÀ©Õ¹ÎÒÃǵÄSQL·½ÑÔ£¬ÒÔÌṩ¿ÉÒÔ²¢Ðд¦ÀíµÄCockroachDBÌØ¶¨µÄÓï·¨À©Õ¹¡£ÕâÊÇ¿ÉÒÔ±»½ÓÊܵĵģ¬ÒòΪÓëÑÓ³Ù¸ü¸ßµÄ½»Ò×µ¼ÖµijÖÐøÒµÎñ³É±¾Ïà±È£¬¸üпͻ§¶Ë´úÂëÒÔÌí¼Ó±ØÒªµÄ×¢Ê͵ÄÒ»´ÎÐÔǰÆÚ³É±¾ÊǿɽÓÊܵġ£

¿ÉÒÔÔÚÎÒÃǵĿâÖÐÕÒµ½ÏêϸµÄÉè¼Æ¡£ÎªÁËÀûÓÃÕâ¸öй¦ÄÜ£¬¿Í»§¶ËÓ¦ÓóÌÐò¿ÉÒÔʹÓÃÌØÊâµÄ×Ó¾äRETURNNING NOTHINGÀ´Ö´ÐÐINSERT/DELETE/UPSERT/UPDATE¡£µ±Ê¹ÓÃRETURNING NOTHING·¢³öÁ½¸ö»ò¶à¸öÊý¾ÝÐÞ¸ÄÓï¾äʱ£¬±¾µØÖ´ÐÐÒýÇæ½«Í¬Ê±Æô¶¯ËüÃÇ£¬ËüÃÇ¿ÉÒÔ²¢ÐеؽøÐС£Ö»Óе±ÊÂÎñ±»Ìύʱ£¬ÒýÇæ²Å»áµÈ´ýÖ±µ½Íê³ÉËùÓеÄÊý¾Ý¸üС£

CockroachDBµÄ·Ö²¼Ê½²éѯ´¦Àí

³ýÁ˱¾µØÒýÇæ£¬CockroachDB»¹ÌṩÁËÒ»¸ö·Ö²¼Ê½Ö´ÐÐÒýÇæ¡£ÕâÑù×öµÄ×÷ÓÃÊǽ«µ¥¸öSQLÓï¾äËùÐèµÄ´¦Àí²¿·ÖίÍиø¼¯ÈºÖеĶà¸ö½Úµã£¬ÕâÑù´¦Àí¾Í¿ÉÒÔ²¢ÐеØÔÚ¶à¸ö½ÚµãÉϽøÐУ¬²¢ÓÐÍûÍê³ÉµÃ¸ü¿ì¡£ÎÒÃÇ»¹¿ÉÒÔÆÚÍûËüÏûºÄ½ÏÉÙµÄÍøÂçÁ÷Á¿£¬ÀýÈç¿ÉÒÔÔÚÔ´´úÂëÖÐÓ¦ÓùýÂËÆ÷¡£

ÕâÆªÎÄÕÂÏêϸ½éÉÜÁËÔ­ÒòºÍ´ó¸ÅµÄ·½Ê½¡£ÎÒÃǽ«·ÖÁ½Æªµ¥¶ÀµÄÎÄÕ£¬½øÒ»²½ËµÃ÷ËüÊÇÈçºÎ¹¤×÷µÄ¡£

µß¸²¾É¹ÛÄî

·Ö²¼Ê½´¦ÀíÒýÇæ³£¼ûµÄÔ­ÒòÊÇÒòΪÎÒÃÇͨ¹ý¹Û²ì·¢ÏÖ²éѯµÄÊý¾Ýͨ³£·Ö²¼ÔÚ¼¯ÈºÖеĶà¸ö½ÚµãÉÏ¡£Ïà±È½«Êý¾Ý·ÅÔÚµ¥¸ö´¦Àí½ÚµãÉÏ£¬Ö±¾õ¸æËßÎÒÃÇ¿ÉÒÔ½«°Ñ¶ÔÊý¾ÝµÄ¼ÆËã½øÐÐ×ªÒÆ£¬ÕâÑù×ö¿ÉÒÔ½ÚÊ¡´¦Àíʱ¼ä£¨=ʹ²éѯ¸ü¿ì£©¡£

È»¶ø£¬µ±ÄãµÄ˼·´¦ÔÚ¸ü¸ß²ã¼¶£¬Äã»á·¢ÏÖÕâÖÖÏë·¨»¹ÊÇÌ«lowÁË:Èç¹û½ö½öÊdzöÓÚÕâ¸öÄ¿µÄ£¬ÄÇô³ýÁ˲éѯ·Ö·¢Ö®Í⣬»¹ÓÐÐí¶à¿ÉÄܵĽâ¾ö·½°¸¡£

ÀýÈ磬ÓÐÈË¿ÉÄÜ»á˵£¬ÒѾ­ÓкܺõķǷֲ¼Ê½½â¾ö·½°¸À´Ìá¸ßÐÔÄÜ¡£

¿ÉÒÔ½«¹ýÈ¥30ÄêÀ´ÄÇЩΰ´óÖǻ۵Ľᾧ¹é½áΪ£ºÍ¨¹ýÀúÊ·¹Û²ì¿ÉÒÔÕâÑù˵£¬Éú²ú´úÂëÖеÄÊý¾Ý¹¤×÷¸ºÔØÒªÃ´ÊÇÓÉСÐ͵ÄÍ»·¢ÊÂÎñ×é³É£¬ÕâЩÊÂÎñÐèÒªµÄÊý¾ÝÊÓͼµÃÊÇ×îÐµģ¬²¢ÇÒ»¹µÃÊÇÒ»Öµģ¬µ«ÊÇֻɿ¼°µ½·Ç³£ÉÙµÄÊý¾ÝÁ¿£¨OLTP¹¤×÷¸ºÔØ£©£¬ÒªÃ´¾ÍÊÇÓÉÄÇЩ³¤¾ÃµÄ¡¢¿ç¶È´óµÄ²¢ÇÒÖ»¶ÁµÄÊÂÎñ×é³É£¬ÕâЩÊÂÎñÉæ¼°µ½Êý¾ÝÁ¿¾Í±È½Ï´óÁË£¬µ«ÊÇͨ³£¶ÔÊý¾ÝÊÓͼ²»ÒªÇóÊÇ×îеģ¬Ò²²»ÒªÇóÊÇÒ»Öµģ¨·ÖÎö¹¤×÷¸ºÔØ£¬ÏßÉÏ»òÕßÊÇÏßÏ£©¡£

´ÓÕâ¸ö¹Û²ì¿ÉÒÔ¿´³ö£¬OLTPµÄ¹¤×÷¸ºÔØÖ÷ÒªÊÇÔÚ·Ö²¼Ê½´æ´¢ÏµÍ³ÖÐÓëÉÙÁ¿µÄ½Úµã½øÐÐͨÐÅ£¨ÒòΪÖ÷ÒªºÍ¸¨ÖúË÷Òý»á½«¹¤×÷ËõСµ½´æ´¢Öеļ¸ÐУ©£¬¶ø·ÖÎö¹¤×÷¸ºÔØ¿ÉÒÔÔÚÎﻯÊÓͼÉÏÃæÔËÐУ¬ÕâЩÊÓͼÊÇÔÚÔÚµ¥¶ÀµÄϵͳÖÐÒ첽ά»¤µÄ£¬ÒÔÒ»ÖÂÐÔΪ´ú¼Û£¨ÒòΪËüÃDz»ÐèÒª¸üÐÂÈκÎÄÚÈÝ£©¶ÔÔö´óÍÂÍÌÁ¿½øÐÐÓÅ»¯¡£ÎÞÂÛÔÚÄÄÖÖÇé¿öÏ£¬·Ö²¼Ê½´¦Àí¶¼²»ÄÜÌåÏÖ³öÃ÷ÏÔµÄÔöÖµ¡£

·Ö²¼Ê½´¦ÀíµÄÁíÍâÒ»¸ö³£¼ûµÄ¶¯»úÊÇΪÁËÏòÇ°ÃæÌáµ½µÄ30ÄêµÄÖǻ۽ᾧ·¢ÆðÌôÕ½£¬³ÐÈÏÔÚ»¥ÁªÍø·þÎñÖÐÐÂÐ͹¤×÷¸ºÔصÄȽȽÉýÆð£ºÏÖÔÚ×î³£¼ûµÄÊÇOLTP¹¤×÷¸ºÔØÔÚ¸üÐÂÉÙÁ¿Êý¾Ý֮ǰ£¬ÐèÒª¶ÁÈ¡´óÁ¿µÄÊý¾Ý£¬¶ø·ÖÎö¹¤×÷¸ºÔصĺô¦¾ÍÊÇÔÚÔ¤ÖªÐèÒª¶ÁÈ¡ÉÙÁ¿×îеÄÊý¾Ý¼´¿É¡£ÔÚÕâÁ½ÖÖÇé¿öÏ£¬·Ö²¼Ê½´¦Àí¿´ËÆ¶¼ÌṩÁËÓÐЧµÄ½â¾ö·½°¸£¬¿ÉÒÔʹËüÃDZäµÃ¸ü¿ì¡£

È»¶ø£¬Óë¸ü¸ß¼¶µÄÔÙÏà±È£¬ËüÃÇ»¹ÊÇÏԵñȽÏÈõ£¬ÒòΪÓÉÓÚÕâЩ¹¤×÷Á¿ÒѾ­±äµÃ˾¿Õ¼û¹ß£¬ÎÒÃÇÒѾ­¿´µ½ÁËһЩ¿´ÆðÀ´¸ü¼òµ¥¡¢¸üÓÐЧµÄ¼¼ÊõºÍ±ê×¼µÄ³öÏÖ£¬ÕýÊÇΪÁ˽â¾öÕâЩÓÃÀý¡£

¶ÔÓÚÔÚÖ´ÐÐUPDATE֮ǰ£¬ÐèÒª×öÊÂÎñÐÔµÄÏà¹Ø¹¤×÷£¬°üÀ¨´óÁ¿µÄÊý¾Ý¶ÁÈ¡£¬ÄÇô³£Óõķ½·¨ÊÇʹÓúÏÊʵĻº´æ¡£MemcachedÒÔ¼°ÆäËûÏà¹Ø¼¼ÊõµÄ³öÏÖ¾ÍÊÇΪÁ˽â¾öÕâ¸öÎÊÌâµÄ¡£¶ÔÓÚÐèÒª×îÐÂÊý¾ÝµÄ·ÖÎö´¦Àí£¬¶îÍâµÄ¸´ÖƶÑÕ»¿ÉÒÔÈ·±£·ÖÎöÊäÈë¼ÈÊÇ×îеÄÒ²¿ÉÒÔ¿ìËÙ·ÃÎÊ£¬ÕâЩ¶ÑÕ»ÊÇÓÃÀ´Î¬»¤ÎﻯÊÓͼµÄÒ»ÖÂÐÔ¡£Á¼ºÃµÄ»º´æºÍÊÂÎñ/ʼþÈÕÖ¾¼Ç¼ÊÇʵÏÖÕâһĿ±êµÄÓÐÃûµÄÒ²ÊÇÓÐЧµÄ¼¼ÊõÊֶΣ¬²¢ÇÒÏà¶ÔÓÚͨÓõķֲ¼Ê½´¦ÀíÒýÇæ£¬¹©Ó¦É̸üÈÝÒ×ÌṩÏà¹Ø¼¼Êõ¡£

ÔÚеļÆËãÐèÇóµÄ±í´ïÓë¼ÓËÙËüÃǵÄרÃŽâ¾ö·½°¸µÄÉè¼ÆÖ®¼äÀ´À´ÍùÍùÊǼÆËã»úºÍÈí¼þ¼Ü¹¹Ê¦µÄÖ÷Òª¹¤×÷£¬²¢ÇÒÕâÒ²ÊǼÆËãÀúÊ·ÉÏ×î¾­³£³öÏֵĻæÍ¼É豸¡£±Ï¾¹£¬Ëü¡°Ö»Êǹ¤×÷¡±£¬¶Ô°É£¿

ËäÈ»ÔËÐÐÁË£¬µ«ËüÊÇÈç´ËµÄ¸´ÔÓ£¡

ÔÚÕâÀ¡°¸´ÔÓ¡±ÊÇʹÓÃÐèÒª¸¶³ö°º¹ó´ú¼ÛµÄίÍñ˵·¨¡£

·Ö²¼Ê½²éѯ´¦ÀíµÄ³õÖÔ

ÔÚÕâ¸ö¹ÊÊÂÖУ¬ÎÒÃǽÒʾÁ˼ÆËã»úÀúÊ·ÉϵڶþÖÖ×î³£¼ûµÄ»æÍ¼É豸:Åųý¸´ÔÓÐÔ¡£ËüµÄ¹¤×÷Ô­Àí½éÉÜÈçÏ£º

¡°×÷Ϊ³ÌÐòÔ±£¬ÎÒÕæµÄ²»ÏëÁ˽âËùÓÐÕâЩרÃŵĶ«Î÷¡£ÎÒÖ»Ï뿪·¢ÎÒµÄÓ¦ÓóÌÐò£¡¡±

¡°×÷Ϊ¹«Ë¾Àϰ壬ÎÒ²»ÏëΪÁË´ïµ½Òµ¼¨£¬¶øÐèÒªÓë10¼Ò²»Í¬µÄ¼¼ÊõÌṩÉÌ´ò½»µÀ¡£ÎÒµÄÈðÊ¿¾üµ¶ÔÚÄÄ£¿¡±

Èç¹ûûÓÐͨÓõķֲ¼Ê½¼ÆËãÒýÇæ£¬¿ª·¢ÈËÔ±»ò¼¼ÊõÈËÔ±´¦ÀíÊý¾Ý±ØÐëʱ¿ÌÀμÇÐí¶àÎÊÌâµÄ´ð°¸£ºÎÒµÄÓ¦ÓóÌÐòÔÚÊý¾Ý¿âÖÐÅ׳öʲôÑùµÄ¹¤×÷Á¿£¿ÎÒÐèҪʲô¶þ¼¶Ë÷ÒýÀ´Ê¹²éѯ¸ü¿ì£¿ÎÒÐèÒª²ÉÓÃÄĸöµÚÈý·½»º´æ¼¼Êõ£¿Ê¹ÓÃÄĸöÕ»À´¸ú×ÙÊý¾Ý²Ö¿âÖеĸüÐÂʼþ£¿Ó¦¸ÃʹÓÃÄÄЩ¿Í»§¶Ë¿âÀ´±£³ÖÒ»ÖµÄÊý¾ÝÊÓͼ£¬ÒÔ±ÜÃâ·þÎñÆ÷ÉÏ»¨·Ñ³¤Ê±¼äµÄÑÓ³Ù²éѯ£¿

Éè¼ÆÒ»¸ö»¥ÁªÍø¹æÄ£µÄÓ¦ÓóÌÐò»ò·þÎñËùÐèÒªµÄ֪ʶ£¬ÊÇÐèÒª»¨·ÑºÜ¶àʱ¼äµÄ£¬ÏàÓ¦µÄ²Ù×÷³É±¾(Èí¼þ+ÈËÁ¦×ÊÔ´)Ò²³¬³öÁËÒ»¶¨µÄ·¶Î§¡£

Õâ¾ÍÊÇÎÒÃÇÖ®ËùÒÔÖ»ÒªÔÚCockroachDBÉè¼Æ·Ö²¼Ê½´¦ÀíµÄÔ­Òò£ºÒ»Öֶ๦Äܹ¤¾ß£¬¿ÉÒÔÔÚÊý¾Ý¸½½üÖ´ÐÐÈÎÒâ¼ÆËã¡£

ÎÒÃǵij¤ÆÚÄ¿±êÊǰïÓû§Ïû³ý±ØÐ뿼ÂÇÈÎÒ⸴ÔÓ²Ù×÷µÄÔ­×ÓÐÔ£¬Ò»ÖÂÐÔ£¬¸ôÀëÐÔºÍÄ;ÃÐԵĸºµ££¬Ò²²»Òª¿¼ÂÇÀ´×Ô²»Í¬¹©Ó¦É̵Ť¾ßÖ®¼äµÄ¼¯³É¡£

¼ò¶øÑÔÖ®£¬ÎÒÃǵÄÄ¿±êÊÇÌá¸ßÕýÈ·ÐÔ£¬²Ù×÷¼òµ¥ÐԺ͸ü¸ßµÄ¿ª·¢ÈËÔ±¿ÉÉìËõÐÔÄܵÄЧÂÊ£¬ÓÈÆäÊÇÔÚÆÕͨµÄÇé¿öÏ£¬×÷ΪһÖÖÁ¼ºÃµÄ²¹³ä¡£

ÕâÊǽ¨Á¢CockroachDBÒÔºóÒ»ÖÖ×ÔÈ»¶øÈ»µÄÑÓÉì¡£±Ï¾¹£¬CockroachDBÔÚÐÂÒ»¼¾µÄNoSQLÈȳ±Ö®ºó£¬ÔÙ´ÎÒýÆðÁ˶ÔNewSQLµÄÐËȤ£ºÈí¼þÉçÇøÒѾ­³¢ÊÔ¹ÜÀí¿Í»§¶ËµÄ½»Ò׺Íģʽ£¬µ«ÊÇʧ°ÜÁË£¬²¢ÒѾ­³ÐÈÏÔÚÊý¾Ý¿âÒýÇæ²ãÃæ½øÐд¦Àí£¬¾ÍÕýÈ·ÐÔ£¬¼òµ¥ÐÔºÍÉú²úÁ¦·½ÃæÀ´Ëµ£¬¼ÈÓÐÖ±½ÓÓÅÊÆ£¬Ò²Óмä½ÓµÄÓÅÊÆ¡£

ÎÒÃǵķֲ¼Ê½´¦ÀíÒýÇæÀ©Õ¹ÁËÕâÒ»Ô­Ôò£¬²¢ÔÚ´Ë»ù´¡ÉÏÌá³öÁËһЩ¸ü¸´ÔӵļÆËãÐèÇó¡£

Õâ°üÀ¨µ±Î¬»¤¶þ¼¶Ë÷ÒýºÍÎﻯÊÓͼµÄÁ¼ºÃ×éºÏÊDz»ÇÐʵ¼Ê»òÌ«²»ÀûÓÚ¸üÐÂÐÔÄÜʱ£¬ÐèÒª¿ªÊ¼Æô¶¯Ö§³ÖÖ´ÐÐSQL²éѯ¡£

Ëü»¹°üÀ¨Ö§³ÖһЩ¾­³£Ö´ÐеĴóÁ¿¾ÛºÏµÄ·ÖÎö¹¤×÷£¬ÆäÖнá¹ûÐèÒª×îеÄÊäÈëÊý¾Ý¡£

µ«ÊÇ£¬×îÖÕÎÒÃÇҲϣÍûÄܹ»Âú×ã¸ü´óµÄ¹¤×÷Á¿¡£ ÀýÈ磬ÎÒÃǷdz£×ðÖØÖÆ×÷Apache SamzaµÄÔ¸¾°£¬ÎÒÃǹÄÀøÄú¹Û¿´Martin KleppmannµÄÑÝʾÎĸ塰½«Êý¾Ý¿âÍâ³ö¡±£¬ÒÔÁ˽âÎÒÃǵÄÄ¿±êµÄ×ÜÌå·½Ïò¡£

¡°ÄÚÖÃµç³Ø!¡±

Òò´Ë£¬ÎÒÃǽ«ÔÚCockroachDBÖÐʵʩ·Ö²¼Ê½´¦ÀíÒýÇæ¡£

ËüÊܵ½SawzallµÄÆô·¢£¬·Ö²¼Ê½´¦ÀíµÄ¸ß¼¶Ö®´¦ÈçÏ£º

1.À´×Ô¿Í»§¶ËÓ¦ÓõÄÇëÇó±»×ª»»Îª·Ö²¼Ê½´¦Àí¼Æ»®£¬ÀàËÆÓÚÊý¾ÝÁ÷´¦ÀíÍøÂçµÄÀ¶Í¼¡£

2.½ÓÊÕµ½²éѯµÄ½ÚµãÈ»ºó½«¸Ã²éѯ¼Æ»®²¿Êðµ½¼¯ÈºÖеÄÒ»¸ö»ò¶à¸öÆäËû½ÚµãÉÏ¡£´Ë²¿Êð°üÀ¨ÔÚÔ¶³Ìÿ¸ö½ÚµãÉÏ´´½¨¡°ÐéÄâ´¦ÀíÆ÷¡±£¨ÈçÉÙÁ¿¼ÆËãÒýÇæ£©£¬ÒÔ¼°ËüÃÇÖ®¼äµÄÊý¾ÝÁ÷£¨ÈçÉÙÁ¿×¨ÓÃÍøÂçÁ¬½Ó£©¡£

3.Æô¶¯·Ö²¼Ê½´¦ÀíÆ÷ÍøÂçÒÔ¿ªÊ¼¼ÆËã¡£

4.ͬʱ£¬´¦Àí²éѯµÄ½Úµã´Ó·Ö²¼Ê½ÍøÂçÊÕ¼¯½á¹û²¢½«Æäת·¢¸ø¿Í»§¶Ë¡£µ±ËùÓд¦ÀíÆ÷ֹͣʱ£¬´¦Àí±»ÊÓΪÍê³É¡£

ÎÒÃÇÔÙ´ÎÇ¿µ÷£¬ÕâÊÇÒ»ÖÖͨÓ÷½·¨£ºÊý¾ÝÁ÷´¦ÀíÍøÂçÊÇÀíÂÛ¼ÆËã»ú¿ÆÑ§µÄÒ»¸öÇ¿´óµÄÄ£ÐÍ£¬ÏÖÔÚ±»¹«ÈÏΪ¿ÉÒÔ´¦Àí¼¸ºõÈκÎÀàÐ͵ļÆËã¡£×îÖÕ£¬ÎÒÃÇÏ£ÍûÓû§Äܹ»ÒÔÈÎÒⷽʽÀûÓÃÕâ¸öͨÓù¤¾ß¡£È»¶ø£¬ÔÚ³õʼ½×¶Î£¬ÎÒÃǽ«Æä¿ª·¢ÏÞÖÆÔÚһЩ³£¼ûµÄSQLģʽ£¬ÒÔ±ãÎÒÃÇ¿ÉÒÔרעÓÚÎȽ¡ÐÔºÍÎȶ¨ÐÔ¡£

ÀýÈ磬ÔÚCockroachDB 1.0ÖУ¬·Ö²¼Ê½ÒýÇæ¿ÉÒÔ×Ô¶¯´¦ÀíSQLÅÅÐò¡¢¹ýÂË¡¢¼òµ¥¾ÛºÏºÍһЩÁ¬½Ó¡£ÔÚCockroachDB v1.1ÖУ¬Ëü½«×Ô¶¯½Ó¹Ü¸ü¶àµÄSQL¾ÛºÏºÍÁ¬½Ó¡£ÎÒÃǽ«ÆÀ¹ÀÉçÇø¶ÔµÚÒ»¸ö·½·¨µÄ·´Ó¦£¬ÒÔ¾ö¶¨ÔÚÄÄÀï½øÒ»²½À©Õ¹¹¦ÄÜ¡£

CockroachDBµÄδÀ´¼Æ»®

´óÁ¿µÄÒÅÁô¹¤×÷

˵ʵ»°£¬ÔÚÍÆ¼ö·Ö²¼Ê½´¦Àí×÷ΪͨÓù¤¾ß֮ǰ£¬ÎÒÃÇ»¹ÐèҪѧϰÏà¹ØÖªÊ¶£¬´Ó¶øÈ¥»Ø´ðһЩ¸´ÔÓµÄÀíÂÛÎÊÌâ¡£ÎÒÃÇÏÖÔÚÓöµ½µÄ²¿·ÖÎÊÌâÈçÏ£º

1.ËäÈ»Êý¾ÝÌáÈ¡´¦ÀíÆ÷¿ÉÒÔÖ±¹ÛµØÔÚÊý¾ÝÉúÃüµÄ½ÚµãÉÏÆô¶¯£¬µ«ÆäËû´¦ÀíÆ÷£¨ÈçÅÅÐò»ò¾ÛºÏÊý¾ÝµÄ´¦ÀíÆ÷£©¿ÉÒÔ·ÅÖÃÔÚÈκÎλÖá£Ó¦¸ÃÆô¶¯¶àÉÙ£¿Äĸö¼¯Èº½Úµã£¿

2.µ±CockroachDBÔÚ½Úµã¼ä×Ô¶¯ÖØÐÂÆ½ºâÊý¾Ýʱ£¬ÈçºÎÈ·±£¼ÆËãÁ¿±£³Ö½Ó½üÊý¾Ý£¿ ÐéÄâ´¦ÀíÆ÷Ó¦¸ÃÓëËûÃÇÕýÔÚ¿ªÕ¹µÄÊý¾Ý·¶Î§Ò»ÆðÇ¨ÒÆÂð£¿

3.µ±·Ö²¼Ê½²éѯÕýÔÚ½øÐÐʱ£¬½ÚµãºÎʱ³öÏÖ¹ÊÕÏ£¿ ´¦ÀíÊÇ·ñÔÚÆäËûµØ·½»Ö¸´£¬²¢³¢ÊÔ»Ö¸´£¿ ²¿·ÖÊý¾Ý¶ªÊ§ÔÚijЩ²éѯÖпÉÒÔ½ÓÊÜÂð£¿

4.·Ö²¼Ê½´¦ÀíÈçºÎÓ°Ï켯ȺµÄÐÔÄÜ£¿ µ±Ò»¸ö½Úµã´ú±íÁíÒ»¸ö½ÚµãÔËÐÐÐéÄâ´¦ÀíÆ÷ʱ£¬ËüÈÔÈ»¿ÉÒÔÏò×Ô¼ºµÄ¿Í»§¶ËÌṩ¶àÉÙÍÌÍÂÁ¿£¿

5.ÈçºÎÈ·±£´óÐͲéѯ²»»áÔÚÐí¶à½ÚµãÉϺľ¡ÍøÂç»òÄÚ´æ×ÊÔ´£¿ Èç¹û¿Í»§¶ËÔÚ·Ö²¼Ê½¼ÆËãÖÐ¹Ø±ÕÆäÁ¬½Ó£¬¸ÃÔõô°ì£¿

ÎÒÃdzÐŵÔÚËæºóµÄ²©¿ÍÎÄÕÂÖУ¬½«ÓëÄú·ÖÏíÎÒÃÇÔÚÕâЩ·½ÃæµÄ½øÕ¹¡£

×ܽ᣺CockroachDBÖÐSQLµÄ´¦Àí

ÏÖÔÚÄãÖªµÀCockroachDB¶ÔÓÚSQL²éѯ֧³ÖÁ½ÖÖģʽ£º±¾µØÒÔ¼°·Ö²¼Ê½¡£

ÔÚ±¾µØÖ´ÐÐÒýÇæÖУ¬Êý¾Ý´ÓËü±¾À´Ó¦¸ÃÔÚµÄλÖñ»À­µ½Á˸ºÔð´¦ÀíµÄij¸ö½Úµã´¦¡£XXXXXXXX¡£

ÔÚ·Ö²¼Ê½Ö´ÐÐÒýÇæÖУ¬Êý¾ÝÊDZ»ÔËË͵½¿¿½üÊý¾Ý´æ´¢µÄµØ·½½øÐд¦ÀíµÄ£¬Í¨³£ÔÚ¶à¸ö½ÚµãÉÏͬʱÔËÐС£Ôڵײ㣬ÎÒÃÇÕýÔÚ¹¹½¨Ò»¸öͨÓõķֲ¼Ê½¼ÆËãÒýÇæ£¬Ê¹ÓÃdataflowÍøÂç×÷Ϊ»ù±¾µÄ³éÏó¡£ÎÒÃǼƻ®ÉÔºóÏòËùÓÐÓû§¹«¿ª´Ë¹¦ÄÜ£¬ÒÔÂú×ã¸÷ÖÖ·Ö²¼Ê½´¦Àí¹¤×÷¸ºÔØ£¬µ«Ä¿Ç°ÎÒÃÇÖ»ÊÇʹÓÃËüÀ´¼ÓËÙһЩʹÓùýÂË£¬Á¬½Ó£¬ÅÅÐòºÍ¾ÛºÏµÄSQL²éѯ£¬ÌرðÊÇÄÇЩÎÞ·¨Í¨¹ý£¬»òÕßÊDz»ÏëʹÓþ­µä¼¼Êõ£¨ÀýÈçË÷Òý»òÒ첽ʵÌ廯ÊÓͼ£©½øÐÐÊÖ¶¯ÓÅ»¯¡£

Á½¸öÒýÇæ¶¼¿ÉÒÔͬʱ´¦Óڻ״̬¡£È»¶ø£¬ÓÉÓÚÎÒÃÇÕýÔÚÖÂÁ¦ÓÚ·Ö²¼Ê½Ö´ÐУ¬ËùÒÔÎÒÃÇÏ£ÍûÓû§×öÒ»ÏÂÕâÖÖ³¢ÊÔ£º¶ÔÓÚÄÇЩ¿ÉÒÔ²ÉÓ÷ֲ¼Ê½µÄ²éѯ£¬ÎÒÃǾö¶¨Ä¬ÈÏʹÓ÷ֲ¼Ê½Ö´ÐС£Äú¿ÉÒÔʹÓÃSET¸²¸Ç´ËĬÈÏÖµ£¬Ò²¿ÉÒÔʹÓÃEXPLAIN£¨DISTSQL£©À´¼ì²é¸ø¶¨µÄ²éѯÊÇ·ñ¿ÉÒÔ·Ö·¢¡£ËæºóµÄ²©¿ÍÎÄÕ½«½øÒ»²½Ïêϸ˵Ã÷ÕâÒ»µã¡£

   
5887 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

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

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

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ