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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Êý¾Ý¿âÉî¶È½âÎö | ´ÓNoSQLÀúÊ·¿´Î´À´
 
  À´Ô´: 21CTOÉçÇø   »ðÁú¹ûÈí¼þ  ·¢²¼ÓÚ 2015-8-28
  4755  次浏览      29
 

±¾Îĸù¾ÝÍõ¾§êÅ£¨»¨ÃûÉòѯ£©ÀÏʦÔÚ¡°¸ß¿ÉÓüܹ¹¡±Î¢ÐÅȺËù×öµÄ¡¶NoSQL VS SQL¡··ÖÏíÕûÀí¶ø³É£¬×ª·¢Çë×¢Ã÷À´×Ô΢ÐŹ«ÖÚºÅArchNotes¡£

Íõ¾§êÅ£¬»¨ÃûÉòѯ£¬°¢Àï×ÊÉî¼¼Êõר¼Ò£¬×¨×¢·Ö²¼Ê½Êý¾Ý¿âÆßÄê¡£±ÏÒµ¼ÓÈëÌÔ±¦£¬ÔÚÌÔ±¦·Ö²¼Ê½Êý¾Ý²ã¸ÉÁËÆßÄ꣬²ÎÓëÁ˴󲿷ֵÄÌÔ±¦Êý¾Ý¿âÒµÎñ¼Ü¹¹Éè¼Æ¹¤×÷¡£Ä¿Ç°¹Ø×¢ÓÚ·Ö²¼Ê½Êý¾Ý¿âDRDSºÍ·Ö²¼Ê½ÏûϢϵͳONSµÄÑз¢¹¤×÷¡£

ÒÔÏÂΪ·ÖÏíÄÚÈÝʵ¼£º

ǰÑÔ

½ñÌìÏë½éÉܵĶ«Î÷ÊÇNoSQLµ½SQL¡£ÎÒÖ®ËùÒÔÑ¡ÔñÕâ¸öÌâÄ¿£¬Æäʵ¾ÍÊÇÒòΪ¿´µ½ÁËÒ»ÕÅͼ£º

£¨Í¼1£©

¿´ÍêÒÔºóÎÒÕæµÄàÛà;ÍЦÁË£¬ºÚµÄƯÁÁ¡£

½ñÌìÒª·ÖÏíµÄÖ÷ÌâÓÐÈçϼ¸¸ö·½Ã棺

  • 1970£ºWe have no SQL
  • 1980£ºKnow SQL
  • 2005£ºNot only SQL
  • 2013£ºNo,SQL!

°¢ÀïµÄ¼¼ÊõÑ¡Ôñ

¶ÔÒ»¸ö¶ÔÊý¾Ý¿âÀúÊ·ÓеãÁ˽âµÄÈËÀ´Ëµ£¬ÕâÕÅÍ¼ÕæµÄÊÇ·´Ó³ÁËÎÒÃÇÔÚÊý¾Ý¿â´æ´¢ÁìÓòÂÝÐýÉÏÉýʽ·¢Õ¹Àú³ÌµÄ×î¼Ñ´ú±í¡£Õâ¸çÃÇÕæµÄÊÇÌ츳ÒìÙ÷°¡£¡

ΪʲôÎÒ»áÐ¦ÄØ£¿ Ï£ÍûÎÒ×öÍêÁËÕâ´Î·ÖÏí£¬´ó¼ÒÒ²ÄܸúÎÒÒ»ÑùЦһÏ¡£

ÄÇôÎÒÃÇÏÈÀ´µ½µÚÒ»Õ¡£

1970£ºWe have no SQL

¶÷£¡ÎÒÃÇûÓÐSQL¡£

Òª½éÉÜÕâ¸öÎÊÌ⣬ÎÒÃǾÍÒªÏÈÀ´¿´¿´Ê²Ã´½ÐÊý¾Ý¿â£¬ÒÔ¼°Êý¾Ý¿âÕâ¸ö¶«Î÷ÊÇÔõôÀ´µÄ¡£

³ÌÐòÔ±Ò»°ã¶¼»áÅöµ½ÀàËÆÕâÑùµÄÐèÇó£ºÓüÆËã»ú±íʾһÁ¾³µ×Ó¡£ÕâÁ¾³µÄØ£¬ËüÓÐÒ»¸öÍâ¿Ç£¬ËÄÉȲ£Á§£¬ËĸöÂÖ×Ó¡£

ÎÒÓ¦¸ÃÈçºÎÓóÌÐòÀ´±íÊöËüÄØ£¿Ê×ÏÈÄÜÏëµ½µÄÒ»¶¨ÊÇʹÓýṹÌå(JavaµÄ»°ÊÇClass)¡£

µ«µ±ÎÒÃÇ·¢ÏÖÕâ¸ö³µ×ÓµÄÏî²»¹»ÓÃÁË£¬±ÈÈçÎÒÐèÒªÔÚ³µ×ÓÉÏÃæ×°Ò»¶Ô·´¹â¾µ£¬Ôõô°ìÄØ£¿ÎÒÃÇÖ»ÄÜÍùÀïÃæÔö¼ÓÒ»¸öеÄÊôÐÔÀ´±íʾÕâ¸ö·´¹â¾µ¡£Èç¹ûÕâÖÖÐèÇóÔ½À´Ô½¶à£¬Ô½À´Ô½¶à£¬ÎÒÃǾͻᷢÏÖ£¬Ã¿´Î¶¼¸ÄÒ»ÏÂÕâ¸ö½á¹¹Ìå¡¢±àÒë¡¢·¢²¼£¬ÊǸö·Ç³£Âé·³µÄÊÂÇé¡£

ÓÚÊÇ£¬¾ÍÓÐÁËÕâÖַdz£´¿´âµÄÐèÇó£ºÓÐûÓпÉÄܰÑËü۳ɶ¯Ì¬µÄ¡£Õâʱºò£¬ÎÒÃÇ×î³£Óõ½µÄÒ»¸öÊý¾Ý½á¹¹¾ÍÊÇ¡°Ó³É䡱¡£

¶ÔJava³ÌÐòÔ±À´Ëµ£¬Ó³Éä¾ÍÊÇÒ»¸öMap<Object,Object>¡£Ò»°ãÀ´ËµMapÓÐÁ½ÀàʵÏÖ£ºÒ»ÀàÊÇHash£¬Ò»ÀàÊÇÓÐÐòÊ÷¡£ÓÐÁËÕâ¸öËæÐèÓ¦±äµÄ¼¯ºÏ£¬ÎÒÃǾͿÉÒÔ°ÑÊÂÇé±ä³ÉÕâÑù£º

  • map.put("ÂÖ×Ó",ÂÖ×Ó¶ÔÏó);
  • map.put("¾µ×Ó",¾µ×Ó¶ÔÏó) ......

ÓÐЩʱºòÎÒÃÇÓֻᵣÐÄÊý¾Ý¶ªÊ§£¬¶Ô²»¶Ô£¿

ËùÒÔ»¹µÃÏë°ì·¨°ÑÕâ¸ö¶ÔÏóÒԷdz£¸ßЧµÄ·½Ê½³Ö¾Ã»¯ÏÂÀ´£¬·Åµ½´ÅÅÌÉÏ£¬ÕâÑù¾Í²»ÈÝÒ×¶ªÊ§ÁË¡£

map.put/get²Ù×÷Æäʵ¶¼»áÓÐÒ»´ÎѰÕҵĹý³ÌµÄ£¬Õâ¸öѰÕÒ¹ý³Ì¶ÔÓÚ´ÅÅÌÀ´Ëµ»áת±äΪһ´ÎËæ»úѰµÀ¹ý³Ì¡£ÓкܶàÖÖ·½Ê½Äܹ»ÓôÅÅ̽ṹÀ´´æ´¢ÀàËÆMapÕâÑùµÄ¸ÅÄî¡£ÎÒ½ñÌìÖ»½éÉÜÒ»ÖÖ£¬¾ÍÊÇB-tree£¬²»ÖªµÀ´ó¼Ò¶ÔÕâ¸ö´Ê¶ùÊDz»ÊÇÊìϤ£¬·´ÕýÎÒÃæÊÔ»ù±¾¶¼»áÎÊÎÊ¡£

