ÖØ°õ£¡¿ªÔ´·Ö²¼Ê½NewSQLÊý¾Ý¿âTiDB 2.0Õýʽ·¢²¼£¡Êý¾Ý¿â

À´Ô´£º»¥ÁªÍø / ×÷ÕߣºSKY / 2018-05-02 15:15 / µã»÷£º
È¥Äêʮԣ¬TiDB 1.0 °æ±¾·¢²¼£¬ÔÚ½ÓÏÂÀ´µÄÁù¸öÔÂÖУ¬¿ª·¢ÍŶÓÒ»·½ÃæÔÚά»¤ 1.0 °æ±¾µÄÎȶ¨ÐÔ²¢ÇÒÔö¼Ó±ØÒªµÄÐÂÌØÐÔ£¬ÁíÒ»·½ÃæÂí²»Í£ÌãµÄ¿ª·¢ 2.0 °æ±¾¡£¾­¹ý 6 ¸ö

È¥Äêʮԣ¬TiDB 1.0 °æ±¾·¢²¼£¬ÔÚ½ÓÏÂÀ´µÄÁù¸öÔÂÖУ¬¿ª·¢ÍŶÓÒ»·½ÃæÔÚά»¤ 1.0 °æ±¾µÄÎȶ¨ÐÔ²¢ÇÒÔö¼Ó±ØÒªµÄÐÂÌØÐÔ£¬ÁíÒ»·½ÃæÂí²»Í£ÌãµÄ¿ª·¢ 2.0 °æ±¾¡£¾­¹ý 6 ¸ö RC °æ±¾£¬TiDB 2.0 GA °æ±¾ÓÚ 4 Ô 27 ÈÕÕýʽ·¢²¼¡£

TiDB ÊǹúÄÚ PingCAP ÍŶӿª·¢µÄÒ»¸ö·Ö²¼Ê½ SQL Êý¾Ý¿â¡£ÆäÁé¸ÐÀ´×ÔÓÚ Google µÄ F1 ºÍ Google spanner, TiDB Ö§³Ö°üÀ¨´«Í³ RDBMS ºÍ NoSQL µÄÌØÐÔ¡£

2.0 °æ±¾¹æ»®

¸ù¾ÝÏÖÓÐÓû§µÄÇé¿ö¡¢¼¼Êõ·¢Õ¹Ç÷ÊÆÒÔ¼°ÉçÇøµÄÉùÒô£¬TiDB 2.0 °æ±¾Ö÷Òª¾Û½¹ÔÚÒÔϼ¸µã£º

±£Ö¤ TiDB µÄÎȶ¨ÐÔÒÔ¼°ÕýÈ·ÐÔ¡£ÕâÁ½µãÊÇÒ»¸öÊý¾Ý¿âÈí¼þµÄ»ù´¡¹¦ÄÜ£¬×÷ΪҵÎñµÄ»ùʯ£¬ÈκÎÒ»µã¶¶¶¯»òÕß´íÎ󶼿ÉÄܶÔÒµÎñÔì³É¾Þ´óµÄÓ°Ï졣ĿǰÒѾ­ÓдóÁ¿µÄÓû§ÔÚÏßÉÏʹÓà TiDB£¬ÕâЩÓû§µÄÊý¾ÝÁ¿ÔÚ²»¶ÏÔö¼Ó¡¢ÒµÎñÒ²ÔÚ²»¶ÏÑݽø¡£

ÌáÉý TiDB ÔÚ´óÊý¾ÝÁ¿ÏµIJéѯÐÔÄÜ¡£TiDB ĿǰºÜ¶à¿Í»§¶¼ÓÐÉÙÔòÉϰ٠GB£¬¶àÔòÉϰ٠TB µÄÊý¾Ý£¬Ò»·½ÃæÊý¾Ý»á³ÖÐøÔö¼Ó£¬ÁíÒ»·½ÃæÒ²Ï£ÍûÄܶÔÕâЩÊý¾Ý×öʵʱµÄ²éѯ¡£ËùÒÔÈç¹ûÄÜÌáÉý´óÊý¾ÝÁ¿ÏµIJéѯÐÔÄÜ£¬¶ÔÓû§»áºÜÓаïÖú¡£

