2017_10_11_mongoDB - denlyou/AIL GitHub Wiki
๋ชฝ๊ณ DB
์๊ฐ
- 10gen์ฌ ๊ฐ๋ฐ
- Document Data Model ํ์ ์ NoSQL
- ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํํ์ฌ json ํํ๋ก ์ ์ฅ
- ์คํค๋ง๋ฅผ ๊ณ ์ ํ์ง ์์ risk๊ฐ ์ ์
- join์ด ๋ฐ์ํ์ง ์๋๋ก ์ค๊ณํ๋๊ฒ ์ค์
ํน์ง
- ๋ฉ๋ชจ๋ฆฌ ๋งต ํํ์ ํ์ผ ์์ง DB
- ๋ฉ๋ชจ๋ฆฌ ํฌ๊ฐ๊ธฐ ์ฑ๋ฅ ์ข์ฐ
- ๊ณ์ ์์ด๋ ๋ฐ์ดํฐ์ ํํ๋ฅผ ์ฌ์ฉํ๊ธฐ์ ์ ํฉ
- ex> ๋ก๊ทธ ๋ฐ์ดํฐ, ์ด๋ฒคํธ ์ฐธ์ฌ๋ด์ญ, ์ธ์
- ํนํ ๊ธ์ต, ๊ฒฐ์ , ํ์์ ๋ณด์ ๊ฐ์ DB๋ก๋ ๋งค์ฐ ๋ถ์ ํฉ (ํ์ํ๋ฉด RDBMS๊ฐ์ด ์ฐ๊ธฐ)
Document Data Medel
- key-value ์์ผ๋ก ์ด๋ฃจ์ด์ง ์งํฉ
- key์๋ String, Number, Date ๊ฐ๋ฅ
- document์ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ด์์ผํจ
- ํ์value์ ๋ฐฐ์ด์ด๋ ์๋ก์ด ๋ํ๋จผํธ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ๋ฅ
- join์ด ๋ถ๊ฐ๋ฅ
- ๋ฏธ๋ฆฌ join๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ค ๊ฐ์ง๊ณ ์์ด์ผํจ
์ค๊ณ๋ ์ข ์ด๋ฌธ์ ์์ฑํ๋ฏ~
ํ๋ฅด๋ ์์ค์ด ์์?
http://www.json.org/json-ko.html )
JSON (- Javascript Object Notation
- lightweight data ๊ตํ ํ์
- xml ์ฒ๋ผ ๋ค์ํ ๊ตฌ์กฐ๋ฅผ ์์ฑ ๊ฐ๋ฅ
- xml ๋ณด๋ค ์ค๋ฒํค๋๊ฐ ์ ์
- ์ฌ๋๋, ๊ธฐ๊ณ๋ ์์ฑ/ํด์ํ๊ธฐ ์ฌ์
- ํด๋ผ์ด์ธํธ์์ ์ฒ๋ฆฌ ํจ์จ์ด ์ข์
๊ฒฐ๋ก : ์ฝ๊ณ , ๋น ๋ฅด๊ณ , ๊ฐํธํ๋ค
๋ชฝ๊ณ DB ์ฅ/๋จ์
์ฅ์
- schema-less : ๋ค์ํญ ํํ ๋ฐ์ดํฐ ์์ฉ, ๋ณํ์ risk๊ฐ ์ ์
- read/write ๋น ๋ฆ
- Scale Out : ์ฅํ ํ์ฅ์ด ๊ฐ๋จํ์ฌ ๋ง์ ๋ฐ์ดํฐ ์ ์ฅ์ด ๊ฐ๋ฅ
- json ๊ตฌ์กฐ : ์ง๊ด์ ์ด๊ณ ์ฌ์ฉํ๊ธฐ ์ฝ๊ณ ๊ฐ๋ฐ์ด ํธํจ
๋จ์
- ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ์ค ์ฅ์ ๋ฐ์์ ๋ฐ์ดํฐ ์์ค์ด ๊ฐ๋ฅ
- ๋ง์ ์ธ๋ฑ์ค ์ฌ์ฉ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ง์ด ํ์
- RDBMS์ ๋นํด
- ์ ์ฅ๊ณต๊ฐ์ด ๋ง์ด ํ์
- ๋ณต์กํ join ์ฑ๋ฅ์ด ๋จ์ด์ง
- transactions ์ง์์ด ๋ฏธ์ฝ
๋น ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํนํ
- memory mapped๋ฅผ ์ฌ์ฉ
- OS์ ๊ฐ์๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ ๋ณด๊ดํ๋ค ๋น๋๊ธฐ๋ก disk์ ๊ธฐ๋ก ํ๋ ๋ฐฉ์
- ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- OS๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ ๊ธ๊ฒฉํ ์ฑ๋ฅ์ ํ
๋ถ์์ ์ฑ
- ๋ฐ์ดํฐ๊ฐ ํฌ๋ฉด~
- ์ผ๋ถ ๋ฐ์ดํฐ ์์ค ๊ฐ๋ฅ
- ์ค๋ฉ, ๋ ํ๋ฆฌ์นด ๋น์ ์ ๋์ ๊ฐ๋ฅ์ฑ์ด ์์
๋ชฝ๊ณ DB ์ฃผ์๊ธฐ๋ฅ
์ฟผ๋ฆฌ ๋์ CRUD์ฉ ๋ฉ์๋ ์ ๊ณต
- C : save(), R : find(), U : update(), D : remove()
- ์ธ๋ฑ์ค ์ ๊ณต (์ฌ๋ฌ๊ฐ, ๋ณตํฉ ๊ฐ๋ฅ)
- DB๋ณต์ ์ง์ (master-slave ๊ตฌ์ฑ) : ์ฅ์ ๋์์ ์ ๋ฆฌํจ
- ์ค๋ฉ ์ง์ : SW์ ์ผ๋ก DB๋ฅผ ๋ถ์ฐ์ ์ฅ
- ๋งต๋ฆฌ๋์ค ๊ธฐ๋ฅ : ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฐํ์ฌ ์ฐ์ฐํ ๋ค์ ํฉ์น๋ ๊ธฐ์
(..๊ฐ๋ ์ด ์ด๋ ค์์ง๋ค..๋์ค์ ๋ค์๋ณด์..)