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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÌÚÑ¶ÔÆ×ÔÑÐÊý¾Ý¿âCynosDB´æ´¢¼Ü¹¹½ÒÃØ
 
  1736  次浏览      41
 2019-1-7  
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚcloud.tencent.com,CynosDB for PostgreSQLÊÇÌÚÑ¶ÔÆ×ÔÑеÄÒ»¿îÔÆÔ­ÉúÊý¾Ý¿â£¬ÆäÖ÷ÒªºËÐÄ˼ÏëÀ´×ÔÓÚÑÇÂíÑ·µÄÔÆÊý¾Ý¿â·þÎñAurora¡£

ÆóÒµITÏµÍ³Ç¨ÒÆµ½¹«ÓÐÔÆÉÏÒÑÈ»ÊÇÕýÔÚ·¢ÉúµÄÇ÷ÊÆ¡£Êý¾Ý¿â·þÎñ£¬×÷Ϊ¹«ÓÐÔÆÉÏÌṩµÄ¹Ø¼ü×é¼þ£¬ÊÇÆóÒµ¿Í»§ÊÇ·ñÔ¸Ò⽫×Ô¼ºÔËÐжàÄêµÄϵͳ°áµ½ÔÆÉϵĹؼü¿¼Á¿Ö®Ò»¡£ÁíÒ»·½Ã棬×Ô´ÓSystem R¿ªÊ¼£¬¹ØÏµÊý¾Ý¿âϵͳÒѾ­´óÔ¼ËÄÊ®ÄêµÄÀúÊ·ÁË¡£ÓÈÆäÊÇËæ×Å»¥ÁªÍøµÄ·¢Õ¹£¬ÒµÎñ¶ÔÊý¾Ý¿âʵÀýµÄÍÌÍÂÁ¿ÒªÇóÔ½À´Ô½¸ß¡£¶ÔÓںܶàÒµÎñÀ´Ëµ£¬µ¥¸öÎïÀí»úÆ÷ËùÄÜÌṩµÄ×î´óÍÌÍÂÁ¿ÒѾ­²»ÄÜÂú×ãÒµÎñµÄ¸ßËÙ·¢Õ¹¡£Òò´Ë£¬Êý¾Ý¿â¼¯ÈºÊǺܶàITÏµÍ³ÈÆ²»¹ýÈ¥µÄ¿²¡£

CynosDB for PostgreSQLÊÇÌÚÑ¶ÔÆ×ÔÑеÄÒ»¿îÔÆÔ­ÉúÊý¾Ý¿â£¬ÆäÖ÷ÒªºËÐÄ˼ÏëÀ´×ÔÓÚÑÇÂíÑ·µÄÔÆÊý¾Ý¿â·þÎñAurora¡£ÕâÖÖºËÐÄ˼Ïë¾ÍÊÇ¡°»ùÓÚÈÕÖ¾µÄ´æ´¢¡±ºÍ¡°´æ´¢¼ÆËã·ÖÀ롱¡£Í¬Ê±£¬CynosDBÔڼܹ¹ºÍ¹¤³ÌʵÏÖÉÏȷʵÓкܶàºÍAurora²»Ò»ÑùµÄµØ·½¡£CynosDBÏà±È´«Í³µÄµ¥»úÊý¾Ý¿â£¬Ö÷Òª½â¾öÈçÏÂÎÊÌ⣺

´æËã·ÖÀë

´æËã·ÖÀëÊÇÔÆÊý¾Ý¿âÇø±ðÓÚ´«Í³Êý¾Ý¿âµÄÖ÷ÒªÌØµãÖ®Ò»£¬Ö÷ÒªÊÇΪÁË1£©ÌáÉý×ÊÔ´ÀûÓÃЧÂÊ£¬Óû§ÓöàÉÙ×ÊÔ´¾Í¸ø¶àÉÙ×ÊÔ´£»2£©¼ÆËã½ÚµãÎÞ״̬¸üÓÐÀûÓÚÊý¾Ý¿â·þÎñµÄ¸ß¿ÉÓÃÐԺͼ¯Èº¹ÜÀí£¨¹ÊÕϻָ´¡¢ÊµÀýÇ¨ÒÆ£©µÄ±ãÀûÐÔ¡£

´æ´¢×Ô¶¯À©ËõÈÝ

´«Í³¹ØÏµÐÍÊý¾Ý¿â»áÊܵ½µ¥¸öÎïÀí»úÆ÷×ÊÔ´µÄÏÞÖÆ£¬°üÀ¨µ¥»úÉÏ´æ´¢¿Õ¼äµÄÏÞÖÆºÍ¼ÆËãÄÜÁ¦µÄÏÞÖÆ¡£CynosDB²ÉÓ÷ֲ¼Ê½´æ´¢À´Í»ÆÆµ¥»ú´æ´¢ÏÞÖÆ¡£ÁíÍ⣬´æ´¢Ö§³Ö¶à¸±±¾£¬Í¨¹ýRAFTЭÒéÀ´±£Ö¤¶à¸±±¾µÄÒ»ÖÂÐÔ¡£

¸ü¸ßµÄÍøÂçÀûÓÃÂÊ

ͨ¹ý»ùÓÚÈÕÖ¾µÄ´æ´¢Éè¼ÆË¼Â·£¬´ó·ù¶È½µµÍÊý¾Ý¿âÔËÐйý³ÌÖеÄÍøÂçÁ÷Á¿¡£

¸ü¸ßµÄÍÌÍÂÁ¿

´«Í³µÄÊý¾Ý¿â¼¯Èº£¬ÃæÁÙµÄÒ»¸ö¹Ø¼üÎÊÌâÊÇ£º·Ö²¼Ê½ÊÂÎñºÍ¼¯ÈºÍÌÍÂÁ¿ÏßÐÔÀ©Õ¹µÄì¶Ü¡£Ò²¾ÍÊÇ˵£¬ºÜ¶àÊý¾Ý¿â¼¯Èº£¬ÒªÃ´Ö§³ÖÍêÕûµÄACID£¬ÒªÃ´×·Ç󼫺õÄÏßÐÔÀ©Õ¹ÐÔ£¬´ó²¿·ÖʱºòÓãºÍÐÜÕÆ²»¿É¼æµÃ¡£Ç°Õß±ÈÈçOracle RAC£¬ÊÇĿǰÊг¡ÉÏ×î³ÉÊì×îÍêÉÆµÄÊý¾Ý¿â¼¯Èº£¬Ìṩ¶ÔÒµÎñÍêȫ͸Ã÷µÄÊý¾Ý·ÃÎÊ·þÎñ¡£µ«ÊÇOracle RACµÄÏßÐÔÀ©Õ¹ÐÔÈ´±»Êг¡Ö¤Ã÷»¹²»¹»£¬Òò´Ë£¬¸ü¶àÓû§Ö÷ÒªÓÃRACÀ´¹¹½¨¸ß¿ÉÓü¯Èº£¬¶ø²»ÊǸßÀ©Õ¹µÄ¼¯Èº¡£ºóÕß±ÈÈçProxy+¿ªÔ´DBµÄÊý¾Ý¿â¼¯Èº·½°¸£¬Í¨³£ÄÜÌṩºÜºÃµÄÏßÐÔÀ©Õ¹ÐÔ£¬µ«ÊÇÒòΪ²»Ö§³Ö·Ö²¼Ê½ÊÂÎñ£¬¶ÔÊý¾Ý¿âÓû§´æÔڽϴóµÄÏÞÖÆ¡£ÓÖ»òÕß¿ÉÒÔÖ§³Ö·Ö²¼Ê½ÊÂÎñ£¬µ«Êǵ±¿ç½ÚµãдÈë±ÈÀýºÜ´óʱ£¬·´¹ýÀ´½µµÍÁËÏßÐÔÀ©Õ¹ÄÜÁ¦¡£CynosDBͨ¹ý²ÉÓÃһд¶à¶ÁµÄ·½Ê½£¬ÀûÓÃÖ»¶Á½ÚµãµÄÏßÐÔÀ©Õ¹À´ÌáÉýÕû¸öϵͳµÄ×î´óÍÌÍÂÁ¿£¬¶ÔÓÚ¾ø´ó²¿·Ý¹«ÓÐÔÆÓû§À´Ëµ£¬Õâ¾ÍÒѾ­×ã¹»ÁË¡£