ÓÅ»¯ TiDB µÄÒ×ÓÃÐԺͿÉά»¤ÐÔ¡£TiDB ÕûÌ×ϵͳµÄ¸´ÔÓÐԱȽϸߣ¬ÔËά¼°Ê¹ÓõÄÄѶÈÒª´óÓÚµ¥»úÊý¾Ý¿â£¬ËùÒÔÏ£ÍûÄÜÌṩ¾¡¿ÉÄÜ·½±ãµÄ·½°¸°ïÖúÓû§Ê¹Óà TiDB¡£±ÈÈ羡¿ÉÄܼò»¯²¿Êð¡¢Éý¼¶¡¢À©ÈÝ·½Ê½£¬¾¡¿ÉÄÜÈÝÒ׵Ķ¨Î»ÏµÍ³ÖгöÏÖµÄÒ쳣״̬¡£

Î§ÈÆÉÏÃæÈýµãÔ­Ôò£¬TiDB ×öÁË´óÁ¿µÄ¸Ä½ø£¬Ò»Ð©ÊǶÔÍâ¿É¼û£¬Èç OLAP ÐÔÄܵÄÏÔÖøÌáÉý¡¢¼à¿ØÏîµÄ´óÁ¿Ôö¼ÓÒÔ¼°ÔËά¹¤¾ßµÄ¸÷ÏîÓÅ»¯£¬»¹Óиü¶àµÄ¸Ä½øÊÇÒþ²ØÔÚÊý¾Ý¿â±³ºó£¬Ä¬Ä¬µÄÌáÉýÕû¸öÊý¾Ý¿âµÄÎȶ¨ÐÔÒÔ¼°ÕýÈ·ÐÔ¡£

ÕýÈ·ÐÔºÍÎȶ¨ÐÔ

ÔÚ 1.0 °æ±¾·¢²¼Ö®ºó£¬TiDB ¿ªÊ¼¹¹½¨ºÍÍêÉÆ×Ô¶¯»¯²âÊÔÆ½Ì¨ Schrodinger£¬³¹µ×¸æ±ðÁË֮ǰ¿¿ÊÖ¹¤²¿Êð¼¯Èº²âÊԵķ½Ê½¡£Í¬Ê±Ò²ÐÂÔöÁ˷dz£¶àµÄ²âÊÔÓÃÀý£¬×öµ½²âÊÔ´Ó×îµ×²ã RocksDB£¬µ½ Raft£¬ÔÙµ½ Transaction£¬È»ºóÊÇ SQL ¶¼Äܸ²¸Ç¡£

ÔÚ Chaos ²âÊÔÉÏÃæ£¬TiDB ÒýÈëÁ˸ü¶àµÄ´íÎó×¢È빤¾ß£¬ÀýÈçʹÓà systemtap ¶Ô I/O ½øÐÐ delay µÈ£¬Ò²ÔÚ´úÂëÌØ¶¨µÄÒµÎñµÄÂß¼­½øÐдíÎó×¢Èë²âÊÔ£¬³ä·Ö±£Ö¤ TiDB ÔÚÒì³£Ìõ¼þÏÂÃæÒ²ÄÜÎȶ¨ÔËÐС£

TiDB µÄ¿ª·¢ÍŶÓ֮ǰ×öÁ˺ܶà TLA+ µÄÂÛÖ¤¹¤×÷£¬Ò²ÓÐһЩ¼òµ¥µÄ²âÊÔ£¬1.0 Ö®ºó¿ªÊ¼Ê¹Óà TLA+ ϵͳ½øÐÐÂÛÖ¤£¬±£Ö¤Ëù×öµÄʵÏÖÔÚÉè¼ÆÉÏÃæ¶¼ÊÇÕýÈ·µÄ¡£

ÔÚ´æ´¢ÒýÇæ·½Ã棬ΪÁËÌáÉý´ó¹æÄ£¼¯ÈºµÄÎȶ¨ÐÔºÍÐÔÄÜ£¬TiDB ÓÅ»¯ÁË Raft µÄÁ÷³Ì£¬ÒýÈë Region Merge¡¢Raft Learner µÈÐÂÌØÐÔ£»ÓÅ»¯Èȵãµ÷¶È»úÖÆ£¬Í³¼Æ¸ü¶àµÄÐÅÏ¢£¬²¢¸ù¾ÝÕâЩÐÅÏ¢×ö¸üºÏÀíµÄµ÷¶È£»ÓÅ»¯ RocksDB µÄÐÔÄÜ£¬Ê¹Óà DeleteFilesInRanges µÈÌØÐÔ£¬ÌáÉý¿Õ¼ä»ØÊÕЧÂÊ£¬½µµÍ´ÅÅ̸ºÔØ£¬ÒÔ¼°¸ü¼Óƽ»¬µØÊ¹ÓôÅÅÌ×ÊÔ´µÈµÈ¡£

