728x90
๋ฐ์ํ
๐ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ข ๋ฅ
๐ Key-value Database
- ๋ฐ์ดํฐ๋ฅผ key-value ํํ๋ก ์ ์ฅํ๋ Database ์ด๋ค.
- ์ค์ฉ์ฑ์ ๋จ์ด์ง๊ธฐ ๋๋ฌธ์ ์์ฃผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ์บ์ฑ์ด๋ ์์์คํธ๋ฆฌ๋ฐ, ๋ก๊ทธ์ธ ๊ธฐ๋ก ์ ์ฅ ๋ฑ์ ์ํ ์๋ธ์ฉ DB๋ก ๋ง์ด ์ฌ์ฉํ๋ค.
- Key-value Database ์ค์์๋ 1์ฐจ์ ์ผ๋ก ํ๋๋์คํฌ๋ณด๋ค ์๋๊ฐ ๋น ๋ฅธ RAM ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ํ๋์ ๋ฐฑ์ ํด๋๋ ๋ฐฉ์์ธ redis ๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ค.
๐ Relational Database
- ๋ฐ์ดํฐ๋ฅผ ํ ํํ๋ก ์ ์ฅํ๋ฉฐ, ํ๋ ฌ(Relation)์์ ๋ช ์นญ์ ๋ฐ์จ ๊ฒ์ผ ๋ฟ ์ค์ ๋ก ๊ด๊ณ(Relation)๋ฅผ ์ค์ ์ผ๋ก ๋ค๋ฃจ๊ธฐ์๋ ์ด๋ ค์ด ์ ์ด ๋ง์ Database ์ด๋ค.
- ์์ ๊ณผ ์ ์ฌํ๋ฉฐ, ๋ค์ํ ๊ณณ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ ์จ์ด ๋์ ํธ์ ์ํ๋ค.
- ๋ํ์ ์ธ Relational Database ๋ก๋ Oracle, MySQL, MariaDB, SQLite, PostgreSQL ๋ฑ์ด ์๋ค.
- ๋ณดํต ๋ฐ์ดํฐ๋ฅผ ์ ๊ทํ(์ค๋ณต๋๋ ์์๋ ๋ค๋ฅธ ํ ์ด๋ธ๋ก ๋นผ์ ์ค๋ณต ์ ๊ฑฐ)ํด์ ์ ์ฅํ๋ฏ๋ก, ๋ฐ์ดํฐ ์ ์ถ๋ ฅ๋ฌธ๋ฒ์ด ๋ณต์กํด์ง๋ค๋ ๋จ์ ์ด ์กด์ฌํ๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก ACID Transaction ๊ธฐ๋ฅ์ด ์กด์ฌํ๋ฏ๋ก ๊ธ์ ๊ฑฐ๋์ ๊ฐ์ ์ค์ํ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋, ์์ ํ๊ฒ ๊ตฌํํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
- ์ ์ถ๋ ฅ ์๋๋ณด๋ค ์ ํ๋๊ฐ ๋งค์ฐ ์ค์ํ ์๋น์ค๋ผ๋ฉด ์ผ๋ฐ์ ์ผ๋ก Relational Database ๋ฅผ ์ฌ์ฉํ๋ค.
๐ Graph Database
- ๊ด๊ณ๋ฅผ ์ค์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ Database ๋ก, ๋ฐ์ดํฐ๋ฅผ Node ๋ก ๋ง๋ค๊ณ Node ๋ผ๋ฆฌ์ ๊ด๊ณ ๋ฐ ๋ฐฉํฅ์ ์ง์ ํ ์ ์๋ค.
- ๋นํ๊ธฐ ๋ ธ์ , SNS ์น๊ตฌ ๊ด๊ณ, ์ฝ๋ก๋ ์ ์ผ๋งต, ์ถ์ฒ ์๋น์ค ๋ฑ์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
- ๋ํ์ ์ธ Graph Database ๋ Sparsity, neo4j, OrientDB, ArangoDB ๋ฑ์ด ์๋ค.
๐ Document Database
- Relational Database ๋ณด๋ค ์์ ๋ก์ด Database ์ด๋ค.
- ๋ํ์ ์ธ Document Database ๋ก๋ mongoDB, CouchDB ๋ฑ์ด ์๋ค.
- Collection ํด๋ ์์ document ํ์ผ์ ๋ง๋ค์ด ๋ฐ์ดํฐ๋ฅผ JSON ํํ๋ก ์ ์ฅํ ์ ์๋ค.
- Relational Database ์ ๋ฌ๋ฆฌ ๊ฐ์๊ธฐ ๊ตฌ์กฐ๊ฐ ๋ฐ๋์ด๋ ๋ฌธ์ ๊ฐ ์์ผ๋ฏ๋ก ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ง ๋ฏธ๋ฆฌ ์ ์ํ ํ์๋ ์์ผ๋ฉฐ, ์ ๊ทํ ์์ด ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ฏ๋ก ๋ฐ์ดํฐ ์ ์ถ๋ ฅ๋ฌธ๋ฒ์ด ๊ฐ๋จํ๋ค๋ ์ฅ์ ์ด ์๋ค.
- ๋ํ, ๋ถ์ฐ์ ์ผ๋์ ๋๊ณ ๋ง๋ค์ด์ง Database ์ด๋ฏ๋ก ๋ถ์ฐ์ฒ๋ฆฌ๊ฐ ๋งค์ฐ ์ ๋๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ์ ์ ์ถ๋ ฅ์ด ๋ง์ SNS, ์ค์๊ฐ ์ฑํ , ๊ฒ์ํ, ์จ๋ผ์ธ๊ฒ์ ์๋น์ค ๋ฑ์ ๋ง์ด ์ฌ์ฉํ๋ค.
- Database ๊ฐ์ ์ผ๊ด์ฑ ๋ฐ ์ ํ๋๋ ๋จ์ด์ง ์ ์์ผ๋ฏ๋ก, ์ด๋ฐ ๋ถ๋ถ๋ค์ด ์ค์ํ์ง ์๋ค๋ฉด Document Database ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
๐ Column Family Database
- Relational Database ์ฒ๋ผ ํ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ถ์ง๋ง, ์กฐ๊ธ ๋ ์ ์ฐํ๊ฒ ์ฌ์ฉํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ Database ์ด๋ค.
- ๋ํ์ ์ธ Column Family Database ๋ก๋ cassandra, Google Cloud Bigtable ๋ฑ์ด ์๋ค.
- ํ ์ด๋ธ์ ๋ง๋ ํ ๊ฑฐ๊ธฐ์ Row ๋ฅผ ๋ง๋ค๋, ๊ฐ Row ๋ง๋ค ์์ ๋กญ๊ฒ Column ์ ๋ง๋ค๊ณ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ ํ์ฌ ์ ์ฅํ๋ ๋ฐฉ์์ Database ์ด๋ค.
- Row ๋ง๋ค Column ์ด ๋ฌ๋ผ๋ ์๊ด์์ผ๋ฉฐ, ์ ๊ทํ ์์ด ์ฌ์ฉํ๋ฏ๋ก ๋ฐ์ดํฐ ์ ์ถ๋ ฅ๋ฌธ๋ฒ์ด ๊ฐ๋จํ๋ค๋ ์ฅ์ ์ด ์๋ ๋ฐ๋ฉด, SQL ์ด ์๋ ํด๋น Database ์ ์ธ์ด๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๋ ๋จ์ ์ด ์กด์ฌํ๋ค.
- ๋ํ, ๋ณต์ ๋ฐ ๋ถ์ฐ ์ฒ๋ฆฌ๋ ์ ๋๋ฏ๋ก ๋ฐ์ดํฐ์ ์ ํ๋๊ฐ ๋จ์ด์ง๋๋ผ๋ ๋ง์ ์ ์ถ๋ ฅ์ด ํ์ํ ๊ฒฝ์ฐ ์ ํฉํ Database ์ด๋ค.
- ๋ฐ์ดํฐ ์ ์ฅ์ ํ ๋ ์๊ฐ๊ธฐ๋ก์ ํธํ๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ์ด ์์ผ๋ฏ๋ก Netflix ์ ๊ฐ์ด ์๊ณ์ด ๋ฐ์ดํฐ๋ฅผ ๋ถ์ ๋ฐ ์ ์ฅํ ๋ Column Family Database ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ์กด์ฌํ๋ค.
๐ Search Engine
- ๋น ๋ฅด๊ฒ ๋ฐ์ดํฐ ๊ฒ์์ ๋์์ค ์ ์๋๋ก ๊ฒ์์ฉ ์ธ๋ฑ์ค๋ฅผ ๋ณด๊ดํ๊ธฐ ์ํ Database ์ด๋ค.
- ๋ํ์ ์ผ๋ก elastic, Amazon CloudSearch, Google Cloud Search ๋ฑ์ด ์๋ค.
- ์ค์๊ฐ ๊ฒ์์ด, ์ถ์ฒ ๊ฒ์์ด, ๊ฒ์์ด ์คํ๊ต์ ๋ฑ์ ์๋น์ค์ ์ฌ์ฉ๋๋ Database ๋ก, ๊ฒ์์ด ์ค์ํ ์ฌ์ดํธ๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
728x90
๋ฐ์ํ
'[๊ฐ๋ฐ] Practice > SQL Database' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQL / Database] ๋ค์์ ์กฐ๊ฑด์์ผ๋ก ๋ฐ์ดํฐ ํํฐ๋งํ๊ธฐ (0) | 2023.05.26 |
---|---|
[SQL / Database] WHERE ๋ก ๋ฐ์ดํฐ ํํฐ๋งํ๊ธฐ (0) | 2023.05.26 |
[SQL / Database] ๋ฐ์ดํฐ ์ถ๋ ฅ ๋ฐ ์ ๋ ฌํด๋ณด๊ธฐ (0) | 2023.05.26 |
[SQL / Database] ํ ์ด๋ธ ๋ง๋ค๊ธฐ & ๋ฐ์ดํฐ ํ์ ์์๋ณด๊ธฐ (0) | 2023.05.26 |
[SQL / Database] MySQL & DBeaver ์ค์นํ๊ธฐ (0) | 2023.05.25 |