μ€λ¦¬μ½λ°Έλ¦¬μμ λ μμ¨ λ°μ΄ν°λ² μ΄μ€ - 1. λ°μ΄ν°λ² μ΄μ€ μμ€ν μκ°
λ°μ΄ν° λ² μ΄μ€κ° μ νμνκ°
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€
- νλ‘λμ κ΄κ³ν λ°μ΄ν° λ² μ΄μ€ (RDSMS)
: μΉ μλΉμ€λ μ±μ μ΄μμ νμν λ°μ΄ν°λ₯Ό μ μ₯ν΄λλ κ΄κ³ν λ°μ΄ν° λ² μ΄μ€
: MySQL, PostgreSQL, ..
: λ°μ΄ν°λ₯Ό ꡬ쑰νλ ν μ΄λΈλ€μ μ§ν©μΌλ‘ ꡬμ±νμ¬ μ μ₯, κ΄λ¦¬
: λΉ λ₯Έ μ²λ¦¬ μλκ° μ€μνλ€.
: vs λ°μ΄ν° μ¨μ΄νμ°μ€ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ (λΉ λ₯Έ μ²λ¦¬μλλ³΄λ€ μΌλ§λ ν° λ°μ΄ν°λ₯Ό μ²λ¦¬ν μ μλλ)
- λ°μ΄ν° μ¨μ΄νμ°μ€
: μλΉμ€μ©μ΄ μλ νμ¬ κ΄λ ¨ λ°μ΄ν°λ₯Ό μ μ₯νκ³ λΆμ
: BigQuery, Snowflake, MySQL,..
: ꡬ쑰νλ ν° λ°μ΄ν°λ₯Ό μ²λ¦¬νλ κ²μ΄ μ€μ
: λ³΄ν΅ νλ‘λμ λ°μ΄ν°λ² μ΄μ€λ₯Ό 볡μ¬ν΄μ λ°μ΄ν° μ¨μ΄νμ°μ€μ μ μ₯
: λ°μ΄ν° μ§κ΅°μ΄λΌλ©΄ λ°λμ μμμΌνλ€.
λΉκ΄κ³ν λ°μ΄ν°λ² μ΄μ€
: NoSQL λ°μ΄ν°λ² μ΄μ€ : λΉκ΅¬μ‘°νλ λ°μ΄ν°λ λ€λ£¬λ€.
: λ³΄ν΅ νλ‘λμ μ© κ΄κ³ν λ°μ΄ν°λ² μ΄λ₯Ό 보μνκΈ°μν μ©λλ‘ λ§μ΄ μ¬μ©λλ€.
: ν¬κ² 4μ’ λ₯κ° μ‘΄μ¬
- Key/Value storage(νν μΊμ¬λ‘ μ¬μ©λλ) : Redis, Memcache, ..
- Document Storeage : MonogoDB
- Wide Column Storage (λ§μ λ°μ΄ν°λ₯Ό μ μ₯ κ°λ₯ν) : Cassandra, HBase, DynamoDB
- Search Engin(κ²μ μμ§) : ElasticSearch
λ°±μλ μμ€ν ꡬμ±λ μμ 보기
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€κ° μ 체 μμ€ν μμ μ΄λ»κ² μ¬μ©λλμ§ κ΅¬μ±λ μμ보기
2 tier
3 tier
λΉμ§λμ€ λ‘μ§μ μ΄ν리μΌμ΄μ ν°μ΄μ μμΉνλ€.
Spring Boot
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ₯Ό μ½κ³ μ°λ Persistence Layerλ Data tier
→ λ°μ΄ν° λͺ¨λΈμ μ λ§λ€κ³ κ·Έκ±Έ νλ‘ νΈ κ°λ°μμ 곡μ / νμ
→ μλ κ°μ μ μν 쿼리 μ±λ₯μ λͺ¨λν°λ§νκ³ νμμ μ±λ₯ κ°μ μν
κ΄κ³ν λ°μ΄ν° λ² μ΄μ€
- ꡬ쑰νλ λ°μ΄ν°λ₯Ό μ μ₯νκ³ μ§μν μ μλλ‘ ν΄μ£Όλ μ€ν 리μ§
- ν μ΄λΈμλ 컬λΌ(μ΄)κ³Ό λ μ½λ(ν)μ΄ μ‘΄λνλ©° μμ μνλ λμνΈ ννλ‘ μ μ₯
- κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ₯Ό μ‘°μνλ μΈμ΄ → SQL (DDL, DML)
2λ¨κ³λ‘ ꡬμ±λ ꡬ쑰
: κ°μ₯ λ°λ¨μλ ν μ΄λΈλ€μ΄ μ‘΄μ¬ (μμ μ μνΈ)
: λ°μ΄λΈλ€μ λ°μ΄ν°λ² μ΄μ€(μ€ν€λ§)λΌλ ν΄λ λ°μμ κ΅¬μ± (μμ μμ νμΌ)
: ν μ΄λΈμ ꡬ쑰 (ν μ΄λΈ μ€ν€λ§)
- ν μ΄λΈμ λ μ½λλ€λ‘ κ΅¬μ± : ν
- λ μ½λλ νλ μ΄μμ νλ(컬λΌ)λ‘ κ΅¬μ± : μ΄
- νλ(컬λΌ)λ μ΄λ¦κ³Ό νμ κ³Ό μμ±(primary key)μΌλ‘ ꡬμ±λ¨
SQL μκ°
ꡬ쑰νλ λ°μ΄ν°λ₯Ό λ€λ£¨λλ° μ΅μ νκ° λμ΄μλ€.
: λ§μ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ€μ΄ νλ«ν κ΅¬μ‘°λ§ μ§μνλ€.(no nested like JSON - κ΅¬κΈ λΉ μΏΌλ¦¬λ nested structureμ μ§μν¨)
- λ°μ΄ν° λͺ¨λΈ
- Star schema : λ°μ΄ν°λ₯Ό λ Όλ¦¬μ λ¨μλ‘ λλ μ μ₯νκ³ νμμ μ‘°μΈ, μ€ν λ¦¬μ§ λλΉκ° λνκ³ μ λ°μ΄νΈκ° μ½λ€.
- Denormalized schema : noSQLμ΄λ λ°μ΄ν° μ¨μ΄νμ°μ€μμ μ¬μ©νλ λ°©μ. λ¨μ ν μ΄λΈλ‘ λλ μ μ₯νμ§ μμμΌλ‘ λ³λμ μ‘°μΈμ΄ νμμλ ννμ¬μ μ€ν 리μ§λ₯Ό λ μ¬μ©νμ§λ§ μ‘°μΈμ΄ νμμμ΄ λΉ λ₯Έ κ³μ° κ°λ₯
- κΈ°λ³Έ
- λ€μμ sql λ¬Έμ μ¬μ©νλ€λ©΄ ; μΌλ‘ λΆλ¦¬
- μΈλΌμΈ μ£Όμ --
- λͺ λͺ κ·μΉμ μ νλκ² μ€μ : 볡μν/λ¨μν λ±
- DDL : λ°μ΄λΈμ ꡬ쑰λ₯Ό μ μνλ μΈμ΄
- GREATE TABLE : μ±λ₯ν₯μμ μν΄ μΈλ±μ€λ₯Ό μ§μ ν μ μμ.
- DROP TABLE : IF EXISTS
- ALTER TABLE
- DML : λ°μ΄λΈμμ μνλ λ μ½λλ₯Ό μ½μ΄μ€λ μ§μ μΈμ΄. μΆκ°/μμ /κ°±μ
- SELECT
- INSERT INTO / UPDATE FROM / DELET FROM (TRUNCATE : λͺ¨λ λ μ½λ μμ )
μΆμ² - νκΈ°μ© κ°μ¬λ : μ€λ¦¬μ½λ°Έλ¦¬μμ λ μμ¨ λ°μ΄ν° λ² μ΄μ€
'Back-end λ°λΈμ½μ€ > week 01 - 02 TIL (java, DB)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[TIL] 221026 - λ°μ΄ν°λ² μ΄μ€ SQL : SELECT, GROUP BY (0) | 2022.10.26 |
---|---|
[TIL] 221025 - MySQL μ¬μ©νκΈ° (0) | 2022.10.25 |
[TIL] 221021 - Java μ€μ΅ νλ‘μ νΈ : μ«μμΌκ΅¬ κ²μ (0) | 2022.10.21 |
[TIL] 221020 - Javaμ Collection (0) | 2022.10.21 |
[TIL] 221019 - Javaμ Interface (0) | 2022.10.19 |
λκΈ