ÏÂͼΪCynosDB for PostgreSQLµÄ²úÆ·¼Ü¹¹Í¼£¬CynosDBÊÇÒ»¸ö»ùÓÚ¹²Ïí´æ´¢¡¢Ö§³Öһд¶à¶ÁµÄÊý¾Ý¿â¼¯Èº¡£

 

ͼһCynosDB for PostgreSQL²úÆ·¼Ü¹¹Í¼

CynosDB»ùÓÚCynosStoreÖ®ÉÏ£¬CynosStoreÊÇÒ»¸ö·Ö²¼Ê½´æ´¢£¬ÎªCynosDBÌṩ¼áʵµÄµ××ù¡£CynosStoreÓɶà¸öStore NodeºÍCynosStore Client×é³É¡£CynosStore ClientÒÔ¶þ½øÖưüµÄÐÎʽÓëDB£¨PostgreSQL£©Ò»Æð±àÒ룬ΪDBÌṩ·ÃÎʽӿڣ¬ÒÔ¼°¸ºÔðÖ÷´ÓDBÖ®¼äµÄÈÕÖ¾Á÷´«Êä¡£³ý´ËÖ®Í⣬ÿ¸öStore Node»á×Ô¶¯½«Êý¾ÝºÍÈÕÖ¾³ÖÐøµØ±¸·Ýµ½ÌÚÑ¶ÔÆ¶ÔÏó´æ´¢·þÎñCOSÉÏ£¬ÓÃÀ´ÊµÏÖPITR£¨¼´Ê±»Ö¸´£©¹¦ÄÜ¡£

Ò»¡¢CynosStoreÊý¾Ý×éÖ¯ÐÎʽ

CynosStore»áΪÿһ¸öÊý¾Ý¿â·ÖÅäÒ»¶Î´æ´¢¿Õ¼ä£¬ÎÒÃdzÆÖ®ÎªPool£¬Ò»¸öÊý¾Ý¿â¶ÔÓ¦Ò»¸öPool¡£Êý¾Ý¿â´æ´¢¿Õ¼äµÄÀ©ËõÈÝÊÇͨ¹ýPoolµÄÀ©ËõÈÝÀ´ÊµÏֵġ£Ò»¸öPool»á·Ö³É¶à¸öSegment Group£¨SG£©£¬Ã¿¸öSG¹Ì¶¨´óСΪ10G¡£ÎÒÃÇÒ²°Ñÿ¸öSG½Ð×öÒ»¸öÂß¼­·ÖƬ¡£Ò»¸öSegment Group£¨SG£©Óɶà¸öÎïÀíµÄSegment×é³É£¬Ò»¸öSegment¶ÔÓ¦Ò»¸öÎïÀí¸±±¾£¬¶à¸ö¸±±¾Í¨¹ýRAFTЭÒéÀ´ÊµÏÖÒ»ÖÂÐÔ¡£SegmentÊÇCynosStoreÖÐ×îСµÄÊý¾ÝÇ¨ÒÆºÍ±¸·Ýµ¥Î»¡£Ã¿¸öSG±£´æÊôÓÚËüµÄÊý¾ÝÒÔ¼°¶ÔÕⲿ·ÖÊý¾Ý×î½üÒ»¶Îʱ¼äµÄдÈÕÖ¾¡£

 

ͼ¶þ CynosStore Êý¾Ý×éÖ¯ÐÎʽ

ͼ¶þÖÐCynosStoreÒ»¹²ÓÐ3¸öStore Node£¬CynosStoreÖд´½¨ÁËÒ»¸öPool£¬Õâ¸öPoolÓÉ3¸öSG×é³É£¬Ã¿¸öSGÓÐ3¸ö¸±±¾¡£CynosStore»¹ÓпÕÏеĸ±±¾£¬¿ÉÒÔÓÃÀ´¸øµ±Ç°PoolÀ©ÈÝ£¬Ò²¿ÉÒÔ´´½¨ÁíÒ»¸öPool£¬½«Õâ¿ÕÏеÄ3¸öSegment×é³ÉÒ»¸öSG²¢·ÖÅä¸öÕâ¸öеÄPool¡£

¶þ¡¢»ùÓÚÈÕÖ¾Ò첽дµÄ·Ö²¼Ê½´æ´¢

´«Í³µÄÊý¾Ýͨ³£²ÉÓÃWAL£¨ÈÕÖ¾ÏÈд£©À´ÊµÏÖÊÂÎñºÍ¹ÊÕϻָ´¡£ÕâÑù×ö×îÖ±¹ÛµÄºÃ´¦ÊÇ1£©Êý¾Ý¿âdown»úºó¿ÉÒÔ¸ù¾Ý³Ö¾Ã»¯µÄWALÀ´»Ö¸´Êý¾ÝÒ³¡£2£©ÏÈдÈÕÖ¾£¬¶ø²»ÊÇÖ±½ÓдÊý¾Ý£¬¿ÉÒÔÔÚÊý¾Ý¿âд²Ù×÷µÄ¹Ø¼ü·¾¶ÉϽ«Ëæ»úIO£¨Ð´Êý¾ÝÒ³£©±ä³É˳ÐòIO£¨Ð´ÈÕÖ¾£©£¬±ãÓÚÌáÉýÊý¾Ý¿âÐÔÄÜ¡£

ͼÈý »ùÓÚÈÕÖ¾µÄ´æ´¢

