๐/mongoDB3 [mongoDB] ์ธ๋ฑ์ค(Index) 1) ์ธ๋ฑ์ค๋? 1-1) ์ธ๋ฑ์ค์ ๊ตฌ๋ถ 1-1-1) ์ญํ 1-1-2) ์ ์ฅ ๋ฐฉ์ 1-1-3) ์ค๋ณต ํ์ฉ ์ฌ๋ถ 1-1-4) ๊ธฐ๋ฅ 1-2) ์ธ๋ฑ์ค ๋ด๋ถ 1-3) ์ธ๋ฑ์ค ํค ์ํธ๋ฆฌ ์๋ฃ ๊ตฌ์กฐ 2) ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ 2-1) ์ธ๋ฑ์ค ๋ ์ธ์ง ์ค์บ 2-2) ์ธ๋ฑ์ค ํ๋ฆฌํฝ์ค(Prefix) ์ค์บ 2-3) ์ปค๋ฒ๋ง ์ธ๋ฑ์ค 2-4) ์ธ๋ฑ์ค ํ ์ค์บ 2-5) ์ปดํ์ด๋ ์ธ๋ฑ์ค (Compound Index) 2-5-1) ๋ณตํฉ ํ๋ ์ธ๋ฑ์ค 2-6) MongoDB์ Hash Index 2-7) ๋ฉํฐ ํค ์ธ๋ฑ์ค (Multi key Index) 2-7-1) ๋ฉํฐ ํค ์ธ๋ฑ์ค์ ์ ๋ ฌ 2-8) Full Text Search Index (์ ๋ฌธ ๊ฒ์ ์ธ๋ฑ์ค) 2-8-1) N-Gram ์๊ณ ๋ฆฌ์ฆ ํํ์ ๋ถ์๊ณผ N-Gram์ ์ฅ๋จ์ ์ฐธ๊ณ ์๋ฃ .. 2022. 7. 18. [mongoDB] ์ค๋ฉ(Sharding) 1) ์ค๋ฉ(Sharding)์ด๋? 1.1) ์ค๋ฉ์ ํ์์ฑ 1.2) ์ค๋ฉ์ ์ข ๋ฅ 2) MongoDB ์ค๋ฉ ์ํคํ ์ฒ 2.1) ์ปจํผ๊ทธ ์๋ฒ ์ปจํผ๊ทธ ์๋ฒ์ ๋ณต์ ๋ฐฉ์ 2.2) ๋ผ์ฐํฐ ์ฃผ์ ์ญํ ์ฟผ๋ฆฌ ๋ถ์ฐ ๋ฐฐํฌ 3) ์ค๋ฉ ์๊ณ ๋ฆฌ์ฆ ์ฒญํฌ 3.1) ๋ ์ธ์ง ์ค๋ฉ(Range Sharding) 3.2) ํด์ ์ค๋ฉ(Hashed Sharding) ์ ์ฝ ์ฌํญ 3.3) ์ง์ญ ๊ธฐ๋ฐ ์ค๋ฉ(Zone Sharding) ์ฌ์ฉ ๋ชฉ์ 4) ํ๋ผ์ด๋จธ๋ฆฌ ์ค๋ 5) ์ฒญํฌ ๋ฐธ๋ฐ์ฑ 5.1) ์ค๋ ํด๋ฌ์คํฐ ๋ฐธ๋ฐ์ 5.2) ์ฒญํฌ ์คํ๋ฆฟ(Chunk split) 6) ์ค๋ฉ์ผ๋ก ์ธํ ์ ์ฝ 6.1) ํธ๋์ญ์ 6.2) ์ค๋ฉ๊ณผ ์ ๋ํฌ ์ธ๋ฑ์ค 6.3) ์กฐ์ธ๊ณผ ๊ทธ๋ํ ์ฟผ๋ฆฌ ์ฐธ๊ณ ์๋ฃ 1) ์ค๋ฉ(Sharding)์ด๋? ์ค๋ฉ์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ์๋ฒ์ ๋ถ์ฐํด์ ์ ์ฅํ๊ณ ์ฒ๋ฆฌ.. 2022. 7. 18. [mongoDB] WiredTiger ์คํ ๋ฆฌ์ง ์์ง 1) ํ๋ฌ๊ทธ์ธ ์คํ ๋ฆฌ์ง ์์ง ์คํ ๋ฆฌ์ง ์์ง ํน์ฑ ๋น๊ต 2) ์คํ ๋ฆฌ์ง ์์ง ํผํฉ ์ฌ์ฉ 3) WiredTiger ์คํ ๋ฆฌ์ง ์์ง 4) WiredTiger ์คํ ๋ฆฌ์ง์ ์ ์ฅ ๋ฐฉ์ 5) ๋ฐ์ดํฐ ํ์ผ ๊ตฌ์กฐ 6) WiredTiger์ ๋ด๋ถ ์๋ ๋ฐฉ์ ๊ณต์ ์บ์ ํ์๋ ํฌ์ธํฐ(Hazard Pointer) ์คํต ๋ฆฌ์คํธ(Skip-List) ์บ์ ์ด๋น ์ (Cache Eviction) Checkpoint MVCC ๋ฐ์ดํฐ ๋ธ๋ก(ํ์ด์ง) ์ด์์ฒด์ ์บ์(ํ์ด์ง ์บ์) ์์ถ ์ํธํ ์ฐธ๊ณ ์๋ฃ 1) ํ๋ฌ๊ทธ์ธ ์คํ ๋ฆฌ์ง ์์ง ํด๋ผ์ด์ธํธ ๋๋ผ์ด๋ฒ (Java, Python, C/C++, Go, Spark, OGG ... ) โ ๋คํธ์ํฌ ํ๋กํ ์ฝ (Wire Protocol) ์ฟผ๋ฆฌ ์ฒ๋ฆฌ๊ธฐ, ์ค๋ ๊ด๋ฆฌ์, ๋ณด์ ๊ด๋ฆฌ์, ๋ ํ๋ฆฌ์ผ์ด์ ๋งค๋์ ์คํ ๋ฆฌ์ง ์.. 2022. 7. 15. ์ด์ 1 ๋ค์