NoSQL
Not only SQL
- λ°μ΄ν°λ² μ΄μ€μ μΌκ΄μ±λ³΄λ€λ κ°μ©μ±κ³Ό νμ₯μ±μ μ€μ μ λκ³ μμ.
- λΉμ ν λ°μ΄ν°λ₯Ό μ μ₯νκΈ° μν΄ μ μ°ν λ°μ΄ν° λͺ¨λΈμ μ§μνκ³ , κ΄κ³ λ°μ΄ν°λ² μ΄μ€μ λμΌν λ°μ΄ν° μ²λ¦¬κ° κ°λ₯νλ©΄μλ λμ λ ΄ν λΉμ©μΌλ‘ λΆμ° μ²λ¦¬μ λ³λ ¬ μ²λ¦¬λ₯Ό ν μ μμ
NoSQLμ μ₯/λ¨μ
- μ₯μ
- μ μ°ν μ€ν€λ§
- μ½κ³ λΉ λ₯Έ μ€μΉ/κ΄λ¦¬
- Massive Scalability
- μνλ μΌκ΄μ± (eventual consistency) β High Performance & Availability
- λ¨μ
- SQLκ³Ό κ°μ νμ€ μ§μ μΈμ΄ λΆμ‘± β νλ‘κ·Έλλ° λͺ¨λΈ λμ
- μνλ μΌκ΄μ± β ACIDκ° λ³΄μ₯ μλ¨
The CAP Theorem
λλ λΈλ£¨μ΄μ μ 리 (Brewer Theorem)
βλΆμ° μ»΄ν¨ν° μμ€ν
μ λ€μκ³Ό κ°μ μΈ κ°μ§ 쑰건μ λͺ¨λ λ§μ‘±ν μ μμβμ μ¦λͺ
ν μ 리
(μ°Έκ³ : μ΄ μ€ 2κ°μ§λ§ λ§μ‘±ν μ μλ€.)
- μΌκ΄μ± (Consistency)
- λͺ¨λ λ
Έλλ κ°μ μκ°μ λͺ¨λ κ³ κ°μκ² κ°μ λ°μ΄ν°λ₯Ό 보μ¬μ€μΌ νλ€.
- (κ°μ μκ°μ μ‘°ννλ λ°μ΄ν°λ νμ λμΌν λ°μ΄ν°μ΄μ΄μΌ νλ€.)
- κ°μ©μ± (Availability)
- λͺ¨λ λ
Έλλ νμ μ½κ±°λ μΈ μ μμ΄μΌ νλ€.
- νΉμ λ
Έλμ μ₯μ κ° λ°μνμ¬λ μλΉμ€λ κ°λ₯ν΄μΌ νλ€λ μλ―Έμ΄λ€.
- λΆν λ΄μ± (Partition tolerance)
- λ©μμ§ μ λ¬μ΄ μ€ν¨νκ±°λ, μμ€ν
μ μΌλΆκ° λ§κ°μ Έλ μμ€ν
μ΄ κ³μ λμν΄μΌ νλ€.
- λ€νΈμν¬ λ
Έλλ‘ λΆμ°λμ΄ μμ΄λ μμ€ν
μ λμν μ μμ΄μΌ νλ€.
- λ
Έλ κ° ν΅μ μ λ¬Έμ κ° λ°μνμ¬λ μ μμ μΌλ‘ λμν΄μΌ νλ€.
RDBMSμμ μ°¨μ΄
- RDBMSλ μΌλ°μ μΌλ‘ CAλ₯Ό λ§μ‘±νλ€.
- C : νΈλμμ
μ ν΅ν ACID, μΈλν€
- A : Replication - DB μλ²κ° μ₯μ κ° λ°μνλλΌλ λ€λ₯Έ μλ²μ μλ λ°μ΄ν°λ₯Ό κ°μ Έμ κ³μ μλΉμ€ ν μ μλ€.
- RDBMSλ λΆν λ΄μ± (Partition tolerance)μ μ©μΈνμ§ μκΈ° λλ¬Έμ μΌκ΄μ±κ³Ό κ°μ©μ±μ ν¬μ»€μ€λ₯Ό λκ³ μ§ν¬ μ μλ€.
Eventual Consistency
λΉμ₯μ λ§μ§ μμ§λ§, (μ€μκ° λκΈ°νλ λΆκ°λ₯νμ§λ§) κ²°κ΅ μΈμ κ°λ eventually λ°μ΄ν°κ° λκΈ°νλμ΄ μΌκ΄μ±μ΄ λ§μΆ°μ§λκ²μ λ§νλ€.
Sharding in MongoDB
μ€λ©μ΄λ νλμ κ±°λν λ°μ΄ν°λ² μ΄μ€λ λ€νΈμν¬ μμ€ν
μ μ¬λ¬ κ°μ μμ μ‘°κ°μΌλ‘ λλμ΄ λΆμ° μ μ₯νμ¬ κ΄λ¦¬νλ κ²μ λ§νλ€. (μνμ νμ₯)
References
- Fundamentals of Database Systems 7th Edition by Ramez Elmasri, Shamkant B. Navathe.