ÖØ°õ£¡¿ªÔ´·Ö²¼Ê½NewSQLÊý¾Ý¿âTiDB 2.0Õýʽ·¢²¼£¡Êý¾Ý¿â
È¥Äêʮԣ¬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 Öж¼ÄÜ˳ÀûÖ´ÐС£
Ò×ÓÃÐԺͿÉÔËάÐÔ
ΪÁ˸üÈÝÒ×±»°²×°ºÍʹÓã¬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 Ö§³Ö


- 2016Äê3ÔÂÍøÃñÉÏÍøÊ±¼ä·Ö²¼£ºÍíÉÏ9µã
- Å̵ã×îÔçµÄÊý×ÖÓòÃû ÔÀ´ËüÃÇÕâôÓÐ
- £¨.ÎÒ°®Ä㣩ÓòÃû2015Äê¶È³ÂËߣºÉÌÎñ
- 2016Äê1ÔÂÊÕ¼¯²»Á¼ÓëÀ¬»øÐÅÏ¢£ºÒù»à
- ÆØ°¢Àï°Í°ÍµÍµ÷ÊÕ¹º2¸ö¡°°¢À￵
- 1ÔÂ28ÈÕÈ«ÇòÓòÃûÉ̽âÎöÐÂÔöÁ¿21Ç¿£º
- °¢ÀïÔÆÆìÏÂ.xinÓòÃû15ºÅ¿ª·Å×¢²á »ò
- ¿ç¾³µçÉÌÈÈ ÊÇÌÌÊÖɽÓóÕÕ¾ÉÏãâÄâÄ£¿
- Hadoop½«ËÀ£¬Í¼Êý¾Ý¿â³ÉΪÐÂÇ÷ÊÆ£¿¿´
