
PHP ์จ๋ผ์ธ ๊ฐ์
>PHP - ์ต์๊ธ
๐ PHP ์ต์๊ธ - 5์ฃผ์ฐจ: NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค (MongoDB/Redis) ํ์ฉ- 01 NoSQL์ ํ์์ฑ ๋ฐ ์ข ๋ฅ

์ฃผ์ ํ๋ก๊ทธ๋จ ์คํ
- ํ์ : 10.0
- ๋ผ์ด์ ์ค: free
- ์ด์์ฒด์ :
- ํ์ผ ํฌ๊ธฐ: 0
ํผ๋๋ฐฑ ๋ฐ ๋ค์ด๋ก๋
- ์ฌ์ฉ์ ํ์ : 10.0
- ๋ค์ด๋ก๋ ์: 1
- ์กฐํ์: 5
์ ์กฐ์ฌ ๋ฐ ๋ฑ๋ก ์ ๋ณด
- ์ ์์ฌ: LUZENSOFT
- ๋ฑ๋ก์ผ: 2025-10-16 13:57:24
- ์ค๋ช
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฌด์์ด๋ฉฐ, ์ ํ์ํ๊ฐ?
์ง๊ธ๊น์ง ์ฐ๋ฆฌ๋ ์ฃผ๋ก ์ ํํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(#RDB, ์: MySQL, PostgreSQL)๋ฅผ ์ฌ์ฉํด์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ๋์ ์น ์๋น์ค๋ ํญ๋ฐ์ ์ผ๋ก ์ฆ๊ฐํ๋ ๋ฐ์ดํฐ์, ๋น์ ํ ๋ฐ์ดํฐ์ ์ถํ, ๊ทธ๋ฆฌ๊ณ ์ด๋น ์๋ง ๊ฑด์ ์์ฒญ์ ์ฒ๋ฆฌํด์ผ ํ๋ ๋๊ท๋ชจ ํธ๋ํฝ์ด๋ผ๋ ๋์ ์ ์ง๋ฉดํ๊ณ ์์ต๋๋ค.
์ด๋ฌํ ๋ฌธ์ ์ ์ง๋ฉดํ์ฌ ๋ฑ์ฅํ ๊ฒ์ด ๋ฐ๋ก NoSQL(Not only SQL) ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. #NoSQL ์ ์ ํต์ ์ธ ๊ด๊ณํ ๋ชจ๋ธ์ ์ ์ฝ์์ ๋ฒ์ด๋, ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๊ฒ์์ ์์ด ํจ์ฌ ๋์ ์ ์ฐ์ฑ, ํ์ฅ์ฑ, ๊ทธ๋ฆฌ๊ณ ์ฑ๋ฅ์ ์ ๊ณตํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ์ด์นญ์ ๋๋ค.
#NoSQL ์ ํนํ ์ค์๊ฐ ๋ถ์, ๋์ฉ๋ ๋ก๊ทธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ์ธ์ ๋ฐ ์บ์ฑ ๊ด๋ฆฌ, ๋ชจ๋ฐ์ผ ์ฑ ๋ฐฑ์๋ ๋ฑ์์ #RDB ๊ฐ ๋ฐ๋ผ์ฌ ์ ์๋ ํจ์จ์ฑ์ ๋ฐํํฉ๋๋ค.
1. NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์์ฑ (CAP ์ด๋ก )
#NoSQL ์ด ๋ฑ์ฅํ๊ณ ๊ฐ๊ด๋ฐ๊ฒ ๋ ๋ฐฐ๊ฒฝ์๋ ๋ถ์ฐ ์์คํ ์ ๊ทผ๋ณธ์ ์ธ ํ๊ณ๋ฅผ ์ค๋ช ํ๋ CAP ์ด๋ก ์ด ์์ต๋๋ค. #CAP์ด๋ก ์ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ด ๋ค์ ์ธ ๊ฐ์ง ์์ฑ ์ค ์ค์ง ๋ ๊ฐ์ง๋ง ๋์์ ์ถฉ์กฑํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
C (Consistency, ์ผ๊ด์ฑ): ๋ชจ๋ ๋ ธ๋์์ ๋์ผํ ์์ ์ ๋์ผํ ๋ฐ์ดํฐ๊ฐ ๋ณด์ฅ๋ฉ๋๋ค
A (Availability, ๊ฐ์ฉ์ฑ): ํด๋ฌ์คํฐ์ ์ผ๋ถ ๋ ธ๋์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋ ํญ์ ์์ฒญ์ ๋ํ ์๋ต์ด ๊ฐ๋ฅํฉ๋๋ค
P (Partition Tolerance, ๋ถํ ๋ด์ฑ): ๋คํธ์ํฌ ๋ถํ (๋ ธ๋ ๊ฐ ํต์ ๋จ์ ) ์ํฉ์์๋ ์์คํ ์ด ๊ณ์ ์๋ํฉ๋๋ค
#RDB ๋ ๋ณดํต C์ A๋ฅผ ์ฐ์ ์ํ์ฌ ์ค๊ณ๋์์ต๋๋ค. ํ์ง๋ง ํด๋ผ์ฐ๋ ํ๊ฒฝ์์๋ ๋คํธ์ํฌ ๋จ์ ์ํฉ์ด ๋น๋ฒํ๋ฏ๋ก **P(๋ถํ ๋ด์ฑ)**๋ ํ์์ ์ ๋๋ค.
#NoSQL ์ ์ด ์ง์ ์์ #RDB ์ ๋ค๋ฅธ ์ ํ์ ํฉ๋๋ค. ๋๋ถ๋ถ์ #NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ P๋ฅผ ์ถฉ์กฑ์ํค๋ฉด์, ์๋น์ค ๋ชฉ์ ์ ๋ฐ๋ผ C๋ A ์ค ํ๋๋ฅผ ์ ํ์ ์ผ๋ก ํฌ๊ธฐํ๊ฑฐ๋ ์ํํฉ๋๋ค. ์ด๋ก ์ธํด ๋์ ์ํ์ ํ์ฅ์ฑ์ ํ๋ณดํ๊ฒ ๋ฉ๋๋ค.
2. NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฃผ์ ์ข ๋ฅ
#NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์์ ๋ฐ๋ผ ํฌ๊ฒ ๋ค ๊ฐ์ง ์ ํ์ผ๋ก ๋ถ๋ฅ๋๋ฉฐ, ๊ฐ ์ ํ์ ํน์ ์ฌ์ฉ ์ฌ๋ก์ ์ต์ ํ๋์ด ์์ต๋๋ค.
2.1. ํค-๊ฐ(Key-Value) ๋ฐ์ดํฐ๋ฒ ์ด์ค
ํน์ง: ๊ฐ์ฅ ๋จ์ํ ํํ์ #NoSQL ์ ๋๋ค. ๊ณ ์ ํ **ํค(Key)**์ ๊ทธ์ ์ฐ๊ฒฐ๋ ๊ฐ(Value) ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค
์ฅ์ : ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ์๋๊ฐ ๋งค์ฐ ๋น ๋ฅด๋ฉฐ, ์ํ ํ์ฅ์ด ์ฉ์ดํฉ๋๋ค
์ฃผ์ ํ์ฉ: ์ฌ์ฉ์ ์ธ์ ์ ๋ณด ์ ์ฅ, ์น ์บ์, ์ค์๊ฐ ๋ญํน ์ฒ๋ฆฌ ๋ฑ ๋น ๋ฅธ ์ฝ๊ธฐ/์ฐ๊ธฐ๊ฐ ์ค์ํ ๊ณณ
๋ํ DB: Redis, Memcached
2.2. ๋ฌธ์(Document) ๋ฐ์ดํฐ๋ฒ ์ด์ค
ํน์ง: ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์(JSON, BSON, XML ํํ) ํํ๋ก ์ ์ฅํฉ๋๋ค. ๋ฌธ์ ๋ด๋ถ์ ์ค์ฒฉ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ์ ์์ผ๋ฉฐ, ์คํค๋ง๊ฐ ์ ์ฐํฉ๋๋ค
์ฅ์ : ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ณ๊ฒฝ์ด ์ฝ๊ณ , ๋ณต์กํ ๊ฐ์ฒด๋ ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ์ ์ ํฉํฉ๋๋ค
์ฃผ์ ํ์ฉ: ์นดํ๋ก๊ทธ, ์ฌ์ฉ์ ํ๋กํ, CMS(์ฝํ ์ธ ๊ด๋ฆฌ ์์คํ ) ๋ฐ์ดํฐ ๋ฑ ์ ์ฐํ ์คํค๋ง๊ฐ ํ์ํ ๊ณณ
๋ํ DB: MongoDB, Couchbase
2.3. ์นผ๋ผ ๊ธฐ๋ฐ(Column-Family) ๋ฐ์ดํฐ๋ฒ ์ด์ค
ํน์ง: ๋ฐ์ดํฐ๋ฅผ ํ ์ด๋ธ์ด ์๋ ํ(Row)๊ณผ ์ด(Column)์ ์งํฉ์ธ ์นผ๋ผ ํจ๋ฐ๋ฆฌ ํํ๋ก ์ ์ฅํ๋ฉฐ, ์ํ์ ํ์ฅ์ ์ต์ ํ๋์ด ์์ต๋๋ค
์ฅ์ : ๋์ฉ๋์ ๋ถ์ฐ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ๋น ๋ฅธ ์ฐ๊ธฐ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค
์ฃผ์ ํ์ฉ: ๋๊ท๋ชจ ๋ถ์ฐ ํ๊ฒฝ์ ์ค์๊ฐ ๋ถ์, ๋น ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ๋ก๊ทธ ๊ธฐ๋ก
๋ํ DB: Cassandra, HBase
2.4. ๊ทธ๋ํ(Graph) ๋ฐ์ดํฐ๋ฒ ์ด์ค
ํน์ง: ๋ฐ์ดํฐ ๊ฐ์ **๊ด๊ณ(Relationship)**๋ฅผ ์ค์ํ์ฌ, ๋ ธ๋(๋ฐ์ดํฐ)์ ์ฃ์ง(๊ด๊ณ) ํํ๋ก ์ ์ฅํฉ๋๋ค
์ฅ์ : ๋ณต์กํ๊ฒ ์ฝํ ๊ด๊ณ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ฒ์ํ๊ณ ํ์ํ ์ ์์ต๋๋ค
์ฃผ์ ํ์ฉ: ์์ ๋คํธ์ํฌ ์๋น์ค(SNS) ๊ด๊ณ ๊ด๋ฆฌ, ์ถ์ฒ ์์คํ , ์ฌ๊ธฐ ํ์ง
๋ํ DB: Neo4j, Amazon Neptune
๊ฒฐ๋ก
#NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ ์ด์ #RDB ์ ๋์ฒด์ ๊ฐ ์๋, ํ๋ ์น ์๋น์ค์ ๋ณต์กํ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑ์ํค๊ธฐ ์ํ ํ์์ ์ธ ๋ณด์์ฌ์ ๋๋ค. ๋ค์ ์๊ฐ์๋ ์ด ์ค #PHP๊ฐ๋ฐ ์์ ๊ฐ์ฅ ๋ง์ด ํ์ฉ๋๋ **MongoDB(๋ฌธ์ DB)**์ **Redis(ํค-๊ฐ DB)**์ ๊ตฌ์ฒด์ ์ธ ํ์ฉ๋ฒ์ ์ค์ตํ๊ฒ ์ต๋๋ค.
๊ณ ํ์ง ์ฐฉํ๊ฐ๊ฒฉ ํต์ ์ฌIP ๊ณ ์ IP ์์ ํVPN ์ด๊ณ ์VPN / ๊ฒ์,๊ด๊ณ ,์ฐํ์ฉ
https://xn--299ao67b9qbmsf04c.net/