±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜÁË
TiDB µÄËĸöÖ÷ÒªÓ¦Óó¡¾°ÒÔ¼°TiDB ²úÆ·µÄÕûÌå¼Ü¹¹ÓÃÀýÈçºÎÈÃʹÓà TiDB
Ìæ»» MySQL£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚÆó¶ìºÅ - ±à³Ì³Á˼¼£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼¡¢ÍƼö¡£ |
|
Èç½ñÓ²¼þµÄÐÔ¼Û±ÈÔ½À´Ô½¸ß£¬ÍøÂç´«ÊäËÙ¶ÈÔ½À´Ô½¿ì£¬Êý¾Ý¿â·Ö²ãµÄÇ÷ÊÆÖð½¥ÏÔÏÖ£¬ÈËÃÇÒѾ²»ÔÙÇ¿ÇóÓÃÒ»¸ö½â¾ö·½°¸À´½â¾öËùÓеĴ洢ÎÊÌ⣬¶øÊÇͨ¹ý·Ö²ã£¬Èûº´æÓëÊý¾Ý¿â¸ºÔð¸÷×ÔÉó¤µÄÒµÎñ³¡¾°¡£
µ±Ç°Êý¾Ý¿âÁìÓòÃæÁÙ¸÷ÖÖÎÊÌ⣬ÈçÔÚËõ·Å¡¢Ò»ÖÂÐÔ¡¢´óÊý¾Ý·ÖÎö¡¢ÓëÔÆ»ù´¡¼Ü¹¹¼¯³ÉµÈ·½Ãæ¾ù´æÔÚÖî¶àÎÊÌ⣬ÏÖÓеÄÊý¾Ý¿â½â¾ö·½°¸ºÍ´óÊý¾Ý·ÖÎöÒýÇæ½â¾ö·½°¸»ù±¾´¦ÓÚ¸îÁѵÄ״̬£¬ÓÉÓÚ
Oracle¡¢MySQL Êý¾Ý¿â²¢²»ÊÇÃæÏò·Ö²¼Ê½»·¾³¶øÉè¼Æ£¬Òò´Ë¼´Ê¹Ããǿͨ¹ý·Ö¿â¡¢·Ö±í»òÖмä¼þµÄ·½Ê½£¬ÔÚÊý¾Ý¿â²ãÃæ×öÁË·ÖÆ¬£¬´Ó±¾ÖÊÉÏ¿´Ò²Ö»ÊǸ´ÖÆÁËÏàͬµÄ¶ÑÕ»£¬¶ø·ÇÕë¶Ô·Ö²¼Ê½ÏµÍ³½øÐд洢ºÍ¼ÆËãÓÅ»¯£¬ÕâÕýÊǽøÐпçÒµÎñ²éѯ»ò¿çÎïÀí»ú²éѯºÍдÈëÊ®·Ö·±ËöµÄ±¾ÖÊÔÒò¡£NoSQL
ËäÈ»½â¾öÁËÊý¾Ý¿âµ¯ÐÔÀ©Õ¹µÄÄÑÌ⣬µ«ÊÇÈ´·ÅÆúÁËÊý¾ÝµÄǿһÖÂÐÔÒÔ¼°¶Ô ACID ÊÂÎñµÄÖ§³Ö£¬´øÀ´ÁËеÄÎÊÌâ¡£
ΪÁ˽â¾öÕâÒ»ÎÊÌ⣬TiDB Ôڼܹ¹ÉϽ«¼ÆËãºÍ´æ´¢²ã½øÐи߶ȵijéÏóºÍ·ÖÀ룬¶Ô»ìºÏ¸ºÔصij¡¾°Í¨¹ý IO
ÓÅÏȼ¶¶ÓÁУ¬ÖÇÄܸ±±¾µ÷¶È£¬ÐÐÁлìºÏ´æ´¢µÈ¼¼ÊõʹÆä±äΪ¿ÉÄÜ¡£TiDB ×÷Ϊ¿ªÔ´µÄ·Ö²¼Ê½¹ØÏµÊý¾Ý¿â£¬ÆäÌØµãÊǼ¸ºõ¿ÉÒÔ
100% ¼æÈÝ MySQL ½Ó¿Ú£¬Ò²¼æÈÝ MySQL µÄÓï·¨ºÍÐÒ飬ÔÚ±£Ö¤²»É¥Ê§ ACID ÊÂÎñµÄǰÌáÏ£¬Äܹ»µ¯ÐÔÉìËõ£¬¸ß¿ÉÓ㬿ÉÒÔͬʱ´¦Àí
OLTP ºÍ OLAP ¹¤×÷¸ºÔØ£¬²»ÔÙÐèÒª ETL¡£