OLAP ÐÔÄÜÓÅ»¯

TiDB 2.0 °æ±¾Öع¹ÁË SQL ÓÅ»¯Æ÷ºÍÖ´ÐÐÒýÇæ£¬Ï£ÍûÄܾ¡¿ÉÄÜ¿ìµÄÑ¡Ôñ×îÓŲéѯ¼Æ»®²¢ÇÒ¾¡¿ÉÄܸßЧµØÖ´Ðвéѯ¼Æ»®¡£

1.0 °æ±¾ÒѾ­´Ó»ùÓÚ¹æÔòµÄ²éѯÓÅ»¯Æ÷תÏò»ùÓÚ´ú¼ÛµÄ²éѯÓÅ»¯Æ÷£¬µ«ÊÇ»¹²»¹»ÍêÉÆ£¬ÔÚ 2.0 °æ±¾ÖУ¬Ò»·½ÃæÓÅ»¯Í³¼ÆÐÅÏ¢µÄ¾«È·¶ÈÒÔ¼°¸üм°Ê±³Ì¶È£¬ÁíÒ»·½ÃæÌáÉý SQL ÓÅ»¯Æ÷µÄÄÜÁ¦£¬¶Ô²éѯ´ú¼ÛµÄ¹ÀËã¸ü¼Ó¾«×¼¡¢¶Ô¸´ÔÓ¹ýÂËÌõ¼þµÄ·ÖÎö¸ü¼ÓϸÖ¡¢¶Ô¹ØÁª×Ó²éѯµÄ´¦Àí¸ü¼ÓÓÅÑÅ¡¢¶ÔÎïÀíËã×ÓµÄÑ¡Ôñ¸ü¼ÓÁé»î׼ȷ¡£

ÔÚÕâÒ»°æ±¾ÖУ¬SQL Ö´ÐÐÒýÇæÒýÈëеÄÄÚ²¿Êý¾Ý±íʾ·½Ê½ --- `Chunk`£¬Ò»¸ö½á¹¹Öб£´æÒ»ÅúÊý¾Ý¶ø²»½öÊÇÒ»ÐÐÊý¾Ý£¬Í¬Ò»ÁеÄÊý¾ÝÔÚÄÚ´æÖÐÁ¬Ðø´æ·Å£¬Ê¹µÃÄÚ´æÊ¹Óøü½ô´Õ£¬ÕâÑù´øÀ´Á˼¸µãºÃ´¦£º

1. ÏÔÖø¼õСÁËÄÚ´æÏûºÄ£»

2. ÅúÁ¿·ÖÅäÄڴ棬¼õСÁË GC ¿ªÏú£»

3. Ëã×ÓÖ®¼ä¿ÉÒÔ¶ÔÊý¾Ý½øÐÐÅúÁ¿´«µÝ£¬¼õСµ÷ÓÿªÏú£»

4. ÔÚijЩ³¡¾°Ï£¬¿ÉÒÔ½øÐÐÏòÁ¿¼ÆËãÒÔ¼°¼õС CPU µÄ Cache Miss µÄÇé¿ö¡£

Íê³ÉÉÏÊöÁ½Ïî¸Ä¶¯Ö®ºó£¬TiDB ÔÚ OLAP ³¡¾°ÏµÄÐÔÄÜÓÐÁË´ó·ùµÄÖʵÄÌáÉý£¬´Ó TPC-H µÄ¶Ô±È½á¹ûÀ´¿´£¬ËùÓÐµÄ Query ÔÚ 2.0 Öж¼ÔËÐеøü¿ì£¬Ò»Ð© Query ´ó¶àÊý¶¼Óм¸±¶ÉõÖÁÊýÁ¿¼¶µÄÌáÉý£¬ÌرðÊÇһЩ 1.0 ÖÐÅܲ»³ö½á¹ûµÄ Query ÔÚ 2.0 Öж¼ÄÜ˳ÀûÖ´ÐС£

ÖØ°õ£¡¿ªÔ´·Ö²¼Ê½NewSQLÊý¾Ý¿âTiDB 2.0Õýʽ·¢²¼£¡

