±à¼ÍƼö: |
±¾ÎĽéÉÜÁ˾©¶«°×ÌõÊý¾Ý¼Ü¹¹ÑݽøÊ·,
Apache ShardingSphere ÔÚ¾©¶«°×ÌõÒµÎñÂ䵨¹ý³ÌÖжԲúÆ·µÄ¹¦ÄܺÍÐÔÄÜ·½ÃæµÄÌáÉý£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚInfoQ£¬ÓÉAlice±à¼¡¢ÍƼö¡£ |
|
¾©¶«°×ÌõÊý¾Ý¼Ü¹¹ÑݽøÊ·
×Ô 2014 Äê 2 Ô¾©¶«°×ÌõÒµÎñÉÏÏ߯ð£¬ÎªÂú×ã¿ìËÙ·¢Õ¹µÄÒµÎñºÍ¼¤ÔöµÄº£Á¿Êý¾Ý£¬°×ÌõµÄÊý¾Ý¼Ü¹¹¾ÀúÁËÊý´ÎÑݽø¡£
2014¡«2015
Solr + HBase µÄ·½°¸½â¾öÁ˺ËÐÄ¡¢·ÇºËÐÄÒµÎñϵͳ¶Ô¹Ø¼üÊý¾Ý¿âµÄ·ÃÎÊÎÊÌ⣬Solr ×÷Ϊ±»¼ìË÷×ֶεÄË÷Òý£¬HBase ÓÃ×÷È«Á¿µÄÊý¾Ý´æ´¢¡£
ͨ¹ý Solr ¼¯Èº·Öµ£²¿·Ö¶ÁºÍдµÄÒµÎñ£¬»º½âºËÐÄ¿âµÄѹÁ¦£»
Solr À©Õ¹ÌåÑéÉÏÇ·¼Ñ£¬¶ÔÒµÎñÒ²´æÔڽϴóµÄÈëÇÖ¡£
2015¡«2016
ÒýÈë NoSQL ·½°¸£¬ÒµÎñÊý¾ÝÒÔÔ·ݽøÐÐ·Ö±í´æ´¢ÔÚ MongoDB ¼¯ÈºÖУ¬½×¶ÎÐÔÂú×ãÁ˽áËã´¦Àí³¡¾°Öк£Á¿Êý¾Ýµ¼Èëµ¼³öµÄÐèÇó¡£
²éѯÈȵãÊý¾ÝЧÂʸߣ¬·Ç½á¹¹»¯µÄ´æ´¢·½Ê½Ò×ÓÚÐ޸ıí½á¹¹£»
ÒÀÈ»Ãæ¶Ô×ÅÀ©Õ¹²î¡¢¶ÔÒµÎñÈëÇÖÇ¿µÄ¾ÖÃæ£¬¶øÇÒºÄÄÚ´æ¡£
2016¡«2017
Ëæ×ÅÒµÎñ¿ìËÙ·¢Õ¹£¬Êý¾ÝÁ¿Í»ÆÆ°ÙÒÚ´ó¹Ø£¬´Ëʱ MongoDB ÃæÁÙ×ÅÈÝÁ¿ºÍÐÔÄܵÄË«ÖØ¿¼Ñé¡£¾©¶«°×Ìõ´óÊý¾Ýƽ̨ͨ¹ý DBRep ÒÔ MySQL Slave µÄÐÎʽ²É¼¯±ä¶¯ÐÅÏ¢²¢´æ´¢µ½ÏûÏ¢ÖÐÐÄ£¬×îºóÂäÅ̵½ ES ºÍ HBase ÖС£
¸Ã·½°¸¾ßÓнÏÇ¿µÄÊý¾ÝʵʱÐÔ£¬À©Õ¹ÐÔÁ¼ºÃ£»
»ùÓÚÒµÎñ¿ò¼ÜµÄÊý¾Ý·ÖƬÄÑÒÔ½µµÍ´úÂëά»¤³É±¾¡£
°×ÌõÊý¾Ý¼Ü¹¹µÄÑݽø¼ä½ÓµØ·´Ó¦ÁË»¥ÁªÍøÏû·Ñ½ðÈڵķÉËÙ·¢Õ¹£¬Ò²ËµÃ÷ÁËÿһÖÖ½â¾ö·½°¸ÔÚ²»Í¬±³¾°Ï¶¼Óв»Í¬µÄ±£ÖÊÆÚ¡£
ÆÈÔÚü½ÞµÄ¼Ü¹¹½âñî
Ϊ±£Ö¤ÒµÎñϵͳÔÚÊý¾Ý¼¤ÔöÇé¿öÏÂʼÖÕÄܱ£³Ö¸ßЧÔËÐУ¬¼¼ÊõÍŶÓÔÚÉè¼Æ³õÆÚʹÓÃÁËÊý¾Ý·ÖƬÊý¾Ý¼Ü¹¹£¬·¢»Ó¼«ÖÂÐÔÄܵÄͬʱҲ¼æ¹Ë´úÂëµÄ¿É¿ØÐÔ£¬²ÉÓà »ùÓÚÓ¦Óÿò¼ÜµÄÊý¾Ý²ð·Ö·½°¸ Íê³ÉÁËÊý¾Ý²ð·Ö¹¤×÷¡£
µ«Ëæ×ŲúÆ·Éý¼¶µü´ú£¬ÔçÆÚµÄ½â¾ö·½°¸Ñݱä³ÉΪÁËÑÛǰµÄÎÊÌ⣬ͨ¹ýÒµÎñ¿ò¼ÜʵÏÖµÄÊý¾Ý·ÖƬ·½°¸µ¼ÖÂÒµÎñ´úÂ븴ÔÓ¶ÈÔö¼Ó¡¢Î¬»¤³É±¾²»¶ÏÅÊÉý£¬½ôñîºÏµÄ±×¶ËÔÐα϶£¬ Ó¦ÓÃÿ´ÎÉý¼¶¶¼ÐèҪͶÈë½Ï¶àµÄ¾«Á¦¶Ô·ÖƬ×öÏàÓ¦µ÷Õû£¬Ñз¢ÈËÔ±ÄÑÒÔרעÓÚÒµÎñ±¾Éí¡£
Ãæ¶ÔÈçÉÏÎÊÌ⣬¼¼ÊõÍŶӾȨºâºó¿ªÊ¼¿¼ÂÇʹÓóÉÊìµÄ·Ö¿â·Ö±í×é¼þÀ´³Ðµ£Õⲿ·Ö¹¤×÷£¬ÈÃÒµÎñϵͳÉý¼¶ºÍ¼Ü¹¹µ÷Õû²»ÔÙ¸´ÔÓ¡£»ùÓÚ×ÔÑпò¼Ü·ÖƬºÍ»ùÓÚ ShardingSphere ·ÖƬµÄ¶Ô±ÈÈçÏ£º
ÏÂÒ»½×¶Î¹¤×÷£¬ ½âñî¡£
ÏÔÈ»¾©¶«°×ÌõÊý¾Ý¼Ü¹¹½«ÓÀ´Ò»¸öеĽ׶Σ¬½âñîµÄÇý¶¯Á¦¿ÉÒÔ¸ÅÀ¨ÈçÏ 3 ·½Ã棺
¾Û½¹¾«Á¦£º ½«»ùÓڼܹ¹µÄÊý¾Ý¿â²ð·Ö£¬½»¸ø·Ö±í×é¼þʵÏÖ£¬Ñз¢¾«Á¦Ðè¾Û½¹ÓÚÒµÎñ±¾Éí£»
¼ò»¯Éý¼¶£º ½âñî¼¼Êõ¼Ü¹¹£¬¼ò»¯ÒµÎñϵͳÉý¼¶¹¤×÷µÄÑз¢Á÷³Ì£»
¹æ»®Î´À´£º ΪϵͳÌṩÁ¼ºÃµÄÀ©Õ¹ÄÜÁ¦£¬´ÓÈÝÓ¦¶Ô¡°618¡±ºÍ¡°11. 11¡±µÈ»î¶¯¡£
¾©¶«°×ÌõÒµÎñÌåÁ¿¾Þ´ó£¬ÊÇÃû¸±ÆäʵµÄ½ðÈÚ¼¶¸ß²¢·¢¡¢º£Á¿Êý¾ÝµÄÒµÎñ³¡¾°£¬Òò´Ë·Ö¿â·Ö±í×é¼þÓ¦¾ßÓÐÒÔÏÂÌØµã£º
1. ²úÆ·³ÉÊìÎȶ¨
2. ¼«ÖÂÐÔÄܱíÏÖ
3. ´¦Àíº£Á¿Êý¾Ý
4. ¼Ü¹¹Áé»îÀ©Õ¹
Apache ShardingSphere ½â¾ö·½°¸
ShardingSphere-JDBC ÊÇ Apache ShardingSphere µÄµÚÒ»¿î²úÆ·£¬Ëü¶¨Î»Îª ÇáÁ¿¼¶ Java ¿ò¼Ü £¬ÔÚ Java µÄ JDBC ²ãÌṩµÄ¶îÍâ·þÎñ¡£ËüʹÓÿͻ§¶ËÖ±Á¬Êý¾Ý¿â£¬ÒÔ jar °üÐÎʽÌṩ·þÎñ£¬ÎÞÐè¶îÍⲿÊðºÍÒÀÀµ£¬¿ÉÀí½âΪ ÔöÇ¿°æµÄ JDBC Çý¶¯£¬ÍêÈ«¼æÈÝ JDBC ºÍ¸÷ÖÖ ORM ¿ò¼Ü¡£
ShardingSphere-JDBC µÄÒÔÏÂÌØµãÄܹ»ºÜºÃµØÂú×ã°×ÌõÒµÎñ³¡¾°£º
²úÆ·³ÉÊ죺 ¾ÊýÄê´òÄ¥²úÆ·³ÉÊì¶È¸ß£¬ÇÒÉçÇø»îÔ¾£»
ÐÔÄÜÁ¼ºÃ£º ΢Äںˡ¢ÇáÁ¿»¯µÄÉè¼Æ£¬ÐÔÄÜËðºÄ¼«Ð¡£»
¸ÄÔìÁ¿Ð¡£º Ö§³ÖÔÉúµÄ MySQL ÐÒ飬Ñз¢¹¤×÷Á¿Ð¡£»
À©Õ¹Áé»î£º ´îÅäʹÓÃÇ¨ÒÆÍ¬²½×é¼þÇáËÉʵÏÖÊý¾ÝÀ©Õ¹¡£

