μΆμ² : λ΄μΌλ°°μμΊ ν
0. μ»΄ν¨ν°μ λ°μ΄ν°λ² μ΄μ€
μ»΄ν¨ν°μ μ¬λ¬ ꡬ쑰 μ€, 보쑰 κΈ°μ΅μ₯μΉλ μꡬ μ μ₯μλ‘μ¨ νμΌκ³Ό λ°μ΄ν°λ₯Ό μ μ₯ν μ μλ€. νμΌμ νμΌμμ€ν μ, λ°μ΄ν°λ λ°μ΄ν°λ² μ΄μ€μ μ μ₯λλ€
0 - 1. νμΌμμ€ν vs λ°μ΄ν°λ² μ΄μ€
ex) μΉ΄μΉ΄μ€ν‘ μ€ν νμΌμ νμΌμμ€ν μ μ μ₯λμ΄ μκ³ , μΉ΄ν‘μ λ©μΈμ§ λͺ©λ‘ λ±μ λ°μ΄ν°λ DBμ μ μ₯λλ€
1) νμΌμμ€ν
- κ°λ³ νμΌμ 보κ΄νκ³ μ 리νλ μμ€ν μΌλ‘, μ¬λ¬ ν΄λμ νμΌμ΄ μ μ₯λκ³ μ¬μ©μλ νμΌμ μ§μ κ΄λ¦¬ν΄μΌ νλ€
~ νμΌ μ 리, μ²λ¦¬ λ±μ μ¬μ©μμ μμμ΄ λ§μ΄ μ¬μ©λλ€
2) λ°μ΄ν°λ² μ΄μ€
- λ°μ΄ν°λ₯Ό ꡬ쑰ννκ³ μ°κ²°νλ κΈ°λ₯μ μ 곡νλ€
- ν μ΄λΈ, λ μ½λ, νλ λ±μ κ°λ μ μ¬μ©ν΄ λ°μ΄ν°λ₯Ό ꡬμ±νκ³ , λ°μ΄ν°λ₯Ό ν¨μ¨μ μΌλ‘ κ΄λ¦¬νκ³ κ²μν μ μλ€
- λ°μ΄ν°μ μΌκ΄μ±, 무결μ±, μμ μ±μ μ μ§νλ©° 볡μ‘ν λ°μ΄ν° μ‘°μμ κ°νΈνκ² μνν μ μλ€
1. λ°μ΄ν°λ² μ΄μ€
1 - 1. λ°μ΄ν°λ² μ΄μ€ κ°μ
μ 보 vs λ°μ΄ν°
μ 보 : μ¬λ¬ μ’ λ₯μ λ¬Έμλ‘ ν©μ΄μ Έμμ΄ μ‘°ν©νκΈ° μ΄λ €μ΄ λ¨μ ~ νμΌμμ€ν : μΉ΄μΉ΄μ€ν‘μ μ€νν μ μλ μ 보
λ°μ΄ν° : μ 보λ₯Ό 체κ³μ μΌλ‘ λΆλ₯ν΄ μ‘°ν©ν μ μλ λ¨μ ~ λ°μ΄ν°λ² μ΄μ€ : μΉ΄μΉ΄μ€ν‘μ λ©μΈμ§λ₯Ό μ±ν λ°©μ μΆλ ₯ν μ μλ λ°μ΄ν°
λ°μ΄ν°λ² μ΄μ€ : μ‘°μ§μ²΄μ μ΄μ λ°μ΄ν°λ€μ΄ ν΅ν©λ λ°μ΄ν°λ² μ΄μ€μ ꡬ쑰λ μ΄λ€ λ°μ΄ν° λͺ¨λΈμ μ¬μ©νλμ§μ λ°λΌ λ€λ₯΄λ€
νΉμ§
- λ°μ΄ν°μ λκ·λͺ¨ μ μ₯μλ‘μ, μ¬λ¬ μ¬μ©μμ μν΄ λμ μ¬μ©
- λͺ¨λ λ°μ΄ν°κ° μ€λ³΅μ μ΅μννλ©° ν΅ν©
- λ°μ΄ν°λ² μ΄μ€λ μ΄μ λ°μ΄ν°λΏ μλλΌ κ·Έ λ°μ΄ν°μ κ΄ν μ€λͺ κΉμ§ ν¬ν¨ ~ λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§ λλ λ©νλ°μ΄ν°
- νλ‘κ·Έλ¨ λ©λͺ¨λ¦¬κ° μλ κ°λ³ μ μ₯곡κ°μ μ μ₯λκΈ° λλ¬Έμ νλ‘κ·Έλ¨ κ³Ό λ°μ΄ν° κ° λ λ¦½μ± μ 곡
- ν¨μ¨μ μΌλ‘ μ κ·Όμ΄ κ°λ₯νκ³ μ§μ(쿼리)λ₯Ό ν μ μλ€
- λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν (DBMS) : λ°μ΄ν°λ² μ΄μ€λ₯Ό μ μνκ³ , μ§μμ΄λ₯Ό μ§μνκ³ , 리ν¬νΈλ₯Ό μμ±νλ λ± μμ μ μννλ μννΈμ¨μ΄
1 - 2. λ°μ΄ν°λ² μ΄μ€ μμ€ν κ°μ
λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§
- μ 체μ μΈ λ°μ΄ν°λ² μ΄μ€ ꡬ쑰λ₯Ό λ»νλ©° μμ£Ό λ³κ²½λμ§ μμ
- λ°μ΄ν°λ² μ΄μ€μ λͺ¨λ κ°λ₯ν μνλ₯Ό 미리 μ μ
ex) μ¬λ λ°μ΄ν°λ μ΄λ¦, ν€, λͺΈλ¬΄κ², MBTI νλλ₯Ό κ°μ§λ€
λ°μ΄ν°λ² μ΄μ€ μν
- νΉμ μμ μ λ°μ΄ν°λ² μ΄μ€μ λ΄μ©μ μλ―Ένλ©°, μκ°μ΄ μ§λ¨μ λ°λΌ κ³μν΄μ λ°λ
- λ°μ΄ν°λ² μ΄μ€μ μμ μ΄ μΌμ΄λ λλ§λ€ μνλ λ°λλλ€
λ°μ΄ν°λ² μ΄μ€ μμ€ν (DBS) : DB, DBMS, USERλ₯Ό ν¬ν¨ν κ°μ₯ ν° λ²μ
λ°μ΄ν°λ² μ΄μ€
- μ‘°μ§μ²΄μ μμ© μμ€ν λ€μ΄ 곡μ ν΄ μ¬μ©νλ μ΄μ λ°μ΄ν°λ€μ΄ ꡬ쑰μ μΌλ‘ ν΅ν©λ λͺ¨μ
- μμ€ν μΉ΄νλ‘κ·Έ( λλ λ°μ΄ν° μ¬μ , Data Directory)μ μ μ₯λ λ°μ΄ν°λ² μ΄μ€λ‘ ꡬλΆν μ μμ
- μμ€ν μΉ΄νλ‘κ·Έ(system catalog)λ μ μ₯λ λ°μ΄ν°λ² μ΄μ€μ μ€ν€λ§ μ 보λ₯Ό μ μ§
DBMSμ κΈ°λ₯
- μ¬μ©μκ° μλ‘μ΄ λ°μ΄ν°λ² μ΄μ€λ₯Ό μμ±
- λ°μ΄ν°λ² μ΄μ€μ ꡬ쑰λ₯Ό λͺ μ
- μ¬μ©μκ° λ°μ΄ν°λ₯Ό ν¨μ¨μ μΌλ‘ μ§μνκ³ μμ ν μ μλλ‘ ν¨
- μμ€ν μ κ³ μ₯μ΄λ κΆνμ΄ μλ μ¬μ©μλ‘λΆν° λ°μ΄ν°λ₯Ό μμ νκ² λ³΄νΈ
- λμμ μ¬λ¬ μ¬μ©μκ° λ°μ΄ν°λ² μ΄μ€λ₯Ό μ κ·Όνλ κ²μ μ μ΄
λ°μ΄ν°λ² μ΄μ€ μΈμ΄λΌκ³ λΆλ₯΄λ νΉλ³ν νλ‘κ·Έλλ° μΈμ΄λ₯Ό ν κ° μ΄μ μ 곡
SQLμ μ¬λ¬ DBMSμμ μ 곡λλ μ¬μ€μμ νμ€ λ°μ΄ν°λ² μ΄μ€ μΈμ΄
νλμ¨μ΄
- λ°μ΄ν°λ² μ΄μ€λ λμ€ν¬μ κ°μ 보쑰 κΈ°μ΅ μ₯μΉμ μ μ₯λλ©°, DBMSμμ μνλ μ 보λ₯Ό μ°ΎκΈ° μν΄
λμ€ν¬ λΈλ‘λ€μ μ£ΌκΈ°μ΅μ₯μΉλ‘ μ½μ΄λ€μ΄μΌ ν©λλ€
- κ³μ°μ΄λ μ‘°ν© λ° λΉκ΅ μ°μ°λ€μ μννκΈ° μν΄ μ€μμ²λ¦¬ μ₯μΉκ° μ¬μ©
- DBMS μ체λ μ£ΌκΈ°μ΅μ₯μΉμ μ μ¬λμ΄ μ€νλμ΄μΌ ν¨
λ°μ΄ν°λ² μ΄μ€ μμ€ν μ μꡬμ¬ν
- λ°μ΄ν° λ 립μ±
- ν¨μ¨μ μΈ λ°μ΄ν° μ κ·Ό
- λ°μ΄ν°μ λν λμ μ κ·Ό
- λ°±μ κ³Ό ν볡
- μ€λ³΅μ μ€μ΄κ±°λ μ μ΄νλ©° μΌκ΄μ± μ μ§
- λ°μ΄ν° 무결μ±
- λ°μ΄ν° 보μ
- μ¬μ΄ μ§μμ΄
- λ€μν μ¬μ©μ μΈν°νμ΄μ€
1 - 3. νμΌμμ€ν vs DBMS
νμΌμμ€ν μ μ¬μ©ν κΈ°μ‘΄μ λ°μ΄ν° κ΄λ¦¬
- νμΌμμ€ν μ DBMS μ΄μ λΆν° μ¬μ©λμλ€
- νμΌ μ κ·Όλ°©μμ΄ νλ‘κ·Έλ¨μ μμΈνκ² ννλλ―λ‘ λ°μ΄ν°μ λν μμ© νλ‘κ·Έλ¨μ μμ‘΄λκ° λλ€
λ¨μ
- λ°μ΄ν°κ° μλ‘ λ€λ₯Έ λ€μμ νμΌμ μ€λ³΅ν΄μ μ μ₯λλ€
- λ€μ μ¬μ©μλ₯Ό μν λμμ± μ μ΄κ° μ 곡λμ§ μλλ€
- κ²μ λ°μ΄ν°λ₯Ό κ°νΈνκ² ν΄μ£Όλ μΏΌλ¦¬κ° μ 곡λμ§ μλλ€
- 보μ μ‘°μΉκ° λ―Έν‘νλ€
- ν볡 κΈ°λ₯μ΄ μλ€
- νλ‘κ·Έλ¨, λ°μ΄ν° λ 립μ±μ΄ μμΌλ―λ‘ μ μ§λ³΄μ λΉμ©μ΄ λ§μ΄ μμλλ€
- νμΌμ κ²μνκ±°λ κ°±μ νλ μ μ°¨κ° μλμ μΌλ‘ 볡μ‘ν΄ μμ°μ±μ λ¨μ΄λ¨λ¦°λ€
DBMSμ μ₯μ
1. μ€ν€λ§ μ μλ₯Ό ν΅ν΄
- λ°μ΄ν°μ μ€λ³΅κ³Ό λΆμΌμΉ κ°μ
- νμ€ν μ©μ΄
- μ‘°μ§μ²΄μ μꡬμ¬ν μλ³ κ°λ₯
2. κ΄λ¦¬λꡬλ₯Ό ν΅ν΄
- κ°λ° λ° μ μ§λ³΄μ λΉμ© κ°μ
- 보μ, λ¬΄κ²°μ± ν₯μ
- λ€μν μ νμ μ₯μ λ‘λΆν° DB 볡ꡬ κ°λ₯
- λ°μ΄ν°λ² μ΄μ€μ 곡μ μ λμμ μ κ·Όμ΄ κ°λ₯
λ¨μ
- DBMS λ° νλμ¨μ΄ μΆκ° ꡬμ λΉμ© λ°μ, κ΅μ‘λΉμ© λ°μ
- νλΌμ΄λ²μ λ ΈμΆ μν μ¦κ°
+ DBMS μ μ©νλ©΄ μλλ κ²½μ°
- μ΄κΈ° ν¬μλΉμ©μ΄ λ무 ν΄ λ
- μ€λ²ν€λκ° λ무 ν΄ λ
- μμ©μ΄ λ¨μνκ³ μ μ μλμμΌλ©° λ³κ²½λμ§ μμ κ²μΌλ‘ μμλ λ
- μ격ν μ€μκ° μ²λ¦¬ μꡬμ¬νμ΄ μμ λ
- λ°μ΄ν°μ λν λ€μ μ¬μ©μμ μ κ·Όμ΄ νμνμ§ μμ λ
1 - 3. DBMS λ°μ κ³Όμ
1) κ³μΈ΅ DBMS
- 1960λ λ νλ° λ±μ₯, νΈλ¦¬ ꡬ쑰λ₯Ό κΈ°λ°μΌλ‘ ν κ³μΈ΅ λ°μ΄ν° λͺ¨λΈμ μ¬μ©ν DBMS, κ³μΈ΅ λ°μ΄ν° λͺ¨λΈ
μ₯μ : νΉμ μ νμ μμ©μ λν΄ λΉ λ₯Έ μλμ λμ ν¨μ¨ μ 곡
λ¨μ
- μ΄λ»κ² λ°μ΄ν°λ₯Ό μ κ·Όνλ μ§ λ―Έλ¦¬ μμ©νλ‘κ·Έλ¨μ μ μν΄μΌ νλ€
- λ°μ΄ν°λ² μ΄μ€κ° μμ±λ λ κ°κ°μ κ΄κ³λ₯Ό λͺ μμ μΌλ‘ μ μν΄μΌ νλ€
- λ μ½λλ€μ΄ λ§ν¬λ‘ μ°κ²°λμ΄ μμΌλ―λ‘ λ μ½λ ꡬ쑰λ₯Ό λ³κ²½νκΈ° μ΄λ ΅λ€
2) λ€νΈμν¬ DBMS ꡬ쑰
- λ μ½λλ€μ΄ λ Έλλ‘, λ μ½λλ€ μ¬μ΄μ κ΄κ³κ° κ°μ μΌλ‘ ννλλ κ·Έλνλ₯Ό κΈ°λ°μΌλ‘ νλ λ€νΈμν¬ λ°μ΄ν° λͺ¨λΈμ μ¬μ©
- λ€νΈμν¬ DBMSμμλ λ μ½λλ€μ΄ λ§ν¬λ‘ μ°κ²°λμ΄ μμΌλ―λ‘ λ μ½λ ꡬ쑰λ₯Ό λ³κ²½νκΈ° μ΄λ ΅λ€
3) κ΄κ³ DBMS(RDBMS) ~ MY SQL Server, Oracle, MySQL
μ₯μ
- λͺ¨λΈμ΄ κ°λ¨ν΄ μ΄ν΄νκΈ° μ½λ€
- μ¬μ©μλ μμ μ΄ μνλ κ²λ§ λͺ μνκ³ λ°μ΄ν°μ μμΉμ μ κ·Ό λ°©λ²μ DBMSκ° κ²°μ νλ€
4) κ°μ²΄ μ§ν₯ DBMS
- κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° ν¨λ¬λ€μμ κΈ°λ°μΌλ‘ νλ λ°μ΄ν° λͺ¨λΈ
μ₯μ : λ°μ΄ν°μ νλ‘κ·Έλ¨μ κ·Έλ£Ήννκ³ , 볡μ‘ν κ°μ²΄λ€μ μ΄ν΄νκΈ° μ¬μ°λ©°, μ μ§μ λ³κ²½μ΄ μ©μ΄νλ€
ex) ONTOS, OpenODB, GemStone, ObjectStore, O2λ±
5) κ°μ²΄ κ΄κ³ DBMS
- DBMSμ κ°μ²΄ μ§ν₯ λλ μ ν΅ν©ν κ°μ²΄ κ΄κ³ λ°μ΄ν° λͺ¨λΈμ΄ μ μλ¨
ex) μ€λΌν΄, infomix, Universal Serverλ±
1 - 4. DBMS μΈμ΄
1) λ°μ΄ν° μ μμ΄ (DDL)
- μ¬μ©μλ λ°μ΄ν° μ μμ΄λ₯Ό μ¬μ©ν΄ λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§λ₯Ό μ μ
- λ°μ΄ν° μ μμ΄λ‘ λͺ μλ λ¬Έμ₯μ΄ μ λ ₯λλ©΄ DBMSλ μ¬μ©μκ° μ μν μ€ν€λ§μ λν λͺ μΈλ₯Ό μμ€ν μΉ΄νλ‘κ·Έ λλ λ°μ΄ν° μ¬μ μ μ μ₯
λ°μ΄ν° μ μμ΄μ κΈ°λ³Έμ κΈ°λ₯
- λ°μ΄ν° λͺ¨λΈμμ μ§μνλ λ°μ΄ν° ꡬ쑰λ₯Ό μμ±
- λ°μ΄ν° ꡬ쑰μ λ³κ²½
- λ°μ΄ν° ꡬ쑰μ μμ
- λ°μ΄ν° μ κ·Όμ μν΄ νΉμ μ΄νΈλ¦¬λ·°νΈ μμ μΈλ±μ€λ₯Ό μ μ
2) λ°μ΄ν° μ‘°μμ΄(DML)
- μ¬μ©μλ λ°μ΄ν° μ‘°μμ΄λ₯Ό μ¬μ©ν΄ λ°μ΄ν°λ² μ΄μ€ λ΄ μνλ λ°μ΄ν°λ₯Ό κ²μ, μμ , μ½μ , μμ
- μ μ°¨μ μΈμ΄μ λΉμ μ°¨μ μΈμ΄
cf)
μ μ°¨μ μΈμ΄ : νλ‘κ·Έλ¨μ μμ°¨μ μΌλ‘ μ€ννλ λ°©μμΌλ‘ λμ, λͺ λ Ήμ΄μ ν¨μμ μ°μμΌλ‘ μ΄λ£¨μ΄μ§ νλ‘μμ λ₯Ό μ¬μ©ν΄ μμ μ μννλ€. C, Pascal, Fortan λ±μ΄ μλ€
- κ΄κ³ DBMSμμ μ¬μ©λλ SQLμ λνμ μΈ λΉμ μ°¨μ μΈμ΄
- λλΆλΆ λ°μ΄ν° μ‘°μμ΄λ SUM, COUNT, AVGμ κ°μ λ΄μ₯ ν¨μλ₯Ό λ΄κ³ μλ€
- λ°μ΄ν° μ‘°μμ΄λ μ μΆλ ₯μ ν΅ν΄ μνλκ±°λ C, μ½λ³Ό λ±μ κ³ κΈ νλ‘κ·Έλλ° μΈμ΄λ‘ μμ±λ νλ‘κ·Έλ¨μ λ΄ν¬λμ΄ μ¬μ©λλ€
λ°μ΄ν° μ‘°μμ΄μ κΈ°λ³Έ κΈ°λ₯
- λ°μ΄ν°μ μ½μ
- λ°μ΄ν°μ κ²μ
- λ°μ΄ν°μ μμ
- λ°μ΄ν°μ μμ
3) λ°μ΄ν° μ μ΄μ΄(DCL) : μ¬μ©μλ λ°μ΄ν° μ μ΄μ΄λ₯Ό μ¬μ©ν΄ λ°μ΄ν°λ² μ΄μ€ νΈλμ μ μ λͺ μνκ³ κΆνμ λΆμ¬νκ±°λ μ·¨μ
1 - 5. DBMS μ¬μ©μ
1) μμ© νλ‘κ·Έλλ¨Έ
- DBμμ νΉμ μμ©μ ꡬννλ μν
- νλ‘κ·Έλλ° μΈμ΄λ‘ μμ© νλ‘κ·Έλ¨μ κ°λ°νλ©° DBμ μ κ·Όν λλ μ 곡λ λ°μ΄ν° μ‘°μμ΄λ₯Ό μ¬μ©νλ€
- νλ‘κ·Έλλ¨Έκ° μμ±ν νλ‘κ·Έλ¨μ λ°λΌ λ°μ΄ν°λ² μ΄μ€μ μ΅μ’ μ¬μ©μλ€μ΄ λ°λ³΅μ μΌλ‘ μ κ·Ό λ° νλ‘κ·Έλ¨μ΄ μνλλ―λ‘ νμμ± νΈλμ μ λλ νλ‘κ·Έλ¨μ΄λΌκ³ νλ€
2) DBA
- λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬μλ μ‘°μ§ μ¬λ¬ λΆλΆμ μμ΄ν μꡬλ₯Ό λ§μ‘±μν€κΈ° μν΄ μΌκ΄μ±μλ λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§λ₯Ό μμ±νκ³ μ μ§νλ μ¬λ(ν)
- 물리 DBμ λ³κ²½μ μν
- λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§μ μμ±κ³Ό λ³κ²½
~ λ¬΄κ²°μ± μ μ½μ‘°κ±΄ λͺ μ
~ μ¬μ©μ κΆνμ νμ©νκ±°λ μ·¨μ, μ¬μ©μ μν κ΄λ¦¬
~ μ μ₯ ꡬ쑰μ μ κ·Ό λ°©λ²(물리μ μ€ν€λ§) μ μ
~ λ°±μ κ³Ό ν볡
~ νμ€ν μν
3) μ€νΌλ μ΄ν°(μΈνλΌν)
- DBMSκ° μ΄μλκ³ μλ μ»΄ν¨ν° μμ€ν κ³Ό μ μ°μ€μ κ΄λ¦¬νλ μ¬λ
4) μ΅μ’ μ¬μ©μ
- μ§μνκ±°λ κ°±μ νκ±°λ λ³΄κ³ μλ₯Ό μμ±νκΈ° μν΄ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©νλ μ¬λ
- μ΅μ’ μ¬μ©μλ λ€μ λ°μ΄ν°λ² μ΄μ€ 쿼리문μ μ¬μ©ν΄ λ§€λ² λ€λ₯Έ μ 보λ₯Ό μ°Ύλ μΊμ£ΌμΌ μ¬μ©μμ κΈ°μμ± νΈλμ μ μ μ£Όλ‘ λ°λ³΅ν΄ μ¬μ©νλ μ΄λ³΄ μ¬μ©μλ‘ κ΅¬λΆλλ€
2. λ°μ΄ν°λ² μ΄μ€
2 - 1. κ΄κ³ν λ°μ΄ν°λ² μ΄μ€(SQL)
- λμΌν ꡬ쑰(릴λ μ΄μ )μ κ΄μ μμ λͺ¨λ λ°μ΄ν°λ₯Ό λ Όλ¦¬μ μΌλ‘ ꡬμ±
- μ μΈμ μ§μμ΄λ₯Ό ν΅ν΄ λ°μ΄ν° μ κ·Όμ μ 곡
- μμ© νλ‘κ·Έλ¨λ€μ λ°μ΄ν°λ² μ΄μ€ λ΄ λ μ½λλ€μ μ΄λ€ μμμλ 무κ΄νκ² μμ±λ¨
- μ¬μ©μλ μνλ λ°μ΄ν°λ§ λͺ μνκ³ , μ΄λ»κ² λ°μ΄ν°λ₯Ό μ°Ύμμ§ λͺ μν νμ μλ€
- κ°μ₯ λ¨μν κ°λ μ λ°μ΄ν° λͺ¨λΈ
νΉμ§
- λ°νμ΄ λλ λ°μ΄ν° κ΅¬μ‘°λ‘ κ°λ¨ν ν μ΄λΈμ μ¬μ©
- μ€μ²©λ 볡μ‘ν κ΅¬μ‘°κ° μλ€
- μ§ν© μμ£Όλ‘ λ°μ΄ν°λ₯Ό μ²λ¦¬
- μλ ¨λμ§ μμ μ¬μ©μλ μ½κ² μ΄ν΄ν μ μλ€
- νμ€ λ°μ΄ν°λ² μ΄μ€ μμ©μ λν μ’μ μ±λ₯μ 보μΈλ€
릴λ μ΄μ : 2μ°¨μμ ν μ΄λΈ(μ€νλ λ μνΈμ μ μ¬)
λ μ½λ : 릴λ μ΄μ μ κ° ν
νν : λ μ½λμ 곡μ μ©μ΄ = λ‘μ°(ROW)
μμ± : 릴λ μ΄μ μμ μ΄λ¦μ κ°μ§ νλμ μ΄ = 컬λΌ(COLUMN)
* νμΌ μμ€ν μ λ μ½λλ§ μλ νμΌ ννλ‘ λ°μ΄ν°κ° μ‘΄μ¬νμ§λ§, κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ μμ±, ννμ κ°μ§ 릴λ μ΄μ (ν μ΄λΈ) ννλ‘ μ‘΄μ¬νλ€
λλ©μΈ
- ν μμ±μ λνλ μ μλ κ°λ€μ μ§ν©
- κ° μμ±μ λλ©μΈμ μμκ°
- νλ‘κ·Έλλ° μΈμ΄μ λ°μ΄ν° νμ κ³Ό μ μ¬νλ€
- λμΌν λλ©μΈμ΄ μ¬λ¬ μμ±μμ μ¬μ©λ μ μλ€
- λ³΅μ‘ μμ±μ΄λ λ€μΉ μ νΈλ¦¬λ·°νΈ(μ νΈλ¦¬λ·°νΈ νλμ μ¬λ¬ κ°μ΄ λ€μ΄κ° μ μλ κ² ex) νκ³Ό μ¬λ¬΄μ€ μ νλ²νΈ)
μ°¨μμ μΉ΄λλ리ν°
- μ°¨μ : ν 릴λ μ΄μ μ λ€μ΄μλ μμ±μ μ(νλ μ)
~ μ ν¨ λ¦΄λ μ΄μ μ μ΅μ μλ 1 : μμ±μ΄ 1κ° μ΄μ μμ΄μΌ 릴λ μ΄μ μ΄ λλ€
~ 릴λ μ΄μ μ μ°¨μλ μμ£Ό λ°λμ§ μλλ€ : ν μ΄λΈ μ€ν€λ§λ₯Ό λ³κ²½ν κ²½μ° μ 체 λ‘μ°μ λ°μλμ΄μΌ νκΈ° λλ¬Έμ μ²λ¦¬κ° μ€λ¨λλ€
- μΉ΄λλλ¦¬ν° : 릴λ μ΄μ μ νν(λ‘μ° μ)
~ μ ν¨ν 릴λ μ΄μ μ μΉ΄λλλ¦¬νΈ 0μ κ°μ§ μ μλ€
~ 릴λ μ΄μ μ μΉ΄λλ리ν°λ μκ°μ΄ μ§λ¨μ λ°λΌ κ³μ λ³νλ€
2 - 2. λΉκ΄κ³ν λ°μ΄ν°λ² μ΄μ€(NoSQL)
- κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ³΄λ€ λ μ΅ν΅μ± μλ λ°μ΄ν° λͺ¨λΈμ μ¬μ©νλ©° λ°μ΄ν° μ μ₯ λ° κ²μμ νΉνλ 맀컀λμ¦μ μ 곡νλ€
- NoSQLμ λΆμ° νκ²½μμμ λ°μ΄ν° μ²λ¦¬λ₯Ό λμ± λΉ λ₯΄κ² νκΈ° μν΄ κ°λ°λμλ€
νΉμ§
- κ±°λν MapμΌλ‘ Key-Value νμμ μ§μ
- 컬λΌκ° κ΄κ³λ₯Ό μ μνμ§ μλλ€(PK λ±)
- μ€ν€λ§μ λν μ μκ° μλ€
μ’ λ₯
1) λ¬Έμν λ°μ΄ν°λ² μ΄μ€
- λ°μ΄ν°λ₯Ό ν μ΄λΈμ΄ μλ λ¬Έμμ²λΌ μ μ₯νλ λ°μ΄ν°λ² μ΄μ€
- JSONκ³Ό μ μ¬ν νμμΌλ‘ λ°μ΄ν° λ¬Έμν, μ μ₯
- κ° λ¬Έμλ νλμ μμ±μ λν λ°μ΄ν°λ₯Ό κ°κ³ μκ³ , 컬λ μ μ΄λΌλ κ·Έλ£ΉμΌλ‘ λ¬Άμ΄ κ΄λ¦¬ ~ MongoDB
2) Key - Value νμ
- μμ±μ Key - Valueμ μμΌλ‘ λνλ΄λ λ°μ΄ν°λ₯Ό λ°°μ΄μ ννλ‘ μ μ₯
- Key : μμ± Value : μμ±μ μ°κ²°λ λ°μ΄ν° κ°
- Redis, Dynamo λ±
3) Wide - Column Store λ°μ΄ν°λ² μ΄μ€
- λ°μ΄ν°λ² μ΄μ€μ μ΄μ λν λ°μ΄ν°λ₯Ό μ§μ€μ μΌλ‘ κ΄λ¦¬νλ λ°μ΄ν°λ² μ΄μ€
- κ° μ΄μλ Key - Value νμμΌλ‘ λ°μ΄ν°κ° μ μ₯λκ³ , μ»¬λΌ ν¨λ°λ¦¬λΌκ³ νλ μ΄μ μ§ν©μ²΄ λ¨μλ‘ λ°μ΄ν°λ₯Ό μ²λ¦¬ν μ μλ€
- νλμ νμ λ€μμ μ΄μ ν¬ν¨ν μ μμ΄ μ μ°μ±μ΄ λλ€
- λ°μ΄ν° μ²λ¦¬μ νμν μ΄μ μ μ°νκ² μ νν μ μμ΄ κ·λͺ¨κ° ν° λ°μ΄ν° λΆμμ μ£Όλ‘ μ¬μ©λλ€
- Cassandra, HBase λ±
4) κ·Έλν λ°μ΄ν°λ² μ΄μ€
- μλ£κ΅¬μ‘°μ κ·Έλνμ λΉμ·ν νμμΌλ‘ λ°μ΄ν° κ° κ΄κ³λ₯Ό ꡬμ±νλ λ°μ΄ν°λ² μ΄μ€
- λ Έλμ μμ±λ³ λ°μ΄ν° μ μ₯, κ° λ Έλκ° κ΄κ³λ μ μΌλ‘ νννλ€. Neo4J, InfiniteGraph λ±
- μ₯μ : λμ©λ λ°μ΄ν° μ²λ¦¬ μ ν©, μ½κΈ°λ³΄λ€ μ°κΈ°κ° λΉ λ₯΄κ³ RDBλ³΄λ€ μ½κΈ° μ°κΈ°κ° λͺ¨λ λΉ λ¦, λ°μ΄ν° λͺ¨λΈλ§μ΄ μ μ°, νμ₯μ±μ΄ μ’μ κ²μμ μ 리, μ΅μ νλ ν€ μ μ₯ κΈ°λ²μ μ¬μ©ν΄ μλ΅μλλ μ²λ¦¬ν¨μ¨ λ±μμ μ±λ₯μ΄ λ°μ΄λλ€
- λ¨μ : 쿼리 μ²λ¦¬μ λ°μ΄ν°λ₯Ό νμ± ν μ°μ°μ ν΄μΌνλ―λ‘ ν° ν¬κΈ°μ documentλ₯Ό λ€λ£° λ μ±λ₯μ΄ μ νλ¨
2 - 3. SQL vs NoSQL
1) SQL μ¬μ©μ΄ μ ν©ν κ²½μ°
1. λ°μ΄ν°λ² μ΄μ€μ ACID μ±μ§μ μ€μν΄μΌ νλ κ²½μ°
- SQLμ μ¬μ©ν λ DBμ μνΈμμ© λ°©μμ μ ννκ² κ·μ ν μ μμ΄, DBμμ λ°μ΄ν°λ₯Ό μ²λ¦¬ν λ λ°μν μ μλ μμΈ μν©μ μ€μ΄κ³ λ°μ΄ν°λ² μ΄μ€μ 무결μ±μ 보νΈν μ μλ€
- μ μ μκ±°λλ₯Ό ν¬ν¨, λͺ¨λ κΈμ΅ μλΉμ€ λͺ©μ μ SW κ°λ°μ λ°λμ ACIDκ° μ€μλμ΄μΌ νλ―λ‘ SQLμ μ¬μ©νλ€
2. μννΈμ¨μ΄μ μ¬μ©λλ λ°μ΄ν°κ° ꡬ쑰μ μ΄κ³ μΌκ΄μ μΈ κ²½μ°
- μννΈμ¨μ΄(νλ‘μ νΈ)μ κ·λͺ¨κ° λ§μ μλ²λ₯Ό νμλ‘ νμ§ μκ³ μΌκ΄λ λ°μ΄ν°λ₯Ό μ¬μ©νλ κ²½μ° RDBλ₯Ό μ¬μ©
- NoSQLμ λ€μν λ°μ΄ν° νμ κ³Ό λμ νΈλν½λ μ§μνλλ‘ μ€κ³λμ΄ μμ΄ κ΅³μ΄ μ¬μ©ν νμκ° μλ€
2) NoSQL μ¬μ©μ΄ μ ν©ν κ²½μ°
1. λ°μ΄ν°μ κ΅¬μ‘°κ° κ±°μ λλ μ ν μλ λμ©λ λ°μ΄ν°λ₯Ό μ μ₯νλ κ²½μ°
- λλΆλΆμ NoSQL DBλ μ μ₯ λ°μ΄ν° μ νμ μ νμ΄ μλ€
- SW κ°λ°μ μ ννλμ§ μμ λλμ λ°μ΄ν°κ° νμν κ²½μ° NoSQL μ μ©μ΄ λ³΄λ€ ν¨μ¨μ
2. ν΄λΌμ°λ μ»΄ν¨ν λ° μ μ₯곡κ°μ μ΅λν νμ©νλ κ²½μ°
- ν΄λΌμ°λ κΈ°λ°μΌλ‘ λ°μ΄ν°λ² μ΄μ€ μ μ₯μλ₯Ό ꡬμΆνλ©΄, μ λ ΄ν λΉμ©μ μ루μ μ μ 곡λ°μ μ μμ΅λλ€
- μννΈμ¨μ΄ λ°μ΄ν°λ² μ΄μ€μ νμ₯μ±μ΄ μ€μνλ€λ©΄, λ²κ±°λ‘μ§ μκ² νμ₯ν μ μλ NoSQLμ΄ μ ν©ν μ μλ€
3. λΉ λ₯΄κ² μλΉμ€λ₯Ό ꡬμΆνλ κ³Όμ μμ λ°μ΄ν° ꡬ쑰λ₯Ό μμ£Ό μ λ°μ΄νΈνλ κ²½μ°
- μ€ν€λ§λ₯Ό 미리 μ€λΉν νμκ° μμ΄ κ°λ° μλκ° λΉ¨λΌμ§λ€
- λ€μ΄νμ(DB μλ²λ₯Ό λ΄λ¦¬κ³ μ€νλΌμΈμμ λ°μ΄ν° μ²λ¦¬ μ§ννλ μκ°)μμ΄ λ°μ΄ν° ꡬ쑰λ₯Ό μμ£Ό μ λ°μ΄νΈν΄μΌ νλ κ²½μ°, μ€ν€λ§λ₯Ό λ§€λ² μμ ν΄μΌ νλ RDBλ³΄λ€ NoSQL DBκ° λ μ ν©νλ€
'κ°λ°κ³΅λΆ > CSπ»' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
CS κ°μ 7. μλ£μ μ μ₯κ³Ό νν (0) | 2023.11.10 |
---|---|
CS κ°μ 6. DBMSμ κΈ°λ₯κ³Ό μ’ λ₯ (1) | 2023.11.07 |
CS κ°μ 4. μ°λ λμ μ°λ λν (1) | 2023.10.25 |
CS κ°μ 3. νλ‘μΈμ€ μλͺ μ£ΌκΈ°μ νλ‘μΈμ€ λ©λͺ¨λ¦¬ (1) | 2023.10.03 |
CS κ°μ 2. CPUμ λ©λͺ¨λ¦¬ μ¬ν (0) | 2023.07.23 |