ͼÈý£¨×󣩼«¶È³éÏóµØÃèÊöÁË´«Í³Êý¾Ý¿âдÊý¾ÝµÄ¹ý³Ì£ºÃ¿´ÎÐÞ¸ÄÊý¾ÝµÄʱºò£¬±ØÐë±£Ö¤ÈÕÖ¾Ïȳ־û¯Ö®ºó²Å¿ÉÒÔ¶ÔÊý¾ÝÒ³½øÐг־û¯¡£´¥·¢ÈÕÖ¾³Ö¾Ã»¯µÄʱ»úͨ³£ÓÐ

1£©ÊÂÎñÌύʱ£¬Õâ¸öÊÂÎñ²úÉúµÄ×î´óÈÕÖ¾µã֮ǰµÄËùÓÐÈÕÖ¾±ØÐë³Ö¾Ã»¯Ö®ºó²ÅÄÜ·µ»Ø¸ø¿Í»§¶ËÊÂÎñÌá½»³É¹¦£»

2£©µ±ÈÕÖ¾»º´æ¿Õ¼ä²»¹»ÓÃʱ£¬±ØÐë³Ö¾Ã»¯Ö®ºó²ÅÄÜÊÍ·ÅÈÕÖ¾»º´æ¿Õ¼ä£»

3£©µ±Êý¾ÝÒ³»º´æ¿Õ¼ä²»¹»ÓÃʱ£¬±ØÐëÌÔÌ­²¿·ÖÊý¾ÝÒ³À´ÊÍ·Å»º´æ¿Õ¼ä¡£±ÈÈç¸ù¾ÝÌÔÌ­Ëã·¨±ØÐëÒªÌÔÌ­ÔàÒ³A£¬ÄÇô×îºóÐÞ¸ÄAµÄÈÕÖ¾µã֮ǰµÄËùÓÐÈÕÖ¾±ØÐëÏȳ־û¯£¬È»ºó²Å¿ÉÒԳ־û¯Aµ½´æ´¢£¬×îºó²ÅÄÜÕæÕý´ÓÊý¾Ý»º´æ¿Õ¼äÖн«AÌÔÌ­¡£

´ÓÀíÂÛÉÏÀ´Ëµ£¬Êý¾Ý¿âÖ»ÐèÒª³Ö¾Ã»¯ÈÕÖ¾¾Í¿ÉÒÔÁË¡£ÒòΪֻҪӵÓдÓÊý¾Ý¿â³õʼ»¯Ê±¿Ìµ½µ±Ç°µÄËùÓÐÈÕÖ¾£¬Êý¾Ý¿â¾ÍÄָܻ´³öµ±Ç°ÈκÎÒ»¸öÊý¾ÝÒ³µÄÄÚÈÝ¡£Ò²¾ÍÊÇ˵£¬Êý¾Ý¿âÖ»ÐèҪдÈÕÖ¾£¬¶ø²»ÐèҪдÊý¾ÝÒ³£¬¾ÍÄܱ£Ö¤Êý¾ÝµÄÍêÕûÐÔºÍÕýÈ·ÐÔ¡£µ«ÊÇ£¬Êµ¼ÊÉÏÊý¾Ý¿âʵÏÖÕß²»»áÕâô×ö£¬ÒòΪ1£©´ÓÍ·µ½Î²±éÀúÈÕÖ¾»Ö¸´³öÿ¸öÊý¾ÝÒ³½«ÊǷdz£ºÄʱµÄ£»2£©È«Á¿ÈÕÖ¾±ÈÊý¾Ý±¾Éí¹æÄ£Òª´óµÃ¶à£¬ÐèÒª¸ü¶àµÄ´ÅÅ̿ռäÈ¥´æ´¢¡£

ÄÇô£¬Èç¹û³Ö¾Ã»¯ÈÕÖ¾µÄ´æ´¢É豸²»½ö½ö¾ßÓд洢ÄÜÁ¦£¬»¹ÓµÓмÆËãÄÜÁ¦£¬Äܹ»×ÔÐн«ÈÕÖ¾ÖØ·Åµ½×îеÄÒ³µÄ»°£¬½«»áÔõôÑù£¿Êǵģ¬Èç¹ûÕâÑùµÄ»°£¬Êý¾Ý¿âÒýÇæ¾ÍûÓбØÒª½«Êý¾ÝÒ³´«µÝ¸ø´æ´¢ÁË£¬ÒòΪ´æ´¢¿ÉÒÔ×ÔÐмÆËã³öÐÂÒ³²¢³Ö¾Ã»¯¡£Õâ¾ÍÊÇCynosDB¡°²ÉÓûùÓÚÈÕÖ¾µÄ´æ´¢¡±µÄºËÐÄ˼Ï롣ͼÈý£¨ÓÒ£©¼«¶È³éÏóµØÃèÊöÁËÕâÖÖ˼Ï롣ͼÖмÆËã½ÚµãºÍ´æ´¢½ÚµãÖÃÓÚ²»Í¬µÄÎïÀí»ú£¬´æ´¢½Úµã³ýÁ˳־û¯ÈÕÖ¾ÒÔÍ⣬»¹¾ß±¸Í¨¹ýapplyÈÕÖ¾Éú³É×îÐÂÊý¾ÝÒ³ÃæµÄÄÜÁ¦¡£Èç´ËÒ»À´£¬¼ÆËã½ÚµãÖ»ÐèҪдÈÕÖ¾µ½´æ´¢½Úµã¼´¿É£¬¶ø²»ÐèÒªÔÙ½«Êý¾ÝÒ³´«µÝ¸ø´æ´¢½Úµã¡£

ÏÂͼÃèÊöÁ˲ÉÓûùÓÚÈÕÖ¾´æ´¢µÄCynosStoreµÄ½á¹¹¡£

ͼËÄ CynosStore£º»ùÓÚÈÕÖ¾µÄ´æ´¢

´ËͼÃèÊöÁËÊý¾Ý¿âÒýÇæÈçºÎ·ÃÎÊCynosStore¡£Êý¾Ý¿âÒýÇæÍ¨¹ýCynosStore ClientÀ´·ÃÎÊCynosStore¡£×îºËÐĵÄÁ½¸ö²Ù×÷°üÀ¨1£©Ð´ÈÕÖ¾£»2£©¶ÁÊý¾ÝÒ³¡£

Êý¾Ý¿âÒýÇæ½«Êý¾Ý¿âÈÕÖ¾´«µÝ¸øCynosStore£¬CynosStore Client¸ºÔð½«Êý¾Ý¿âÈÕ־ת»»³ÉCynosStore Journal£¬²¢ÇÒ¸ºÔð½«ÕâЩ²¢·¢Ð´ÈëµÄJournal½øÐÐÐòÁл¯£¬×îºó¸ù¾ÝJournalÐ޸ĵÄÊý¾Ýҳ·Óɵ½²»Í¬µÄSGÉÏÈ¥£¬²¢·¢Ë͸øSGËùÊôStore Node¡£ÁíÍ⣬CynosStore Client²ÉÓÃÒì²½µÄ·½Ê½¼àÌý¸÷¸öStore NodeµÄÈÕÖ¾³Ö¾Ã»¯È·ÈÏÏûÏ¢£¬²¢½«¹é²¢Ö®ºóµÄ×îеij־û¯ÈÕÖ¾µã¸æËßÊý¾Ý¿âÒýÇæ¡£

