ãããããã¹ãŠ1ã€ã®è³æã§ã«ããŒããã®ã¯éåžžã«é£ããã®ã§ã2ã€ã ãã«çŠç¹ãåœãŠãŸããããã¯æãèå³æ·±ããšæãããŸããçç£æ§ãšãã©ãŒã«ããã¬ã©ã³ã¹ã®åäžã«é¢é£ããŠããŸãã ãããã¯ãªãªãŒã¹åè£ã®äŸã䜿çšããŠèª¿æ»ãããŸããããæçµãªãªãŒã¹ã§äœãã倧ããå€ãããšã¯æããŸããã
ãã®èšäºã§èª¬æãããµãŒããŒã®ããã©ãŒãã³ã¹ã«é¢é£ããã»ãšãã©ãã¹ãŠã®MS SQLæ©èœã¯ãèªã¿åãæäœã®æé©åãç®çãšããŠããŸãã ããã€ãã®æ°ããæ©èœãå¹æçã«å®è£ ããã«ã¯ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®æ§ç¯ãšã¡ã¢ãªå ã®ããŒã¿è¡šçŸã®åœ¢åŒã埩å ããå¿ èŠããããŸãã ãŸãããããã®ããŒã¿ããŒã¹ãšé£æºãããœãããŠã§ã¢ã®ä¿®æ£ãå¿ èŠã§ãã
å€ãã®å ŽåãããŒã¿åŠçã·ã¹ãã ã¯åãããŒã¿ã»ã³ã¿ãŒå ã«ãããŸãããããŒã¿ã»ã³ã¿ãŒã®é害ãçºçããå¯èœæ§ãéåžžã«é«ããããåžžèã®èŠ³ç¹ããã¯å¿ ãããè«ççã§ã¯ãããŸããã èšäºã®ãã®éšåã§ã¯ãå°ççã«åæ£ããããŒã¿åŠçç°å¢ãæ€èšããŸããã次ã®åœ¢åŒã®ä»®æ³ãã¡ãŒã ã®ãã³ãç°å¢ã§ãšãã¥ã¬ãŒãããŸãã
ãã¹ãŠã®ããã®1ã€ãšãã¹ãŠã®ããã®1ã€ïŒAlwaysOnãšå¯çšæ§ã°ã«ãŒã
誰ããç¥ã£ãŠããããã«ãé«æ§èœã¯ã©ã¹ã¿ã¯æäœãã®ãã®ã§ãããããé«äŸ¡ã§ãã å€ãã¯ã財åžãå·ã€ããããšãªããããæããããšæã£ãŠããŸãã åæ§ã®ãœãªã¥ãŒã·ã§ã³ãæåã«Exchange Serverã«ããŒã¿ããŒã¹å¯çšæ§ã°ã«ãŒãã®åœ¢ã§ç»å Žãããã®åŸããŒã¿ããŒã¹ãµãŒããŒã®ããŒãºã«é©åããŸããã
ããã§äœã§ããïŒ AlwaysOnæ©èœïŒã¡ãªã¿ã«ãEnterprise Editionã§ã®ã¿äœ¿çšå¯èœïŒã¯ãããŒã¿ããŒã¹ã®ãã©ãŒã«ããã¬ã©ã³ã¹ãæäŸããããã«èšèšãããŠããŸãã ãããã®ããŒã¿ããŒã¹ãåäœããã€ã³ã¹ã¿ã³ã¹ã§ã¯ãªããæµŽå ŽããŒã¿ããŒã¹ã§ãã ãã®ãã¯ãããžãŒã¯ããµãŒããŒéãããæ£ç¢ºã«ã¯ãã©ã³ã¶ã¯ã·ã§ã³ãã°éã§ããŒã¿ããŒã¹ãè€è£œããããšã§æ©èœããŸãã
å°ççã«åæ£ãããµãŒããŒã®ãã©ãŒã«ããã¬ã©ã³ãã°ã«ãŒããã¢ãã«åããããã»ã¹ãæ€èšããŸãã å€éšãã¡ã€ã³ã³ã³ãããŒã©ãŒã®å¶åŸ¡äžã§ãã¡ã€ã³ã«å ¥åããã4ã€ã®åäžãµãŒããŒãååŸããŸãã å®éã«è¿ãç°å¢ã§ããŒã¿ãã©ã®ããã«äº€æããããã確èªããããã«ã2ã€ïŒSQLONEãSQLTWOïŒã§10 Gbã®é床ã§æ¥ç¶ãèšå®ããSQLTHREEã1 Gbã®ãã£ã³ãã«ã«èšå®ããSQLFOURã¯3Gã§åæãããŸãïŒããã¯ç空äžã®çç¶ã®éŠ¬ãªã®ã§ããã®åŸã10 Mbã®é床ãåããŸãïŒã ãããã¯ãã¹ãŠãCisco Nexus 5548ã«ãã£ãŠçµåãããDEPO Storm 5302ãµãŒããŒïŒFCoEïŒããã³LSI 2600ã¹ãã¬ãŒãžïŒFCïŒã«åºã¥ããŠäœæãããä»®æ³ã¯ã©ãŠãïŒESX 5.0ïŒã«å«ãŸããŠããŸãã
MSSQLãµãŒããŒã®ã°ã«ãŒãããã§ãŒã«ã»ãŒãã¯ã©ã¹ã¿ãŒã«çµ±åãããšïŒã¯ã©ãŒã©ã ãªãã§ããŒãããžã§ãªãã£ã§ååã§ãïŒãåãµãŒããŒã§ãAlwaysOn Avaibility Groupsããªãã·ã§ã³ãæå¹ã«ããŸãã
æ¢ã«èª¬æããããã«ããã©ã³ã¶ã¯ã·ã§ã³ãã°ãããŒãããŒãµãŒããŒã«å±éããããšã§ã¬ããªã±ãŒã·ã§ã³ãå®è¡ããããããå°æ¥ã®ãã©ãŒã«ããã¬ã©ã³ãããŒã¿ããŒã¹ãéžæããå®å šåŸ©æ§ã¢ãã«ã«åãæ¿ããŸãã ãã®ããŒã¹ã«åºã¥ããŠãå¯çšæ§ã°ã«ãŒããäœæããæ倧3å°ã®ã»ã«ã³ããªãµãŒããŒã§ã¹ãã¢ãã¬ãŒã¹ã¡ã³ããå²ãåœãŠãŸãã
ãããã®ãµãŒããŒã§ã®äœæ¥ã¹ããŒã ãæå®ããŸãããã¹ãŠã®ãµãŒããŒããéžæããããŒã¿ããŒã¹ã®ããŒã¿ãèªåèªèº«ã«è€è£œããŸãã ã°ã«ãŒãã®ãã¹ãŠã®ãµãŒããŒã§ãã®ããŒã¿ããŒã¹ã®ãŠãŒã¶ãŒã®ãã°ã€ã³ãäœæããããšãå¿ããªãã§ãã ããã 1ã€ãŸãã¯2ã€ã®ãµãŒããŒã§ãå ã®ããŒã¿ã»ãããšã®åæã¬ããªã±ãŒã·ã§ã³ããµããŒãã§ããŸãã ãã®ãã¡ã®1ã€ã¯ãã§ãŒã«ãªãŒããŒã«å¯Ÿå¿ããŠããå¿ èŠããããŸããããã«ããããã©ã€ããªã§åé¡ãçºçããå Žåã«ã«ã¹ã¿ããŒãµãŒãã¹ãåŒãç¶ãããšãã§ããŸãã ããã©ã«ãã§ã¯ãã»ã«ã³ããªã¯äœããããé»æ°ãé£ã¹ãã ãã§ãã [èªã¿åãã¢ã¯ã»ã¹èš±å¯]ããã¯ã¹ããªã³ã«ãããšãåæã¬ããªã±ãŒã·ã§ã³ã¢ãŒãã®éåžžã®ã»ã«ã³ããªãã¢ã¯ãã£ãã»ã«ã³ããªãŸãã¯èªã¿åãå¯èœãªã»ã«ã³ããªã«å€ãããŸãã
次ã®ããã«ãªããŸãã
ããããŠããã®å¯çè«ã¯ç§ãã¡ã«ãšã£ãŠäœã®åœ¹ã«ç«ã€ã®ã§ããããïŒããšããªãã¯å°ããŸãã ãŸããèªã¿åãèŠæ±ãåŠçã§ããŸãã ç¹ã«ãå¯çšæ§ã°ã«ãŒãã«æ¥ç¶ããã¢ããªã±ãŒã·ã§ã³ãããŒã¿ã®èªã¿åãã®ã¿ãç®çãšããŠãããè¡ãå ŽåïŒèªã¿åãå°çšïŒãã€ãŸãããã©ã¡ãŒã¿ãŒ 'Application Intent = readonly'ãæ¥ç¶åæåè¡ã«ãããŸãã
次ã«ãå¯çšæ§ã°ã«ãŒãã«ããããŒã¿ããŒã¹ã«ã¯ããããã¯ã¢ããã«ã»ã«ã³ããªã䜿çšããããšãããã°ããããªãã·ã§ã³ããããŸãã ãããã£ãŠãããŒã¿ããŒã¹ãããã¯ã¢ããã«24æéãããããªã¥ãŒã ã«ãŸã§æé·ããå Žåã§ãã1æ¥ã§ãªãã£ã¹ã®å¶æ¥æ¥ãšãµãŒããŒã®ã¡ã³ããã³ã¹ãŠã£ã³ããŠãæŒãåºãããšããã«ãã»ã«ã³ããªã®ããŒã¿ã¬ããªã«ããå®å šã«å®è¡ã§ããŸãã ããã¯ã24æé幎äžç¡äŒã®åäœã¢ãŒãã®ããŒã¿ããŒã¹ãµãŒããŒã«ç¹ã«äŸ¿å©ã§ãã
äžè¬ã«ãããŒã¿ããŒã¹ã§åäœããã¢ããªã±ãŒã·ã§ã³ãæ éã«ç·šéããããšã§ããã¹ãŠã®èªã¿åãæäœãã¢ã¯ãã£ããªã»ã«ã³ããªã§å®è¡ãããæžã蟌ã¿æäœããã©ã€ããªã«éäžããããã«ã§ããŸãã
ããŒã¿ããŒã¹ãæäœããã¢ããªã±ãŒã·ã§ã³ãé©åãªã¢ãã¬ã¹ã«ããã«ã¢ã¯ã»ã¹ã§ããããã«ãå°çšã®ããªã¹ããŒããå²ãåœãŠããªãã·ã§ã³ããããŸãã
ãã¡ããããã®ã¹ããŒã ã«ã¯æ¬ ç¹ãããããŸã第äžã«äŸ¡æ Œã§ãã äžæ¹ã1å°ã®ãµãŒããŒãæžã蟌ã¿ã2å°ãèªã¿åãã4çªç®ã®ã©ãŠã³ãžã§ãã®ã³ããŒã管çãããšãã«äœæ¥ã®ã¹ããŒã ãååŸããŸãã æåã®èªè ã®ããäœå®¶ã¯ã¢ã¹ã¯ã¯ã«ããŠã2çªç®ã®èªè ã¯ãµã³ã¯ãããã«ãã«ã¯ãŸãã¯ãã³ãã³ã«ããŠããããŒãã¡ãŒãã¯ãŠã©ãžãªã¹ãã¯ãŸãã¯å京ã«ããŸãã ãã®ã¢ãããŒãã«ãããã¡ã€ã³ãµãŒããŒã®èªã¿åãæäœã®è² è·ã軜æžããã¢ã³ããŒãããŠããå¹ççãªæžã蟌ã¿æäœãè¡ãããšãã§ããŸããããã¯ãåŸæ¥ã®ãã§ãŒã«ãªãŒããŒã¯ã©ã¹ã¿ãŒãããå¹æçã§ãã
åçŽæ¹åã«7ã€ãæ°Žå¹³æ¹åã«4ã€-åã¹ãã¢ã€ã³ããã¯ã¹
ããŒã¿ããŒã¹ã§ã®äœæ¥ãæé©åããããã®ãã1ã€ã®ãªãã·ã§ã³ã¯ãããããColumnar DBMSã§ãã åŸæ¥ã®è¡ããŒã¹ãšã®äž»ãªéãã¯ãããŒã¿ã®å éšè¡šçŸã§ãã 次ã®ãããªããŒãã«ããããšããŸãïŒ
å€å žçãªè¡ããŒã¹ïŒæååïŒããŒã¿ããŒã¹ã¯ããã®ããŒã¿ã次ã®åœ¢åŒã§ä¿åããŸãã
ããã¯ãããŒã¿ããŒã¹ã«è¡å šäœãè¿œå ããããšãå€ãå Žåã«ã¯äŸ¿å©ã§ãããååãå§ãªã©ã®éžæãéžæããããšã¯éåžžã«å°é£ã«ãªããŸãããã®ãããªéžæã§ã¯ãããŒãã«å šäœãèªã¿åãå¿ èŠãããããã§ãã
ãnewfangledãã®å ŽåïŒã€ãŸããåäžçŽã®70幎代ååã«çºæãããããMicrosoftã®å°é家ã«ããã°ãããã¯çªç¶ã«ãªã£ãïŒåæ±ç¶ã®ããŒã¿ããŒã¹ã¯æ¬¡ã®åœ¢åŒã§æ ŒçŽãããŸãã
ããã§ã¯ç¶æ³ããŸã£ããéã§ããããšã«æ°ä»ãã®ã¯ç°¡åã§ããè¡ãè¿œå ããã«ã¯ãååãå€æŽããå¿ èŠããããŸãããããã£ãŠãããŒã¿ããŒã¹ãRAMã«ãã«ãã䞊ã¹æ¿ããŠå ã«æ»ããŸãã ãããã1ã€ã®æäœã§æ°ããåãè¿œå ããããæ¢åã®åãå€æŽãããããã«ã¯ãåã«åãåºããŸãã ç¹°ãè¿ããŸãããéžæçãµã³ããªã³ã°ã¯éåžžã«äŸ¿å©ã«ãªããŸãããœãŒã¹ããŒã¿ããŒã¹ã®å¿ èŠãªåãååŸããã ãã§ãRAMã®ã¹ããŒã¹ãç¯çŽã§ããŸãã
å§çž®äžã«Columnar DBã®è¿œå ã®ãã©ã¹ãçŸããŸã-åå ã®ããŒã¿ã¯è¡å ãããåäžãªå€èŠ³ãæã£ãŠãããããLZWã¿ã€ãã®å§çž®ã¢ã«ãŽãªãºã ã¯è¡äžãããåäžã§ããé«åºŠãªããŒã¿å§çž®ãè¡ããŸãã
Columnstoreã€ã³ããã¯ã¹ïŒCSIïŒã䜿çšãããšãããŒãã«ããRowbasedãšColumnarã®ãã€ããªãããäœæã§ããŸãã ã€ãŸããåŸæ¥ã®è¡ããŒã¹ã®ããŒãã«ã§ãå圢åŒã§ä¿åããåãéžæããæ©äŒãäžããããŸãã
ããã«ã¯ããã€ãã®å¶éã䌎ããŸãããæãäžå¿«ãªãã®ã¯æ¬¡ã®ãšããã§ãã
- Columnstoreã€ã³ããã¯ã¹ãããŒãã«ã§å®çŸ©ãããŠããå ŽåãããŒãã«ã¯å€æŽã§ããŸããã UPDATEãINSERTãDELETEãããã³MERGEã¯ãããŸããã ãã¡ãããDROP-> INSERT-> CREATEãå®è¡ã§ããŸãããå ç©ç©ã¯äžå¿«ãªãŸãŸã§ãã
- Columnstoreã€ã³ããã¯ã¹ã䜿çšã§ããåã«ã¯åå¶éããããŸãïŒhttp://msdn.microsoft.com/en-us/library/gg492088(v=sql.110).aspx#DescribedïŒ;
- åã¹ãã¢ã€ã³ããã¯ã¹ã¯ããŒã«ããããšã¯ã§ããŸããïŒãã©ã€ããª-ãã©ã€ããªãå€éšFOREIGNã®äž¡æ¹ïŒãäžæã«ããããšã¯ã§ãããASCããã³DESCã§äžŠã¹æ¿ããããšã¯ã§ããŸããïŒå§çž®ã¢ã«ãŽãªãºã ã䞊ã¹æ¿ããæ åœããŠããããïŒããã³ãã®ä»ïŒhttp://msdn.microsoft.com/ en-us / library / gg492088ïŒv = sql.110ïŒ.aspxïŒå¶éïŒ;
- åã¹ãã¢ã€ã³ããã¯ã¹ãRAMãéåžžã«èŠæ±ããŸããã€ãŸããåãRAMå šäœã«åãŸããªãå Žåãã¡ãªããã¯ãããŸããã
ãããããã¡ããããã®æ±ºå®ã«ã¯è¯å®çãªåŽé¢ããããŸãã
- Columnstoreã€ã³ããã¯ã¹ãã£ãŒã«ãã«ããSELECTã¯ãè¡ããŒã¹ã®éžæãããçŽ10åé«éã§ãã
- åãããšã* JOINã«ãèšããŸãã
ãããã ãã§ããïŒããšããªãã¯å°ããŸãã ã¯ããããã ãã§ãã æã人æ°ã®ãã2ã€ã®ããŒã¿ããŒã¹ã¯ãšãªã§ã¯ãçŽ10åã®ã²ã€ã³ããåŸãããŸããã ãã®åŸã建ç¯å®¶ã®ä»äºãéå§ããŠãããŒã¹ããŸãšããªå€èŠ³ã«ããŸãã ãããã®äžéšã¯ãé »ç¹ã«å€æŽããããã®ãšããŠRowbasedã«æ®ãããã®ä»ã¯éçãšããŠColumnstoreã«éšåçã«å€æããŸãã
ãŸãã¯ãããåµé çã«ã¢ãããŒãããŸãã ããšãã°ãRowbasedã«æ ŒçŽãããŠããæªåŠçã®æ³šæããããåŠçããã泚æã®ã°ããŒãã«ã¢ãŒã«ã€ããå æã®ããŒãã«ã«äœæããå ŽåãDROP COLUMNSTORE INDEXãINSERT DATA INTO MONTHãCREATE COLUMNSTORE INDEXããããŸãã ãããŠãäž¡æ¹ã®ããŒãã«ããã°ãããã§ãã¯ããŠãäœæ¥äžã®ããŒã¿ããŒã¹ããå ±éã®è¡ãåé€ããå šå¡ã幞ãã«æ®ãããŸãã
å¥ã®ãªãã·ã§ã³ã æ¬è³ªçã«åäžãªçä¿¡ãã¬ã¡ããªããŒã¿ããããŸãã ããšãã°ã1æéãŸãã¯1æ¥ãªã©ãç¹å®ã®æéã®ããŒã¿ãåéãããããŒãã«ããããŸãã 次ã«ãã¹ã±ãžã¥ãŒã«ã«åŸã£ãŠç解å¯èœãªåå20120229ã®ãã®ããŒãã«ã¯ãåæ±ãã¥ãŒã«å€æãããããŒã¿ã¯20120301ã§ãã§ã«æµãå§ããŸãããã®çµæãæ å ±ã¯ãã¡ããšæãç³ãŸããå§çž®ãããå¿ èŠã«å¿ããŠãªã³ã©ã€ã³ã§èªãããšãã§ããŸãã
ãããã«
èšäºã®åé ã§è¿°ã¹ãããã«ãããã§ã¯èªã¿åãæäœã®ã²ã€ã³ã®ã¿ã衚瀺ãããŸãã èªã¿åãæäœãã»ã«ã³ããªãµãŒããŒã«å§ä»»ããããšã§æžã蟌ã¿ãµãŒããŒãã¢ã³ããŒãã§ãããããæžã蟌ã¿æäœã¯é«å¯çšæ§ã°ã«ãŒãã®äžéšãšããŠã®ã¿åã¡ãŸãã äžè¬çã«ããã®æ©èœã¯éåžžã«äŸ¿å©ã§ãã ç¥çµãšãªãœãŒã¹ãç¯çŽããçç£æ§ãåäžãããŸãã éåžžããã®æ©èœã«ã¯ãã€ãã¹èšå·ãä»ããŠ5ã€ãå®å šã«é 眮ã§ããŸãã 埩æ§ã¢ãã«ã®èŠä»¶ã®ãã€ãã¹ã
ååãããæžã蟌ã¿ã€ã³ããã¯ã¹ã®å Žåãæ£å³æ倱ãçºçããŸãããã®ãããªããŒãã«ã«ããŒã¿ãå ¥åããããšã¯ã§ããŸãããããããããã°ããèªã¿åãããšãã§ããŸãã ããã«ããããã®æ©èœã®äœ¿çšã«ç¹å®ã®å¶éã課ããããŸãã ããã¯ã¢ã¡ãªã«ã®ãã©ãã°ã¹ã¿ãŒã®ãããªãã®ã§ãïŒé床ã¯éãã§ãããçŽç·ã§æ°Žå¹³ãªãã©ãã¯ã«æ²¿ã£ãŠããã ãã§ãRAMã«ãå¶éãããã®ã§ãããã»ã©é·ãããããŸããã
äžè¬çã«ããªãªãŒã¹åè£è ã¯è¯ãå°è±¡ãæ®ããŸããã MS SQL 2012ãè©æ¬ºãªãã§ãšã³ã¿ãŒãã©ã€ãºã¬ãã«ã®è£œåãšåŒã¶ããšãã§ããæ©èœãç»å ŽããŸããã
evans2094 ã
ã·ã¹ãã ãšã³ãžãã¢DEPO Computers