NoSQL: λΉκ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ μλ‘μ΄ ν¨λ¬λ€μ
NoSQLμ΄λ?
NoSQLμ "Not Only SQL"μ μ½μλ‘, μ ν΅μ μΈ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€(SQL λ°μ΄ν°λ² μ΄μ€)μλ λ€λ₯Έ λ°μ΄ν° μ μ₯ λ° κ΄λ¦¬ λ°©μμ κ°μ§ λ°μ΄ν°λ² μ΄μ€ μμ€ν μ μ§μΉν©λλ€. NoSQL λ°μ΄ν°λ² μ΄μ€λ ꡬμ±μ΄ λΉμ νμ΄κ±°λ λ°μ νμΈ λ°μ΄ν°λ₯Ό μ μ₯νλ λ° μ ν©νλ©°, λλμ λ°μ΄ν°μ λμ νΈλμμ μ²λ¦¬λμ μꡬνλ νλμ μ ν리μΌμ΄μ λ€μ λ§μ΄ μ¬μ©λκ³ μμ΅λλ€.
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€κ° μ£Όλ‘ ν ννλ‘ λ°μ΄ν°λ₯Ό μ μ₯νλ λ°λ©΄, NoSQLμ λ€μν λ°μ΄ν° λͺ¨λΈμ μ§μν©λλ€. μ¬κΈ°μλ λ¬Έμ μ§ν₯ν, ν€-κ° μ μ₯μ, μ»¬λΌ ν¨λ°λ¦¬, κ·Έλν λ°μ΄ν°λ² μ΄μ€ λ±μ΄ ν¬ν¨λ©λλ€. μ΄λ¬ν λ€μν ꡬ쑰λ κ°λ°μμ κΈ°μ μ΄ νΉμ μꡬμ¬νμ λ§λ ννλ‘ λ°μ΄ν°λ₯Ό μ μ₯νκ³ μ²λ¦¬ν μ μλλ‘ μ μ°μ±μ μ 곡ν©λλ€.
NoSQLμ μ£Όμ νΉμ§
μ€μΌμΌ μμ(Scale Out): NoSQL λ°μ΄ν°λ² μ΄μ€λ μνμ νμ₯μ΄ μ©μ΄ν©λλ€. μ΄λ μλ²λ₯Ό μΆκ°ν¨μΌλ‘μ¨ λ λ§μ λ°μ΄ν°λ₯Ό μ²λ¦¬ν μ μλ€λ κ²μ μλ―Έν©λλ€. μ ν΅μ μΈ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€κ° μμ§μ νμ₯(μ±λ₯ μ’μ μλ²λ‘ κ΅μ²΄)μ μμ‘΄νλ κ²κ³Ό λλΉλλ μ μ λλ€.
λΉμ ν λ° λ°μ ν λ°μ΄ν° μ μ₯: JSON, XML, BSON λ±κ³Ό κ°μ λ€μν νμμ λ°μ΄ν°λ₯Ό μ μ°νκ² μ μ₯ν μ μμ΅λλ€. μ΄λ¬ν νΉμ§ λλΆμ μΉ, λͺ¨λ°μΌ μ ν리μΌμ΄μ λ° IoTμ κ°μ νκ²½μμ ν¨κ³Όμ μΌλ‘ νμ©λ μ μμ΅λλ€.
κ³ μ±λ₯: NoSQL λ°μ΄ν°λ² μ΄μ€λ λλμ λ°μ΄ν°λ₯Ό λΉ λ₯΄κ² μ½κ³ μΈ μ μλ μ±λ₯μ κ·Ήλννλ λ° μ€μ μ λ‘λλ€. λΆμ° μ²λ¦¬ λ° μΈλ©λͺ¨λ¦¬ μ μ₯μλ₯Ό ν΅ν΄ λμ νΈλμμ μ μ§μν©λλ€.
μ€μκ° λ°μ΄ν° μ²λ¦¬: λ§μ NoSQL μ루μ μ μ€μκ° λ°μ΄ν° μ²λ¦¬ λ° λΆμμ μ§μνμ¬, λ°μ΄ν°κ° μμ±λλ μ¦μ μ μλ―Έν μ 보λ₯Ό λμΆν μ μμ΅λλ€.
NoSQL λ°μ΄ν°λ² μ΄μ€μ μ’ λ₯
λ¬Έμ μ§ν₯ν λ°μ΄ν°λ² μ΄μ€: MongoDB, CouchDB λ±μ΄ μ΄μ ν΄λΉν©λλ€. λ°μ΄ν°κ° JSON ννμ λ¬Έμλ‘ μ μ₯λλ©°, λ°μ΄ν° κ΅¬μ‘°κ° λ€λ₯Ό μ μμ΄ μ μ°ν©λλ€.
ν€-κ° μ μ₯μ: Redis, DynamoDB λ±μ΄ λνμ μ λλ€. λ¨μν ν€μ κ°μ μμΌλ‘ λ°μ΄ν°λ₯Ό μ μ₯νλ©°, λΉ λ₯Έ μ κ·Όμ μ 곡ν©λλ€.
μ»¬λΌ ν¨λ°λ¦¬ λ°μ΄ν°λ² μ΄μ€: Cassandra, HBase λ±μ΄ μ΄μ ν¬ν¨λ©λλ€. νκ³Ό μ΄λ‘ ꡬμ±λ λ°μ΄ν°λ² μ΄μ€μ§λ§, κ° νμ΄ λ€λ₯Έ μμ μ΄μ κ°μ§ μ μμ΅λλ€.
κ·Έλν λ°μ΄ν°λ² μ΄μ€: Neo4j, ArangoDBλ 볡μ‘ν κ΄κ³λ₯Ό λ°μ΄ν°λ² μ΄μ€λ‘ νννλ λ° νμν©λλ€. μμ λ€νΈμν¬, μΆμ² μμ€ν λ±μ μ ν©ν©λλ€.
NoSQLμ μ¬μ© μ¬λ‘
NoSQL λ°μ΄ν°λ² μ΄μ€λ λ€μν μ°μ λΆμΌμμ νμμ μΈ λκ΅¬λ‘ μ리 μ‘κ³ μμ΅λλ€. μ μμκ±°λ μΉμ¬μ΄νΈμμλ μ ν μ 보λ₯Ό λΉμ ν λ°μ΄ν°λ‘ μ μ₯νκ³ , μμ λ―Έλμ΄ νλ«νΌμ μ¬μ©μ κ°μ μνΈμμ©μ κ·Έλν κ΅¬μ‘°λ‘ μ²λ¦¬νμ¬ μ 보μ μ°κ²°μ±μ κ°νν©λλ€. λν, λ°μ΄ν° λΆμ λ° λ¨Έμ λ¬λ λΆμΌμμλ λλμ λ°μ΄ν°λ₯Ό μ²λ¦¬ν μ μλ κΈ°λ₯ λλΆμ NoSQLμ νμ©μ΄ μ¦κ°νκ³ μμ΅λλ€.
κ²°λ‘
NoSQL λ°μ΄ν°λ² μ΄μ€λ λ³ννλ κΈ°μ νκ²½μ μ μ°νκ² λμν μ μλ κ°λ ₯ν λꡬμ λλ€. νλ μ ν리μΌμ΄μ μμ μꡬλλ λλμ λ°μ΄ν° μ²λ¦¬μ λμ μ±λ₯μ μ 곡νλ©°, λ°μ νλ λ°μ΄ν° ꡬ쑰μ μ ν©ν μ루μ μ λλ€. κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ νκ³λ₯Ό λμ΄ λ€μν λ°μ΄ν° μ μ₯ λ° μ²λ¦¬ λ°©μμ μ 곡νλ NoSQLμ μμΌλ‘λ κ³μ μ±μ₯ν κ²μΌλ‘ μμλ©λλ€. λ°μ΄ν°λ² μ΄μ€ μ ν μ, μꡬ μ¬νμ λ°λΌ NoSQLκ³Ό κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ₯Ό μ μ ν νμ©νλ κ²μ΄ μ€μν©λλ€.