ÐèÒªÏÈÌáµÄÒ»¼þÊÂÊÇBÊ÷ == B-Ê÷¡£ËùνB-Ê÷£¬²¢²»ÊÇB¼õÊ÷µÄÒâ˼£¬Ï£Íû´ó¼Ò²»Òª¸úÎÒÒ»ÑùÍÁ±î¡£

£¨Í¼2£©

Õâ¾ÍÊÇÒ»¸ö×î¼òµ¥µÄBÊ÷£¬¹Û²ìһϾͻᷢÏÖ£¬ÆäʵBÊ÷µÄ³ö·¢µãºÜ¼òµ¥£º¼ÈÈ»´ÅÅÌѰµÀʱ¼äºÜ¶à£¬ÄǾͼõÉÙËü£¬Ò»´ÎѰµÀÄܹ»´Ó´ÅÅÌÈ¡¸ü¶àÊý¾Ý¾ÍÐÐÁË¡£ËùÒÔ£¬ËüÊÇÒÔ¡°Êý×顱 Ϊµ¥Î»´æ´¢Êý¾ÝµÄ£¨Êý×éÆäʵ¾ÍÊÇһƬÁ¬Ðø²¢ÇÒÓнçµÄ¿Õ¼ä£©¡£Êý×éÄÑÒÔÀ©Õ¹£¬²¢ÇÒά»¤Êý×éÄÚÔªËØÓÐÐòÒ²ÊÇÓÐÒ»¶¨´ú¼ÛµÄ¡£Êý×éÂúÁËÒÔºóÔõô°ìÄØ£¿ Õâ¾ÍÊÇBÊ÷»á×öµÄʶù£¬·ÖÁÑ¡£Èç¹ûÕâÀï´ó¼ÒÄܹ»ÁªÏëµ½ÁíÍâÒ»¸ö¶«Î÷£¬ÄǾÍËãѧÃ÷°×ÁË£¬HBaseÆäʵ¾ÍÊǿþ޴óµÄ¡¢·Ö²¼Ê½µÄBÊ÷¡£ÆäËûÈÝÎÒ×îºóͲÛ~¡£

ÏàÐźܶàÈ˶¼Ìý¹ýÒ»¸öÃû´Ê£º²ã´ÎÊý¾Ý¿â¡£Õâ¶«Î÷ËÆºõ¾ÍÊÇÔÚÉϹÅʱ´úµÄÉñÆ÷£¬ÏÖÔÚÔò²»¼ûÁË×ÙÓ°¡£²ã´ÎÊý¾Ý¿âµ½µ×ÊǸöÊ²Ã´ÍæÒâ¶ùÄØ£¿ÎÒÃÇÀ´¿´Ò»ÕÅͼ¡£

£¨Í¼3£©×¢£ºÍ¼Æ¬À´×ÔÍøÂç

³éÏóÀ´¿´£¬²ã´ÎÄ£ÐÍÆäʵ¾ÍÊÇÕâÑùµÄ¶«Î÷£¬ÎÒÔÙÓÃСÆû³µÀ´±íÊöһϣºÒ»¸öС³µÓÉËÄÉȲ£Á§£¬ËĸöÂÖ×Ó£¬Á½¸ö·´¹â¾µ×é³É¡£³µÓÐ×Ô¼ºµÄÊôÐÔ£¬ÂÖ×ÓÓÐ×Ô¼ºµÄÊôÐÔ£¬·´¹â¾µÓÐ×Ô¼ºµÄÊôÐÔ¡£

¸ø´ó¼ÒÁ½¸öÀý×ÓÏàÐÅ´ó¼ÒÓ¦¸ÃÁ¢¿Ì¾ÍÄÜÃ÷°×ÁË£¬ËùνµÄ²ã´ÎÄ£ÐÍ£¬Èç¹ûÓÃJava´úÂëÀ´Ð´µÄ»°£¬¾ÍÊÇMapÌ×Map £¬Ã¿¸öMapÓÐһЩ¹Ì¶¨µÄÊôÐÔ£¬±ÈÈçÕâ¸öMapµÄÃû×ÖÊÇʲô£¬Õâ¸öMapµÄÊôÐÔÊÇʲô£¬¶øÕâ¾ÍÊÇÎÒÃÇ×ʼÔÚʹÓõÄÊý¾Ý¿âÁË¡£·Ç³£¼òµ¥£¬Ò»¸öMap½á¹¹¸ã¶¨ËùÓÐÐèÇó¡£ ¿´ÆðÀ´ÊÀ½ç´óͬÁË¡£

1980£ºKnow SQL

ÏÂÃæ£¬ÎÒÃǾÍÀ´µ½ÁË1980Ä꣬Know SQL£¬ÖªµÀSQLÁË¡£

ΪʲôÕâôд£¿Æäʵ¾ÍÊÇËäÈ»¹ØÏµÊý¾Ý¿âÊÇÉÏÊÀ¼Í70Äê´ú·¢Ã÷µÄ£¬µ«ÊÇÖ±µ½80Äê´ú£¬IBM·¢²¼Á˵ÚÒ»´úÈ«¹¦ÄܵĹØÏµÊý¾Ý¿âϵͳSystem Rºó£¬ÎÒÃDzÅÕýʽ½øÈëµ½¹ØÏµÊý¾Ý¿âÄ£ÐÍ¡£

ÏàÐźܶàÈ˶¼¾õµÃ×Ô¼ºÁË½â¹ØÏµÄ£ÐÍ£¬Ëƺõÿ¸öÈËÌáµ½Ëü£¬¶¼Ëµ¡°¶Ô¶Ô¶Ô¡±¡£¾ø¶Ô¶Ô£¬ÒòΪÕâÊÇÓÐÊýѧ֧³ÖµÄ£¬²»Ó¦¸Ã±»»³ÒÉ¡£¿ÉϧµÄÊÇ£¬Èç¹û´ó¼ÒÁË½â¿ÆÑ§·¢ÏÖµÄÀúÊ·¾Í»á·¢ÏÖ£¬×Ô´Ó°®Òò˹̹°ÑÅ£¶ÙÄÇÓÉÍêÃÀÊýѧ±£Ö¤µÄ×ÔÇ¢ÀíÂÛÌß³öÁËÉñ̳£¬Êýѧ×ÔÇ¢¾ÍÔÙÒ²²»ÊÇÕæÀíµÄ±ê×¼ÁË¡£ÄĸöµÄÓû§×î¶àÄĸö¾ÍÊÇÕæÀí¡£ÎªÊ²Ã´¹ØÏµÄ£ÐÍ×îÖÕÓ®µÃÁ˱ÈÈü£¬¶ø²ã´ÎÄ£ÐÍËÀµôÁËÄØ£¿ºÜ¼òµ¥£¬ÒòΪÈËÀà¶¼ÊÇ´Àµ°ºÍɵ¹Ï°¡¡£Äĸö¼òµ¥Ò×Óã¬Äĸö¾ÍÓ®ÁË¡£

ÏÂÃæ£¬ÎÒÃǾÍÒÔÒ»¸öÀý×ÓÀ´¿´¿´¹ØÏµÄ£ÐÍÒ×ÓÃÔÚÄÄÀï¡£»¹ÊÇÒÔ³µ×ÓΪÀý£¬Èç¹ûÎÒÒª×öÕâÑùµÄÒ»¸ö²éѯ£º°Ñ³§ÀïÉú²úµÄËùÓÐÆû³µÀïÃæ£¬×óÂÖ×Ó¹©Ó¦ÉÌÊÇDRDSµÄÂÖÌ¥¶¼ÕÒ³öÀ´¡£²ÉÓòã´ÎÄ£Ð͵ĴúÂëÊÇ£º

±éÀúÿһÁ¾³µ£¬´Ó³µ¶ÔÏóÖÐÕÒµ½×óÃæµÄÂÖ×Ó£¬²é¿´ÂÖ×ÓµÄÊôÐÔ£¬Èç¹ûÊÇDRDS£¬ÁôÏ£¬²»ÊÇÔò¶ªÆú¡£

Èç¹ûÊǹØÏµÄ£ÐÍÄØ£¿

select * from ÂÖ×Ó±í where ÂÖ×ÓλÖÃ='×ó' and ÂÖ×Ó¹©Ó¦ÉÌ='DRDS'

Íê³É¡£

