èªã¿èŸŒã¿èšå® (read preference)
é ç®äžèŠ§
èªã¿èŸŒã¿èšå®ã¯ãMongoDB ã¯ã©ã€ã¢ã³ããã¬ããªã«ã»ããã®ããŒãã«èªã¿èŸŒã¿æäœãã«ãŒãã£ã³ã°ããæ¹æ³ã瀺ããŸãã
ããã©ã«ãã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã®èªã¿åãæäœã¯ã ã¬ããªã«ã»ããå ã®ãã©ã€ããªã察象ã«è¡ãããŸãïŒèªã¿èŸŒã¿èšå®ïŒread preferenceïŒã¢ãŒããããã©ã€ããªãã§ãïŒããã ããã¯ã©ã€ã¢ã³ãã¯èªã¿èŸŒã¿èšå®ïŒread preferenceïŒãæå®ããŠãèªã¿åãæäœãã»ã«ã³ããªã«éä¿¡ã§ããŸãã
èªã¿èŸŒã¿èšå® (read preference) ã¯ãèªã¿èŸŒã¿èšå® (read preference)ã¢ãŒããšããªãã·ã§ã³ã§ã¿ã°ã»ãã ãªã¹ããmaxStalenessSeconds ãªãã·ã§ã³ãããã³ãããžãããèªã¿åããªãã·ã§ã³ã§æ§æãããŸãããããžãããèªã¿åããªãã·ã§ã³ã¯ãprimary
以å€ã®èªã¿èŸŒã¿èšå® (read preference) ã䜿çšããèªã¿åãã«ã€ããŠãã·ã£ãŒãã£ã³ã°ãããã¯ã©ã¹ã¿ãŒã§äœ¿çšã§ããŸãã
èªã¿èŸŒã¿èšå®ïŒread preferenceïŒã¢ãŒã
次ã®è¡šã¯ãèªã¿èŸŒã¿èšå®ïŒread preferenceïŒã¢ãŒãã®ç°¡åãªæŠèŠã§ãã
泚æ
primary
以å€ã®èªã¿èŸŒã¿èšå® (read preference) ã¢ãŒãã¯ãã·ã£ãŒãã£ã³ã°ãããã¯ã©ã¹ã¿ãŒã§ã®ãããžãããèªã¿åãããµããŒãããŸãã
èªã¿èŸŒã¿èšå®ïŒread preferenceïŒã¢ãŒã | 説æ |
---|---|
ããã©ã«ãã¢ãŒãããã¹ãŠã®æäœã¯ãçŸåšã®ã¬ããªã«ã»ããã®ãã©ã€ããªããèªã¿åãããŸãã èªã¿åãæäœãå«ãåæ£ãã©ã³ã¶ã¯ã·ã§ã³ã§ã¯ãèªã¿èŸŒã¿èšå®ïŒread preferenceïŒ | |
ã»ãšãã©ã®å Žåãæäœã¯ãã©ã€ã㪠ããŒãã察象ã«èªã¿åããè¡ããŸããã䜿çšã§ããªãå Žåã¯ã»ã«ã³ã㪠ããŒãã察象ã«èªã¿åããè¡ããŸãã èªã¿èŸŒã¿èšå®ïŒread preferenceïŒ | |
ãã¹ãŠã®æäœã¯ã¬ããªã«ã»ããã®ã»ã«ã³ã㪠ããŒãã察象ã«èªã¿èŸŒã¿ãè¡ããŸãã èªã¿èŸŒã¿èšå®ïŒread preferenceïŒ | |
éåžžãæäœã§ã¯ã¬ããªã«ã»ããã®ã»ã«ã³ã㪠ããŒãããããŒã¿ãèªã¿åãããŸããã¬ããªã«ã»ããã«ãã©ã€ã㪠ããŒãã 1 ã€ã ããããä»ã®ããŒãããªãå Žåãæäœã§ã¯ãã©ã€ã㪠ããŒãããããŒã¿ãèªã¿åãããŸãã èªã¿èŸŒã¿èšå®ïŒread preferenceïŒ | |
ããŒãããã©ã€ããªã§ããããã»ã«ã³ããªã§ãããã«é¢ä¿ãªããæå®ãããã¬ã€ãã³ã·ã®ãããå€ã«åºã¥ããŠãæäœã¯ãã©ã³ãã ã«éžæãããé©æ Œãªã¬ããªã«ã»ãã ããŒãããèªã¿åããŸãããã®æäœã¯ãã¬ã€ãã³ã·ãèšç®ãããšãã«æ¬¡ã®ç¹ãèæ ®ããŸãã
èªã¿èŸŒã¿èšå®ïŒread preference |
èªã¿èŸŒã¿èšå® (read preference) ã¢ãŒãã®è©³çŽ°ã«ã€ããŠã¯ããèªã¿èŸŒã¿èšå® (read preference) ã¢ãŒã ããåç §ããŠãã ããã
Tip
以äžãåç §ããŠãã ããã
åäœ
primary
ãé€ããã¹ãŠã®èªã¿èŸŒã¿èšå® (read preference) ã¢ãŒãã§ã¯ãã»ã«ã³ããªããã©ã€ããªããã®æäœãéåæããã»ã¹ã§è€è£œãããããå€ãããŒã¿ãè¿ãããå¯èœæ§ããããŸãã[ 1 ]primary
以å€ã®ã¢ãŒãã䜿çšããå Žåã¯ãã¢ããªã±ãŒã·ã§ã³ãå€ãããŒã¿ã蚱容ã§ããããšã確èªããŠãã ãããèªã¿èŸŒã¿èšå®ã¯ããŒã¿ã®å¯èŠæ§ã«ã¯åœ±é¿ããŸãããã€ãŸããã¯ã©ã€ã¢ã³ãã¯ãæžèŸŒã¿ã確èªãããåããŸãã¯éåæ°ã®ã¬ããªã«ã»ãã ããŒãã«åæ ãããåã«ãæžèŸŒã¿ã®çµæã確èªã§ããŸãã詳现ã«ã€ããŠã¯ããèªã¿åãåé¢ãæŽåæ§ãææ°æ§ã«ã€ããŠããåç §ããŠãã ããã
èªã¿èŸŒã¿èšå®ïŒread preferenceïŒã¯å ææŽåæ§ã«ã¯åœ±é¿ããŸãããå ææŽåæ§ã®ä¿èšŒã¯ãå æçã«æŽåæ§ã®ããã»ãã·ã§ã³ã«ãã£ãŠæäŸããã
"majority"
èªã¿åãä¿èšŒïŒread concernïŒãæã€èªã¿åãæäœãš"majority"
æžèŸŒã¿ä¿èšŒïŒwrite concernïŒãæã€æžèŸŒã¿æäœã«å¯ŸããŠãMongoDB é 眮ã®å šããŒãã«ããã£ãŠä¿æãããŸãã
èŠå
移è¡ã䌎ãã·ã£ãŒãã£ã³ã°ãããã¯ã©ã¹ã¿ãŒã§ã®ã»ã«ã³ããªããã®èªã¿åãã«ãããŠãããã¥ã¡ã³ãã倱ãããå¯èœæ§
ã·ã£ãŒãã£ã³ã°ãããã¯ã©ã¹ã¿ãŒã§ã®ã»ã«ã³ããªããã®èªã¿åããé·æéè¡ãããŠãããšã移è¡ãè¡ãããŠããå Žåãããã¥ã¡ã³ãã倱ãããå¯èœæ§ããããŸãã
ãã£ã³ã¯ç§»è¡äžã«ãã£ã³ã¯ãåé€ããåã«ãMongoDB 㯠orphanCleanupDelaySecs
ãããŸãã¯ãã£ã³ã¯ã«é¢é£ããé²è¡äžã®ã¯ãšãªãã·ã£ãŒã ãã©ã€ããªã§å®äºãããŸã§ãã®ãã©ã¡ããé·ãæ¹ã§åŸ
æ©ããŸããæåã¯ãã©ã€ããªã ã£ãããŒãã§å®è¡ãããããããŒããã»ã«ã³ããªã«ã¹ãããããŠã³ããåŸãç¶ç¶ãããã¯ãšãªã¯ãæåã«ã»ã«ã³ããªã§å®è¡ããããã®ããã«æ±ãããŸããã€ãŸãããµãŒããŒã¯ãçŸåšã®ãã©ã€ããªäžã®ãã£ã³ã¯ã察象ãšããã¯ãšãªããªãå Žåã«ã®ã¿ orphanDelayCleanupSecs
ãåŸ
ã¡ãŸãã
ãã£ã³ã¯ãã¿ãŒã²ãããšããã»ã«ã³ããªã§å®è¡ãããã¯ãšãªã§ã¯ãã¯ãšãªã«ãããæéã orphanCleanupDelaySecs
ãè¶
ãããšããã¥ã¡ã³ãã倱ãããå¯èœæ§ããããŸãã
èªã¿èŸŒã¿èšå®ïŒread preferenceïŒã¢ãŒã
primary
ãã¹ãŠã®èªã¿èŸŒã¿æäœã¯ãçŸåšã®ã¬ããªã«ã»ãã ãã©ã€ããªã®ã¿ã䜿çšããŸãã[1] ããã¯ããã©ã«ãã®èªã¿èŸŒã¿ã¢ãŒãã§ããããã©ã€ããªã䜿çšã§ããªãå Žåã¯ãèªã¿èŸŒã¿æäœã§ãšã©ãŒãçºçããããäŸå€ãã¹ããŒãããŸãã
primary
èªã¿èŸŒã¿èšå® (read preference) ã¢ãŒãã¯ãã¿ã°ã»ãã ãªã¹ããŸã㯠maxStalenessSeconds ã䜿çšããèªã¿èŸŒã¿èšå® (read preference) ã¢ãŒããšäºææ§ããããŸãããã¿ã°ã»ãã ãªã¹ããŸãã¯maxStalenessSeconds
å€ãprimary
ãšãšãã«æå®ãããšããã©ã€ããŒã§ãšã©ãŒãçºçããŸããèªã¿åãæäœãå«ãåæ£ãã©ã³ã¶ã¯ã·ã§ã³ã§ã¯ãèªã¿èŸŒã¿èšå® (read preference)
primary
ã䜿çšããå¿ èŠããããŸããç¹å®ã®ãã©ã³ã¶ã¯ã·ã§ã³å ã®ãã¹ãŠã®æäœã¯ãåãããŒãã«ã«ãŒãã£ã³ã°ããå¿ èŠããããŸãã
primaryPreferred
ã»ãšãã©ã®æäœã§ã¯ãã»ããã®ãã©ã€ããªã察象ã«èªã¿åããè¡ããŸãããã ãããã§ã€ã«ãªãŒããŒæãªã©ãã©ã€ããªãå©çšã§ããªãå Žåã®æäœã§ã¯ãèªã¿èŸŒã¿èšå®ïŒread preferenceïŒã®
maxStalenessSeconds
ãšã¿ã°ã»ãã ãªã¹ããæºããã»ã«ã³ããªã察象ã«èªã¿åããè¡ããŸãã
primaryPreferred
èªã¿èŸŒã¿èšå® (read preference) ã« maxStalenessSeconds å€ãå«ãŸããŠãããèªã¿åãå ã®ãã©ã€ããªããªãå Žåãã¯ã©ã€ã¢ã³ãã¯ã»ã«ã³ããªã®æåŸã®æžèŸŒã¿ (write) ãã»ã«ã³ããªã®ææ°ã®æžèŸŒã¿ (write) ãšæ¯èŒããŠãåã»ã«ã³ããªãã©ãã ãå€ããªã£ãŠããããæšå®ããŸããã¯ã©ã€ã¢ã³ãã¯ãã®åŸãæšå®ãããã©ã°ãmaxStalenessSeconds
以äžã®ã»ã«ã³ããªã«èªã¿åãæäœãéä¿¡ããŸããèªã¿èŸŒã¿èšå®ïŒread preferenceïŒã§ã¿ã°ã»ãã ãªã¹ãïŒã¿ã°ã»ããã®é åïŒ ãèšå®ãããŠãããèªã¿èŸŒã¿ãè¡ãããã©ã€ããªããªãå Žåãã¯ã©ã€ã¢ã³ãã¯åãã¿ã°ãæã€ã»ã«ã³ããªãæ¢ããŸãïŒäžèŽããã¿ã°ã»ãããèŠã€ãããŸã§é ã«è©Šè¡ããŸãïŒãäžèŽããã»ã«ã³ããªãèŠã€ãããšãã¯ã©ã€ã¢ã³ãã¯äžèŽãããªãã§æãè¿ãã»ã«ã³ã㪠ã°ã«ãŒãããã©ã³ãã ã«ã»ã«ã³ããªãéžæããŸããã¿ã°ãäžèŽããã»ã«ã³ããªãèŠã€ãããªããšãèªã¿åãæäœã¯ãšã©ãŒã«ãªããŸãã
èªã¿èŸŒã¿èšå®ïŒread preferenceïŒã«
maxStalenessSeconds
å€ãšã¿ã°ã»ãã ãªã¹ããèšå®ãããŠããå Žåãã¯ã©ã€ã¢ã³ãã¯å€ããæå®ãããã¿ã°ã®é ã§ãã£ã«ã¿ãªã³ã°ãè¡ããŸããprimaryPreferred
ã¢ãŒãã䜿çšããèªã¿åãæäœã§ã¯å€ãããŒã¿ãè¿ãããå¯èœæ§ããããŸããmaxStalenessSeconds
ãªãã·ã§ã³ã䜿çšãããšãã¯ã©ã€ã¢ã³ããããŸãã«ãå€ããªã£ãŠãããšæšå®ããã»ã«ã³ããªããã®èªã¿åããåé¿ã§ããŸãã泚æ
èªã¿èŸŒã¿èšå® (read preference)
primaryPreferred
ã¯ãã·ã£ãŒãã£ã³ã°ãããã¯ã©ã¹ã¿ãŒäžã®ãããžãããèªã¿åãããµããŒãããŸãã
secondary
æäœã§ã¯ãã»ããã®ã»ã«ã³ããªã®ã¿ã察象ã«èªã¿åããè¡ããŸããèªã¿åãæäœã§å©çšã§ããã»ã«ã³ããªããªããšããšã©ãŒãŸãã¯äŸå€ãçºçããŸãã
ã»ãšãã©ã®ã¬ããªã«ã»ããã«ã¯ã»ã«ã³ããªã 1 ã€ä»¥äžãããŸããã䜿çšã§ããã»ã«ã³ããªããªãå ŽåããããŸããããšãã°ãã¬ããªã« ã»ããã«ãã©ã€ããªãã»ã«ã³ããªãã¢ãŒãã¿ããã£ãŠããããŒãããªã«ããªäžã䜿çšã§ããªãç¶æ ã®å Žåãã»ã«ã³ããªãååšããªãããšããããŸãã
secondary
èªã¿èŸŒã¿èšå® (read preference) ã« maxStalenessSeconds å€ãå«ãŸããŠããå Žåãã¯ã©ã€ã¢ã³ãã¯ã»ã«ã³ããªã®æåŸã®æžèŸŒã¿ (write) ããã©ã€ããªã®æåŸã®æžèŸŒã¿ (write) ãšæ¯èŒããŠãåã»ã«ã³ããªãã©ãã ãå€ããªã£ãŠããããæšå®ããŸããã¯ã©ã€ã¢ã³ãã¯ãã®åŸãæšå®ãããã©ã°ãmaxStalenessSeconds
以äžã®ã»ã«ã³ããªã«èªã¿åãæäœãéä¿¡ããŸãããã©ã€ããªãååšããªãå Žåãã¯ã©ã€ã¢ã³ãã¯æ¯èŒã®ããã«ææ°ã®æžèŸŒã¿ (write) ãæã€ã»ã«ã³ããªã䜿çšããŸããèªã¿èŸŒã¿èšå®ïŒread preferenceïŒã«ã¿ã°ã»ãã ãªã¹ãïŒã¿ã°ã»ããã®é åïŒ ãèšå®ãããŠããå Žåãã¯ã©ã€ã¢ã³ãã¯åãã¿ã°ãæã€ã»ã«ã³ããªãæ¢ããŸãïŒäžèŽããã¿ã°ã»ãããèŠã€ãããŸã§é ã«è©Šè¡ããŸãïŒãäžèŽããã»ã«ã³ããªãèŠã€ãããšãã¯ã©ã€ã¢ã³ãã¯äžèŽãããªãã§æãè¿ãã»ã«ã³ã㪠ã°ã«ãŒãããã©ã³ãã ã«ã»ã«ã³ããªãéžæããŸããã¿ã°ãäžèŽããã»ã«ã³ããªãèŠã€ãããªããšãèªã¿åãæäœã¯ãšã©ãŒã«ãªããŸãã
èªã¿èŸŒã¿èšå®ïŒread preferenceïŒã«
maxStalenessSeconds
å€ãšã¿ã°ã»ãã ãªã¹ããèšå®ãããŠããå Žåãã¯ã©ã€ã¢ã³ãã¯å€ããæå®ãããã¿ã°ã®é ã§ãã£ã«ã¿ãªã³ã°ãè¡ããŸããsecondary
ã¢ãŒãã䜿çšããèªã¿åãæäœã§ã¯å€ãããŒã¿ãè¿ãããå¯èœæ§ããããŸããmaxStalenessSeconds
ãªãã·ã§ã³ã䜿çšãããšãã¯ã©ã€ã¢ã³ããããŸãã«ãå€ããªã£ãŠãããšæšå®ããã»ã«ã³ããªããã®èªã¿åããåé¿ã§ããŸãã泚æ
èªã¿èŸŒã¿èšå® (read preference)
secondary
ã¯ãã·ã£ãŒãã£ã³ã°ãããã¯ã©ã¹ã¿ãŒäžã®ãããžãããèªã¿åãããµããŒãããŸãã
secondaryPreferred
éåžžãæäœã§ã¯ã¬ããªã«ã»ããã®ã»ã«ã³ã㪠ããŒãããããŒã¿ãèªã¿åãããŸããã¬ããªã«ã»ããã«ãã©ã€ã㪠ããŒãã 1 ã€ã ããããä»ã®ããŒãããªãå Žåãæäœã§ã¯ãã©ã€ã㪠ããŒãããããŒã¿ãèªã¿åãããŸãã
secondaryPreferred
èªã¿èŸŒã¿èšå® (read preference) ã« maxStalenessSeconds å€ãå«ãŸããŠããå Žåãã¯ã©ã€ã¢ã³ãã¯ã»ã«ã³ããªã®æåŸã®æžèŸŒã¿ (write) ããã©ã€ããªã®æåŸã®æžèŸŒã¿ (write) ãšæ¯èŒããŠãåã»ã«ã³ããªãã©ãã ãå€ããªã£ãŠããããæšå®ããŸããã¯ã©ã€ã¢ã³ãã¯ãã®åŸãæšå®ãããã©ã°ãmaxStalenessSeconds
以äžã®ã»ã«ã³ããªã«èªã¿åãæäœãéä¿¡ããŸãããã©ã€ããªãååšããªãå Žåãã¯ã©ã€ã¢ã³ãã¯æ¯èŒã®ããã«ææ°ã®æžèŸŒã¿ (write) ãæã€ã»ã«ã³ããªã䜿çšããŸããæšå®ãããã©ã°ãmaxStalenessSeconds
以äžã®ã»ã«ã³ããªããªãå Žåãã¯ã©ã€ã¢ã³ãã¯ã¬ããªã«ã»ããã®ãã©ã€ããªã«èªã¿åãæäœãæ瀺ããŸããèªã¿èŸŒã¿èšå®ïŒread preferenceïŒã«ã¿ã°ã»ãã ãªã¹ãïŒã¿ã°ã»ããã®é åïŒ ãèšå®ãããŠããå Žåãã¯ã©ã€ã¢ã³ãã¯åãã¿ã°ãæã€ã»ã«ã³ããªãæ¢ããŸãïŒäžèŽããã¿ã°ã»ãããèŠã€ãããŸã§é ã«è©Šè¡ããŸãïŒãäžèŽããã»ã«ã³ããªãèŠã€ãããšãã¯ã©ã€ã¢ã³ãã¯äžèŽãããªãã§æãè¿ãã»ã«ã³ã㪠ã°ã«ãŒãããã©ã³ãã ã«ã»ã«ã³ããªãéžæããŸããã¿ã°ãäžèŽããã»ã«ã³ããªãèŠã€ãããªããšãã¯ã©ã€ã¢ã³ãã¯ã¿ã°ãç¡èŠãããã©ã€ããªããèªã¿åããè¡ããŸãã
èªã¿èŸŒã¿èšå®ïŒread preferenceïŒã«
maxStalenessSeconds
å€ãšã¿ã°ã»ãã ãªã¹ããèšå®ãããŠããå Žåãã¯ã©ã€ã¢ã³ãã¯å€ããæå®ãããã¿ã°ã®é ã§ãã£ã«ã¿ãªã³ã°ãè¡ããŸããsecondaryPreferred
ã¢ãŒãã䜿çšããèªã¿åãæäœã§ã¯å€ãããŒã¿ãè¿ãããå¯èœæ§ããããŸããmaxStalenessSeconds
ãªãã·ã§ã³ã䜿çšãããšãã¯ã©ã€ã¢ã³ããããŸãã«ãå€ããªã£ãŠãããšæšå®ããã»ã«ã³ããªããã®èªã¿åããåé¿ã§ããŸãã泚æ
èªã¿èŸŒã¿èšå® (read preference)
secondaryPreferred
ã¯ãã·ã£ãŒãã£ã³ã°ãããã¯ã©ã¹ã¿ãŒäžã®ãããžãããèªã¿åãããµããŒãããŸãã
nearest
ãã©ã€ããŒã¯ããããã¯ãŒã¯ ã¬ã€ãã³ã·ã蚱容ç¯å²å ã®ããŒãããããŒã¿ãèªã¿åããŸãã
nearest
ã¢ãŒãã§ã®èªã¿åãã§ã¯ãèªã¿åãæäœãã«ãŒãã£ã³ã°ããéãããŒãããã©ã€ããªãã»ã«ã³ããªãã¯èæ ®ãããŸããããã©ã€ããªãšã»ã«ã³ããªã¯åçã«æ±ãããŸãããã®ã¢ãŒããèšå®ãããšãçŸåšã®ããŒã¿ãå€ãããŒã¿ãåªå ããããšãªãã«ãèªã¿åãæäœã«å¯Ÿãããããã¯ãŒã¯ ã¬ã€ãã³ã·ã®åœ±é¿ãæå°éã«æããããŸãã
èªã¿èŸŒã¿èšå®ïŒread preferenceïŒã« maxStalenessSeconds ã®å€ãèšå®ãããŠããå Žåãã¯ã©ã€ã¢ã³ãã¯ãã©ã€ããªãããã°ãåã»ã«ã³ããªã®æåŸã®æžèŸŒã¿ïŒwriteïŒãšãã©ã€ããªã®æåŸã®æžèŸŒã¿ïŒwriteïŒãããã©ã€ããªããªãå Žåã¯åã»ã«ã³ããªã®æåŸã®æžèŸŒã¿ïŒwriteïŒãšææ°ã®æžã蟌ã¿ãè¡ã£ãã»ã«ã³ããªã®æåŸã®æžèŸŒã¿ïŒwriteïŒãæ¯èŒããããšã§ãåã»ã«ã³ããªã®å€ããæšå®ããŸãã次ã«ãæšå®é 延ã
maxStalenessSeconds
ãã倧ããã»ã«ã³ããªãé€å€ããæ®ãã®ããŒãïŒãã©ã€ããªãŸãã¯ã»ã«ã³ããªïŒã®ãã¡ã¬ã€ãã³ã·ã蚱容ç¯å²å ã®ããŒãã«ã©ã³ãã ã«èªã¿åããæ瀺ããŸããã¿ã°ã»ãã ãªã¹ããæå®ãããšãã¯ã©ã€ã¢ã³ãã¯æå®ãããã¿ã°ã»ãã ãªã¹ããšäžèŽããã¬ããªã«ã»ãã ããŒããæ€çŽ¢ããæãè¿ãã°ã«ãŒãã®äžããä»»æã®ããŒãã«èªã¿èŸŒã¿å 容ãéä¿¡ããŸãã
èªã¿èŸŒã¿èšå®ïŒread preferenceïŒã«
maxStalenessSeconds
å€ãšã¿ã°ã»ãã ãªã¹ããèšå®ãããŠããå Žåãã¯ã©ã€ã¢ã³ãã¯å€ããæå®ãããã¿ã°ã®é ã§ãã£ã«ã¿ãªã³ã°ãè¡ããŸããæ®ãã®mongod
ã®ã€ã³ã¹ã¿ã³ã¹ãããã¯ã©ã€ã¢ã³ãã¯ã¬ã€ãã³ã·ã蚱容ç¯å²å ã®ã€ã³ã¹ã¿ã³ã¹ã«ã©ã³ãã ã«èªã¿åããæ瀺ããŸããèªã¿èŸŒã¿èšå®ïŒread preferenceïŒã®ããŒãéžæã«é¢ããããã¥ã¡ã³ãã§ã¯ããã®ããã»ã¹ã«ã€ããŠè©³ãã解説ããŠããŸããnearest
ã¢ãŒãã䜿çšããèªã¿åãæäœã§ã¯å€ãããŒã¿ãè¿ãããå¯èœæ§ããããŸããmaxStalenessSeconds
ãªãã·ã§ã³ã䜿çšãããšãã¯ã©ã€ã¢ã³ããããŸãã«ãå€ããªã£ãŠãããšæšå®ããã»ã«ã³ããªããã®èªã¿åããåé¿ã§ããŸãã泚æ
èªã¿èŸŒã¿èšå® (read preference)
nearest
ã¯ãããã©ã«ãã§ã¯ãã·ã£ãŒãã£ã³ã°ãããã¯ã©ã¹ã¿ãŒã§ã®èªã¿åãã«å¯Ÿããããžãããèªã¿åãã®äœ¿çšãæå®ããŸãã
Tip
以äžãåç §ããŠãã ããã
ç¹å®ã®èªã¿èŸŒã¿èšå®ã®ãŠãŒã¹ã±ãŒã¹ã«ã€ããŠã¯ããèªã¿èŸŒã¿èšå®ã®ãŠãŒã¹ã±ãŒã¹ããåç §ããŠãã ããã
èªã¿èŸŒã¿èšå®ïŒread preferenceïŒã®æ§æ
MongoDB ãã©ã€ããŒã䜿çšããå Žåã¯ããã©ã€ããŒã®èªã¿èŸŒã¿èšå® (read preference) API ã䜿çšããŠèªã¿èŸŒã¿èšå® (read preference) ãæå®ã§ããŸãããã©ã€ã㌠API ããã¥ã¡ã³ããåç §ããŠãã ãããã¬ããªã«ã»ãããŸãã¯ã·ã£ãŒãã£ã³ã°ãããã¯ã©ã¹ã¿ãŒã«æ¥ç¶ããéã«ãèªã¿èŸŒã¿èšå® (read preference) ãèšå®ããããšãã§ããŸãïŒãããžãããèªã¿åããªãã·ã§ã³ãé€ãïŒãäŸã«ã€ããŠã¯æ¥ç¶æååãåç §ããŠãã ããã
ç¹å®ã®èªã¿èŸŒã¿èšå®ã«å¯ŸããMongoDB ãã©ã€ããŒã¯åãããŒãéžæããžãã¯ã䜿çšããŸãã
mongosh
ã䜿çšããå Žåã¯ãcursor.readPref()
ãš Mongo.setReadPref()
ãåç
§ããŠãã ããã
èªã¿èŸŒã¿èšå®ïŒread preferenceïŒãšãã©ã³ã¶ã¯ã·ã§ã³
èªã¿åãæäœãå«ãåæ£ãã©ã³ã¶ã¯ã·ã§ã³ã§ã¯ãèªã¿èŸŒã¿èšå® (read preference) primary
ã䜿çšããå¿
èŠããããŸããç¹å®ã®ãã©ã³ã¶ã¯ã·ã§ã³å
ã®ãã¹ãŠã®æäœã¯ãåãããŒãã«ã«ãŒãã£ã³ã°ããå¿
èŠããããŸãã
ãã®ä»ã®èæ ®äºé
éèšãã€ãã©ã€ã³ã§
$merge
ãŸã㯠$out
ã¹ããŒãžã䜿çšããå Žåã¯ã次ã®ç¹ãèæ
®ããŠãã ããã
MongoDB 5.0 以éã§ã¯ã
$merge
ã¹ããŒãžã®ãããã€ãã©ã€ã³ã¯ãã¬ããªã«ã»ããã®ã»ã«ã³ã㪠ããŒããå®è¡ããããšãã§ããŸããããã¯ãã¯ã©ã¹ã¿ãŒå ã®ãã¹ãŠã®ããŒã㧠featureCompatibilityVersion ã5.0
以äžã«èšå®ãããèªã¿èŸŒã¿èšå® (read preference) ã§ã»ã«ã³ããªèªã¿åããèš±å¯ãããŠããå Žåã«éããŸãã$merge
ã¹ããŒãžãš$out
ã¹ããŒãžã¯ã»ã«ã³ã㪠ããŒãã§å®è¡ãããŸãããæžã蟌ã¿æäœã¯ãã©ã€ããªããŒãã«éä¿¡ãããŸãããã¹ãŠã®ãã©ã€ã㌠ããŒãžã§ã³ãã»ã«ã³ã㪠ããŒãã«éä¿¡ããã
$merge
æäœããµããŒãããŠããããã§ã¯ãããŸããã詳现ã«ã€ããŠã¯ãã©ã€ããŒã®ããã¥ã¡ã³ããåç §ããŠãã ããã
MongoDB ã®ä»¥åã®ããŒãžã§ã³ã§ã¯ã
$out
ãŸãã¯$merge
ã¹ããŒãžãæã€ãã€ãã©ã€ã³ã¯åžžã«ãã©ã€ã㪠ããŒãã§å®è¡ãããèªã¿èŸŒã¿èšå® (read preference) ã¯èæ ®ãããŸããã§ããã
mapReduce
æäœã§ã¯ãããŒã¿ãæžã蟌ãŸãªããã€ã³ã©ã€ã³ãmapReduce
æäœã®ã¿ãèªã¿èŸŒã¿èšå® (read preference)ããµããŒãããŸãããã以å€ã®å ŽåãmapReduce
æäœã¯ãã©ã€ããªã§å®è¡ãããŸãã
[1] | ( 1 ã 2 )ç¶æ³ã«ãã£ãŠã¯ã replica setå
ã® 2 ã€ã®ããŒããäžæçã«èªåãã¡ããã©ã€ããªã§ãããšèªèããããšããããŸãããæ倧ã§ãã®ãã¡ã® 1 ã€ã{ w:
"majority" } æžã蟌ã¿æžå¿µã§æžã蟌ã¿ãå®äºã§ããŸãã { w: "majority" } æžã蟌ã¿ãå®äºã§ããããŒãã¯çŸåšã®ãã©ã€ããªã§ãããããäžæ¹ã®ããŒãã¯ãéåžžã¯ãããã¯ãŒã¯ããŒãã£ã·ã§ã³ ãåå ã§éæ ŒããŸã èªèããŠããªã以åã®ãã©ã€ããªã§ãããããçºçãããšã以åã®ãã©ã€ããªã«æ¥ç¶ããã¯ã©ã€ã¢ã³ãã¯ãèªã¿åãèšå®primary ãèŠæ±ããã«ãããããããå€ãããŒã¿ãæ€åºããå¯èœæ§ãããã 以åã®ãã©ã€ããªãžã®æ°ããæžã蟌ã¿ã¯æçµçã«ããŒã«ããã¯ãããŸãã |