µ±Êý¾Ý¿âÒýÇæ·ÃÎʵÄÊý¾ÝÒ³ÔÚ»º´æÖв»ÃüÖÐʱ£¬ÐèÒªÏòCynosStore¶ÁÈ¡ÐèÒªµÄÒ³£¨read block£©¡£read blockÊÇͬ²½²Ù×÷¡£²¢ÇÒ£¬CynosStoreÖ§³ÖÒ»¶¨Ê±¼ä·¶Î§µÄ¶à°æ±¾Ò³¶ÁÈ¡¡£ÒòΪ¸÷¸öStore NodeÔÚÖØ·ÅÈÕ־ʱµÄ²½µ÷²»ÄÜÍêÈ«×öµ½Ò»Ö£¬×Ü»áÓÐÏÈÓкó£¬Òò´ËÐèÒª¶ÁÇëÇ󷢯ðÕßÌṩһÖÂÐÔµãÀ´±£Ö¤Êý¾Ý¿âÒýÇæËùÒªÇóµÄÒ»ÖÂÐÔ£¬»òÕßĬÈÏÇé¿öÏÂÓÉCynosStoreÓÃ×îеÄÒ»ÖÂÐԵ㣨¶Áµã£©È¥¶ÁÊý¾ÝÒ³¡£ÁíÍ⣬ÔÚһд¶à¶ÁµÄ³¡¾°Ï£¬Ö»¶ÁÊý¾Ý¿âʵÀýÒ²ÐèÒªÓõ½CynosStoreÌṩµÄ¶à°æ±¾ÌØÐÔ¡£

CynosStoreÌṩÁ½¸ö²ãÃæµÄ·ÃÎʽӿڣºÒ»¸öÊÇ¿éÉ豸²ãÃæµÄ½Ó¿Ú£¬ÁíÒ»¸öÊÇ»ùÓÚ¿éÉ豸µÄÎļþϵͳ²ãÃæµÄ½Ó¿Ú¡£·Ö±ð½Ð×öCynosBSºÍCynosFS£¬ËûÃǶ¼²ÉÓÃÕâÖÖÒ첽дÈÕÖ¾¡¢Í¬²½¶ÁÊý¾ÝµÄ½Ó¿ÚÐÎʽ¡£ÄÇô£¬CynosDB for PostgreSQL£¬²ÉÓûùÓÚÈÕÖ¾µÄ´æ´¢£¬Ïà±ÈÒ»Ö÷¶à´ÓPostgreSQL¼¯ÈºÀ´Ëµ£¬µ½µ×ÄÜ´øÀ´ÄÄЩºÃ´¦£¿

1£©¼õÉÙÍøÂçÁ÷Á¿¡£Ê×ÏÈ£¬Ö»Òª´æËã·ÖÀë¾Í±ÜÃâ²»Á˼ÆËã½ÚµãÏò´æ´¢½Úµã·¢ËÍÊý¾Ý¡£Èç¹ûÎÒÃÇ»¹ÊÇʹÓô«Í³Êý¾Ý¿â+ÍøÂçÓ²Å̵ķ½Ê½À´×ö´æËã·ÖÀ루¼ÆËãºÍ´æ´¢½éÖʵķÖÀ룩£¬ÄÇÃ´ÍøÂçÖгýÁËÐèÒª´«µÝÈÕÖ¾ÒÔÍ⣬»¹ÐèÒª´«µÝÊý¾Ý£¬´«µÝÊý¾ÝµÄ´óСÓɲ¢·¢Ð´ÈëÁ¿¡¢Êý¾Ý¿â»º´æ´óС¡¢ÒÔ¼°checkpointƵÂÊÀ´¾ö¶¨¡£ÒÔCynosStore×÷Ϊµ××ùµÄCynosDBÖ»ÐèÒª½«ÈÕÖ¾´«µÝ¸øCynosStore¾Í¿ÉÒÔÁË£¬½µµÍÍøÂçÁ÷Á¿¡£

2£©¸ü¼ÓÓÐÀûÓÚ»ùÓÚ¹²Ïí´æ´¢µÄ¼¯ÈºµÄʵÏÖ£ºÒ»¸öÊý¾Ý¿âµÄ¶à¸öʵÀý£¨Ò»Ð´¶à¶Á£©·ÃÎÊͬһ¸öPool¡£»ùÓÚÈÕ־дµÄCynosStoreÄܹ»±£Ö¤Ö»ÒªDBÖ÷½Úµã£¨¶Áд½Úµã£©Ð´ÈëÈÕÖ¾µ½CynosStore£¬¾ÍÄÜÈôӽڵ㣨ֻ¶Á½Úµã£©Äܹ»¶Áµ½±»Õⲿ·ÖÈÕÖ¾Ð޸ĹýµÄÊý¾ÝÒ³×îа汾£¬¶ø²»ÐèÒªµÈ´ýÖ÷½Úµãͨ¹ýcheckpointµÈ²Ù×÷½«Êý¾ÝÒ³³Ö¾Ã»¯µ½´æ´¢²ÅÄÜÈöÁ½Úµã¼ûµ½×îÐÂÊý¾ÝÒ³¡£ÕâÑùÄܹ»´ó´ó½µµÍÖ÷´ÓÊý¾Ý¿âʵÀýÖ®¼äµÄÑÓʱ¡£²»È»£¬´Ó½ÚµãÐèÒªµÈ´ýÖ÷½Úµã½«Êý¾ÝÒ³³Ö¾Ã»¯Ö®ºó£¨checkpoint£©²ÅÄÜÍÆ½ø¶Áµã¡£Èç¹ûÕâÑù£¬¶ÔÓÚÖ÷½ÚµãÀ´Ëµ£¬checkpointµÄ¼ä¸ôÌ«¾ÃµÄ»°£¬¾Í»áµ¼ÖÂÖ÷´ÓÑÓʱ¼Ó´ó£¬Èç¹ûcheckpoint¼ä¸ô̫С£¬ÓֻᵼÖÂÖ÷½ÚµãдÊý¾ÝµÄÍøÂçÁ÷Á¿Ôö´ó¡£