Ò×ÓÃÐԺͿÉÔËάÐÔ

ΪÁ˸üÈÝÒ×±»°²×°ºÍʹÓã¬TiDB 2.0 ÔÚ¼à¿Ø¡¢ÔËά¡¢¹¤¾ß·½ÃæÒ²×öÁËÖî¶àÓÅ»¯¡£

ÔÚ¼à¿Ø·½Ã棬Ôö¼ÓÁ˹ý°Ù¸ö¼à¿ØÏͬʱͨ¹ý HTTP ½Ó¿Ú¡¢SQL Óï¾äµÈ·½Ê½±©Â¶³öһЩÔËÐÐʱÐÅÏ¢£¬ÓÃÓÚϵͳµ÷ÓÅ»òÕßÊǶ¨Î»ÏµÍ³ÖдæÔÚµÄÎÊÌâ¡£

ÔÚÔËά·½Ã棬ÔËά¹¤¾ß×öÁËÓÅ»¯£¬¼ò»¯²Ù×÷Á÷³Ì£¬½µµÍ²Ù×÷¸´ÔӶȼ°²Ù×÷¹ý³Ì¶ÔÓÚÏßÉϵÄÓ°Ï졣ͬʱ¹¦ÄÜÒ²¸ü¼Ó·á¸»£¬Ö§³Ö×Ô¶¯²¿Êð Binlog ×é¼þ¡¢Ö§³ÖÆôÓà TLS¡£

2.0 Ïêϸ¸üÐÂÁбí

TiDB

1.SQL ÓÅ»¯Æ÷

¾«¼òͳ¼ÆÐÅÏ¢Êý¾Ý½á¹¹£¬¼õСÄÚ´æÕ¼ÓÃ

¼Ó¿ì½ø³ÌÆô¶¯Ê±¼ÓÔØÍ³¼ÆÐÅÏ¢ËÙ¶È

Ö§³Öͳ¼ÆÐÅÏ¢¶¯Ì¬¸üР[experimental]

ÓÅ»¯´ú¼ÛÄ£ÐÍ£¬¶Ô´ú¼Û¹ÀËã¸ü¾«×¼

ʹÓà `Count-Min Sketch` ¸ü¾«È·µØ¹ÀËãµã²éµÄ´ú¼Û

Ö§³Ö·ÖÎö¸ü¸´ÔÓµÄÌõ¼þ£¬¾¡¿ÉÄܳä·ÖµÄʹÓÃË÷Òý

Ö§³Öͨ¹ý `STRAIGHT_JOIN` Óï·¨ÊÖ¶¯Ö¸¶¨ Join ˳Ðò

`GROUP BY`×Ó¾äΪ¿ÕʱʹÓà Stream Aggregation Ëã×Ó£¬ÌáÉýÐÔÄÜ

Ö§³ÖʹÓÃË÷Òý¼ÆËã `Max/Min` º¯Êý

ÓÅ»¯¹ØÁª×Ó²éѯ´¦ÀíËã·¨£¬Ö§³Ö½«¸ü¶àÀàÐ͵ĹØÁª×Ó²éѯ½â¹ØÁª²¢×ª»¯³É `Left Outer Join`

À©´ó `IndexLookupJoin` µÄʹÓ÷¶Î§£¬Ë÷Òýǰ׺ƥÅäµÄ³¡¾°Ò²¿ÉÒÔʹÓøÃËã·¨

2.SQL Ö´ÐÐÒýÇæ

ʹÓà Chunk ½á¹¹Öع¹ËùÓÐÖ´ÐÐÆ÷Ëã×Ó£¬ÌáÉý·ÖÎöÐÍÓï¾äÖ´ÐÐÐÔÄÜ£¬¼õÉÙÄÚ´æÕ¼Óã¬ÏÔÖøÌáÉý TPC-H ½á¹û

Ö§³Ö Streaming Aggregation Ëã×ÓÏÂÍÆ

ÓÅ»¯ `Insert Into Ignore` Óï¾äÐÔÄÜ£¬ÌáÉý 10 ±¶ÒÔÉÏ

ÓÅ»¯ `Insert On Duplicate Key Update` Óï¾äÐÔÄÜ£¬ÌáÉý 10 ±¶ÒÔÉÏ

ÏÂÍÆ¸ü¶àµÄÊý¾ÝÀàÐͺͺ¯Êýµ½ TiKV ¼ÆËã

