JSON๊ณผ BSON ์ฑ๋ฅ ๊ฐ์
์ด ํ์ด์ง์์๋ JSON๊ณผ BSON์ ์ฃผ์ ์ฐจ์ด์ ์ ๋ ์ ์ดํดํ ์ ์๋๋ก ๋ค์ ๋ด์ฉ์ ๋ค๋ฃน๋๋ค:
- JSON์ด๋ ๋ฌด์์ธ๊ฐ์?
- BSON์ด๋ ๋ฌด์์ธ๊ฐ์?
- JSON๊ณผ BSON์ ์ฃผ์ ์ฐจ์ด์
- JSON์ ์ฅ์
- BSON์ ์ฅ์
- ์นด์ฐ์น๋ฒ ์ด์ค๋ JSON ๋๋ BSON์ ์ฌ์ฉํ๋์?
- ์์ฃผ ๋ฌป๋ ์ง๋ฌธ
JSON(JavaScript Object Notation์ ์ฝ์)์ ์ฌ๋์ด ์ฝ๊ณ ์ฐ๊ธฐ ์ฝ๊ณ ๊ธฐ๊ณ๊ฐ ํ์ฑ ๋ฐ ์์ฑํ๊ธฐ ์ฌ์ด ๊ฐ๋ฒผ์ด ํ ์คํธ ๊ธฐ๋ฐ ๋ฐ์ดํฐ ๊ตํ ํ์์ ๋๋ค. JSON์ ํนํ ์น ๊ฐ๋ฐ์์ ์๋ก ๋ค๋ฅธ ์์คํ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค.
BSON(Binary JSON์ ์ฝ์)์ ์ถ๊ฐ ๋ฐ์ดํฐ ์ ํ์ ์ง์ํ๋ ๋ฐ์ด๋๋ฆฌ๋ก ์ธ์ฝ๋ฉ๋ ์ง๋ ฌํ ํ์์ด๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก MongoDBโข์์๋ง ์ง์๋ฉ๋๋ค.
๊ฐ์ค์ ์ผ๋ก BSON์ด ๋คํธ์ํฌ ์ ์ก ์ธก๋ฉด์์ JSON๋ณด๋ค ๋ ํจ์จ์ ์ผ ์ ์์ง๋ง, JSON์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์์ผ๋ก ์ฌ์ฉํ๋ Couchbase๋ ์ค์ ๋ก ๋ค์๊ณผ ๊ฐ์ด ๋งํฉ๋๋ค. ๋ง์ ์ค์ ์ํฌ๋ก๋์์ MongoDBโข๋ณด๋ค ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค.. ๋ํ BSON์ ๋ณต์ก์ฑ๊ณผ ๋ค๋ฅธ ์์คํ ๊ณผ์ ์ ํ๋ ํธํ์ฑ์ผ๋ก ์ธํด ์ผ๋ถ ์ํฉ์์๋ ๊ทธ ์ ์ฉ์ฑ์ด ์ ํ๋ ์ ์์ต๋๋ค.
JSON์ด๋ ๋ฌด์์ธ๊ฐ์?
JSON ํ์์ ์๋ JavaScript ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๊ตฌ๋ฌธ์ ํ์ ์งํฉ์์ ํ์๋์๊ธฐ ๋๋ฌธ์ JavaScript์ ๋์ผํ ๊ตฌ๋ฌธ ๊ท์น ๋ฐ ๋ฐ์ดํฐ ์ ํ์ ๋ง์ด ๊ณต์ ํฉ๋๋ค. ๋ฐ๋ผ์ JSON์ JavaScript๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๊ฒ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ ์์ฑํ ์ ์์ผ๋ฉฐ ์น ๊ฐ๋ฐ์์ ํด๋ผ์ด์ธํธ ์ธก JavaScript์ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ฑ๋ ์๋ฒ ์ธก ํ๋ก๊ทธ๋จ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
JSON์ ๊ฐ๋ณ๊ธฐ ๋๋ฌธ์ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์กํ๋ ๋ฐ ํจ์จ์ ์ด๋ฉฐ, ์ด๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ ์กํด์ผ ํ๋ ์น ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ํฉ๋๋ค. JSON์ ์ฌ์ฉ์ ์นํ์ ์ธ ํฌ๋งท์ผ๋ก ๊ฐ๋ฐ์์ ๋น๊ฐ๋ฐ์ ๋ชจ๋ ์ฝ๊ฒ ์ดํดํ๊ณ ํธ์งํ ์ ์์ต๋๋ค. ๋ํ ๊ธฐ๊ณ๊ฐ ํ์ฑํ๊ณ ์์ฑํ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํ๋ซํผ์ ์ฝ๊ฒ ํตํฉํ ์ ์์ด ๋ฐ์ดํฐ ๊ตํ์ ์ํด ๋ค์ฉ๋๋ก ๋๋ฆฌ ์ฑํ๋๊ณ ์๋ ํ์์ ๋๋ค.
JSON ๋ฐ์ดํฐ๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ฌ์ ์ด๋ ํด์ ํ ์ด๋ธ์ฒ๋ผ ํค-๊ฐ ์์ผ๋ก ํํ๋๋ฏ๋ก ๊ฐ๋ฐ์๊ฐ ํ๋ก๊ทธ๋จ์์ ์ฝ๊ฒ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฅผ ํค-๊ฐ ์์ผ๋ก ํํํจ์ผ๋ก์จ JSON ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑํ๊ณ ์ก์ธ์คํ๋ ์ ์ฐํ๊ณ ์ง๊ด์ ์ธ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ๋ํ ํค-๊ฐ ์ ๊ตฌ์กฐ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ฐ์ฒด์ ์ฝ๊ฒ ๋งคํํ ์ ์์ด ์๋ก ๋ค๋ฅธ ์์คํ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ํตํฉํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ JSON์ ์ฌ์ฉํด์ผ ํ ๊น์? JSON์ ๋ฌธ์์ด, ์ซ์, ๋ฐฐ์ด, ๊ฐ์ฒด ๋ฑ ๋ค์ํ ๋ฐ์ดํฐ ์ ํ์ ์ง์ํ๋ฏ๋ก ๋ฐ์ดํฐ๋ฅผ ํํํ๋ ๋ฐ ์ ์ฐํ๊ณ ๋ค์ฌ๋ค๋ฅํ ํ์์ ๋๋ค. ์ด๋ฌํ ์ ์ฐ์ฑ ๋๋ถ์ JSON์ ์๋ก ๋ค๋ฅธ ์์คํ ๊ณผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ๋ฐ ํ์ํ ๋๊ตฌ์ด๋ฉฐ, ๊ฐ๋ฐ์๋ ๊ฐ๋จํ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๊ฒ์๋ถํฐ ๋ณต์กํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ๋ถ์์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์์ JSON์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
BSON์ด๋ ๋ฌด์์ธ๊ฐ์?
BSON์ ๋ฐ์ด๋๋ฆฌ๋ก ์ธ์ฝ๋ฉ๋ ์ง๋ ฌํ ํ์์ผ๋ก, ์์ JSON๋ณด๋ค ๋ ์์ถ๋์ด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฑฐ๋ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์กํ๋ ๋ฐ ๋ ํจ์จ์ ์ ๋๋ค.
BSON์ ์ด์ง ๋ฐ์ดํฐ ๋ฐ ๋ ์ง ์ ํ๊ณผ ๊ฐ์ด ํ์ค JSON์ ๋ฒ์ด๋ ์ถ๊ฐ ๋ฐ์ดํฐ ์ ํ์ ์ง์ํฉ๋๋ค. JSON์์ ์ง์ํ๋ ๋ฌธ์์ด, ์ซ์, ๋ฐฐ์ด ์ด์ธ์ ๋ฐ์ดํฐ ์ ํ์ ์ง์ํจ์ผ๋ก์จ BSON์ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ ํ์ ๋ณด๋ค ์ ํํ๊ฒ ํํํ ์ ์์ต๋๋ค. ์ด๋ก ์ธํด ํ์์ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํ์ฌ ํน์ ์ํฉ์์ ์์ ํ๊ธฐ๊ฐ ๋ ์ด๋ ค์์ง ์ ์์ต๋๋ค. ๋ํ BSON์ ์ถ๊ฐ ์ ํ์ ์์ ํ ์ง์ํ์ง ์๋ ์์คํ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ ๋ ํธํ์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ํ์ด ๋ ์ปค์ง๋๋ค.
ํ์ฌ ๊ธฐ๋ณธ์ ์ผ๋ก BSON์ ์ ์ฅ ํฌ๋งท์ผ๋ก ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ MongoDB๊ฐ ์ ์ผํฉ๋๋ค. BSON์ MongoDB๋ฅผ ์ํด ํน๋ณํ ๊ฐ๋ฐ๋์๊ธฐ ๋๋ฌธ์ ๊ณ ์ ํ ์ํคํ ์ฒ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ต์ ํ๋์ด ์์ผ๋ฉฐ, MongoDB๋ ๋ณต์กํ ๋ฐ์ดํฐ ์ ํ์ ๋ํ ์ง์์ ์ ๊ณตํ ์ ์์ต๋๋ค. ํ์ง๋ง BSON์ MongoDB ์ธ๋ถ์์ ๋๋ฆฌ ์ง์๋์ง ์๊ธฐ ๋๋ฌธ์ ์ฃผ๋ก ๋ค๋ฅธ ์์คํ ๊ณผ์ ์ํธ ์ด์ฉ์ฑ์ด ์ต์ฐ์ ์์์ธ ์ผ๋ถ ์ํฉ์์๋ ๊ทธ ์ ์ฉ์ฑ์ด ์ ํ๋ฉ๋๋ค.
JSON๊ณผ BSON์ ์ฃผ์ ์ฐจ์ด์
๋ฐ์ด๋๋ฆฌ ๋ ํ ์คํธ: BSON์ ๋ฐ์ด๋๋ฆฌ๋ก ์ธ์ฝ๋ฉ๋ ํ์์ธ ๋ฐ๋ฉด, JSON์ ํ ์คํธ ๊ธฐ๋ฐ ํ์์ ๋๋ค. ์ฆ, BSON์ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์กํ๊ธฐ์ ์์ถ์ ์ธ ๋ฐ๋ฉด JSON์ ์ฌ๋์ด ์ฝ์ ์ ์๊ณ ๋ค์ํ ์ํฉ์์ ์์ ํ๊ธฐ ์ฝ์ต๋๋ค.
ํ์ฅ๋ ๋ฐ์ดํฐ ์ง์: JSON์ ๋ฌธ์์ด, ์ซ์, ๋ถ์ธ, ๋, ๊ฐ์ฒด ๋ฐ ๋ฐฐ์ด์ ํฌํจํ JavaScript ๋ฐ์ดํฐ ์ ํ์ผ๋ก ์ ํ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ ์ ํ์ ์กฐํฉํ์ฌ ๋ณต์กํ ๋ฐ์ดํฐ ์ ํ์ ํํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. BSON์ JSON์์ ์ง์ํ์ง ์๋ ์ถ๊ฐ ๋ฐ์ดํฐ ์ ํ(์: ์ด์ง ๋ฐ์ดํฐ ๋ฐ ๋ ์ง ์ ํ)์ ์ง์ํฉ๋๋ค.
์ง์ ๋์: BSON์ ๊ธฐ๋ณธ์ ์ผ๋ก MongoDB์์๋ง ์ง์๋ฉ๋๋ค. ๋ฐ๋ฉด์ JSON์ ๊ด๋ฒ์ํ๊ฒ ์ง์๋๋ฉฐ ๋ค์๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ , ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฐ ํ๋ซํผ.
๋ฐ์๊ตญ: ๊ฒฝ์ฐ์ ๋ฐ๋ผ BSON ๋ฌธ์๋ JSON์ ์๋ ์ถ๊ฐ ๋ฉํ๋ฐ์ดํฐ ๋ฐ ์ ํ ์ ๋ณด๋ฅผ ํฌํจํ๊ธฐ ๋๋ฌธ์ ๋๋ฑํ JSON ๋ฌธ์๋ณด๋ค ๋ ํด ์ ์์ต๋๋ค. ์ด๋ ํนํ ๋์ฉ๋ ๋ฐ์ดํฐ ์ธํธ์ ๊ฒฝ์ฐ ์ ์ก ์๊ฐ ๋ฐ ์คํ ๋ฆฌ์ง ์๊ตฌ ์ฌํญ์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. BSON๊ณผ JSON ๋ชจ๋ ์์ถ์ ์ด์ ์ ๋๋ฆด ์ ์์ต๋๋ค.
๋ณต์ก์ฑ ๋ฐ ํธํ์ฑ: BSON์ JSON๋ณด๋ค ๋ณต์กํ๊ธฐ ๋๋ฌธ์ ํน์ ์ํฉ์์ ์์ ํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค. ๊ฐ๋ฐ์๋ BSON์ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด ์๋ก์ด ๋ฐ์ดํฐ ์ ํ๊ณผ ์ธ์ฝ๋ฉ/๋์ฝ๋ฉ ๋ฐฉ๋ฒ์ ๋ฐฐ์์ผ ํ ์๋ ์์ต๋๋ค. ๋ํ BSON์ ์ถ๊ฐ ์ ํ์ ์์ ํ ์ง์ํ์ง ์๋ ์์คํ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ ๋ ํธํ์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์๋ ์์ต๋๋ค.
๊ธฐ๋ฅ | BSON | JSON |
---|---|---|
ํ์ | ๋ฐ์ด๋๋ฆฌ ์ธ์ฝ๋ฉ | ํ ์คํธ ๊ธฐ๋ฐ |
๋ฐ์ดํฐ ์ ํ | ์ด์ง ๋ฐ์ดํฐ ๋ฐ ๋ ์ง ์ ํ๊ณผ ๊ฐ์ ์ถ๊ฐ ๋ฐ์ดํฐ ์ ํ ์ง์ | ๋ฌธ์์ด, ์ซ์, ๋, ๋ฐฐ์ด, ๊ฐ์ฒด ์ง์ |
ํฌ๊ธฐ | ๋ฐ์ด๋๋ฆฌ ์ธ์ฝ๋ฉ ๋ฐ ์ ํ์ ์์ถ์ผ๋ก ์ธํด ์ผ๋ถ ์ํฉ์์๋ ๋ฐ์ดํฐ๊ฐ ๋๋ฑํ JSON ๋ฌธ์๋ณด๋ค ์์ ์ ์์ง๋ง ๋ฉํ๋ฐ์ดํฐ๋ก ์ธํด ์ ์ฒด ํฌ๊ธฐ๊ฐ ์ปค์ง ์๋ ์์ต๋๋ค. | ์์ถ๋์ง ์์ ์์ JSON์ ํ ์คํธ ๊ธฐ๋ฐ ์ธ์ฝ๋ฉ์ ๋ฌธ์ ์ฉ๋์ด ์ปค์ง ์ ์์ง๋ง, JSON์ ์์ถํ ์ ์์ต๋๋ค(์: Snappy ์ฌ์ฉ). |
์ง์ ๋์ | MongoDB์์๋ง ์ง์ | ๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํจ๊ป ์ฌ์ฉํ ์ ์๋ ์ฌ์ค์์ ์ ๊ณ ํ์ค |
๋ณต์ก์ฑ | JSON๋ณด๋ค ๋ ๋ณต์กํ์ฌ ํจ๊ณผ์ ์ผ๋ก ์์ ํ๋ ค๋ฉด ์ถ๊ฐ ์ง์๊ณผ ๋๊ตฌ๊ฐ ํ์ํฉ๋๋ค. | ๋น๊ต์ ๊ฐ๋จํ๊ณ ๋๋ฆฌ ์ดํด๋๋ |
ํธํ์ฑ | MongoDB ์ธ๋ถ์์ ๋๋ฆฌ ์ง์๋์ง ์์ | ํญ๋์ ์ง์ ๋ฐ ์ํธ ์ด์ฉ์ฑ |
๋ฉํ๋ฐ์ดํฐ | ์ถ๊ฐ ๋ฉํ๋ฐ์ดํฐ ๋ฐ ์ ํ ์ ๋ณด๋ฅผ ํฌํจํ๋ฏ๋ก ๋ฌธ์ ํฌ๊ธฐ๋ ์ฆ๊ฐํ์ง๋ง ๋ฐ์ดํฐ์ ๋ํ ๋ ํ๋ถํ ์ปจํ ์คํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. | ์ปจํ ์คํธ๋ฅผ ์ ํํ๊ณ ๋ฐ์ดํฐ ์ ํ์ ๊ฒฐ์ ํ๊ธฐ ์ํด ์ถ๊ฐ ์ฒ๋ฆฌ๊ฐ ํ์ํ ์ ์๋ ์ต์ ๋ฉํ๋ฐ์ดํฐ(Couchbase๋ ๋ฉํ๋ฐ์ดํฐ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.) |
์ฌ์ฉ ์ฌ๋ก | MongoDB ์์ ์ ์ ํฉ | ์น API๋ถํฐ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ์ ์ก์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ๋ฐ์ดํฐ ๊ตํ ์๋๋ฆฌ์ค์ ์ ํฉํฉ๋๋ค. |
JSON์ ์ฅ์
๋จ์์ฑ: JSON์ ๊ฐ๋จํ๊ณ ๊ฐ๋ณ๊ณ ์ฝ๊ธฐ ์ฌ์ด ๋ฐ์ดํฐ ํ์์ผ๋ก ์ฌ๋๊ณผ ๊ธฐ๊ณ ๋ชจ๋ ์ดํดํ๊ธฐ ์ฌ์ ์น์์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค.
ํ๋ซํผ ๋ฐ ์ธ์ด์ ๊ตฌ์ ๋ฐ์ง ์์: JSON์ ๊ฑฐ์ ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํจ๊ป ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ๋ค์ํ ํ๋ซํผ๊ณผ ์์คํ ์์ ์์ ํ๋ ๊ฐ๋ฐ์์๊ฒ ๋ค์ฌ๋ค๋ฅํ ์ ํ์ด ๋ฉ๋๋ค.
๋ฐ์ดํฐ ์ง๋ ฌํ: JSON์ ๋คํธ์ํฌ๋ฅผ ํตํด ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ง๋ ฌํํ๊ณ ์ ์กํ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก, ์น API ๋ฐ ๊ธฐํ ๋ถ์ฐ ์์คํ ์์ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค.
๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ง์: JSON์ ๋ฐฐ์ด, ๊ฐ์ฒด, ์ค์ฒฉ ๊ตฌ์กฐ์ ๊ฐ์ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ง์ํ๋ฏ๋ก ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋ฐ ํํ์ ์ํ ๊ฐ๋ ฅํ ๋๊ตฌ์ ๋๋ค.
BSON์ ์ฅ์
์ปดํฉํธํจ: BSON์ ๊ฒฝ์ฐ์ ๋ฐ๋ผ JSON๋ณด๋ค ๋ ์์ถํ ์ ์๋ ๋ฐ์ด๋๋ฆฌ ํ์์ ๋๋ค.
์ถ๊ฐ ๋ฐ์ดํฐ ์ ํ ์ง์: BSON์ ํ์ค JSON์ ํฌํจ๋์ง ์๋ ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ ๋ฐ ํ์์คํฌํ์ ๊ฐ์ ์ถ๊ฐ ๋ฐ์ดํฐ ์ ํ์ ์ง์ํฉ๋๋ค.
์นด์ฐ์น๋ฒ ์ด์ค๋ JSON ๋๋ BSON์ ์ฌ์ฉํ๋์?
์นด์ฐ์น๋ฒ ์ด์ค๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์์ผ๋ก JSON์ ์ฌ์ฉํ๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก BSON์ ์ง์ํ์ง ์์ต๋๋ค.
์ JSON์ ์ฌ์ฉํ๋์? JSON์ ์น ๊ฐ๋ฐ์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ฌ๋์ด ์ฝ์ ์ ์๊ณ ๊ฐ๋ฒผ์ด ๋ฐ์ดํฐ ํ์์ผ๋ก, ๋ค์ํ ํ๋ซํผ๊ณผ ์์คํ ์์ ์ฝ๊ฒ ์์ ํ ์ ์์ต๋๋ค. JSON์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ ์ฐ์ฑ์ ์ ๊ณตํ๊ณ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ง์ํ๊ธฐ ๋๋ฌธ์ ๋คํธ์ํฌ๋ฅผ ํตํ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ง๋ ฌํ ๋ฐ ์ ์ก์ด ํ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด์์ ์ธ ์ ํ์ ๋๋ค. BSON์ ์์ถ์ฑ ๋ฐ ์ถ๊ฐ ๋ฐ์ดํฐ ์ ํ๊ณผ ๊ฐ์ ์ด์ ์ ์ ๊ณตํ์ง๋ง, Couchbase๋ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๊ฒ์ ์๊ตฌ ์ฌํญ์ ์ํด JSON์ ๋จ์์ฑ๊ณผ ๋ค์ฉ๋์ฑ์ ๊ณ ์ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
Couchbase๋ ์บ์์ JSON ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฒฐํฉํ ์ต์ด์ ๋ค์ค ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. ํ์ค JSON์ ๊ธฐ์ด๋ฅผ ์ฌ์ฉํ์ฌ Couchbase๋ ๋ค์ ๋ชจ๋ธ๊ณผ ์ก์ธ์ค ๋ฐฉ๋ฒ์ ์ง์ํฉ๋๋ค:
- ํค-๊ฐ - ํค-๊ฐ ์์ ์ฌ์ฉํ๋ฉด ๋ค์์ ์ํํ ์ ์์ต๋๋ค. ๋น ๋ฅธ ์กฐํ ์ ์ง์ํ๋ฉฐ ๋ชจ๋ ๊ฐ๋ฐ์ ์ธ์ด/ํ๋ซํผ์์ ํจ์จ์ ์ผ๋ก ์ง๋ ฌํ/์ญ์ง๋ ฌํํ ์ ์์ต๋๋ค.
- SQL++(JSON์ฉ SQL) - SQL์ ์ ์ธ์ ์ด๊ณ ๊ฐ๊ฒฐํ๋ฉฐ ๊ฐ๋ ์ฑ์ด ๋ฐ์ด๋๊ธฐ ๋๋ฌธ์ ์ธ๊ณ์์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ์ฟผ๋ฆฌ ์ธ์ด์ด๋ฉฐ, ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์๋ฉ๋๋ค. SQL++ ๋ ๋จ์ํ JSON์ ์ง์ํ๋ SQL์ ํ์ฅ์ ๋๋ค.
- ์ ์ฒด ํ ์คํธ ๊ฒ์ - JSON์ ์ฝ์ ์ ์์ ๋ฟ๋ง ์๋๋ผ ๊ฒ์๋ ๊ฐ๋ฅํฉ๋๋ค. ์คํ ์์ค Bleve ์์ง์ ์ฌ์ฉํ๋ Couchbase๋ ๋ค์์ ์ง์ํฉ๋๋ค. ์ ์ฒด ํ ์คํธ ๊ฒ์ ํผ์ง, ์ ๊ท์, ์์ผ๋์นด๋, ํจ์ฏ ๋ฑ ํ ์คํธ ๊ฒ์ ์์ง์์ ๊ธฐ๋ํ ์ ์๋ ๋ชจ๋ ๊ฒ์ ํฌํจํ JSON ๋ฐ์ดํฐ์ ์ธ๋ฑ์ค์ ๋๋ค.
- ์ง๋ฆฌ ๊ณต๊ฐ - JSON ๋ฐ์ดํฐ์๋ ๋ค์์ด ํฌํจ๋ ์ ์์ต๋๋ค. GeoJSON ๋๋ ์ง์คํฌ์ธํธ ๋ฐ์ดํฐ. ์ ์ฒด ํ ์คํธ ๊ฒ์ ์์ง์ ์ฌ์ฉํ๋ฉด ๋ฐ๊ฒฝ, ๊ฒฝ๊ณ ์์ ๋๋ ๋ค๊ฐํ์ ์ฌ์ฉํ์ฌ ์์น๋ณ๋ก JSON์ ๊ฒ์ํ ์ ์์ต๋๋ค.
- ๋ชจ๋ฐ์ผ ๋๊ธฐํ - JSON์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค. ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ ํจ์จ์ ์ด๊ณ ๋ณดํธ์ ์ธ JSON ์ง๋ ฌํ/์ญ์ง๋ ฌํ๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด๋ฌํ ๋ชจ๋ ๋ฐฉ๋ฒ์ ๋์ผํ JSON ๋ฐ์ดํฐ ํ์์ ์๋ํ๊ธฐ ๋๋ฌธ์ Couchbase๋ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ์ถ๊ฐํ์ง ์๊ณ ๋ ๋ ๊ฐ, ์ธ ๊ฐ ๋๋ ๊ทธ ์ด์์ ํฌ์ธํธ ์๋ฃจ์ ์ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ๋ํ ํ์ค JSON์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ณด๋ด๊ฑฐ๋ ๊ฐ์ ธ์ฌ ๋ ๊ฑฐ์ณ์ผ ํ ๋จ๊ณ๊ฐ ๋ ์ ์ต๋๋ค.
์ฐธ๊ณ : ์นด์ฐ์น๋ฒ ์ด์ค๋ ๋ํ ๋ค์์ ์ง์ํฉ๋๋ค. ์์์ ๋น JSON ๋ฐ์ดํฐ์ ๋ฐ์ด๋๋ฆฌ ์คํ ๋ฆฌ์ง. ์ด ๋ฐ์ดํฐ๋ JSON ๋ฐ์ดํฐ๋งํผ ๊ด๋ฒ์ํ๊ฒ ์ธ๋ฑ์ฑํ๊ฑฐ๋ ์ฟผ๋ฆฌํ ์๋ ์์ง๋ง ์ผ๋ฐ์ ์ธ ํค-๊ฐ ์กฐํ๋ฅผ ํตํด ์ก์ธ์คํ ์ ์์ต๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
BSON์ด JSON๋ณด๋ค ๋ซ๋์? BSON์ JSON์ ๋นํด ๋ช ๊ฐ์ง ์ ์ฌ์ ์ธ ์ด์ ์ด ์์ง๋ง, ๋๋ถ๋ถ์ ๊ด๋ฒ์ํ ์ฑํ๊ณผ ํ์ค ํธํ์ฑ์ด๋ผ๋ JSON์ ์ฅ์ ์ ๋ฅ๊ฐํฉ๋๋ค.
BSON๊ณผ JSON ์ค ์ด๋ ๊ฒ์ด ๋ ๋น ๋ฅด๋์? ๋ฐ์ด๋๋ฆฌ ์ธ์ฝ๋ฉ๊ณผ ์์ถ์ฑ ๋๋ฌธ์ ํฌ๊ณ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๊ฒฝ์ฐ BSON์ด JSON๋ณด๋ค ๋น ๋ฅผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค์ ์ฑ๋ฅ์ ๋ค์ํ ์์ธ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ฉฐ, JSON์ ๊ด๋ฒ์ํ ์ฑํ๊ณผ ์ฌ๋ฌ ์์คํ ๊ณผ์ ํธํ์ฑ์ผ๋ก ์ธํด ๋ง์ ๊ฐ๋ฐ์๊ฐ JSON์ ์ ํธํฉ๋๋ค. ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์, ์ผ๋ฐ์ ์ผ๋ก Couchbase(JSON ์ฌ์ฉ)๊ฐ MongoDB(BSON ์ฌ์ฉ)๋ณด๋ค ์ฑ๋ฅ์ด ๋ฐ์ด๋ฉ๋๋ค..
๋ชฝ๊ณ DB๋ JSON ๋๋ BSON์ ์ฌ์ฉํ๋์? MongoDB๋ BSON๊ณผ ๋ ์ ์ฟผ๋ฆฌ ์์คํ ์ ์ฌ์ฉํฉ๋๋ค. Couchbase๋ ํ์ค JSON๊ณผ SQL ํ์ค ์ฟผ๋ฆฌ ์์คํ .
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฒฐ์ ํ๋ ค๊ณ ํ๋์? ๋ค์ ๋ด์ฉ์ ํ์ธํ์ธ์. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์กฐ์ธ ๊ฐ์ด๋: ๊ฐ๋ฐ์ ๊ฐ์ด๋๋ถ.