µ±È»£¬applyÈÕÖ¾Ö®ºóµÄÐÂÊý¾ÝÒ³µÄ³Ö¾Ã»¯£¬Õⲿ·Ö¹¤×÷×ÜÊÇÒª×öµÄ£¬²»»áƾ¿ÕÏûʧ£¬Ö»ÊÇ´ÓÊý¾Ý¿âÒýÇæÏÂÒÆµ½ÁËCynosStore¡£µ«ÊÇÕýÈçǰÎÄËùÊö£¬³ýÁ˽µµÍ²»±ØÒªµÄÍøÂçÁ÷Á¿ÒÔÍ⣬CynosStoreµÄ¸÷¸öSGÊDz¢ÐÐÀ´×öredoºÍ³Ö¾Ã»¯µÄ¡£²¢ÇÒÒ»¸öPoolµÄSGÊýÁ¿¿ÉÒÔ°´ÐèÀ©Õ¹£¬SGµÄËÞÖ÷Store Node¿ÉÒÔ¶¯Ì¬µ÷¶È£¬Òò´Ë¿ÉÒÔÓ÷dz£Áé»îºÍ¸ßЧµÄ·½Ê½À´Íê³ÉÕⲿ·Ö¹¤×÷¡£

Èý¡¢CynosStore Journal£¨CSJ£©

CynosStore Journal£¨CSJ£©Íê³ÉÀàËÆÊý¾Ý¿âÈÕÖ¾µÄ¹¦ÄÜ£¬±ÈÈçPostgreSQLµÄWAL¡£CSJÓëPostgreSQL WAL²»Í¬µÄµØ·½ÔÚÓÚ£ºCSJÓµÓÐ×Ô¼ºµÄÈÕÖ¾¸ñʽ£¬ÓëÊý¾Ý¿âÓïÒå½âñîºÏ¡£PostgreSQL WALÖ»ÓÐPostgreSQLÒýÇæ¿ÉÒÔÉú³ÉºÍ½âÎö£¬Ò²¾ÍÊÇ˵£¬µ±ÆäËû´æ´¢ÒýÇæÄõ½PostgreSQL WALƬ¶ÎºÍÕⲿ·ÖƬ¶ÎËùÐ޸ĵĻù´¡Ò³ÄÚÈÝ£¬Ò²Ã»Óа취»Ö¸´³ö×îеÄÒ³ÄÚÈÝ¡£CSJÖÂÁ¦ÓÚ¶¨ÒåÒ»ÖÖÓë¸÷ÖÖ´æ´¢ÒýÇæÂß¼­Î޹صÄÈÕÖ¾¸ñʽ£¬±ãÓÚ½¨Á¢Ò»¸öͨÓõĻùÓÚÈÕÖ¾µÄ·Ö²¼Ê½´æ´¢ÏµÍ³¡£CSJ¶¨ÁË5ÖÖJournalÀàÐÍ£º

1.SetByte£ºÓÃJournalÖеÄÄÚÈݸ²¸ÇÖ¸¶¨Êý¾ÝÒ³ÖС¢Ö¸¶¨Æ«ÒÆÎ»Öá¢Ö¸¶¨³¤¶ÈµÄÁ¬Ðø´æ´¢¿Õ¼ä¡£

2. SetBit£ºÓëSetByteÀàËÆ£¬²»Í¬µÄÊÇSetBitµÄ×îСÁ£¶ÈÊÇBit£¬ÀýÈçPostgreSQLÖÐhitbitÐÅÏ¢£¬¿ÉÒÔת»»³ÉSetBitÈÕÖ¾¡£

3. ClearPage£ºµ±Ð·ÖÅäPageʱ£¬ÐèÒª½«Æä³õʼ»¯£¬´ËʱзÖÅäÒ³µÄԭʼÄÚÈݲ¢²»ÖØÒª£¬Òò´Ë²»ÐèÒª½«Æä´ÓÎïÀíÉ豸ÖжÁ³öÀ´£¬¶ø½ö½öÐèÒªÓÃÒ»¸öÈ«ÁãҳдÈë¼´¿É£¬ClearPage¾ÍÊÇÃèÊöÕâÖÖÐ޸ĵÄÈÕÖ¾ÀàÐÍ¡£

4. DataMove£ºÓÐһЩдÈë²Ù×÷½«Ò³ÃæÖÐÒ»²¿·ÖµÄÄÚÈÝÒÆ¶¯µ½ÁíÒ»¸öµØ·½£¬DataMoveÀàÐ͵ÄÈÕÖ¾ÓÃÀ´ÃèÊöÕâÖÖ²Ù×÷¡£±ÈÈçPostgreSQLÔÚVacuum¹ý³ÌÖжÔPage½øÐÐcompact²Ù×÷£¬´ËʱÓÃDataMove±ÈÓÃSetByteÈÕÖ¾Á¿¸üС¡£

5. UserDefined£ºÊý¾Ý¿âÒýÇæ×Ü»áÓÐһЩ²Ù×÷²¢²»»áÐÞ¸Äij¸ö¾ßÌåµÄÒ³ÃæÄÚÈÝ£¬µ«ÊÇÐèÒª´æ·ÅÔÚÈÕÖ¾ÖС£±ÈÈçPostgreSQLµÄ×îеÄÊÂÎñid£¨xid£©¾ÍÊÇ´æ´¢ÔÚWALÖУ¬±ãÓÚÊý¾Ý¿â¹ÊÕϻָ´Ê±ÖªµÀ´ÓÄǸöxid¿ªÊ¼·ÖÅä¡£ÕâÖÖÀàÐÍÈÕÖ¾¸úÊý¾Ý¿âÒýÇæÓïÒåÏà¹Ø£¬²»ÐèÒªCynosStoreÈ¥Àí½â£¬µ«ÊÇÓÖÐèÒªÈÕÖ¾½«Æä³Ö¾Ã»¯¡£UserDefined¾ÍÊÇÀ´ÃèÊöÕâÖÖÈÕÖ¾µÄ¡£CynosStoreÕë¶ÔÕâÖÖÈÕÖ¾Ö»¸ºÔð³Ö¾Ã»¯ºÍÌṩ²éѯ½Ó¿Ú£¬apply CSJʱ»áºöÂÔËü¡£

ÒÔÉÏ5ÖÖÀàÐ͵ÄJournalÊÇ´æ´¢×îµ×²ãµÄÈÕÖ¾£¬Ö»Òª¶ÔÊý¾ÝµÄдÊÇ»ùÓÚ¿é/Ò³µÄ£¬¶¼¿ÉÒÔת»»³ÉÕâ5ÖÖÈÕÖ¾À´ÃèÊö¡£µ±È»£¬Ò²ÓÐһЩÒýÇæ²»Ì«ÊʺÏת»»³ÉÕâÖÖ×îµ×²ãµÄÈÕÖ¾¸ñʽ£¬±ÈÈç»ùÓÚLSMµÄ´æ´¢ÒýÇæ¡£

CSJµÄÁíÒ»¸öÌØµãÊÇÂÒÐò³Ö¾Ã»¯£¬ÒòΪһ¸öPoolµÄCSJ»á·Óɵ½¶à¸öSGÉÏ£¬²¢ÇÒ²ÉÓÃÒ첽дÈëµÄ·½Ê½¡£¶øÃ¿¸öSG·µ»ØµÄjournal ack²¢²»Í¬²½£¬²¢ÇÒÏ໥´©²å£¬Òò´ËCynosStore Client»¹ÐèÒª½«ÕâЩack½øÐй鲢²¢ÍƽøÁ¬ÐøCSJµã£¨VDL£©¡£

 