TiDBÕûÌå¼Ü¹¹Í¼
TiDB ²úÆ·µÄÕûÌå¼Ü¹¹ÊǸ߶ȷֲãµÄ£¬ÓÉ·Ö²¼Ê½ SQL ²ã£¨TiDB£©¡¢·Ö²¼Ê½ KV ´æ´¢ÒýÇæ£¨TiKV£©ÒÔ¼°¹ÜÀíÕû¸ö¼¯ÈºµÄ
PD Ä£¿é×é³É¡£ÎÞÏÞˮƽÀ©Õ¹ÊÇ TiDB µÄÒ»´óÌØµã£¬ÕâÀïËù˵µÄˮƽÀ©Õ¹°üÀ¨Á½·½Ã棺¼ÆËãÄÜÁ¦ºÍ´æ´¢ÄÜÁ¦¡£
HTAP ¸ø¿ª·¢ÕßÌṩÁËÒ»¸öʵʱÊý¾Ý·ÖÎö·½ÃæµÄÐÂ˼·£¬²»ÐèÒªÔÙȥά»¤ÁíÒ»¸öÀëÏßµÄÊý¾Ý²Ö¿â£¬¼È¼õÇáÁË
ETL µÄ¹¤×÷£¬ÓÖÄܽÚÊ¡ºÜ´óÒ»²¿·Ö½¨Á¢Êý¾Ý²Ö¿âËùÓõ½µÄ´æ´¢ºÍ¼ÆËã³É±¾£¬HTAP ½«ÊÇδÀ´µÄÖØÒªÇ÷ÊÆ¡£»Æ¶«Ðñ½éÉÜÁË
TiDB µÄËĸöÖ÷ÒªÓ¦Óó¡¾°£¬Ò»ÊÇ MySQL ·ÖƬÓëºÏ²¢£»¶þÊÇÖ±½ÓÌæ»» MySQL£»ÈýÊÇÓÃ×öÊý¾Ý²Ö¿â£»ËÄÊÇ×÷ΪÆäËûϵͳµÄÒ»¸öÄ£¿é¡£
ÓÃÀý1£ºMySQL·ÖƬÓëºÏ²¢


Syncer
TiDB Ó¦ÓõĵÚÒ»Àೡ¾°ÊÇ MySQL µÄ·ÖƬÓëºÏ²¢¡£¶ÔÓÚÒѾÔÚÓà MySQL µÄÒµÎñ£¬·Ö¿â¡¢·Ö±í¡¢·ÖƬ¡¢Öмä¼þÊdz£ÓÃÊֶΣ¬Ëæ×Å·ÖÆ¬µÄÔö¶à£¬¿ç·ÖƬ²éѯÊÇÒ»´óÄÑÌâ¡£TiDB
ÔÚÒµÎñ²ã¼æÈÝ MySQL µÄ·ÃÎÊÐÒ飬PingCAP ×öÁËÒ»¸öÊý¾Ýͬ²½µÄ¹¤¾ß¡ª¡ªSyncer£¬Ëü¿ÉÒÔ°Ñ
TiDB ×÷Ϊһ¸ö MySQL Slave£¬½« TiDB ×÷ΪÏÖÓÐÊý¾Ý¿âµÄ´Ó¿â½ÓÔÚÖ÷ MySQL ¿âµÄºó·½£¬ÔÚÕâÒ»²ã½«Êý¾Ý´òͨ£¬¿ÉÒÔÖ±½Ó½øÐи´ÔӵĿç¿â¡¢¿ç±í¡¢¿çÒµÎñµÄʵʱ
SQL ²éѯ¡£»Æ¶«ÐñÌáµ½£¬¡°¹ýÈ¥µÄÊý¾Ý¿â¶¼ÊÇÒ»Ö÷¶à´Ó£¬ÓÐÁË TiDB ÒԺ󣬿ÉÒÔ·´¹ýÀ´×öµ½¶àÖ÷Ò»´Ó¡£¡±
ÓÃÀý2£ºÖ±½ÓÌæ»»MySQL

