Intro
μλ νμΈμ. μ΄λ² μκ°μλ MonogoDB λͺ½κ³ λλΉμ μ€λ©μ λν΄ μμ보λλ‘ νκ² μ΅λλ€.
What is Sharding?
λ°μ΄ν°λ² μ΄μ€ μ€λ©μ μ¬λ¬ μμ€ν μ λκ·λͺ¨ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ μ₯νλ νλ‘μΈμ€μ λλ€. λ¨μΌ μμ€ν λλ λ°μ΄ν°λ² μ΄μ€ μλ²λ μ νλ μμ λ°μ΄ν°λ§ μ μ₯νκ³ μ²λ¦¬ν μ μμ΅λλ€. νμ§λ§ μ€λ©μ λ°μ΄ν°λ₯Ό μ€λλΌκ³ νλ λ μμ μ²ν¬λ‘ λΆν νκ³ μ¬λ¬ λ°μ΄ν°λ² μ΄μ€ μλ²μ μ μ₯ν¨μΌλ‘μ¨ μ΄λ¬ν νκ³λ₯Ό 극볡ν©λλ€.
Why?
μ ν리μΌμ΄μ μ΄ μ±μ₯ν¨μ λ°λΌ μ ν리μΌμ΄μ μ¬μ©μ μμ μ μ₯νλ λ°μ΄ν°μ μμ΄ μκ°μ΄ μ§λ¨μ λ°λΌ μ¦κ°ν©λλ€. λ°μ΄ν° λ³Όλ₯¨μ΄ λ무 컀μ§κ³ λ무 λ§μ μ¬μ©μκ° μ ν리μΌμ΄μ μ μ¬μ©νμ¬ λμμ μ 보λ₯Ό μ½κ±°λ μ μ₯νλ €κ³ νλ©΄ λ°μ΄ν°λ² μ΄μ€μ λ³λͺ© νμμ΄ λ°μν©λλ€. μ ν리μΌμ΄μ μ΄ λλ €μ§κ³ κ³ κ° κ²½νμ μν₯μ λ―ΈμΉ©λλ€. λ°μ΄ν°λ² μ΄μ€ μ€λ©μ μ€λ μ 체μμ λ μμ λ°μ΄ν° μΈνΈμ λ³λ ¬ μ²λ¦¬λ₯Ό κ°λ₯νκ² νκΈ° λλ¬Έμ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ°©λ² μ€ νλμ λλ€.
What are the benefits of database sharding?
1. Improve response time
2. Aviod total service outage
3. Scale efficiently
Mongodb sharding component
Config server (replica set)
μ€λμ λν λ©νλ°μ΄ν°λ₯Ό μ μ₯ ν©λλ€ . λ©νλ°μ΄ν°λ μ€λ©λ ν΄λ¬μ€ν° λ΄μ λͺ¨λ λ°μ΄ν° λ° κ΅¬μ± μμμ λν μν λ° κ΅¬μ±μ λ°μν©λλ€.
Shard (mongod or replica set)
λΆμ°λ λ°μ΄ν° μ μ₯ 곡κ°μ λ§ν©λλ€.
Mongos (router)
μ ν리μΌμ΄μ κ³μΈ΅μμ 쿼리λ₯Ό μ²λ¦¬νκ³ μ΄λ¬ν μμ μ μλ£νκΈ° μν΄ μ€λλ ν΄λ¬μ€ν° μμ μ΄ λ°μ΄ν°μ μμΉλ₯Ό ββκ²°μ νλ MongoDB μ€λ ꡬμ±μ μν λΌμ°ν μλΉμ€μ λλ€.
https://aws.amazon.com/what-is/database-sharding/
https://www.mongodb.com/docs/v3.2/core/sharded-cluster-components/#development-configuration