β¨ DB ν¨λ¬λ€μμ νμμ±
DB ν¨λ¬λ€μμ΄λ DB λ₯Ό μ μ₯νκ³ κ΄λ¦¬νλ λ°©λ²μ μλ―Ένλ€.
κ° ν¨λ¬λ€μλ§λ€ μ΅μ μ μ¬μ© νκ²½κ³Ό μ‘°κ±΄μ΄ μ‘΄μ¬νλ€.
μ°¨λ‘λ‘ μ¬λ¬ DB ν¨λ¬λ€μμ μκ°ν΄λ³Έλ€.
β¨ 1. Key-Value DB
DBMS: Redis, Memcached, Etcd λ±
νΉμ§:
Javascript μ object λλ python μ dictionary λ°μ΄ν° νμ
κ³Ό λΉμ·νλ€.
μ μΌν key κ°μ΄ μ‘΄μ¬νλ©°, κ° keyμ μμνλ value λ₯Ό κ°μ§ λ°μ΄ν° ꡬ쑰μ΄λ€.
μ₯μ :
λλΆλΆμ λ€λ₯Έ DB λ λμ€ν¬μ μ μ₯λμ§λ§, Key-Value DB λ©λͺ¨λ¦¬μ μ μ₯λλ€.
λͺ¨λ μμ λ§λ€ λμ€ν¬μ μ κ·Όνμ§ μμλ λκΈ° λλ¬Έμ μλκ° κ΅μ₯ν λΉ λ₯΄λ€.
λ¨μ :
μ μ₯ν μ μλ λ°μ΄ν°μ μ©λμ νκ³κ° μλ€.
쿼리λ₯Ό μ§μνμ§ μκΈ° λλ¬Έμ μλλ λΉ λ₯΄μ§λ§ λ°μ΄ν° λͺ¨λΈλ§μ νκ³κ° μ‘΄μ¬νλ€.
μ¬μ© μΌμ΄μ€: μΊμ
β¨ 2. Wide-Column DB
DBMS: Cassandra, Apache HBase λ±
νΉμ§:
Key-value DB μ μ°¨μμ νλ λ μΆκ°ν κ²κ³Ό μ μ¬νλ€.
Key νλλΉ ν κ° μ΄μμ column μ 보μ νλ©°, column μ λ§μΆ° μ λ ¬λ μ¬λ¬ κ°μ νμ΄ μ‘΄μ¬νλ€. (μ΄λ κ΄κ³κ° μλ λ°μ΄ν°λΌλ¦¬ λ¬Άμ μ²λ¦¬λ₯Ό ν μ μλλ‘ νλ€.)
RDB μλ λ¬λ¦¬ μ€ν€λ§λ₯Ό μ μ©νμ§ μλλ€. λ°λΌμ κ΅¬μ‘°κ° μλ λ°μ΄ν°λ² μ΄μ€λ₯Ό κ΄λ¦¬νκΈ°μ μ©μ΄νλ€.
SQL κ³Ό μ μ¬ν CQL μ΄λΌλ μΈμ΄λ₯Ό νμ©νλ€.
μ₯μ :
μνμ νμ₯μ μ©μ΄νλ©°, λ°μ΄ν° 볡μ λ₯Ό κ°νΈνκ² ν μ μλ€.
λ¨μ :
CQLμ μ‘°μΈμ΄λ 볡μ‘ν 쿼리λ₯Ό μ€ννμ§ λͺ»νλ€.
μ¬μ© μΌμ΄μ€: μκ³μ΄ λ°μ΄ν° (λ·νλ¦μ€μ μμ² κΈ°λ‘ λ°μ΄ν°), λ°μ΄ν°κ° μμ£Ό μ
λ ₯λμ§λ§ μ½κ±°λ μμ λμ§λ μλ κ²½μ°
β¨ 3. Document Oriented DB
DBMS: MongoDB, Firestore, CouchDB λ±
νΉμ§:
κ° Document λ³ key-value pair κ° μ‘΄μ¬νλ©°, λΉκ΅¬μ‘°μ μ΄κ³ μ€ν€λ§λ₯Ό μꡬνμ§ μλλ€.
Document λ€λΌλ¦¬ λ€μ νλμ collection μΌλ‘ λ¬Άμ΄λλ°, collection κ° μμ΄νκ° κ°λ₯νλ€.
μ‘°μΈμ μ§μνμ§ μμΌλ, λ°μ΄ν°λ₯Ό λͺ¨μ νλμ document λ‘ λ³ν©ν¨μΌλ‘μ¨ κ΄κ³ν λ°μ΄ν°λ₯Ό μΌμ μμ€κΉμ§ λ€λ£° μ μκ² λλ€.
μ₯μ :
λ°μ΄ν° μΆλ ₯ (read) μλλ RDBMS λ³΄λ€ λΉ λ₯΄λ€.
κ°μ²΄μ§ν₯μ μ΄κΈ° λλ¬Έμ κ°λ°μ μΉνμ μ΄λ€.
λ¨μ :
λ°μ΄ν° μμ λλ μ λ ₯μ 볡μ‘νκΈ° λλ¬Έμ μλκ° λ리λ€.
μ¬μ© μΌμ΄μ€: iot, 컨ν μΈ κ΄λ¦¬, λͺ¨λ°μΌ κ²μ
* SNS μ κ°μ΄ 무μν λ§μΌλ©° κ΄κ³ μ€μ μ΄ νμν λ°μ΄ν°κ° μ‘΄μ¬ν κ²½μ°μ λΆμ ν©νλ€.
β¨ 4. Relational DB
DMBS: MySQL, Postgres, SQL Server, CockroachDB λ±
νΉμ§:
κ°μ₯ μ€λλμμΌλ©° μμ£Ό μ¬μ©λλ DB μ μ ν μ€ νλμ΄λ€.
SQL μ νμ©νμ¬ λ°μ΄ν°λ² μ΄μ€μ μ κ·Όνκ³ μΆλ ₯νλ€.
ν
μ΄λΈμ λ°μ΄λ³λ‘ primary key κ° λΆμ¬λλ©°, primary keyλ€μ νμ©(μ‘°μΈ)νμ¬ ν
μ΄λΈ κ°μ κ΄κ³ μ€μ μ ν μ μλ€.
μ₯μ :
볡μ‘ν 쿼리 μμ
μ΄ κ°λ₯νλ€.
λ¨μ :
μ€ν€λ§(λ°μ΄ν°μ κ΄κ³μ ꡬ쑰)κ° νμνκΈ° λλ¬Έμ ꡬμ±μ μ€λ κ±Έλ¦°λ€.
μ¬μ© μΌμ΄μ€: λ°μ΄ν° κ°μ κ΄κ³κ° μ€μν μλΉμ€
β¨ 5. Graph DB
DBMS: Neo4j, DGraph, Janus Graph λ±
νΉμ§:
λ°μ΄ν° μ체λ λ
Έλλ‘(μ μ ) ννλλ©°, λ°μ΄ν° κ°μ κ΄κ³λ μ£μ§λ‘(κ°μ ) ννλλ€.
Cypher λΌλ μΈμ΄λ₯Ό νμ©νμ¬ μΏΌλ¦¬λ₯Ό λ λ¦°λ€.
μ₯μ :
μ‘°μΈν
μ΄λΈ μμ΄ μ£μ§λ₯Ό νμ©νμ¬ κ΄κ³λ₯Ό μ€μ νκΈ° λλ¬Έμ μΏΌλ¦¬λ¬Έμ΄ ν¨μ¬ κ°κ²°ν΄μ§λ€.
μ¬μ© μΌμ΄μ€: μ‘°μΈμ λΉλ²ν νμ©μΌλ‘ μΈν΄ μ±λ₯μ΄ μ νλ λ, μΆμ² μμ§ (μμ΄λΉμ€λΉ λ±)
β¨ 6. Search Engine DB
DBMS: ElasticSearch, Algolia, MeiliSearch, Solr λ±
νΉμ§:
μ
λ ₯κ°μ μλ§κ² κ±°λν db μμ μ μ¬ν κ°μ μ°Ύμ μΆλ ₯ν΄μΌ νλ κ²½μ°μ νμ©λλ€.
document μ μ μ¬νκ², νλμ μΈλ±μ€μ λ°μ΄ν° κ°μ²΄ μ¬λ¬ κ°λ₯Ό μΆκ°νλ€.
documnet μ λ¬λ¦¬, λ¬Έμ λ΄μ λͺ¨λ ν
μ€νΈμ μΈλ±μ€ κ°μ λΆμ¬νμ¬ κ²μ κ°λ₯ν λ¨μ΄μ μΈλ±μ€λ₯Ό λ§λ λ€.
μ¬μ© μΌμ΄μ€: Search Engine
β¨ 7. Multi-model DB
DMBS: FaunaDB, CosmosDB λ±
νΉμ§:
μλ²λ¦¬μ€ DB μ΄λ©°, GUI λ₯Ό νμ©νμ¬ document ν λ°μ΄ν°μ μ κ·Όν μ μλ€.
μ₯μ :
μ¬λ¬ ννμ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ μ°νκ² λ€λ£° μ μλ€.
μλ²λ₯Ό 무νν νμ₯ κ°λ₯νλ€.
β¨ λ§λ¬΄λ¦¬
μλΉμ€λ₯Ό ꡬμν λ ν κ°μ§ λ°μ΄ν°λ² μ΄μ€ μ νμ κ°νμ μκ°ν κ²μ΄ μλλΌ, μλΉμ€μ νΉμμ±μ κ³ λ €νμ¬ νμν λ°μ΄ν°λ² μ΄μ€ ν¨λ¬λ€μμ μ λ°°μ°κ³ νμ©ν΄μΌ νλ€. κ·Έλ¦¬κ³ λ°μ΄ν°λ² μ΄μ€ ν¨λ¬λ€μμ κ³μ λ³νλ©° λ°μ ν΄κ°λ€. νΉν λ°μ΄ν° μλμ μ μ΄λ€μμΌλ DB ννΈμ μ€μμ±μ κ°μ‘°νλ©° 곡λΆν΄λκ°λ κ²μ΄ μ’μ κ²μ΄λ€.
β¨μ°Έκ³ μλ£
'π» DEV > Database' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Database] Redis Vs Memcached (0) | 2021.08.10 |
---|---|
[Database] Express/NodeJS μμ Redis μ¬μ©νκΈ° (0) | 2021.07.18 |
[Database] μ€λ©(Sharding) μ΄λ? (0) | 2021.07.14 |
[Database] Row oriented DB, Column oriented DB λ? (0) | 2021.07.13 |
[Database] κ΄κ³ν λ°μ΄ν°λ² μ΄μ€(RDBMS) μ SQL (0) | 2021.01.05 |
λκΈ