¾ÄÚ²¿´óÁ¿ÏµÍ³ÐÔÑéÖ¤Ö®ºó£¬Apache ShardingSphere ³ÉΪÁ˾©¶«°×ÌõÊý¾Ý·ÖƬÖмä¼þµÄÊ×Ñ¡·½°¸£¬2018 Äêµ×Õýʽ¿ªÊ¼¶Ô½Ó¡£
²úÆ·ÊÊÅä
ΪÄÜÈ«ÃæÖ§³Å°×ÌõÒµÎñ¡¢Ìṩ¸üºÃµÄÒµÎñÌåÑ飬Apache ShardingSphere ÔÚ¾©¶«°×ÌõÒµÎñÂ䵨¹ý³ÌÖжԲúÆ·µÄ¹¦ÄܺÍÐÔÄÜ·½Ãæ½øÐÐÁ˸ü¶àµÄÖ§³ÖºÍÌáÉý£¬²úÆ·ÔÙÒ»´Î¾ÀúµäÐͰ¸ÀýµÄ´òÄ¥¡£
Éý¼¶ SQL ÒýÇæ
°×ÌõµÄÒµÎñÂß¼·Ç³£¸´ÔÓÇÒÅӴ󣬶àÑù»¯³¡¾°µÄÐèÇó¶Ô SQL µÄ¼æÈݳ̶ÈÓÐ׎ϸßÒªÇó£¬Apache ShardingSphere ÖØ¹¹ÁË SQL ½âÎöÄ£¿é£¬²¢Ö§³ÖÁ˸ü¶àµÄ SQL¡£
1¡¢Â·ÓÉÖÁµ¥Êý¾Ý½Úµã £¬SQL 100% ¼æÈÝ£»
2¡¢Â·ÓÉÖÁ¶àÊý¾Ý½Úµã£¬¿ÉÈ«ÃæÖ§³Ö DML¡¢DDL¡¢DCL¡¢TCL ºÍ²¿·Ö DAL¡£Ö§³Ö·ÖÒ³¡¢È¥ÖØ¡¢ÅÅÐò¡¢·Ö×é¡¢¾ÛºÏ¡¢¹ØÁª²éѯ¡£
·Ö²¼Ê½Ö÷¼ü
Apache ShardingSphere ÌṩÁËÄÚÖõķֲ¼Ê½Ö÷¼üÉú³ÉÆ÷£¬ÀýÈç UUID¡¢SNOWFLAKE µÈ·Ö²¼Ê½Ö÷¼üÉú³ÉÆ÷¡£Í¬Ê± Apache ShardingSphere ÌṩÁË·Ö²¼Ê½Ö÷¼üÉú³ÉÆ÷µÄ½Ó¿Ú£¬Óû§¿É×Ô¶¨Òå×ÔÔöÖ÷¼üÉú³ÉËã·¨À´Âú×ãÌØÊⳡ¾°µÄÐèÇó¡£
ÒµÎñ·ÖƬ¼üÖµ×¢Èë
¶ÔÓÚûÓÐ·ÖÆ¬Ìõ¼þµÄ SQL£¬Apache ShardingSphere ʹÓà ThreadLocal ¹ÜÀí·ÖƬ¼üÖµ£¬Í¨¹ý±à³ÌµÄ·½Ê½Ïò HintManager ÖÐÌí¼Ó·ÖƬÌõ¼þ£¬¸Ã·ÖƬÌõ¼þ½öÔÚµ±Ç°Ïß³ÌÄÚÉúЧ£¬ÊµÏÖÁË SQL ÁãÇÖÈë¡£
³ýÁ˶Թ¦ÄÜÉϵÄÔöÇ¿£¬Apache ShardingSphere ΪÂú×㾩¶«°×ÌõÒµÎñÑÏ¿ÁµÄÐÔÄÜÒªÇó£¬Í¬Ê±×öÁË¶à·½Ãæµ÷ÓÅ¡£
SQL ½âÎö½á¹û»º´æ
JDBC ÔªÊý¾ÝÐÅÏ¢»º´æ
Bind ±í & ¹ã²¥±íµÄʹÓÃ
×Ô¶¯»¯Ö´ÐÐÒýÇæ & Á÷ʽ¹é²¢
¾Á½ÍŶÓͨÁ¦ºÏ×÷£¬¾©¶«°×ÌõÒµÎñÓë Apache ShardingSphere Ïà½áºÏµÄ¸÷ÏîÖ¸±êÂú×ãÔ¤ÆÚ£¬ÐÔÄÜÓëÔÉú JDBC ¼¸ºõÒ»Ö¡£