µÚ¶þÀೡ¾°ÊÇÓà TiDB Ö±½ÓÈ¥Ìæ»» MySQL¡£Èç¹ûÄãµÄIT¼Ü¹¹Ôڴ֮³õ²¢Î´¿¼ÂÇ·Ö¿â·Ö±íµÄÎÊÌ⣬ȫ²¿ÓÃÁË
MySQL£¬Ëæ×ÅÒµÎñµÄ¿ìËÙÔö³¤£¬º£Á¿¸ß²¢·¢µÄ OLTP ³¡¾°Ô½À´Ô½¶à£¬ÈçºÎ½â¾ö¼Ü¹¹Éϵı׶ËÄØ?
ÔÚÒ»¸ö TiDB µÄÊý¾Ý¿âÉÏ£¬ËùÓÐÒµÎñ³¡¾°²»ÐèÒª×ö·Ö¿â·Ö±í£¬ËùÓеķֲ¼Ê½¹¤×÷¶¼ÓÉÊý¾Ý¿â²ãÍê³É¡£TiDB
¼æÈÝ MySQL ÐÒ飬ËùÒÔ¿ÉÒÔÖ±½ÓÌæ»» MySQL£¬¶øÇÒ»ù±¾×öµ½ÁË¿ªÏä¼´Óã¬ÍêÈ«²»Óõ£ÐÄ´«Í³·Ö¿â·Ö±í·½°¸´øÀ´·±ÖصŤ×÷¸ºµ£ºÍ¸´ÔÓµÄά»¤³É±¾£¬ÓѺõÄÓû§½çÃæÈ󣹿µÄ¼¼ÊõÈËÔ±¿ÉÒÔ¸ßЧµØ½øÐÐά»¤ºÍ¹ÜÀí¡£ÁíÍ⣬TiDB
¾ßÓÐ NoSQL ÀàËÆµÄÀ©ÈÝÄÜÁ¦£¬ÔÚÊý¾ÝÁ¿ºÍ·ÃÎÊÁ÷Á¿³ÖÐøÔö³¤µÄÇé¿öÏÂÄܹ»Í¨¹ýˮƽÀ©ÈÝÌá¸ßϵͳµÄÒµÎñÖ§³ÅÄÜÁ¦£¬²¢ÇÒÏìÓ¦ÑÓ³ÙÎȶ¨¡£
»Æ¶«ÐñÔÚÑݽ²ÖÐÌáµ½ÁËĦ°Ýµ¥³µµÄ°¸Àý£¬Ä¦°ÝÔçÆÚµÄÊý¾Ý¿âÈ«²¿Óà MySQL£¬Ëæ×ÅÒµÎñµÄ¿ìËÙÔö³¤£¬MySQL
µÄ±×¶ËÖð½¥ÏÔÏÖ£¬Ä¦°Ýµ¥³µÓÚ 2017 Äê³õ¿ªÊ¼Ê¹Óà TiDB Ìæ»» MySQL¡£Èç½ñ£¬Ä¦°ÝµÄ IT
ϵͳÖÐÒѲ¿ÊðÁËÊýÌ× TiDB ¼¯Èº£¬½ü°Ù¸ö½Úµã£¬³ÐÔØ×ÅÊýÊ® TB µÄ¸÷ÀàÊý¾Ý¡£
ÓÃÀý3£ºÊý¾Ý²Ö¿â


TiDB ±¾ÉíÊÇÒ»¸ö·Ö²¼Ê½ÏµÍ³£¬µÚÈýÖÖʹÓó¡¾°Êǽ« TiDB µ±×÷Êý¾Ý²Ö¿âʹÓá£TPC-H ÊÇÊý¾Ý·ÖÎöÁìÓòµÄÒ»¸ö²âÊÔ¼¯£¬TiDB
2.0 ÔÚ OLAP ³¡¾°ÏµÄÐÔÄÜÓÐÁË´ó·ùÌáÉý£¬ÔÀ´Ö»ÄÜÔÚÊý¾Ý²Ö¿âÀïÃæÅܵÄһЩ¸´Ô Query£¬ÔÚ
TiDB 2.0 ÀïÃæÅÜ£¬Ê±¼ä»ù±¾¶¼ÄÜ¿ØÖÆÔÚ 10 ÃëÒÔÄÚ¡£µ±È»£¬ÒòΪ OLAP µÄ·¶³ë·Ç³£´ó£¬TiDB
µÄ SQL Ò²Óи㲻¶¨µÄÇé¿ö£¬Îª´Ë PingCAP ¿ªÔ´ÁË TiSpark£¬TiSpark ÊÇÒ»¸ö
Spark ²å¼þ£¬Óû§¿ÉÒÔÖ±½ÓÓà Spark SQL ʵʱµØÔÚ TiKV ÉÏ×ö´óÊý¾Ý·ÖÎö¡£
ÓÃÀý4£º×÷ΪÆäËûϵͳµÄÄ£¿é

TiDB ÊÇÒ»¸ö´«Í³µÄ´æ´¢¸ú¼ÆËã·ÖÀëµÄÏîÄ¿£¬Æäµ×²ãµÄ Key-Value
²ã£¬¿ÉÒÔµ¥¶À×÷Ϊһ¸ö HBase µÄ Replacement À´Óã¬Ëüͬʱ֧³Ö¿çÐÐÊÂÎñ¡£TiDB ¶ÔÍâÌṩÁ½¸ö
API ½Ó¿Ú£¬Ò»¸öÊÇ ACID Transaction µÄ API£¬ÓÃÓÚÖ§³Ö¿çÐÐÊÂÎñ£»ÁíÒ»¸öÊÇ Raw
API£¬Ëü¿ÉÒÔ×öµ¥ÐеÄÊÂÎñ£¬»»À´µÄÊÇÕû¸öÐÔÄܵÄÌáÉý£¬µ«²»Ìṩ¿çÐÐÊÂÎñµÄ ACID Ö§³Ö¡£Óû§¿ÉÒÔ¸ù¾Ý×ÔÉíµÄÐèÇóÔÚÁ½¸ö
API Ö®¼ä×ÔÐÐÑ¡Ôñ¡£ÀýÈçÓÐһЩÓû§Ö±½ÓÔÚ TiKV Ö®ÉÏʵÏÖÁË Redis ÐÒ飬½« TiKV Ìæ»»Ò»Ð©´óÈÝÁ¿£¬¶ÔÑÓ³ÙÒªÇ󲻸ߵÄ
Redis ³¡¾°¡£
|