°³¶ËÀ̳׿¡¼ ÆÇ¸ÅµÈ "Real MongoDB" Á¤°¡ 48,000¿ø Æò±ÕÇÒÀΰ¡
|
|
|
01Àå: MongoDB 1.1 µ¥ÀÌÅͺ£À̽º Æ®·»µå 1.2 MongoDBÀÇ ¶óÀ̼±½º 1.3 MongoDB ¹öÀü - 1.3.1 setFeatureCompatibilityVersion ¿É¼Ç 1.4 MongoDB vs. RDBMS(MySQL) 1.5 MongoDB vs. NoSQL(HBase) 1.6 MongoDB ¾ÆÅ°ÅØó 1.7 MongoDB ¹èÆ÷ ÇüÅ - 1.7.1 ´ÜÀÏ ³ëµå(Standalone) - 1.7.2 ´ÜÀÏ ·¹Çø®Ä« ¼Â(Single Replica-set) - 1.7.3 »þµùµÈ Ŭ·¯½ºÅÍ(Sharded Cluster)
02Àå: ½ºÅ丮Áö ¿£Áø 2.1 Ç÷¯±×ÀÎ ½ºÅ丮Áö ¿£Áø - 2.1.1 MongoDB ½ºÅ丮Áö ¿£Áø - 2.1.2 ½ºÅ丮Áö ¿£Áø È¥ÇÕ »ç¿ë 2.2 MMAPv1 ½ºÅ丮Áö ¿£Áø - 2.2.1 MMAPv1 ½ºÅ丮Áö ¿£Áø ¼³Á¤ - 2.2.2 µ¥ÀÌÅÍ ÆÄÀÏ ±¸Á¶ - 2.2.3 MongoDB ¼¹ö »óÅ ȮÀÎ - 2.2.4 ¿î¿µÃ¼Á¦ ij½Ã - 2.2.5 µ¥ÀÌÅÍ ÆÄÀÏ ÇÁ·¹±×¸àÅ×ÀÌ¼Ç 2.3 WiredTiger ½ºÅ丮Áö ¿£Áø - 2.3.1 WiredTiger ½ºÅ丮Áö ¿£Áø ¼³Á¤ - 2.3.2 WiredTiger ½ºÅ丮ÁöÀÇ ÀúÀå ¹æ½Ä - 2.3.3 µ¥ÀÌÅÍ ÆÄÀÏ ±¸Á¶ - 2.3.4 WiredTigerÀÇ ³»ºÎ ÀÛµ¿ ¹æ½Ä - 2.3.5 °øÀ¯ ij½Ã - 2.3.6 ij½Ã À̺ò¼Ç(Cache Eviction) - 2.3.7 üũÆ÷ÀÎÆ®(Checkpoint) - 2.3.8 MVCC(Multi Version Concurrency Control) - 2.3.9 µ¥ÀÌÅÍ ºí·Ï(ÆäÀÌÁö) - 2.3.10 ¿î¿µÃ¼Á¦ ij½Ã(ÆäÀÌÁö ij½Ã) - 2.3.11 ¾ÐÃà - 2.3.12 ¾ÏÈ£È 2.4 ¸Þ¸ð¸® ½ºÅ丮Áö ¿£Áø - 2.4.1 Percona MongoDBÀÇ ¸Þ¸ð¸® ½ºÅ丮Áö ¿£Áø ¼³Á¤ - 2.4.2 Percona ¸Þ¸ð¸® ½ºÅ丮Áö ¿£ÁøÀÇ Æ¯¼º 2.5 ±âŸ ½ºÅ丮Áö ¿£Áø
03Àå: º¹Á¦ 3.1 º¹Á¦¶õ? - 3.1.1 ÄÁ¼¾¼½º ¾Ë°í¸®Áò(Consensus Algorithm) - 3.1.2 º¹Á¦ÀÇ ¸ñÀû 3.2 ·¹Çø®Ä« ¼Â ¸â¹ö - 3.2.1 ÇÁ¶óÀ̸Ӹ®(Primary) - 3.2.2 ¼¼ÄÁµå¸®(Secondary) - 3.2.3 ¾ÆºñÅÍ(Arbiter) 3.3 ÇÁ¶óÀ̸Ӹ® ¼±Ãâ(Primary Election) - 3.3.1 ÇÁ¶óÀ̸Ӹ® ÅÒ(Primary Term) - 3.3.2 ÇÁ¶óÀ̸Ӹ® ½ºÅÜ ´Ù¿î(Primary Step Down) - 3.3.3 ÇÁ¶óÀ̸Ӹ® ¼±Ã⠽󪸮¿À - 3.3.4 ÇÁ¶óÀ̸Ӹ® ¼±Ã⠽à Á¤Á·¼ö(Quorum)ÀÇ ÀÇ¹Ì - 3.3.5 ·Ñ¹é(Rollback) - 3.3.6 ·Ñ¹é(Rollback) µ¥ÀÌÅÍ Àçó¸® 3.4 º¹Á¦ ¾ÆÅ°ÅØó - 3.4.1 º¹Á¦ ·Î±×(OpLog) ±¸Á¶ - 3.4.2 local µ¥ÀÌÅͺ£À̽º - 3.4.3 Ãʱ⠵¿±âÈ(Initial Sync) - 3.4.4 ½Ç½Ã°£ º¹Á¦(Replication) 3.5 º¹Á¦ ·Î±×(Operation Log) ¼³Á¤ - 3.5.1 OpLog Ä÷º¼Ç Å©±â ¼³Á¤ - 3.5.2 º¹Á¦ µ¿±âÈ »óÅ ȮÀÎ - 3.5.3 OpLog Ä÷º¼Ç°ú ¹é¾÷ 3.6 ·¹Çø®Ä« ¼Â ¼³Á¤ - 3.6.1 ÇÏÆ®ºñÆ®(Heartbeat) ¸Þ½ÃÁö ÁÖ±â¿Í ÇÁ¶óÀ̸Ӹ® ¼±Ãâ ŸÀӾƿô - 3.6.2 ·¹Çø®Ä« ¼Â ¸â¹ö ¼³Á¤ 3.7 ·¹Çø®Ä« ¼Â ¹èÆ÷ - 3.7.1 ·¹Çø®Ä« ¼Â ¸â¹öÀÇ ¼ö - 3.7.2 DR(Disaster Recovery) ±¸¼º - 3.7.3 ·¹Çø®Ä« ¼Â ¹èÆ÷ ½Ã ÁÖÀÇ »çÇ× 04Àå: »þµù 4.1 »þµù(Sharding)À̶õ? - 4.1.1 »þµùÀÇ Çʿ伺 - 4.1.2 »þµùÀÇ Á¾·ù 4.2 MongoDB »þµù ¾ÆÅ°ÅØó - 4.2.1 »þµå Ŭ·¯½ºÅÍ(Sharded Cluster) ÄÄÆ÷³ÍÆ® - 4.2.2 »þµå Ŭ·¯½ºÅÍÀÇ Äõ¸® ¼öÇà ÀýÂ÷(¶ó¿ìÅÍ¿Í ÄÁÇÇ±× ¼¹öÀÇ Åë½Å) - 4.2.3 ÄÁÇÇ±× ¼¹ö - 4.2.4 ÄÁÇÇ±× ¼¹öÀÇ º¹Á¦ ¹æ½Ä - 4.2.5 ÄÁÇÇ±× ¼¹ö °¡¿ë¼º°ú Äõ¸® ½ÇÇà - 4.2.6 ¶ó¿ìÅÍ(mongos) - 4.2.7 ¶ó¿ìÅÍÀÇ Äõ¸® ºÐ»ê - 4.2.8 ¶ó¿ìÅÍ ¹èÆ÷ - 4.2.9 ÄÁ³Ø¼Ç Ç® °ü¸® - 4.2.10 ¹é¾÷ º¹±¸ ½Ã ÁÖÀÇ »çÇ× 4.3 »þµù ¾Ë°í¸®Áò - 4.3.1 ûũ(Chunk) - 4.3.2 ·¹ÀÎÁö »þµù(Range Sharding) - 4.3.3 Çؽà »þµù(Hashed Sharding) - 4.3.4 Áö¿ª ±â¹Ý »þµù(Zone Sharding) - 4.3.5 »þµå Å° 4.4 ÇÁ¶óÀ̸Ӹ® »þµå 4.5 ûũ ¹ë·±½Ì - 4.5.1 »þµå Ŭ·¯½ºÅÍ ¹ë·±¼ - 4.5.2 ûũ ½ºÇø´(Chunk split) - 4.5.3 ûũ ¸ÓÁö(Chunk merge) - 4.5.4 ûũ À̵¿(Chunk migration) - 4.5.5 ûũ »çÀÌÁî º¯°æ - 4.5.6 Á¡º¸ ûũ(Jumbo Chunk) - 4.5.7 °í¾Æ µµÅ¥¸ÕÆ®(Orphaned document) »èÁ¦ 4.6 »þµùÀ¸·Î ÀÎÇÑ Á¦¾à - 4.6.1 Æ®·£Àè¼Ç - 4.6.2 »þµù°ú À¯´ÏÅ© À妽º - 4.6.3 Á¶Àΰú ±×·¡ÇÁ Äõ¸® - 4.6.4 ±âÁ¸ Ä÷º¼Ç¿¡ »þµù Àû¿ë 05Àå: À妽º 5.1 µð½ºÅ© Àб⠹æ½Ä - 5.1.1 µð½ºÅ© ÀúÀå ¸Åü - 5.1.2 ·£´ý I/O¿Í ¼øÂ÷ I/O 5.2 À妽º¶õ? 5.3 MongoDB À妽ºÀÇ °³¿ä - 5.3.1 Ŭ·¯½ºÅ͸µ À妽º - 5.3.2 À妽º ³»ºÎ - 5.3.3 ·ÎÄà À妽º(Local Index) - 5.3.4 À妽º Å° ¿£Æ®¸® ÀÚ·á ±¸Á¶ 5.4 B-Tree À妽º - 5.4.1 ±¸Á¶ ¹× Ư¼º - 5.4.2 B-Tree À妽º Å° Ãß°¡ ¹× »èÁ¦ - 5.4.3 B-Tree À妽º »ç¿ë¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â ¿ä¼Ò - 5.4.4 B-Tree À妽º¸¦ ÅëÇÑ µ¥ÀÌÅÍ Àбâ - 5.4.5 ÄÄÆÄ¿îµå À妽º(Compound Index) - 5.4.6 B-Tree À妽ºÀÇ Á¤·Ä ¹× ½ºÄµ ¹æÇâ - 5.4.7 B-Tree À妽ºÀÇ °¡¿ë¼º°ú È¿À²¼º 5.5 ÇؽÃ(Hash) À妽º - 5.5.1 Çؽà À妽ºÀÇ ±¸Á¶ ¹× Ư¼º - 5.5.2 Çؽà À妽ºÀÇ °¡¿ë¼º ¹× È¿À²¼º - 5.5.3 MongoDB Çؽà À妽ºÀÇ ±¸Á¶ ¹× Ư¼º - 5.5.4 MongoDB Çؽà À妽ºÀÇ Á¦ÇÑ »çÇ× 5.6 ¸ÖƼ Å° À妽º - 5.6.1 ¸ÖƼ Å° À妽ºÀÇ ÁÖÀÇ »çÇ× - 5.6.2 ¸ÖƼ Å° À妽ºÀÇ ¼º´É - 5.6.3 ¸ÖƼ Å° À妽ºÀÇ Á¦ÇÑ »çÇ× 5.7 Àü¹® °Ë»ö À妽º - 5.7.1 ÇüÅÂ¼Ò ºÐ¼® ¾Ë°í¸®Áò - 5.7.2 N-Gram ¾Ë°í¸®Áò - 5.7.3 ÇüÅÂ¼Ò ºÐ¼®°ú N-GramÀÇ Àå´ÜÁ¡ - 5.7.4 Àü¹® °Ë»ö À妽ºÀÇ È°¿ë - 5.7.5 ºÎÁ¤ ºñ±³¿Í ¹®Àå °Ë»ö - 5.7.6 MongoDB Àü¹® °Ë»ö À妽ºÀÇ ¹öÀü ȣȯ¼º - 5.7.7 Àü¹® °Ë»ö À妽ºÀÇ Á¦¾à »çÇ× 5.8 °ø°£ °Ë»ö À妽º - 5.8.1 GeoHash ¾Ë°í¸®Áò - 5.8.2 S2 Geometry ¾Ë°í¸®Áò - 5.8.3 MongoDBÀÇ °ø°£ À妽º - 5.8.4 MongoDBÀÇ ÄÄÆÄ¿îµå °ø°£ À妽º 5.9 À妽º ¼Ó¼º - 5.9.1 ÇÁ¶óÀ̸Ӹ® Å°¿Í ¼¼ÄÁµå¸® À妽º - 5.9.2 À¯´ÏÅ© À妽º - 5.9.3 Partial À妽º¿Í Sparse À妽º - 5.9.4 TTL À妽º - 5.9.5 À妽º ÄÝ·¹À̼Ç(´ë¼Ò¹®ÀÚ ±¸ºÐ ¼³Á¤) - 5.9.6 ¿Ü·¡ Å°
06Àå: Àá±Ý°ú Æ®·£Àè¼Ç 6.1 Àá±Ý - 6.1.1 MongoDB ¿£ÁøÀÇ Àá±Ý - 6.1.2 WiredTiger ½ºÅ丮Áö ¿£ÁøÀÇ Àá±Ý - 6.1.3 Àá±Ý Yield - 6.1.4 Àá±Ý Áø´Ü 6.2 Æ®·£Àè¼Ç - 6.2.1 ¾²±â Ãæµ¹(Write Conflict) - 6.2.2 ´ÜÀÏ µµÅ¥¸ÕÆ® Æ®·£Àè¼Ç(Single Document transaction) - 6.2.3 ¹®ÀåÀÇ Æ®·£Àè¼Ç(Statement transaction) ó¸® 6.3 °Ý¸® ¼öÁØ - 6.3.1 READ-COMMITTED - 6.3.2 SNAPSHOT(REPEATABLE-READ) - 6.3.3 MongoDB ¼¹öÀÇ °Ý¸® ¼öÁØ - 6.3.4 MongoDB ¼¹öÀÇ °Ý¸® ¼öÁØ°ú Á¤·Ä 6.4 Read & Write Concern°ú Read Preference - 6.4.1 Write Concern - 6.4.2 Read Concern - 6.4.3 Read Preference - 6.4.4 maxStalenessSeconds ¼³Á¤ - 6.4.5 »þµù ȯ°æÀÇ Áߺ¹ µµÅ¥¸ÕÆ® ó¸®
07Àå: µ¥ÀÌÅÍ ¸ðµ¨¸µ 7.1 µ¥ÀÌÅͺ£À̽º¿Í Ä÷º¼Ç - 7.1.1 ³×ÀÓ½ºÆäÀ̽º - 7.1.2 µ¥ÀÌÅͺ£À̽º - 7.1.3 Ä÷º¼Ç - 7.1.4 ºä(View) - 7.1.5 BSON µµÅ¥¸ÕÆ® - 7.1.6 Á¦ÇÑ »çÇ× 7.2 µ¥ÀÌÅÍ Å¸ÀÔ - 7.2.1 µ¥ÀÌÅÍ Å¸ÀÔ ºñ±³ - 7.2.2 ÇÊµå °ªÀÇ ºñ±³ ¹× Á¤·Ä - 7.2.3 ¹®Àڼ°ú ÄÝ·¹ÀÌ¼Ç - 7.2.4 MongoDB È®Àå JSON(Extended JSON) 7.3 ¸ðµ¨¸µ °í·Á »çÇ× - 7.3.1 µµÅ¥¸ÕÆ®ÀÇ Å©±â - 7.3.2 Á¤±ÔÈ¿Í ¿ªÁ¤±ÔÈ(Document Referencing vs. Embedding) - 7.3.3 ¼ºê µµÅ¥¸ÕÆ®(Sub Document) - 7.3.4 ¹è¿(Array) - 7.3.5 Çʵå À̸§ - 7.3.6 ÇÁ·¹±×¸àÅ×À̼Ç(Fragmentation)°ú Æеù(Padding) - 7.3.7 µµÅ¥¸ÕÆ® À¯È¿¼º üũ - 7.3.8 Á¶ÀÎ
08Àå: Äõ¸® °³¹ß°ú Æ©´× 8.1 ±âº» CRUD Äõ¸® - 8.1.1 Äõ¸® ÀÛ¼º 8.2 È®Àå °Ë»ö Äõ¸® - 8.2.1 ¸Ê¸®µà½º(Map Reduce) - 8.2.2 Aggregation - 8.2.3 Fulltext Search - 8.2.4 °ø°£ °Ë»ö 8.3 ½ºÅ°¸¶ º¯°æ(DDL) - 8.3.1 µ¥ÀÌÅͺ£À̽º °ü¸® - 8.3.2 Ä÷º¼Ç °ü¸® - 8.3.3 À妽º °ü¸®
09Àå: ½ÇÇà °èȹ ¹× Äõ¸® ÃÖÀûÈ 9.1 ½ÇÇà °èȹ - 9.1.1 Äõ¸®ÀÇ Ã³¸® °úÁ¤ - 9.1.2 ½ÇÇà °èȹ ¼ö¸³ - 9.1.3 ¿ÉƼ¸¶ÀÌÀú ¿É¼Ç - 9.1.4 Ç÷£ ij½Ã - 9.1.5 ½ÇÇà °èȹ ½ºÅ×ÀÌÁö - 9.1.6 Äõ¸® ½ÇÇà °èȹ Çؼ® 9.2 Äõ¸® ÃÖÀûÈ - 9.2.1 ½ÇÇà °èȹÀÇ Äõ¸® Æ©´× Æ÷ÀÎÆ® - 9.2.2 ½½·Î¿ì Äõ¸® ·Î±× ºÐ¼® ¹× Æ©´× - 9.2.3 Äõ¸® ÇÁ·ÎÆÄÀϸµ - 9.2.4 À妽º ÈùÆ®
10Àå: º¸¾È 10.1 ÀÎÁõ(Authentication) - 10.1.1 ³»ºÎ ÀÎÁõ - 10.1.2 »ç¿ëÀÚ ÀÎÁõ 10.2 ±ÇÇÑ(Authorization) - 10.2.1 ¾×¼Ç(Action) - 10.2.2 ³»Àå(Built-in)µÈ ¿ªÇÒ(Role) - 10.2.3 »ç¿ëÀÚ Á¤ÀÇ ¿ªÇÒ(Role) 10.3 ¾ÏÈ£È(Encryption) - 10.3.1 µ¥ÀÌÅÍ ¾ÏÈ£È ¹æ½Ä - 10.3.2 MongoDB TDE ±¸Çö
ºÎ·Ï: ¹é¾÷ ¹× º¹±¸ A.1 mongodump¿Í mongorestore¸¦ ÀÌ¿ëÇÑ ³í¸® ¹é¾÷ ¹× º¹±¸ - A.1.1 ¹é¾÷ - A.1.2 º¹±¸ A.2 ¹°¸® ¹é¾÷ ¹× º¹±¸ - A.2.1 ¼Ë´Ù¿î »óÅÂÀÇ ¹é¾÷ - A.2.2 º¹Á¦ ÁßÁö »óÅÂÀÇ ¹é¾÷ - A.2.3 ÆÄÀϽýºÅÛ ½º³À¼¦ ¹é¾÷ - A.2.4 Percona ¿Â¶óÀÎ ¹é¾÷ - A.2.5 ¹°¸® ¹é¾÷ º¹±¸ A.3 PIT(Point-In-Time) º¹±¸
MongoDBÀÇ "Know-How"°¡ ¾Æ´Ñ "Know-Why"¸¦ Àü´ÞÇØ µå¸³´Ï´Ù!
MongoDB ¸Þ´º¾óÀº ¾ÆÁÖ °£°áÇÏ°í ±âº»ÀûÀÎ ³»¿ë¿¡ Ãæ½ÇÇÏ°Ô ÀÛ¼ºµÇ¾î ÀÖ´Ù. ÇÏÁö¸¸ ¹®¹ýÀ̳ª ¸í·É¸¸À¸·Î´Â DBMS¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù. ³»ºÎ ÀÛµ¿ ¹æ½ÄÀ» ¸ð¸£¸é ¼ö¸¹Àº ½ÃÇàÂø¿À¸¦ °ÅÄ¡°Ô µÇ¸ç, ÀÌ·± ½ÃÇàÂø¿À´Â °á±¹ ¼ºñ½º Ç°Áú ÀúÇÏ·Î ¿¬°áµÉ °ÍÀÌ´Ù. ÀÌ Ã¥¿¡¼´Â MongoDB ¼¹ö¸¦ »ç¿ëÇÏ´Â µ¥ ²À ÇÊ¿äÇÑ ¾ÆÅ°ÅØó¿Í ÇÔ²² MongoDB ³»ºÎ(Internal)¿¡ ´ëÇØ ÀÚ¼¼È÷ ¼³¸íÇÏ°í ÀÖ´Ù. ¶ÇÇÑ ´Ù¾çÇÑ ½ÃÇà Âø¿À¸¦ ÁÙÀ̱â À§ÇÑ ÁÖÀÇ »çÇ׵鿡 ´ëÇؼµµ ¼³¸íÇÑ´Ù. ÀÌ Ã¥Àº MongoDB ¼¹ö(ƯÈ÷ MongoDB 1.x¿Í 2.x ¹öÀü)¿¡ ½Ç¸ÁÇß´ø µ¶Àڵ鿡°Ô ´Ù½Ã ÇÑ ¹ø MongoDB ¼¹öÀÇ °¡´É¼ºÀ» º¸¿©ÁÖ°í, »õ·Î¿î DBMS ¼Ö·ç¼ÇÀ» ã°í ÀÖ´Â µ¶Àڵ鿡°Ô ´ë¾ÈÀ» Á¦½ÃÇØ ÁÙ °ÍÀ̶ó »ý°¢ÇÑ´Ù.
* ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë *
- µ¥ÀÌÅͺ£À̽º Æ®·»µå - MongoDB º¹Á¦¿Í »þµù - WiredTiger ½ºÅ丮Áö ¿£ÁøÀÇ ³»ºÎ ±¸Á¶¿Í ÀÛµ¿ ¹æ½Ä - MongoDB À妽º¿Í Äõ¸® Æ©´× - ÇÑ±Û Àü¹® °Ë»ö°ú À§Ä¡ ±â¹Ý °Ë»ö - MongoDBÀÇ Àá±Ý°ú Æ®·£Àè¼Ç - ¿î¿µÀ» À§ÇÑ º¸¾È°ú ¹é¾÷
|
|
|
|
|