ÎÒ¿´Á˶¼¾õµÃÊǸöÊÀ½çÐԵĴ´¾Ù£¬²»ÖªµÀÄúÊÇʲô¸Ð¾õ£¿ÏÂÒ»²½£¬ÎÒÃÇÀ´¿´¿´¹ØÏµÄ£Ðͽ«»áÔõô´¦ÀíÕâÌõSQL¡£

£¨Í¼4£©

ÆäʵÓÃÕâÒ»ÕÅͼ¾Í¿ÉÒÔ±íʾһ¸ö×î¼òµ¥µÄ¹ØÏµÄ£ÐÍÁË¡£»ù±¾ÉÏËùÓеÄÊý¾Ý¿â¶¼ÊÇÕâ¸ö×éÖ¯ÐÎʽ£º×îÉÏÃæµÄÓû§API¾ÍÊÇÖ´ÐеÄSQLºÍÊÂÎñÃüÁî¡¢
ÖмäµÄ¾ÍÊǹØÏµ´úÊýת»»²ãºÍÊÂÎñ´¦Àí²ã¡¢×îºó×îµ×²ãÊǸöKV´æ´¢¡£°¡£¿ KVÕâ²»ÊÇNoSQLµÄ¸ÅÄîô£¬ÄãÆ¾Ê²Ã´µÁÓÃËü£¿ºÇºÇ£¬Ë­µÁÓÃË­»¹²»Ò»¶¨ÄØ¡£

×îµ×²ãµÄKV´æ´¢Æäʵ¾ÍÊÇÎÒÃÇÒ»¿ªÊ¼Ëµ¹ýµÄ¡°Ó³É䡱½á¹¹£¬¶ÔÓ¦ÄÚ´æ¿ÉÄÜÓÐHashºÍÓÐÐòÊ÷½á¹¹£¬¶ÔÓ¦´ÅÅÌÔòÖ÷ÒªÊÇbtreeÊ÷ϵºÍLSMÊ÷ϵ¡£ÒòΪÿ¸öÊý¾Ý½á¹¹¶¼ÓÐ×Ô¼ººÃÍæµÄÊôÐÔ£¬½²ÆðÀ´Ì«¶àÁË£¬ÕâÀï¾Í²»Õ¹¿ªÁË£¬´ó¼Ò¿ÉÒÔ¿´ÎÒ²©¿Í¡£ÎÒÃÇÖ±½ÓÀ´ÁÄÁĹØÏµ´úÊýÒýÇæ£¬ÕâÊÇÊý¾Ý¿â×î¹Ø¼üµÄ²¿·ÖÖ®Ò»£¬µ«´Ó¹¦ÄÜÄ¿±êÀ´ËµÈ´²¢²»ÊǺܸ´ÔÓ¡£

£¨Í¼5£©

ÕâÕÅͼ¾ÍÊÇÕû¸ö¹ØÏµ´úÊýÒýÇæËù¾­¹ýµÄ²½Ö裺

×îԭʼµÄÊÇSQL×Ö·û´®£¬ÀàËÆselect * from tab where id = 1£¬Ëü¾­¹ýµÄ¹ý³Ì½ÐSQL½âÎö£¬»áÉú³ÉÒ»¸öAST ³éÏóÓï·¨Ê÷¡£

Èçͼ6Ëùʾ£º

£¨Í¼6£©

select ±»²ð½âΪÁËfromList/WhereClauseµÈϸËéµÄ×Ö´®¡£Õâ¸ö¹ý³ÌµÄÖ÷Òª×÷ÓÃÊÇ×÷Ϊ¼ÆËã»ú±àд´úÂë¶øÑÔ£¬ÎÒÃǸüÈÝÒ×ʶ±ðÕâÖֽṹ»¯µÄÊý¾Ý£¬¶øÎĵµÊôÓڷǽṹ»¯Êý¾Ý£»ÓÐÁËÕâ¿ÃÊ÷£¬ÏÂÃæ¾ÍÊÇÖ´ÐÐÓÅ»¯£¬ÆäÈë²ÎÊÇASTÊ÷+Ë÷ÒýÔ´ÐÅÏ¢¡£¼òµ¥ËµÀ´£¬ASTʹµÃÄã¿ÉÒÔºÜÈÝÒ×µØÍ¨¹ýÔÚÊ÷ÖÐÀ´»ØµÄÌøÔ¾À´Ñ°ÕÒËùÐèµÄ¹Ø¼ü×ÖÐÅÏ¢£¬±ÈÈçwhereÌõ¼þÊÇʲô£¬·µ»ØÄÄЩÁеȡ£Ë÷ÒýÔ´ÐÅÏ¢ÓÖÊǸöʲô¹í£¿Òª½²Ã÷°×Õâ¸ö£¬µÃÏÈ¿´¿´¹ØÏµÄ£ÐͺÍMapÊÇÔõô¶ÔÓ¦ÆðÀ´µÄ£¬ÎÒÓü¸ÕÅPPT£¨ºÜ¶àÈË¿ÉÄܼû¹ý£©À´ËµÃ÷£º

£¨Í¼7£©

µÚÒ»¸öSQLÊÇ select * from tab where id = ?£¬ÉÏÃæµÄÄǸöÔòÊÇÒ»¸ö±í¸ñ£¬Èç¹ûÎÒÃÇÓÃMapÀ´±íʾ£¬¿ÉÒÔ±íʾ³ÉÕâÑù£º

Map:key -> primaryKey, value -> [pk,user_id,Name]

Ò²¾ÍÊÇÒÔPKÖµ×÷ΪMapµÄkey£¬ÒÔÒ»¸ö°üº¬ÁËpk, user_id, NameµÄÖµµÄ½á¹¹×÷ΪMapµÄvalue£¨µ±È»Ö»°üº¬[user_id,Name]Ò²OK£© ¡£ÓÐÁËÕâ¸öMap£¬ÎÒÃÇÖ»ÐèÒª´ÓASTÀïÃæÈ¡³öid = ? £¨¼ÙÉèid = 0£©£¬Í¨¹ýmap.get(0)Äõ½¶ÔÓ¦µÄuser_idÊý¾ÝºÍNameÊý¾Ý£¬¼ÓÉÏÊäÈëµÄid=0Õâ¸öÊý¾Ý£¬Æ´³É¶ÔÏ󷵻ؾͿÉÒÔÁË¡£

ÔÙÀ´¿´ÁíÒ»¸öÐèÇó¡£

£¨Í¼8£©

ÎÒÃÇÀ´¿´¿´Õâ¸öͼ£¬ÕâÀïÃæÎÒÃǵIJéѯÌõ¼þ·¢ÉúÁ˱仯£¬²»ÊÇidÁ˶øÊÇuser_id¡£

ÎÒÃǸղÅÖ»ÓÐÒ»¸öMap£º

Map: key -> id , value -> [user_id,Name]

ÎÒÓ¦¸ÃÈçºÎÀûÓÃÕâ¸öMapÈ¥ÕÒµ½ËùÓзûºÏÒªÇóµÄ½á¹ûÄØ£¿ÎÒÄÜÏëµ½µÄµÚÒ»ÖÖ·½Ê½ÊDZéÀúMapÀïÃæµÄÿһ¸öEntry£¬È¡³öÿһ¸öEntryÒÔºó¿´¿´User_idÊDz»ÊǵÈÓÚÎÒÒªÇóµÄÖµ£¬Èç¹û²»µÈÓھͶªÆú£¬µÈÓڵϰ·µ»Ø¼´¿É¡£È»¶øÕâÖÖ·½Ê½´øÀ´µÄÎÊÌâÊÇ£¬Èç¹ûÎÒÓÐ1ÒÚÌõ¼Ç¼£¬ÎÒ¾ÍÒª×öÕâ¼þÊÂ1ÒڴΡ£Ã÷Ï﵀ O(N)ЧÂÊÌ«ÂýÁË¡£Ôõô¼Ó¿ìһϣ¿ÓÐÐèÇó¾ÍÓÐÈËÏìÓ¦¡£ÓÚÊÇÎÒÃÇ¿ÉÒÔÓøö¿Õ¼ä»»Ê±¼äµÄ·¨×Ó£º

£¨Í¼9£©

¿´¿´ÉÏÃæµÄͼ£¬ÀïÃæÔö¼ÓÁËÒ»¸öеÄMap£º

Map: key -> user_id, value -> [id]