ÓÅ»¯ `Load Data` ÐÔÄÜ£¬ÌáÉý 10 ±¶ÒÔÉÏ

Ö§³Ö¶ÔÎïÀíËã×ÓÄÚ´æÊ¹ÓýøÐÐͳ¼Æ£¬Í¨¹ýÅäÖÃÎļþÒÔ¼°ÏµÍ³±äÁ¿Ö¸¶¨³¬¹ýãÐÖµºóµÄ´¦ÀíÐÐΪ

Ö§³ÖÏÞÖÆµ¥Ìõ SQL Óï¾äʹÓÃÄÚ´æµÄ´óС£¬¼õÉÙ³ÌÐò OOM ·çÏÕ

Ö§³ÖÔÚ CRUD ²Ù×÷ÖÐʹÓÃÒþʽµÄÐÐ ID

ÌáÉýµã²éÐÔÄÜ

3.Server

Ö§³Ö Proxy Protocol

Ìí¼Ó´óÁ¿¼à¿ØÏî, ÓÅ»¯ÈÕÖ¾

Ö§³ÖÅäÖÃÎļþµÄºÏ·¨ÐÔ¼ì²â

Ö§³Ö HTTP API »ñÈ¡ TiDB ²ÎÊýÐÅÏ¢

ʹÓà Batch ·½Ê½ Resolve Lock£¬ÌáÉýÀ¬»ø»ØÊÕËÙ¶È

Ö§³Ö¶àÏß³ÌÀ¬»ø»ØÊÕ

Ö§³Ö TLS

4.¼æÈÝÐÔ

Ö§³Ö¸ü¶à MySQL Óï·¨

Ö§³ÖÅäÖÃÎļþÐÞ¸Ä `lower_case_table_names` ϵͳ±äÁ¿£¬ÓÃÓÚÖ§³Ö OGG Êý¾Ýͬ²½¹¤¾ß

ÌáÉý¶Ô Navicat µÄ¼æÈÝÐÔ

ÔÚ `Information_Schema` ÖÐÖ§³ÖÏÔʾ½¨±íʱ¼ä

ÐÞ¸´²¿·Öº¯Êý/±í´ïʽ·µ»ØÀàÐÍºÍ MySQL ²»Í¬µÄÎÊÌâ

ÌáÉý¶Ô JDBC ¼æÈÝÐÔ

Ö§³Ö¸ü¶àµÄ `SQL_MODE`

5.DDL

ÓÅ»¯ `Add Index` µÄÖ´ÐÐËÙ¶È£¬²¿·Ö³¡¾°ÏÂËÙ¶È´ó·ù¶ÈÌáÉý

`Add Index` ²Ù×÷±ä¸üΪµÍÓÅÏȼ¶£¬½µµÍ¶ÔÏßÉÏÒµÎñÓ°Ïì

`Admin Show DDL Jobs` Êä³ö¸üÏêϸµÄ DDL ÈÎÎñ״̬ÐÅÏ¢

Ö§³Ö `Admin Show DDL Job Queries JobID` ²éѯµ±Ç°ÕýÔÚÔËÐÐµÄ DDL ÈÎÎñµÄԭʼÓï¾ä

Ö§³Ö `Admin Recover Index` ÃüÁÓÃÓÚÔÖÄѻָ´Çé¿öÏÂÐÞ¸´Ë÷ÒýÊý¾Ý

Ö§³Öͨ¹ý `Alter` Óï¾äÐÞ¸Ä Table Options

PD

1.Ôö¼Ó `Region Merge` Ö§³Ö£¬ºÏ²¢Êý¾Ýɾ³ýºó²úÉúµÄ¿Õ Region [experimental]

2.Ôö¼Ó `Raft Learner` Ö§³Ö [experimental]

3.µ÷¶ÈÆ÷ÓÅ»¯

µ÷¶ÈÆ÷ÊÊÓ¦²»Í¬µÄ Region size

ÌáÉý TiKV å´»úʱÊý¾Ý»Ö¸´µÄÓÅÏȼ¶ºÍ»Ö¸´ËÙ¶È

ÌáÉýÏÂÏß TiKV ½Úµã°áǨÊý¾ÝµÄËÙ¶È