ͼÎå CynosStoreÈÕ־·ÓɺÍÂÒÐòACK

Ö»ÒªÊÇÁ¬ÐøÈÕÖ¾¸ù¾ÝÊý¾Ý·ÖƬ·ÓÉ£¬¾Í»áÓÐÈÕÖ¾ÂÒÐòackµÄÎÊÌ⣬´Ó¶ø±ØÐë¶ÔÈÕÖ¾ack½øÐй鲢¡£AuroraÓÐÕâ¸ö»úÖÆ£¬CynosDBͬÑùÓС£ÎªÁ˱ãÓÚÀí½â£¬ÎÒÃǶÔJournalÖеĸ÷¸ö¹Ø¼üµãµÄÃüÃû²ÉÓøúAuroraͬÑùµÄ·½Ê½¡£

ÕâÀïÐèÒªÖØµãÃèÊöµÄÊÇMTR£¬MTRÊÇCynosStoreÌṩµÄÔ­×Óдµ¥Î»£¬CSJ¾ÍÊÇÓÉÒ»¸öMTR½ô°¤×ÅÒ»¸öMTR×é³ÉµÄ£¬ÈÎÒâÒ»¸öÈÕÖ¾±ØÐëÊôÓÚÒ»¸öMTR£¬Ò»¸öMTRÖеĶàÌõÈÕÖ¾ºÜÓпÉÄÜÊôÓÚ²»Í¬µÄSG¡£Õë¶ÔPostgreSQLÒýÇæ£¬¿ÉÒÔ½üËÆÀí½âΪ£ºÒ»¸öXLogRecord¶ÔÓ¦Ò»¸öMTR£¬Ò»¸öÊý¾Ý¿âÊÂÎñµÄÈÕÖ¾ÓÉÒ»¸ö»òÕß¶à¸öMTR×é³É£¬¶à¸öÊý¾Ý¿â²¢·¢ÊÂÎñµÄMTR¿ÉÒÔÏ໥´©²å¡£µ«ÊÇCynosStore²¢²»Àí½âºÍ¸ÐÖªÊý¾Ý¿âÒýÇæµÄÊÂÎñÂß¼­£¬¶øÖ»Àí½âMTR¡£·¢Ë͸øCynosStoreµÄ¶ÁÇëÇóËùÌṩµÄ¶Áµã±ØÐë²»ÄÜÔÚÒ»¸öMTRµÄÄÚ²¿Ä³¸öÈÕÖ¾µã¡£¼ò¶øÑÔÖ®£¬MTR¾ÍÊÇCynosStoreµÄÊÂÎñ¡£

ËÄ¡¢¹ÊÕϻָ´

µ±Ö÷ʵÀý·¢Éú¹ÊÕϺó£¬ÓпÉÄÜÕâ¸öÖ÷ʵÀýÉÏPoolÖи÷¸öSG³Ö¾Ã»¯µÄÈÕÖ¾µãÔÚÈ«¾Ö·¶Î§ÄÚ²¢²»Á¬Ðø£¬»òÕß˵Óпն´¡£¶øÕâЩ¿Õ¶´Ëù¶ÔÓ¦µÄÈÕÖ¾ÄÚÈÝÒѾ­ÎÞ´ÓµÃÖª¡£±ÈÈçÓÐ3ÌõÁ¬ÐøµÄÈÕÖ¾j1, j2, j3·Ö±ð·Óɵ½Èý¸öSGÉÏ£¬·Ö±ðΪsg1, sg2, sg3¡£ÔÚ·¢Éú¹ÊÕϵÄÄÇÒ»¿Ì£¬j1ºÍj3ÒѾ­³É¹¦·¢Ë͵½sg1ºÍsg3¡£µ«ÊÇj2»¹ÔÚCynosStore ClientËùÔÚ»úÆ÷µÄÍøÂ绺³åÇøÖУ¬²¢ÇÒËæ×ÅÖ÷ʵÀý¹ÊÕ϶ø¶ªÊ§¡£ÄÇôµ±ÐµÄÖ÷ʵÀýÆô¶¯ºó£¬Õâ¸öPoolÉϾͻáÓв»Á¬ÐøµÄÈÕÖ¾j1, j3£¬¶øj2ÒѾ­¶ªÊ§¡£

µ±ÕâÖÖ¹ÊÕϳ¡¾°·¢Éúºó£¬ÐÂÆô¶¯µÄÖ÷ʵÀý½«»á¸ù¾ÝÉϴγ־û¯µÄÁ¬ÐøÈÕÖ¾VDL£¬ÔÚÿ¸öSGÉϲéѯ×Ô´ÓÕâ¸öVDLÖ®ºóµÄËùÓÐÈÕÖ¾£¬²¢½«ÕâЩÈÕÖ¾½øÐй鲢£¬¼ÆËã³öеÄÁ¬Ðø³Ö¾Ã»¯µÄÈÕÖ¾ºÅVDL¡£Õâ¾ÍÊÇеÄÒ»ÖÂÐԵ㡣ÐÂʵÀýͨ¹ýCynosStoreÌṩµÄTruncate½Ó¿Ú½«Ã¿¸öSGÉÏ´óÓÚVDLµÄÈÕÖ¾truncateµô£¬ÄÇôÐÂʵÀý²úÉúµÄµÚÒ»Ìõjournal½«´ÓÕâ¸öеÄVDLµÄÏÂÒ»Ìõ¿ªÊ¼¡£

ͼÁù£º¹ÊÕϻָ´Ê±ÈÕÖ¾»Ö¸´¹ý³Ì

Èç¹ûͼÎå¸ÕºÃÊÇij¸öÊý¾Ý¿âʵÀý¹ÊÕÏ·¢ÉúµÄʱ¼äµã£¬µ±ÖØÐÂÆô¶¯Ò»¸öÊý¾Ý¿â¶ÁдʵÀýÖ®ºó£¬Í¼Áù¾ÍÊǼÆËãеÄÒ»ÖÂÐÔµãµÄ¹ý³Ì¡£CynosStore Client»á¼ÆËãµÃ³öеÄÒ»ÖÂÐÔµã¾ÍÊÇ8£¬²¢ÇÒ°Ñ´óÓÚ8µÄÈÕÖ¾¶¼Truncateµô¡£Ò²¾ÍÊǰÑSG2ÉϵÄ9ºÍ10truncateµô¡£ÏÂÒ»¸ö²úÉúµÄÈÕÖ¾½«»á´Ó9¿ªÊ¼¡£

Îå¡¢¶à¸±±¾Ò»ÖÂÐÔ