Õâ¸öMapÒÔuser_id×÷Ϊkey£¬ÓÚÊÇÎÒÃÇÓÖ¿ÉÒÔÓä¿ì¶ø¸ßЧµØÓõڶþ¸öMapµÄget½Ó¿ÚÀ´»ñÈ¡ËùÓзûºÏÒªÇóµÄidÁÐ±í£¬È»ºóÔÙ¸ù¾ÝÕâ¸ö·ûºÏÒªÇóµÄidÁÐ±í£¬È¥²éµÚÒ»¸öMap£¬»ñµÃ¶ÔÓ¦µÄÊý¾ÝÁË¡£¸Õ²Å½éÉܵÄÕâ¿éÆäʵ¾ÍÊǹØÏµÄ£ÐÍÈçºÎÓ³Éäµ½Map(Ò²¾ÍÊÇKVÄ£ÐÍ£©µÄ¹Ø¼ü·½·¨ÁË¡£µ±È»£¬»¹»áÓкܶàÀ©Õ¹ÐԵķ½Ê½ºÍ·½·¨£¬²»¹ýÕâ¾Í²»ÊǽñÌìµÄÖ÷Ìâ¿©¡£Õâ¸öÊý¾Ý±È½ÏС£¬Ö»ÓÐÈýÁУ¬Ò»¸öË÷Òý¡£Èç¹ûÎÒÓÐÊ®¼¸¸öÉõÖÁ¼¸Ê®¸öË÷ÒýµÄʱºòÎÒÃÇÓÖ»áÃæ¶ÔÁíÒ»¸öÎÊÌâ¡£

£¨Í¼10£©

Èç¹ûÎÒÓÐÒ»¸öuser_idµÄ¶þ¼¶Ë÷Òý£¬ÓÖÓÐÒ»¸öNameµÄ¶þ¼¶Ë÷Òý£¬ÎÒÓ¦¸ÃÑ¡ÔñÄÄÒ»¸ö×÷Ϊ²éѯÓõÄË÷ÒýÄØ£¿ÊDz»ÊÇÎÒÐèÒªÓÐÒ»ÖÖ»úÖÆÀ´Ñ¡ÔñÄǸö×î¡°±ãÒË¡±µÄË÷Òý£¬Õâ¾ÍÊÇË÷ÒýÑ¡ÔñµÄ¹ý³Ì¡£Òª½øÐÐË÷ÒýÑ¡Ôñ¾Í±ØÈ»ÒªÖªµÀÿ¸öË÷ÒýµÄÇø·Ö¶È¸ß»¹Êǵͣ¨Ëµ°×Á˾ÍÊÇÒ»¸ökey¶ÔÓ¦µÄpklist.size()ÉÙ»¹ÊǶࣩ£¬¶øË÷ÒýµÄÇø·Ö¶È¸ß£üµÍ£¬¾ÍÊÇËùνË÷ÒýÔ´ÐÅÏ¢µÄ×î¼òµ¥Ä£Ê½¡£ÔÚÕæÊµµÄÊý¾Ý¿âÖл¹ÓкܶàÆäËûÐÅÏ¢Ò²ÊÇË÷ÒýµÄÔ´ÐÅÏ¢£¬²»¹ýΪÁË·½±ã´ó¼ÒÀí½â¼ò»¯ÁËһϡ£ÓÐÁËË÷ÒýÔ´ÐÅÏ¢ºÍASTÊ÷¾Í¿ÉÒÔÉú³ÉÖ´Ðмƻ®ÁË£º

£¨Í¼11£©

ÕâʱºòÔÙ³¢ÊÔ¿´¿´Õâ¸ö£¬ÏàÐÅ´ó¼Ò¾Í´ó¸Å¶¼Äܲµ½ÕâÀïµÄ¶«Î÷Ëù±íʾµÄº¬ÒåÁË¡£ËùÒԺܶàʶùÄØ²»ÓÃÈ¥±³£¬Á˽âÁ˱³ºóµÄÔ­Àí£¬ÓÅ»¯¾ÍÊÇÐÅÊÖÄéÀ´µÄʶù¡£ÕâÀïÎÒÊ¡ÂÔÁËÊÂÎñ²½Ö裬Õâ¸ö¸ü¸´ÔÓ£¬¸÷λ¸ÐÐËȤ¿ÉÒÔ¿´ÎÒµÄÊÓÆµÁ˽⡣

2000£ºNo SQL!

No SQL! ºÀÑÔ׳ÓSQLÊý¾Ý¿âhas gone£¬ÐÂʱ´úÀ´ÁÙÁË£¡ËƺõÒ»Ò¹Ö®¼ä£¬ÕâÊÀ½ç¾Í·­ÁËÌ죬Facebook¿ªÔ´ÁËCassandra£¬Hadoop Hbaseºá¿Õ³öÊÀ£¬ËƺõÕâ¾ÍÊÇδÀ´°¡¡£

ÎÒÃÇÀ´¿´¿´ÖªºõµÄÎÊÌ⣺¡°»¥ÁªÍøÁìÓò£¬´«Í³µÄSQLºÜÁ¦²»´ÓÐÄ£¬Ò»Ð©¸ü¾ßÓÐÕë¶ÔÐÔµÄNoSQL»áÔ½À´Ô½»ð¡£ÒÔºó»á²»»á³öÀ´¸÷ÖÖÇ¿Á¦NoSQL£¿¡±£¬×îÀ×ÎÒµÄÒ»¸öÎÊÌâ´ó¸ÅÊÇ£º¡°ÎÒÃÇÊÇÒ»¸öÐÂÒµÎñ£¬ÏëÓÃNoSQLÀ´ÌáÉý¿ª·¢Ð§ÂÊ£¬²»ÖªµÀCassandraºÍHBaseÓ¦¸ÃÑ¡Äĸö£¿¡±¡£

ÔÙ¼û£¬¿´ÍêÒÔºóÎÒÕæµÄÊǾõµÃû°ì·¨ºÃºÃ×öÅóÓÑÁË¡£

Digg²ÉÓÃCassandraÔâÓöʧ°Ü£¬¹¤³Ì¸±×ܲÃÀëÖ°£¬Ï£Íû´ó¼Ò²»ÊÇÕâ¸öÈË¡£ºÃÀ²£¬Ïл°³¶Í꣬»Øµ½ÕýÌâ¡£

No SQLÊÇÔõôÀ´µÄ£¿Õ⻹ÊǵôÓÊÂÎñ˵Æð£¬×Ô´ÓµÚÒ»´ú²úÆ·»¯µÄÊý¾Ý¿âÔÚÉÏÊÀ¼Í80Äê´ú¿ª·¢Íê³ÉÒÔºó£¬ÎÒÃǵÄÊý¾Ý¿âÖ÷ÒªÑݽøÄ£ÐÍÀïÃæÖ»Óм¸¸öÓÐÏÞµÄÀï³Ì±®£¬ÎÒĿǰÄܼÇסµÄ¾ÍÕâô¼¸¼þÊ£º

  • mvcc ¶à°æ±¾²¢·¢¿ØÖÆ£»
  • ´æ´¢¹ý³Ì£»
  • ¸÷ÀàOLAPµÄ·ÖÎöÀàÒýÇæ¡£

ʵ¼ÊÉÏ´ó¼ÒÐÄÀï¶¼ÖªµÀ£¬ÓÐÒ»¼þÊÂÒ»¶¨»á·¢Éú£¬Ö»ÊDz»ÖªµÀʲôʱºò»á·¢Éú¡£Õâ¾ÍÊÇ·Ö²¼Ê½ÏµÍ³¡£·Ö²¼Ê½ÏµÍ³Äܹ»¾ß±¸ÎÞÏÞµÄÀ©Õ¹ÄÜÁ¦£¬°´ÐèÉìËõ£¬Ö»ÒªÓÐÇ®ÎÒÃǵÄϵͳ¾Í²»»ádown£¬²»»áËÀ¡£ÕâÖÖÄÜÁ¦ÆäʵÔÚÉÏÊÀ¼Í80Äê´ú¾ÍÔçÒÑÉîÈëÈËÐÄÁË¡£ »¹¼ÇµÃSUN¹«Ë¾Ìá³öµÄ¿ÚºÅô£¿ÍøÂç¾ÍÊǼÆËã»ú¡£Éµ¹Ï¶¼ÖªµÀδÀ´Ò»¶¨ÊÇ·Ö²¼Ê½ÏµÍ³µÄÌìÏ£¬µ¥»úϵͳ»¹ÓÐÊ²Ã´ÍæÍ·£¿µ¥»úϵͳ²»¾ÍÓ¦¸ÃÊÇÄÇ´ýÔ׵ĸáÑòô£¿µÈ×ÅDRDS Òì¾üÍ»Æð²»¾ÍºÃÁËô£¿µ«ÊǵȰ¡µÈ°¡£¬30Äê¹ýÈ¥ÁË£¬È´Ã»µÈµ½×Ô¼ºÊÙÖÕÕýÇÞµÄÄÇÒ»Ì죬·´¶øËƺõ»îµÄÔ½À´Ô½ºÃÁË£¬ÕâÊÇΪʲô£¿ÀíÓɺܼòµ¥£¬¼¼ÊõÃ»Í»ÆÆ¡£

Èç¹ûÒ»¸ö·Ö²¼Ê½ÏµÍ³×öµÄ¸úµ¥»úϵͳһÑù·½±ã£¬ÓÖÄÜÀ©Õ¹£¬ÐÔÄÜÓֺã¬ÄÇÕâÊÀ½çÉÏÔç¾ÍûÓе¥»úϵͳÁË¡£¶øÇÒ£¬´ÓÉÏÊÀ¼Í80Äê´úµ½21ÊÀ¼ÍµÄǰ¼¸Ä꣬ÎÒÃÇʵ¼ÊÉ϶¼²»ÐèÒª·Ö²¼Ê½ÏµÍ³¡£´ó²¿·ÖµÄϵͳ¶¼ÊÇÖîÈ硰ͼÊé¹Ý¹ÜÀíϵͳ¡±£¬¡°¿Í»§¹ØÏµ¹ÜÀíϵͳ¡±µÈµÈÆóÒµÄÚ²¿¹ÜÀíϵͳ£¬²»ÐèÒªºÜ¸ßµÄ²¢·¢£¬Ö»ÐèÒªÈÝÒײÙ×÷¾ÍÐÐÁË£¬¶øµ¥»úµÄ¹ØÏµÊý¾Ý¿âϵͳ×ÔÈ»µØ×îÈÝÒײÙ×÷°¡£¬ËùÒÔµ¥»úϵͳ´óÐÐÆäµÀ¡£

È»¶ø£¬ÔƼÆËãºÍ»¥ÁªÍøµÄʱ´úµ½À´ÁË£¬ÎÒÃÇ·þÎñµÄ¶ÔÏó´Ó¶¥ÌìÁ˼¸Ç§ÈËһϾͱä³ÉÁËÊ®¼¸ÒÚÈË£¬¼ÆËã»úÒª¹ÜÀíµÄÊý¾ÝÁ¿³ÊÖ¸Êý¼¶±ðµØ·ÉËÙÉÏÕÇ£¬¶øÎÒÃÇÈ´ÍêÈ«ÎÞ·¨¶ÔÓû§Êý×ö³ö׼ȷԤ¹À¡£Õâʱºò£¬À©Õ¹ÐÔ¡¢ÐÔÄܵÄÒªÇó¾Í±äµÃ¸üÎªÖØÒª¡£²»À©Õ¹µÄ»°ÒµÎñ¾Í¹ÒÁË£¬À©Õ¹µÄ»°¿ª·¢ÄѶÈÉÙÁ¿ÉÏÉý£¬ÕâÁ½¼þÊÂÇé×öȨºâ£¬ÏàÐÅ´ó¼Ò¶¼ÄÜÁ¢¿ÌÖªµÀÄĸö¸üÖØÒª¡£ÎÒÃǵ±È»Ñ¡À©Õ¹ÁË£¡È»¶øÊý¾Ý¿âÈ´ÎÞ·¨ÌṩÕâÑùµÄÀ©Õ¹ÐÔ£¬µ±ÄêµÄÌÔ±¦Ò²ÊÇÓÃOracleµÄ£¬ÅäÖÃËã²»´íµÄ£¬Ò²ËãÊÇÓÐСºÚ¹ñ×Ó¡£È»¶ø£¬½ñÌì²»»ðµÄÍøÕ¾Ã÷Ìì¿ÉÄÜͻȻ¾Í»ðÁË£¬ÎÒÃǵÄÓû§ÊýÔÚÒ»ÄêÄھͻáÍ»ÆÆÕâ¸ö¹ñ×ÓµÄÈÝÁ¿£¬Õ۾ɶ¼À´²»¼°¡£ºÜÃ÷ÏԵģ¬Ê±´ú±äÁË¡£

´«Í³¹ØÏµÊý¾Ý¿â£¬ÄÄÅÂÊÇRAC¶¼²»ÄÜÂú×ãÎÒÃǶÔÓÚÊý¾Ý¿âÀ©Õ¹ÐÔµÄ×·ÇóÁË£¬Õâʱºò¿Ï¶¨ÓÐÈËÔÚÏ룺¡°Õâ¸öÓÐÎÊÌ⣬ÎÒÃǾͽâ¾öËü°¡¡±¡£ÕâÀ༼Êõ¾ÍÊÇOracle RAC°¡¡¢MySQL Cluster°¡ÕâÀàÍæ¾ß£¬ËüÃÇÏ£ÍûÄܹ»²»¸Ä±äÓû§ÐÐΪÀ´ÊµÏÖÀ©Õ¹ÐÔ£¬¿ÉÊÇ×öÁ˺öàÄ꣬·¢ÏÖÍæ²»×ª¡£ÎªÁËÖ§³Å¸ü´óµÄ·ÃÎÊÁ¿ºÍÊý¾ÝÁ¿£¬ÎÒÃDZØÈ»ÐèÒª·Ö²¼Ê½Êý¾Ý¿âϵͳ£¬È»¶ø·Ö²¼Ê½ÏµÍ³ÓÖ±ØÈ»»áÃæ¶ÔǿһÖÂÐÔËù´øÀ´µÄÑÓ³ÙÌá¸ßµÄÎÊÌ⣬ÒòÎªÍøÂçͨÐű¾Éí±Èµ¥»úÄÚͨÐÅ´ú¼Û¸ßºÜ¶à£¬ÕâÖÖͨÐŵĴú¼Û¾Í»áÖ±½ÓÔö¼Óϵͳµ¥´ÎÌá½»µÄÑÓ³Ù£¬ÑÓ³ÙÌá¸ß»áµ¼ÖÂÊý¾Ý¿âËø³ÖÓÐʱ¼ä±ä³¤£¬Ê¹µÃ¸ß³åÍ»Ìõ¼þÏ·ֲ¼Ê½ÊÂÎñµÄÐÔÄܲ»Éý·´½µ£¨¾ßÌå¿ÉÁ˽âÏÂAmdahl¶¨ÂÉ£©£¬ÉõÖÁÐÔÄܾàÀëµ¥»úÊý¾Ý¿âÓÐÃ÷ÏÔ²î¾à¡£

˵ÁËÕâô¶àÎÒÃÇ¿ÉÒÔ·¢ÏÖÎÊÌâµÄ¹Ø¼ü²¢²»ÊÇ·Ö²¼Ê½ÊÂÎñ×ö²»³öÀ´£¬¶øÊÇ×ö³öÀ´ÁËÈ´ÒòΪÐÔÄÜÌ«²î¶øÃ»ÓÐʲôÂÑÓá£Êý¾Ý¿âÁìÓòµÄ¸ßÊÖÃÇŬÁ¦ÁË40Ä꣬µ«ÖÁ½ñÈÔȻûÓÐÈËÄܹ»ºÜºÃµØ½â¾öÕâ¸öÎÊÌ⣬Google SpannerµÄ¿ª·¢¸ºÔðÈ˾;­³£ÔÚËûµÄBlogÉÏ̸ÂÛÑÓ³ÙµÄÎÊÌ⣬ÏàÐÅÒ²ÊDZ¥ÊÜÕâ¸öÎÊÌâµÄÀ§ÈÅ¡£ÓÚÊǺõÓÐһȺÈËÈÏΪ£¬¼ÈȻǿһÖÂÐÔ²»Ôõô¿¿Æ×£¬Ädz¹µ×ÈÆ¿ªÕâ¸öÎÊÌâÊDz»ÊǸüºÃµÄÑ¡Ôñ£¿ËûÃÇ·¢ÏÖȷʵÓÐÄÇôһЩ³¡¾°ÊDz»ÐèҪǿһÖÂÊÂÎñµÄ£¬ÉõÖÁÁ¬SQL¶¼¿ÉÒÔ²»Òª¡£×îµäÐ͵ľÍÊÇÈÕÖ¾Á÷Ë®µÄ¼Ç¼Óë·ÖÎöÕâÀೡ¾°¡£È¥µôÁËÊÂÎñºÍSQL£¬½Ó¿Ú¼òµ¥ÁË£¬ÐÔÄܾ͸üÈÝÒ׵õ½ÌáÉý£¬À©Õ¹ÐÔÒ²¸üÈÝÒ×ʵÏÖ£¬Õâ¾ÍÊÇNoSQLϵͳµÄÆðÔ´¡£

ËûÃǺ°³öÁ˷dz£ÏìÁÁµÄ¿ÚºÅ£ºNo SQL! No SQL±êÖ¾×ÅËûÃÇʱ´úµÄµ½À´¡£

2005£ºNot only SQL . ²»½ö½öÊÇSQL

¾­¹ý5ÄêµÄºöÓÆ£¬ÓкܶàÈËÔ¸ÒâÏàÐÅNoSQLËÆºõÈ·ÓÐÆäÊ¡£ÓÚÊÇÓÐÒ»ÅúÏÈÐÐÕ߾ͿªÊ¼Ì½Ë÷¸÷ÖÖÍæ·¨£º

http://www.lampchina.net/mod-news_do-show_id-8272.html

Digg²ÉÓÃCassandraÔâÓöʧ°Ü£¬¹¤³Ì¸±×ܲÃÀëÖ°£º

£¨Í¼12£©

µã¸öÀ¯¡£

Íæ×ÅÍæ×Å£¬´ó¼Ò·¢ÏÖ»¹ÊDz»¿¿Æ×¡£Õâ²»Ðа¡£¬Õâ¶«Î÷²»¾ÍÊÇÈÃÎÒÃÇÿ¸öÒµÎñ¶¼°Ñ¹ØÏµÊý¾Ý¿â´ÓÐÂʵÏÖÒ»°Ñô£¿ÈÃÎÒÃÇÍ˻ص½²ã´ÎÄ£ÐÍÉÏÈ¥°¡¡£¶ÔÓÚÈËÀàÕâÖÖÀÁ¶è¶ø±¿×¾µÄ¶¯Î¿ªÀúÊ·µÄµ¹³µÃ÷ÏÔÊDz»ÊÜ´ý¼ûµÄ¡£ÓÚÊÇ£¬ÓÐÒ»ÅúÈËÕ¾³öÀ´ÁË£¬ËµNoʲôSQL£¬»¹ÊǵÃÓÐÊý¾Ý¿â¡£µ«NoSQL¿ª·¢ÕßÃÇÒѾ­ºöÓÆÁËÄÇô¶àͶ×ÊÈ˵ÄÇ®£¬×ܵÃÓиö½»´ú°¡£¬¼ÈȻû°ì·¨µß¸²£¬ÔÛÃǾ͹²´æ°É£¬Ê²Ã´NoSQLºÍSQL£¬´ó¼ÒÒ»¼ÒÈË£¬¸÷×Ô·¢Õ¹¾ÍºÃÁË¡£Õâ¾ÍÊÇNot only SQLµÄÀ´Ô´¡£

NoSQLÓÐÄÄЩÃ÷È·µÄ³¡¾°ÄØ£¿Çë×¢Òâǰ·½¸ßÄÜ¡£

±ÈÈçHDFS±È½Ï»ð£¬ÓÚÊǾÍÓÐÈË·¢ÏÖ£º¡°°¥£¿ ÎÒÃÇÈç¹ûѧGoogle £¬Ò²Åª¸ö·Ö²¼Ê½KVÊDz»ÊÇÒ²Äܻ𣿡± ºÇºÇ£¬ÎÒÏëÕâ¾ÍÊÇij¸öbase×î´óµÄ¼ÛÖµ¡£²»¹ýÔÚÕâ¸öƽ»ºÆÚ»¹ÊÇÄÜ¿´µ½Ò»Ð©´´ÐÂÐÔµÄÏë·¨µÄ£¬ËûÃǰïÖúÊý¾Ý¿âÁìÓòÍùǰ×ßÁ˲»´óµÄÒ»²½¡£MongoDB ÊǸö²»´íµÄ˼·£¨ÎÒ¸öÈ˾õµÃ£©£¬jsonÌæ´úÁËÓ·Ö×µÄXML³ÉΪÁËÒ»¸öСµÄ±ê×¼£¬¶øÔÚÕâ¸öÉÏÃæ×öºÜ¶àË÷Òý£¬Ò²ÊǺܴÏÃ÷µÄ×ö·¨£¬½è¼øÁËÊý¾Ý¿âµÄºËÐÄ˼·£¬ÕâÒ²ËãÊǹ²´æ¡£ÆäËûµÄNoSQLÒ²ÔÚÍùSQLÉÏÃæÅ¬Á¦£¬±ÈÈçCassandraµÄCQL ¡¢HBaseµÄ¸÷ÀàSQLÒýÇæ£¬Æäʵ¶¼ÊǶԹØÏµÊý¾ÝÄ£Ð͵ÄÒ»ÖÖÍ×Э¡£±Ï¾¹£¬NoSQL»¹Ã»Óкõ½Äܹ»µß¸²Õû¸öÉú̬¡£

2013£ºNo,SQL!

²»£¬ÎÒÃÇ»¹ÊÇÒª¹ØÏµÊý¾Ý¿â£¬Õâ¾ÍÊÇÏÖÔÚÎÒÃǵĸоõ¿©¡£¾­¹ýÁË10ÄêµÄÕÛÌÚ£¬ÎÒÃÇ»¹ÊÇ·¢ÏÖ¹ØÏµÄ£ÐÍĿǰÀ´ËµÊÇ×î·½±ã±í´ïÊý¾Ý´æÈ¡µÄÓïÑÔ£¬±ÈÆäËû¶¼Òª·½±ãµÄ¶à£¬ËùÒÔ»¹ÊÇÍ×Э°É¡£ÓÚÊÇËùÓеÄNoSQL¶¼ÔÚÏë°ì·¨³¢ÊÔÖ§³Ö¹ØÏµÊý¾Ý¿â¡£È»¶ø»Øµ½³õʼ£¬ÎÒÃDz»¾ÍÊÇÒòΪ¹ØÏµÊý¾Ý¿â²»ÄÜÂú×ãÓû§ÒªÇó£¬ËùÒÔ²ÅҪȥ×öNoSQLµÄô¡£ÄѵÀNoSQL Ū¸ö¹ØÏµ´úÊýÒýÇæ£¬¾ÍÄÜ×ö³öħ·¨Ã´£¿Æäʵ£¬Ò²²»ÐУ¬¸ÃÓеÄÏÞÖÆÒ»¸ö¶¼Ã»ÉÙ£¬×îÖÕ´ó¼ÒÊâ;ͬ¹é£¬»¹Êǻص½ÁËÈçºÎÄܹ»ÈùØÏµÊý¾Ý¿â¸ü¾ßÓÐÀ©Õ¹ÐÔ£¬ÐÔÄܸüºÃÕâÌõ·ÉÏÀ´£¬ÌõÌõ´ó·ͨÂÞÂíÂºÍÆøÉú²Æ¡£Õâ¾ÍÊÇNewSQLµÄÀ´Ô´¡£

DRDS Ò²ÊÇNewSQLµÄÒ»Ô±£¬Æäʵ˵ʵ»°£¬ÎÒͦÓид¥µÄ¡£×÷ΪÕâô¶àÄêÀ´Ò»Ö±¼áÊØÔÚ·Ö²¼Ê½Êý¾Ý¿âÕâ¸öÁìÓòµÄÈËÀ´Ëµ£¬Äܹ»¼á³ÖÏÂÀ´ÕæµÄ²»ÈÝÒ×£¬ÔÚÍâÃæÓÐÌ«¶àµÄÓÕ»ó£¬×î»ðµÄʱºò£¬Á¬DBA¶¼È¥Ñ§Á˸÷ÖÖNoSQLµÄÔËά¼¼Êõ¡£È»¶ø£¬ÎÒÃÇÄܹ»¼áÊØ£¬Æäʵ¾ÍÊÇÒòΪÎÒÃǶ®µÃÀúÊ·Ò²¿´µÃ¼ûÏÖÔÚ¡£ÎÒÃÇÉî¿ÌµØÖªµÀ£¬¿ÆÑ§¾ÍÊdzÐÈÏ×Ô¼º²¢·ÇÎÞËù²»ÄÜ£¬È»ºó²»¶ÏµØÍùÄÇÎÞËù²»Äܵĵط½Å¬Á¦µÄÒ»ÖÖ¾«Éñ¡£Ò»Ö±ÒÔÀ´£¬ÎÒÃǶ¼¾¡¿ÉÄܵØÐ­ÖúÓû§±£Áô¹ØÏµÊý¾Ý¿âµÄ·½±ãÐÔ£¬È»ºóÏë°ì·¨¸æÖªÓû§ÄÄЩµØ·½Ä¿Ç°»¹È±ÉÙ¼¼ÊõÍ»ÆÆ£¬Ó¦¸ÃʹÓÃÄÄЩ¹¤¾ßÀ´Ìæ´ú£¬ËùÒÔÒ²ËãÊÇ»ýÀÛÁ˷dz£¶àµÄ¾­ÑéºÍ¹¤¾ß¡£
ͬʱÎÒÃÇÒ²ÔÚŬÁ¦×·ÇóÊý¾Ý¿âÁìÓòµÄÄǸöÊ¥±­£º¸ü¿ìµÄ´æÈ¡Êý¾Ý£¬¿ÉÒÔ°´ÐèÀ©ËõÒÔ³ÐÔØ¸ü´óµÄ·ÃÎÊÁ¿ºÍ¸ü´óµÄÊý¾ÝÁ¿£¬¿ª·¢ÈÝÒ×£¬Ó²¼þ³É±¾µÍ¡£ÕâÊÇ´ó¼ÒÃÎÃÂÒÔÇóÔÚ×·ÇóµÄ¶«Î÷¡£Ò²ÊÇÎÒÃÇÔÚ×·ÇóµÄ¡£Ëä²»ÄÜÖÁ£¬ÎáÐÄÏòÍùÖ®¡£

°¢ÀïµÄ¼¼ÊõÑ¡Ôñ

×îºó£¬À´ÁÄÁİ¢ÀïµÄ¼¼ÊõÑ¡Ôñ¡£Æäʵ£¬ËùÓдó¹«Ë¾Ëƺõ¶¼ÔÚÊͷŸ÷ÖÖÐźţ¬xxxÔÚÓÃʲôϵͳÁË£¬xxxÔÚÓÃʲôϵͳÁË¡£°¢Àï¿ÉÄܲ»´óÒ»Ñù£¬´ÓÄÚ²¿À´Ëµ£¬ËûÒ²ÊǸöÉú̬ϵͳ£¬Óû§Ñ¡Ôñʲôʵ¼ÊÉÏÖ÷Òª¶¼ÊÇÓÉÓû§×Ô¼º¾ö¶¨µÄ£¬ËùÒÔ°¢ÀïÄܹ»³öÏÖÈκÎÒ»ÖÖÑ¡Ôñ£¬Ö»ÒªÄܽâ¾öÎÊÌâ¼´¿É¡£TDDL DRDSÕâÌ×Ìåϵ£¬Ö»ÄÜ˵ÊÇĿǰÓõÄ×î¹ãµÄÒ»Ì×£¬Ô­ÒòÒ²ºÜ¼òµ¥£¬¸Ä±äÐÐΪϰ¹ßÉÙ¡£

Ë«11 ¶ÔDRDSÕâÌ×ÌåϵÀ´ËµÆäʵûʲôѹÁ¦£¬ÎÒǰ¼¸ÄêµÄ˫ʮһËäÈ»¶¼ÔÚºËÐÄ×÷Õ½ÊÒ£¬²»¹ýÎÒÒ»°ãµÄ×ö·¨¶¼Êǵ½ÁËÄÇÀ¡°ÄúÐÁ¿àÁË£¬ÄúÒ²ÊÇ£¬´ó¼ÒÐÁ¿àÁË¡±£¬È»ºó³Ô³Ô³Ô¡£ÒòΪȷʵûʲôºÃµ£Ðĵİ¡£¬Ã»Óв»Æ½ÎȵÄÀíÓÉ£¬DRDSµÄÄÜÁ¦¸ü¶àµØÌåÏÖÔÚË«11¿ªÊ¼ºÍË«11½áÊø£¬ÎÒÃÇÐèÒªÔÚÄÇ֮ǰ»úÆ÷À©ÈÝ£¬ÒÔ¼°ÄÇÖ®ºóÒª»úÆ÷ËõÈÝ£¬ÕâЩ²ÅÊÇDRDSµÄºËÐÄÄÜÁ¦¡£ÉÏÉÏ´ÎÎÒȷʵÊǺܽôÕÅ£¬ÒòΪнÓÁËÒ»¸öÏûϢϵͳ¡£°¥£¡ÕâÖÖÓÃÀ´Ïû·åÌî¹ÈµÄϵͳ²ÅÊÇѹÁ¦É½´ó£¬ÆäÓàµÄʱºò»ù±¾ÉϾÍûɶÁË£¬¸ü¶àµØ¸ú´ó¼ÒÒ»Ñù£¬Ò²¶¼ÊÇÆÕͨµÄ¹¦ÄÜ¿ª·¢¶øÒÑ¡£

ºÃÁË£¬ÎҵĹÊʽ²ÍêÁË£¬Ð»Ð»´ó¼ÒÊÕÌý¡£

Q&A

Q1£ºADSÊÇʲô£¿ËüºÍDRDSµÄ¹ØÏµÊÇ£¿

Éòѯ£ºADSÖ÷´òadhoc²éѯ£¬Ä¿Ç°²»Ö§³ÖÊÂÎñ¡£DRDSÔòÖ§³ÖÊÂÎñ£¬ÕâÁ½¸öϵͳÊÇ»¥²¹µÄ£¬Ò»¸öÕë¶ÔÀëÏߣ¬Ò»¸öÕë¶ÔÔÚÏß¡£

Q2£ºÇëÎʰ¢ÀïµÄDRDSÈçºÎʵÏÖJoin SQLÓï¾äÀ´Ö´Ðжà±í¹ØÁª²éѯµÄ£¿ÈçºÎ¼æÈݵ¥»ú´æ´¢µÄSQL£¿ÐèҪעÒâÄÇЩ¿Ó£¿

Éòѯ£º·½°¸ºÜ¶à£¬ÆäʵÈç¹û´ó¼Ò

¶ÔJoinÓÐÁ˽⣬Ҳ¾ÍÄÇô¼¸ÖÖ£¬hash/index nest loop / sort merge £¬Ã»Ê²Ã´Ä§·¨¡£

http://coding-geek.com/how-databases-work/ £¬Õâ¸ö²»´í£¬ÎұȽÏÍÆ¼ö¡£

Q3£ºÇëÎÊschema less/freeÄãÔõô¿´£¿

Éòѯ£ºÕâÁ©Ëƺõû¼û¹ýÆ´Ò»Æð¹þ£¬ÎÒ·Ö¿ª¡£ µ«±¾ÖÊÊÇͬһ¸ö¶«Î÷£¬ÎÒ¸öÈ˾õµÃÓÐÊг¡¡£²»¹ýÄÜÓжà´ó£¬²»ÖªµÀ¡£

  • ÓÅÊÆ£ºÒµÎñÄ£Ð͸üÁé»î
  • ÁÓÊÆ£º¶îÍâµÄ¿Õ¼äÕ¼ÓÃ

¼¼ÊõÕ®Ò²Ò»¶¨ÊÇÒª»¹µÄ¡£ÎÒÇå³þµØ¼ÇµÃµ±ÄêÎÒά»¤µÄÒ»¸öCMSϵͳ£¬ËùÓÐÊý¾Ý¶¼ÊÇmap¡£½á¹û×îºóÓÐһЩ¹îÒìµÄÊý¾Ý²»ÖªµÀʲôʱºò±»Èûµ½ÀïÃæ¡£È»ºó×îºóҲûÈËÖªµÀÊÇÔÚÄÄÀïÈûµÄ¡£debug¶¼ºÜÄÑÕÒµ½¡£ËùÒÔÒ»°ãÀ´Ëµ£¬½áºÏ»á¸üºÃһЩ¡£ Ŀǰpg/mysql¶¼¿ªÊ¼Ö§³ÖjsonÁË¡£ Õâ¶«Î÷ÆäʵֻÊǹ¤×÷Á¿ÎÊÌ⡣ûʲô¼¼ÊõÉϵÄÄѶȡ£

Q4£º×î½üºÜ¶àÉùÒô˵²»ÒªÔÙÓÃMongoDB£¬ÄãÔõô¿´£¿

Éòѯ£ºÕâ¸ö¾Í´¿Êô¸öÈËÒâ¼ûÁ˰¡¡£ÎÒ¸öÈ˲»Ï²»¶MongoDBÄǰïÈ˵Ä×ìÁ³¡£MongoDBºËÐűÏ×Õߣº²»ÊÇMongoDB²»ÐУ¬¶øÊÇÄã²»¶®£¡

http://www.cnblogs.com/shanyou/archive/2012/11/17/2774344.html

È»¶ø£¬ÎªÊ²Ã´»áÕâÑù£¬»¹²»ÊÇijЩÈËΪÁËÆ­·Ö£¬Ä¬ÈÏÅäÖÃÌØ±ð¼¤½øÃ´¡£¶ø¿ª·¢Õß²»»á¸æËßÄ㣬Èç¹û¸Ä³É°²È«ÅäÖã¬ËûÃǵÄÐÔÄÜû±ÈSQLÇ¿ÄÄÀïÈ¥¡£

Ò»¸ö´æ´¢£¬×îÉÙ10Äê²ÅÄÜÎȶ¨¡£ ǰЩÌì¸ÕÅöµ½Ò»¸öÓÎÏ·¿Í»§ËµÄ³NoSQLÊý¾ÝÎļþËð»µÎÞ·¨»Ö¸´£¬ÎÊÎÒÃÇÓÐûÓа취£¬ÎÒ˵£¬Ï´ÎÑ¡Ôñ½÷É÷µã£¬ÐÔÄܲ»ÊÇΨһ£¬Õâ´ÎÇë½Ú°§¡£

Q5£ºº£Á¿£¬µÍÑÓʱ£¨ºÀÃë¼¶£©£¬¸ß²¢·¢£¨Ê®ÍòÒÔÉÏ£©£¬Ä¿Ç°¹ØÏµÐÍÊý¾Ý¿âÊÇ·ñÓв¢´æµÄ·½°¸£¿

Éòѯ£º10w²¢·¢²»ËãÊǺܸߡ£DRDSÊÇÄã×îºÃµÄÑ¡Ôñ £º£©

Q6£º·Ç½á¹¹»¯Êý¾Ý£¬ÈçÎı¾£¬Ê÷ͼµÈ£¬ÕâЩSQLÎÞ·¨´¦ÀíµÄ£¬ÊÇ·ñʹÓÃNoSQL¸üºÏÀí£¿

Éòѯ£º·Ç½á¹¹»¯Êý¾ÝÒ²ÊÇÒ»¸öÖØÒªµÄÃÅÀ࣬һֱ¶¼´æÔÚ£¬ÒÔºóÒ²»á´æÔÚ£¬µ«NoSQLΪÁËÐû´«£¬°ÑËùÓеĶ«Î÷¶¼À­µ½×Ô¼ºÕóÓª£¬ÕâÆäʵÓëÆä³õÖÔÒѾ­Î¥±³¡£

TwitterµÄͼÊý¾Ý¿âÆäʵҲÊÇÒÀÍÐMySQL×öµÄ¡£Äã¸øÎÒÇ®¸øÎÒÈË£¬¸øÎÒʱ¼ä£¬ÎÒÄÜÓûã±àдÈκζ«Î÷¡£

Q7£ºÄÜ˵һÏÂDRDSºÍRDSµÄ¹ØÏµÃ´£¿

Éòѯ£ºÒ»¸öÆ«ÖØ·Ö²¼Ê½£¬Ò»¸öÆ«ÖØµ¥»ú

Q8£ºSQLÄ£ÐÍÒѾ­ÄÇô¶àÄêÁË£¬Êý¾Ý¿âÁìÓòÓÐÆäËû¿ÉÄܸüºÃʹµÄÓïÑÔÄ£ÐÍ·½Ïòô£¿

Éòѯ£ºÄ¿Ç°»¹Ã»¼ûµ½¸üºÃµØ³éÏó£¬ËùνºÃʹ¾ÍÊÇÄã·¢ÏÖËûÕ¼¾ÝÁ˸ü¶à½­É½¡£ÔÚÀúÊ·ÉÏÓкܶà´Î³¢ÊÔ£¬±ÈÈç¶ÔÏóÊý¾Ý¿âµÈ£¬µ«Êµ¼ÊÉÏÒ²¶¼ÊÇÕë¶ÔSQLÎÊÌâµÄһЩ¸ÄÉÆ¡£²»¹ýĿǰ»¹Ã»ÓÐÌØ±ð³É¹¦µÄ¡£

Q9£º·ÖÏíÖÐÓÐÌáµ½£¬·Ö²¼Ê½Êý¾Ý¿âÍøÂ·ÑÓ³Ù·½ÃæµÄÆ¿¾±Ò»Ö±ÊÇÒ»¸öÐèÒªÍ»ÆÆµÄµã£¬ÄãÊÇ·ñÈÏΪÐÂÐÍÍøÂ·¼Ü¹¹£¬»òÊÇÍøÂ·É豸µÄ³öÏÖÄܹ»Öð²½ÃÖ²¹ÕâÒ»µãÄØ£¿

Éòѯ£ºÄܹ»×öµ½Ò»Ð©¸ÄÉÆ£¬µ«ÍêÃÀ½â¾ö²»´ó¿ÉÄÜ¡£Ä¿Ç°ÏµÍ³ÐèÒª¸ü´óµÄÀíÂÛÍ»ÆÆ¡£

Q10£ºÄܲ»Äܼòµ¥ÓÃÒ»¾äÀ´¸ÅÀ¨DRDSµÄÇ¿´ó£¿

Éòѯ£ºSQLÊý¾Ý¿âÀïÀ©Õ¹ÐÔ×îºÃµÄ£¬NoSQLÊý¾Ý¿âÀï×î·½±ãµÄ¡£

Q11£ºWebScaleSQLÓëDRDSÊÇʲô¹ØÏµ£¿

Éòѯ£ºÃ»¹ØÏµ£¬µ±³É¾ºÕù¶ÔÊÖËÆºõÒ²¿ÉÒÔ¡£

Q12£ºDRDSºÍNewSQLÓкÎÒìͬ£¿

Éòѯ£ºDRDSÊôÓÚNewSQL¡£

   
4755 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

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

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

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]