ÓÅ»¯ TiKV ½Úµã¿Õ¼ä²»×ãʱµÄµ÷¶È²ßÂÔ£¬¾¡¿ÉÄÜ·ÀÖ¹¿Õ¼ä²»×ãʱ´ÅÅ̱»Ð´Âú

ÌáÉý balance-leader scheduler µÄµ÷¶ÈЧÂÊ

¼õÉÙ balance-region scheduler µ÷¶È¿ªÏú

ÓÅ»¯ hot-region scheduler µÄÖ´ÐÐЧÂÊ

4.ÔËά½Ó¿Ú¼°ÅäÖÃ

Ôö¼Ó TLS Ö§³Ö

Ö§³ÖÉèÖà PD leader ÓÅÏȼ¶

Ö§³Ö»ùÓÚ label ÅäÖÃÊôÐÔ

Ö§³ÖÅäÖÃÌØ¶¨ label µÄ½Úµã²»µ÷¶È Region leader

Ö§³ÖÊÖ¶¯ Split Region£¬¿ÉÓÃÓÚ´¦Àíµ¥ Region ÈȵãµÄÎÊÌâ

Ö§³Ö´òÉ¢Ö¸¶¨ Region£¬ÓÃÓÚijЩÇé¿öÏÂÊÖ¶¯µ÷ÕûÈȵã Region ·Ö²¼

Ôö¼ÓÅäÖòÎÊý¼ì²é¹æÔò£¬ÍêÉÆÅäÖÃÏîµÄºÏ·¨ÐÔ½ÏÑé

5.µ÷ÊÔ½Ó¿Ú

Ôö¼Ó `Drop Region` µ÷ÊÔ½Ó¿Ú

Ôö¼Óö¾Ù¸÷¸ö PD health ״̬µÄ½Ó¿Ú

6.ͳ¼ÆÏà¹Ø

Ìí¼ÓÒì³£ Region µÄͳ¼Æ

Ìí¼Ó Region ¸ôÀë¼¶±ðµÄͳ¼Æ

Ìí¼Óµ÷¶ÈÏà¹Ø metrics

7.ÐÔÄÜÓÅ»¯

PD leader ¾¡Á¿Óë etcd leader ±£³Öͬ²½£¬ÌáÉýдÈëÐÔÄÜ

ÓÅ»¯ Region heartbeat ÐÔÄÜ£¬ÏÖ¿ÉÖ§³Ö³¬¹ý 100 Íò Region

TiKV

1.¹¦ÄÜ

±£»¤¹Ø¼üÅäÖ㬷ÀÖ¹´íÎóÐÞ¸Ä

Ö§³Ö `Region Merge` [experimental]

Ìí¼Ó `Raw DeleteRange` API

Ìí¼Ó `GetMetric` API

Ìí¼Ó `Raw Batch Put`£¬`Raw Batch Get`£¬`Raw Batch Delete` ºÍ `Raw Batch Scan`

¸ø Raw KV API Ôö¼Ó Column Family ²ÎÊý£¬ÄܶÔÌØ¶¨ Column Family ½øÐвÙ×÷

Coprocessor Ö§³Ö streaming ģʽ£¬Ö§³Ö streaming ¾ÛºÏ

Ö§³ÖÅäÖà Coprocessor ÇëÇóµÄ³¬Ê±Ê±¼ä

ÐÄÌø°üЯ´øÊ±¼ä´Á

Ö§³ÖÔÚÏßÐÞ¸Ä RocksDB µÄһЩ²ÎÊý£¬°üÀ¨ `block-cache-size` ´óСµÈ

Ö§³ÖÅäÖà Coprocessor Óöµ½Ä³Ð©´íÎóʱµÄÐÐΪ

Ö§³ÖÒÔµ¼Êý¾ÝģʽÆô¶¯£¬¼õÉÙµ¼Êý¾Ý¹ý³ÌÖеÄд·Å´ó

Ö§³ÖÊÖ¶¯¶Ô region ½øÐж԰ë split

ÍêÉÆÊý¾ÝÐÞ¸´¹¤¾ß tikv-ctl

Coprocessor ·µ»Ø¸ü¶àµÄͳ¼ÆÐÅÏ¢£¬ÒÔ±ãÖ¸µ¼ TiDB µÄÐÐΪ

Ö§³Ö ImportSST API£¬¿ÉÒÔÓÃÓÚ SST Îļþµ¼Èë [experimental]