CynosStore²ÉÓÃMulti-RAFTÀ´ÊµÏÖSGµÄ¶à¸±±¾Ò»ÖÂÐÔ£¬ CynosStore²ÉÓÃÅúÁ¿ºÍÒì²½Á÷Ë®Ïߵķ½Ê½À´ÌáÉýRAFTµÄÍÌÍÂÁ¿¡£ÎÒÃDzÉÓÃCynosStore×Ô¶¨ÒåµÄbenchmark²âµÃµ¥¸öSGÉÏÈÕÖ¾³Ö¾Ã»¯µÄÍÌÍÂÁ¿Îª375ÍòÌõ/ÿÃë¡£CynosStore benchmark²ÉÓÃÒ첽дÈëÈÕÖ¾µÄ·½Ê½²âÊÔCynosStoreµÄÍÌÍÂÁ¿£¬ÈÕÖ¾ÀàÐͰüº¬SetByteºÍSetBitÁ½ÖÖ£¬Ð´ÈÕÖ¾Ï̳߳ÖÐø²»¶ÏµØÐ´ÈëÈÕÖ¾£¬¼àÌýÏ̸߳ºÔð´¦Àíack»Ø°ü²¢ÍƽøVDL£¬È»ºóbenchmark²âÁ¿µ¥Î»Ê±¼äÄÚVDLµÄÍÆ½øËÙ¶È¡£375ÍòÌõ/ÃëÒâζ×ÅÿÃëÖÓÒ»¸öSG³Ö¾Ã»¯375ÍòÌõSetByteºÍSetBitÈÕÖ¾¡£ÔÚÒ»¸öSGµÄ³¡¾°Ï£¬CynosStore Clientµ½Store NodeµÄƽ¾ùÍøÂçÁ÷Á¿171MB/ÿÃ룬ÕâÒ²ÊÇÒ»¸öLeaderµ½Ò»¸öFollowerµÄÍøÂçÁ÷Á¿¡£

Áù¡¢Ò»Ð´¶à¶Á

CynosDB»ùÓÚ¹²Ïí´æ´¢CynosStore£¬Ìṩ¶Ôͬһ¸öPoolÉϵÄһд¶à¶ÁÊý¾Ý¿âʵÀýµÄÖ§³Ö£¬ÒÔÌáÉýÊý¾Ý¿âµÄÍÌÍÂÁ¿¡£»ùÓÚ¹²Ïí´æ´¢µÄһд¶à¶ÁÐèÒª½â¾öÁ½¸öÎÊÌ⣺

1. Ö÷½Úµã£¨¶Áд½Úµã£©ÈçºÎ½«¶ÔÒ³µÄÐÞ¸Ä֪ͨ¸ø´Ó½Úµã£¨Ö»¶Á½Úµã£©¡£ÒòΪ´Ó½ÚµãÒ²ÊÇÓÐBufferµÄ£¬µ±´Ó½Úµã»º´æµÄÒ³ÃæÔÚÖ÷½ÚµãÖб»ÐÞ¸Äʱ£¬´Ó½ÚµãÐèÒªÒ»ÖÖ»úÖÆÀ´µÃÖªÕâ¸ö±»Ð޸ĵÄÏûÏ¢£¬´Ó¶øÔÚ´Ó½ÚµãBufferÖиüÐÂÕâ¸öÐ޸ĻòÕß´ÓCynosStoreÖÐÖØ¶ÁÕâ¸öÒ³µÄа汾¡£

2. ´Ó½ÚµãÉϵĶÁÇëÇóÈçºÎ¶Áµ½Êý¾Ý¿âµÄÒ»ÖÂÐԵĿìÕÕ¡£¿ªÔ´PostgreSQLµÄÖ÷±¸Ä£Ê½ÖУ¬±¸»úͨ¹ýÀûÓÃÖ÷»úͬ²½¹ýÀ´µÄ¿ìÕÕÐÅÏ¢ºÍÊÂÎñÐÅÏ¢¹¹ÔìÒ»¸ö¿ìÕÕ£¨»î¶¯ÊÂÎñÁÐ±í£©¡£CynosDBµÄ´Ó½Úµã³ýÁËÐèÒªÊý¾Ý¿â¿ìÕÕ£¨»î¶¯ÊÂÎñÁÐ±í£©ÒÔÍ⣬»¹ÐèÒªÒ»¸öCynosStoreµÄ¿ìÕÕ£¨Ò»ÖÂÐÔ¶Áµã£©¡£ÒòΪ·ÖƬµÄÈÕ־ʱ²¢ÐÐapplyµÄ¡£

Èç¹ûÒ»¸öһд¶à¶ÁµÄ¹²Ïí´æ´¢Êý¾Ý¿â¼¯ÈºµÄ´æ´¢±¾Éí²»¾ß±¸ÈÕÖ¾ÖØ×öµÄÄÜÁ¦£¬Ö÷´ÓÄÚ´æÒ³µÄͬ²½ÓÐÁ½ÖÖ±¸Ñ¡·½°¸£º

µÚÒ»ÖÖ±¸Ñ¡·½°¸£¬Ö÷´ÓÖ®¼äֻͬ²½ÈÕÖ¾¡£´ÓʵÀý½«ÖÁÉÙÐèÒª±£ÁôÖ÷ʵÀý×Ô´ÓÉÏ´ÎcheckpointÒÔÀ´ËùÓвúÉúµÄÈÕÖ¾£¬Ò»µ©´ÓʵÀý²úÉúcache miss£¬Ö»ÄÜ´Ó´æ´¢É϶ÁÈ¡ÉÏ´ÎcheckpointµÄbaseÒ³£¬²¢ÔÚ´Ë»ù´¡ÉÏÖØ·ÅÈÕÖ¾»º´æÖÐ×ÔÉÏ´ÎcheckpointÒÔÀ´µÄËùÓйØÓÚÕâ¸öÒ³µÄÐ޸ġ£ÕâÖÖ·½·¨µÄ¹Ø¼üÎÊÌâÔÚÓÚÈç¹ûÖ÷ʵÀýcheckpointÖ®¼äµÄʱ¼ä¼ä¸ôÌ«³¤£¬»òÕßÈÕÖ¾Á¿Ì«´ó£¬»áµ¼Ö´ÓʵÀýÔÚÃüÖÐÂʲ»¸ßµÄÇé¿öÏÂÔÚapplyÈÕÖ¾ÉϺķѷdz£¶àµÄʱ¼ä¡£ÉõÖÁ£¬¼«¶Ë³¡¾°Ï£¬µ¼Ö´ÓʵÀý¶Ôͬһ¸öÒ³»á·´¸´¶à´Îapplyͬһ¶ÎÈÕÖ¾£¬³ýÁË´ó·ùÔö´ó²éѯʱÑÓ£¬»¹²úÉúÁ˺ܶàû±ØÒªµÄCPU¿ªÏú£¬Í¬Ê±Ò²»áµ¼ÖÂÖ÷´ÓÖ®¼äµÄÑÓʱÓпÉÄÜ´ó·ùÔö¼Ó¡£