¹ØÓÚ¶Ô½Ó¹ý³ÌÖеÄÎÊÌâÏêÇé¼°·½°¸£¬Çëͨ¹ý ¡¶Apache ShardingSphere ¶Ô½Ó¾©¶«°×Ìõʵս¡· Ò»ÎÄÀ´Á˽⡣
ÒµÎñ¸î½Ó
Apache ShardingSphere ʹÓö¨ÖÆ»¯ HASH ²ßÂÔ¶ÔÊý¾Ý½øÐÐ·ÖÆ¬£¬ÓÐЧ±ÜÃâÁËÈȵãÊý¾ÝÎÊÌ⣬ ²ð·ÖºóµÄÊý¾Ý½ÚµãÊý´ï½üÍò¸ö £¬Õû¸ö¸î½Ó¹ý³Ì´óÔ¼³ÖÐøÁË 4 ÖÜ×óÓÒµÄʱ¼ä¡£
1. DBRep ¶ÁÈ¡Êý¾Ý£¬Í¨¹ý Apache ShardingSphere ½«Êý¾Ýͬ²½ÖÁÄ¿±êÊý¾Ý¿â¼¯Èº£»
2. Á½Ì×¼¯Èº²¢ÐÐÔËÐУ¬Êý¾ÝÇ¨ÒÆºóÔÙʹÓÃ×ÔÑй¤¾ß¶ÔÒµÎñºÍÊý¾Ý½øÐÐУÑé¡£
DBRep ÊÇ ShardingSphere-Scaling ²úÆ·Éè¼ÆµÄ»ùʯ£¬Scaling ¾ß±¸µÄ×Ô¶¯»¯ÄÜÁ¦ÎªºóÐøµÄÇ¨ÒÆÀ©Èݹ¤×÷ÌṩÁ˸ü¶àµÄ±ãÀû¡£
Apache ShardingSphere ´øÀ´µÄÊÕÒæ
¼ò»¯Éý¼¶Â·¾¶
ͨ¹ý¼Ü¹¹½âñҵÎñϵͳÉý¼¶ËùÉæ¼°¼¼ÊõÕ»µÃµ½ÓÐЧËõ¶Ì£¬Ñз¢ÍŶӲ»ÔÙÐèÒª¹Ø×¢·Ö±íÉè¼Æ£¬¾«Á¦È«²¿¾Û½¹ÓÚÒµÎñ±¾Éí£¬Éý¼¶Â·¾¶µÃµ½´ó·ù¶ÈÓÅ»¯£»
½ÚÊ¡Ñз¢Á¦Á¿
ÒýÈë³ÉÊìµÄ Apache ShardingSphere ÎÞÐèÖØÐ¿ª·¢·Ö±í×é¼þ£¬ÔÚ¼ò»¯ÒµÎñÉý¼¶Â·¾¶µÄ»ù´¡ÉϽÚÊ¡ÁË´óÁ¿Ñз¢Á¦Á¿£»
¼Ü¹¹Áé»îÀ©Õ¹
´îÅäʹÓà Scaling ͬ²½Ç¨ÒÆ×é¼þ´ÓÈÝÃæ¶Ô¡°618¡±ºÍ¡°11.11¡±µÈ´óÐͻ£¬ÏµÍ³Áé»îÀ©ÈÝ¡£
дÔÚ×îºó
¾©¶«°×ÌõÒµÎñµÄ¿ìËÙÔö³¤Çý¶¯×ÅÊý¾Ý¼Ü¹¹²»¶ÏÉý¼¶£¬±¾´Î¼Ü¹¹ÑݽøÍ¨¹ýÒýÈë Apache ShardingSphere ÖúÁ¦°×Ìõ¼Ü¹¹½âñ¼ò»¯ÁËϵͳÉý¼¶Â·¾¶£¬Ê¹Ñз¢ÍŶÓÖ»Ðè¹Ø×¢ÒµÎñ±¾Éí£¬Í¬Ê±Ò²ÊµÏÖÁËÊý¾Ý¼Ü¹¹µÄÁé»îÀ©Õ¹£¬ÔÚÏû·Ñ½ðÈÚ³¡¾°¿ªÆôÁËÁ¼ºÃµÄ¿ª¶Ë¡£
»¥ÁªÍøÐÅÓÃÏû·Ñģʽ·¢Õ¹Öð²½¶àÑù»¯£¬Î´À´ Apache ShardingSphere ½«Ó뾩¶«Õ¹¿ª¸ü¶àÒµÎñ³¡¾°µÄʵ¼ùºÍ̽Ë÷£¬Í¨¹ýÍÆ¶¯½ðÈڿƼ¼´´Ð·¢Õ¹£¬½øÒ»²½ÌáÉý»¥ÁªÍø½ðÈڵĴ´ÐÂËٶȺÍЧÂÊ¡£
ShardingSphere ×÷Ϊ Apache »ù½ð»áÏµĶ¥¼¶¿ªÔ´ÏîÄ¿£¬ÔÚ GitHub ÉÏ»ñµÃÁ˳¬ 14K Star µÄ¹Ø×¢£¬ÒѳÉΪÐÐÒµÄÚÊÜ»¶ÓµÄ¿ªÔ´ÏîÄ¿£¬È«ÇòÓг¬¹ý 170 ¼ÒÆóÒµÓû§µÇ¼ÇʹÓ㬸²¸Ç½ðÈÚ¡¢µç×ÓÉÌÎñ¡¢ÔÆ·þÎñ¡¢ÂÃÓΡ¢ÎïÁ÷¡¢½ÌÓý¡¢ÎÄÓéµÈ¶à¸öÁìÓò¡£
|