ÐÂÔö TiKV Importer ¶þ½øÖÆ£¬Óë TiDB Lightning ¼¯³ÉÓÃÓÚ¿ìËÙµ¼ÈëÊý¾Ý [experimental]

2.ÐÔÄÜ

ʹÓà ReadPool ÓÅ»¯¶ÁÐÔÄÜ£¬`raw_get/get/batch_get` ÌáÉý 30%

ÌáÉý metrics µÄÐÔÄÜ

Raft snapshot ´¦ÀíÍêÖ®ºóÁ¢¼´Í¨Öª PD£¬¼Ó¿ìµ÷¶ÈËÙ¶È

½â¾ö RocksDB Ë¢Å̵¼ÖÂÐÔÄܶ¶¶¯ÎÊÌâ

ÌáÉýÔÚÊý¾Ýɾ³ýÖ®ºóµÄ¿Õ¼ä»ØÊÕ

¼ÓËÙÆô¶¯¹ý³ÌÖеÄÀ¬»øÇåÀí¹ý³Ì

ʹÓà `DeleteFilesInRanges` ¼õÉÙ¸±±¾Ç¨ÒÆÊ± I/O ¿ªÏú

3.Îȶ¨ÐÔ

½â¾öÔÚ PD leader ·¢ËÍÇл»µÄÇé¿öÏ gRPC call ²»·µ»ØÎÊÌâ

½â¾öÓÉÓÚ snapshot µ¼ÖÂÏÂÏß½ÚµãÂýµÄÎÊÌâ

ÏÞÖÆ°áÒÆ¸±±¾ÁÙʱռÓõĿռä´óС

Èç¹ûÓÐ Region ³¤Ê±¼äûÓÐ Leader£¬½øÐÐÉϱ¨

¸ù¾Ý compaction ʼþ¼°Ê±¸üÐÂͳ¼ÆµÄ Region size

ÏÞÖÆµ¥´Î scan lock ÇëÇóµÄɨÃèµÄÊý¾ÝÁ¿£¬·ÀÖ¹³¬Ê±

ÏÞÖÆ½ÓÊÕ snapshot ¹ý³ÌÖеÄÄÚ´æÕ¼Ó㬷ÀÖ¹ OOM

ÌáÉý CI test µÄËÙ¶È

½â¾öÓÉÓÚ snapshot Ì«¶àµ¼Ö嵀 OOM ÎÊÌâ

ÅäÖà gRPC µÄ `keepalive` ²ÎÊý

ÐÞ¸´ Region Ôö¶àÈÝÒ× OOM µÄÎÊÌâ

´ËÍ⣬ͬʱ·¢²¼µÄ»¹ÓÐ TiSpark 1.0 GA °æ±¾¡£TiSpark 1.0 °æ±¾×é¼þÌṩÁËÕë¶Ô TiDB ÉϵÄÊý¾ÝʹÓà Apache Spark ½øÐзֲ¼Ê½¼ÆËãµÄÄÜÁ¦¡£¸üаüÀ¨£º

1.ÌṩÁËÕë¶Ô TiKV ¶ÁÈ¡µÄ gRPC ͨÐÅ¿ò¼Ü

2.ÌṩÁË¶Ô TiKV ×é¼þÊý¾ÝµÄºÍͨÐÅЭÒ鲿·ÖµÄ±àÂë½âÂë

3.ÌṩÁ˼ÆËãÏÂÍÆ¹¦ÄÜ£¬°üº¬

¾ÛºÏÏÂÍÆ

ν´ÊÏÂÍÆ

TopN ÏÂÍÆ

Limit ÏÂÍÆ

4.ÌṩÁËË÷ÒýÏà¹ØÖ§³Ö

ν´Êת»¯¾Û´ØË÷Òý·¶Î§

ν´Êת»¯´Î¼¶Ë÷Òý

Index Only ²éѯÓÅ»¯

ÔËÐÐʱË÷ÒýÍË»¯É¨±íÓÅ»¯

5.ÌṩÁË»ùÓÚ´ú¼ÛÓÅ»¯

ͳ¼ÆÐÅÏ¢Ö§³Ö

Ë÷ÒýÑ¡Ôñ

¹ã²¥±í´ú¼Û¹ÀËã

6.¶àÖÖ Spark Interface µÄÖ§³Ö

Spark Shell Ö§³Ö

ThriftServer/JDBC Ö§³Ö

ÔĶÁÑÓÕ¹

1
3