µÚ¶þÖÖ±¸Ñ¡·½°¸£¬Ö÷ʵÀýÏò´ÓʵÀýÌṩ¶ÁÈ¡Äڴ滺³åÇøÊý¾ÝÒ³µÄ·þÎñ£¬Ö÷ʵÀý¶¨ÆÚ½«±»Ð޸ĵÄÒ³ºÅºÍÈÕ־ͬ²½¸ø´ÓʵÀý¡£µ±¶Áҳʱ£¬´ÓʵÀýÊ×Ïȸù¾ÝÖ÷ʵÀýͬ²½µÄ±»Ð޸ĵÄÒ³ºÅÐÅÏ¢À´ÅжÏÊÇ1£©Ö±½ÓʹÓôÓʵÀý×Ô¼ºµÄÄÚ´æÒ³£¬»¹ÊÇ2£©¸ù¾ÝÄÚ´æÒ³ºÍÈÕÖ¾ÖØ·ÅеÄÄÚ´æÒ³£¬»¹ÊÇ3£©´ÓÖ÷ʵÀýÀ­È¡×îеÄÄÚ´æÒ³£¬»¹ÊÇ4£©´Ó´æ´¢¶Áȡҳ¡£ÕâÖÖ·½·¨ÓеãÀàËÆOracle RACµÄ¼ò»¯°æ¡£ÕâÖÖ·½°¸Òª½â¾öÁ½¸ö¹Ø¼üÎÊÌ⣺1£©²»Í¬µÄ´ÓʵÀý´ÓÖ÷ʵÀý»ñÈ¡µÄÒ³¿ÉÄÜÊDz»Í¬°æ±¾£¬Ö÷ʵÀýÄÚ´æÒ³·þÎñÓпÉÄÜÐèÒªÌṩ¶à°æ±¾µÄÄÜÁ¦¡£2£©¶ÁÄÚ´æÒ³·þÎñ¿ÉÄܶÔÖ÷ʵÀý²úÉú½Ï´ó¸ºµ££¬ÒòΪ³ýÁ˶à¸ö´ÓʵÀýµÄÓ°ÏìÒÔÍ⣬»¹ÓÐÒ»µã¾ÍÊÇÿ´ÎÖ÷ʵÀýÖеÄij¸öÒ³ÄÄÅÂÐ޸ĺÜСµÄÒ»²¿·ÖÄÚÈÝ£¬´ÓʵÀýÈç¹û¶Áµ½´ËÒ³Ôò±ØÐëÀ­È¡ÕûÒ³ÄÚÈÝ¡£´óÖÂÀ´Ëµ£¬Ö÷ʵÀýÐÞ¸ÄԽƵ·±£¬´ÓʵÀýÀ­È¡Ò²»á¸üƵ·±¡£

Ïà±È½ÏÀ´Ëµ£¬CynosStoreÒ²ÐèҪͬ²½ÔàÒ³£¬µ«ÊÇCynosStoreµÄ´ÓʵÀý»ñÈ¡ÐÂÒ³µÄ·½Ê½ÒªÁé»îµÄ¶àÓÐÁ½ÖÖÑ¡Ôñ1£©´ÓÈÕÖ¾ÖØ·ÅÄÚ´æÒ³£»2£©´ÓStoreNode¶ÁÈ¡¡£´ÓʵÀý¶Ôͬ²½ÔàÒ³ÐèÒªµÄ×îСÐÅÏ¢½ö½öÊǵ½µ×ÄÄЩҳ±»Ö÷ʵÀý¸øÐ޸Ĺý£¬Ö÷´Óͬ²½ÈÕÖ¾ÄÚÈÝÊÇΪÁËÈôÓʵÀý¼ÓËÙ£¬ÒÔ¼°½µµÍStore NodeµÄ¸ºµ£¡£

ͼÆß CynosDBһд¶à¶Á

ͼÆßÃèÊöÁËһдһ¶Á£¨Ò»Ö÷Ò»´Ó£©µÄ»ù±¾¿ò¼Ü£¬Ò»Ð´¶à¶Á£¨Ò»Ö÷¶à´Ó£©¾ÍÊÇһдһ¶ÁµÄµþ¼Ó¡£CynosStore Client£¨CSClient£©ÔËÐÐÌ¬Çø·ÖÖ÷´Ó£¬Ö÷CSClientÔ´Ô´²»¶ÏµØ½«CynosStore Journal£¨CSJ£©´ÓÖ÷ʵÀý·¢Ë͵½´ÓʵÀý£¬Ó뿪ԴPostgreSQLÖ÷±¸Ä£Ê½²»Í¬µÄÊÇ£¬Ö»ÒªÕâЩÁ¬ÐøµÄÈÕÖ¾µ½´ï´ÓʵÀý£¬²»Óõȵ½ÕâЩÈÕ־ȫ²¿apply£¬DB engine¾Í¿ÉÒÔ¶Áµ½ÕâЩÈÕÖ¾ËùÐ޸ĵÄ×îа汾¡£´Ó¶ø½µµÍÖ÷´ÓÖ®¼äµÄʱÑÓ¡£ÕâÀïÌåÏÖ¡°»ùÓÚÈÕÖ¾µÄ´æ´¢¡±µÄÓÅÊÆ£ºÖ»ÒªÖ÷ʵÀý½«ÈÕÖ¾³Ö¾Ã»¯µ½Store Node£¬´ÓʵÀý¼´¿É¶Áµ½ÕâЩÈÕÖ¾ËùÐ޸ĵÄ×îа汾Êý¾ÝÒ³¡£

Æß¡¢½áÓï

CynosStoreÊÇÒ»¸öÍêÈ«´ÓÁã´òÔì¡¢ÊÊÓ¦ÔÆÊý¾Ý¿âµÄ·Ö²¼Ê½´æ´¢¡£CynosStoreÔڼܹ¹ÉϾ߱¸Ò»Ð©ÌìÈ»ÓÅÊÆ£º1£©´æ´¢¼ÆËã·ÖÀ룬²¢ÇÒ°Ñ´æ´¢¼ÆËãµÄÍøÂçÁ÷Á¿½µµ½×îµÍ£» 2£©ÌáÉý×ÊÔ´ÀûÓÃÂÊ£¬½µµÍÔÆ³É±¾£¬3£©¸ü¼ÓÓÐÀûÓÚÊý¾Ý¿âʵÀýʵÏÖһд¶à¶Á£¬4£©Ïà±ÈÒ»Ö÷Á½´ÓµÄ´«Í³RDS¼¯Èº¾ß±¸¸ü¸ßµÄÐÔÄÜ¡£³ý´ËÖ®Í⣬ºóÐøÎÒÃÇ»áÔÚÐÔÄÜ¡¢¸ß¿ÉÓá¢×ÊÔ´¸ôÀëµÈ·½Ãæ¶ÔCynosStore½øÐнøÒ»²½µÄÔöÇ¿¡£

   
1736 ´Îä¯ÀÀ       41
Ïà¹ØÎÄÕÂ

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

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

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