MySQLË÷Òý±³ºóµÄÊý¾Ý½á¹¹
MySQLÐÔÄܵ÷ÓÅÓë¼Ü¹¹Éè¼Æ
SQL ServerÊý¾Ý¿â±¸·ÝÓë»Ö¸´
ÈÃÊý¾Ý¿â·ÉÆðÀ´ 10´óDB2ÓÅ»¯
oracleµÄÁÙʱ±í¿Õ¼äдÂú´ÅÅÌ
Êý¾Ý¿âµÄ¿çƽ̨Éè¼Æ


²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿â
¸ß¼¶Êý¾Ý¿â¼Ü¹¹Éè¼ÆÊ¦
HadoopÔ­ÀíÓëʵ¼ù
Oracle Êý¾Ý²Ö¿â
Êý¾Ý²Ö¿âºÍÊý¾ÝÍÚ¾ò
OracleÊý¾Ý¿â¿ª·¢Óë¹ÜÀí


GE Çø¿éÁ´¼¼ÊõÓëʵÏÖÅàѵ
º½Ìì¿Æ¹¤Ä³×Ó¹«Ë¾ Nodejs¸ß¼¶Ó¦Óÿª·¢
ÖÐÊ¢Òæ»ª ׿Խ¹ÜÀíÕß±ØÐë¾ß±¸µÄÎåÏîÄÜÁ¦
ijÐÅÏ¢¼¼Êõ¹«Ë¾ PythonÅàѵ
ij²©²ÊITϵͳ³§ÉÌ Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À
ÖйúÓÊ´¢ÒøÐÐ ²âÊÔ³ÉÊì¶ÈÄ£Ðͼ¯³É(TMMI)
ÖÐÎïÔº ²úÆ·¾­ÀíÓë²úÆ·¹ÜÀí