๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDBMS)
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ๊ณผ ์ด์ ๊ฐ์ง๋ ํ ํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ํํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ๋ฆฌํค๋ฉฐ, SQL ์ธ์ด๋ฅผ ์ฌ์ฉํด์ ์กฐ์ํ๋ค.
MySQL, PostgreSQL, ์ค๋ผํด, SQLserver, MSSQL ๋ฑ์ด ์๋ค. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒฝ์ฐ, ํ์ค SQL์ ์งํค๊ธฐ๋ ํ์ง๋ง, ๊ฐ ์ ํ์ ๋ฐ๋ผ ํนํ์ํจ SQL์ ์ฌ์ฉํด์ ๋ฌธ๋ฒ์ด ์กฐ๊ธ์ฉ ๋ค๋ฅผ ์ ์๋ค.
์ด๋ ๊ฒ ํนํ์ํจ SQL์ ์ค๋ผํด์ ๊ฒฝ์ฐ PL/SQL, SQLserver์ ๊ฒฝ์ฐ T-SQL, MySQL์ SQL์ด๋ผ ๋ถ๋ฅธ๋ค.
MySQL
MySQL์ ๋๋ถ๋ถ์ ์ด์์ฒด์ ์ ํธํ๋๋ฉฐ ํ์ฌ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค.
C,C++๋ก ๋ง๋ค์ด์ก์ผ๋ฉฐ, MyISAM ์ธ๋ฑ์ค ์์ถ ๊ธฐ์ , B-ํธ๋ฆฌ ๊ธฐ๋ฐ์ผ ์ธ๋ฑ์ค, ์ค๋ ๋ ๊ธฐ๋ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์์คํ , ๋งค์ฐ ๋น ๋ฅธ ์กฐ์ธ, ์ต๋ 64๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ์ ๊ณตํ๋ค.
๋์ฉ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ํด ์ค๊ณ๋์ด ์๊ณ , ์ปค๋ฐ, ๋กค๋ฐฑ, ์ด์ค ์ํธ ์ง์ ๋ณด์ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ ๋ง์ ์๋น์ค์์ ์ฌ์ฉ๋๊ณ ์๋ค.
MySQL์ MySQL ์๋ฒ๋ผ๊ณ ๋ถ๋ฅผ ์ ์๊ณ , ์๋ฒ ์์๋ ๋๋ ์ญํ ์ ํ๋ MySQL ์์ง๊ณผ ์๋ฐ ์ญํ ์ ํ๋ ์คํ ๋ฆฌ์ง ์์ง์ผ๋ก ๊ตฌ๋ถํ ์ ์๋ค.
๋ ์์ง์ ํธ๋ค๋ฌ API๋ฅผ ํตํด์ ํต์ ํ๋ค.
์ฟผ๋ฆฌ์ ์คํ๊ณผ์ ์ ํตํด์ MySQL ์ํคํ ์ฒ๋ฅผ ์ดํด๋ณด๋๋ก ํ์!
์ฌ์ฉ์๊ฐ ์์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ฆฌ๋ฉด, ์ฟผ๋ฆฌ ํ์๊ฐ ์์ฒญ์ ์ํํ๋ค. ์์ ๊ฐ์ SQL ์ฟผ๋ฆฌ๋ฅผ ์ฟผ๋ฆฌ ํ์๊ฐ ์๋์ ๊ฐ์ด SQL์ด ์ดํดํ ์ ์๋ ๊ฐ์ฅ ์์ ๋จ์์ธ ํ ํฐ์ ํธ๋ฆฌ ํํ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝํ๋ค. ์ด ๊ณผ์ ์์ SQL ๊ตฌ๋ฌธ์ ๋ฌธ๋ฒ ์ค๋ฅ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค.
๋ค์์ผ๋ก, ์ ์ฒ๋ฆฌ๊ธฐ์ ํ์ ํธ๋ฆฌ๊ฐ ์ ๋ฌ๋๋ค. ์์ฝ์ด๋ฅผ ์ ์ธํ ํ ํฐ์ ๊ฒ์ํด์ ์ค์ ๋ก ๊ฐ์ฒด๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์กด์ฌํ๋์ง, ๊ทธ ๋ฐ์ดํฐ๊ฐ ์ฌ์ฉ์๊ฐ ์ ๊ทผ ๊ฐ๋ฅํ ๋ฐ์ดํฐ์ธ์ง ํ์ธํ๋ ๋ฑ ์ ํจ์ฑ์ ๊ฒ์ฌํ๋ค.
๋ค์์ผ๋ก, ๊ฒ์ฆ์ ๋ง์น ํ์ ํธ๋ฆฌ๊ฐ ์ตํฐ๋ง์ด์ ์ ์ ๋ฌ๋๋ค.
์ด๋ฅผ ํตํด ์ฟผ๋ฆฌ๋ฅผ ์ต์ ์ผ๋ก ์คํํ๊ธฐ ์ํ ๊ณํ์ ์๋ฆฝํ๊ณ , ์ฟผ๋ฆฌ๋ฅผ ์ฌ์์ฑํ๊ฑฐ๋ ํ ์ด๋ธ ์ค์บ ์์๋ฅผ ๊ฒฐ์ , ์ฌ์ฉํ ์ธ๋ฑ์ค๋ฅผ ์ ํํ๋ค.
์ด๋ฌํ ์ต์ ํ๋ ๋น์ฉ ๊ธฐ๋ฐ ์ต์ ํ(MySQL์ ์กด์ฌํ๋ ํต๊ณ ์ ๋ณด ๊ธฐ๋ฐ)์ ๊ท์น ๊ธฐ๋ฐ ์ต์ ํ(๊ฐ์ SQL์ด๋ผ๋ฉด ๊ฐ์ ๊ท์น์ผ๋ก ๋์)๊ฐ ์๋ค. ๋๋ถ๋ถ์ RDBMS๋ ๋น์ฉ ๊ธฐ๋ฐ ์ต์ ํ๋ก ๋์ํ๋ค.
์ตํฐ๋ง์ด์ ๊ฐ ๋ง๋ค์ด๋ธ ์คํ ๊ณํ์ ์คํ ์์ง์ผ๋ก ์ ๋ฌ๋๋ค.
์คํ ๊ณํ์ ํ ๋๋ก, ์คํ ๋ฆฌ์ง ์์ง๊ณผ ํต์ ์ ํด์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๋ ์ญํ (ํธ๋ค๋ฌ API ์ฌ์ฉ)์ ํ๋ค.
์คํ ๋ฆฌ์ง ์์ง์ ์คํ ์์ง์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด์ ๋์คํฌ๋ก๋ถํฐ ๋ฐ์ดํฐ ์ฝ๊ธฐ/์ฐ๊ธฐ ์์ ์ ํ๋ค.
์ด๋, ์คํ ๋ฆฌ์ง ์์ง์ MySQL ์์ง๊ณผ ๋ค๋ฅด๊ฒ ์ฌ๋ฌ ๊ฐ๋ฅผ ๋์์ ์ฌ์ฉํ ์ ์๋ค.
๋, MySQL์ ์ฟผ๋ฆฌ ์บ์๋ฅผ ์ง์ํด์ ์ ๋ ฅ๋ ์ฟผ๋ฆฌ ๋ฌธ์ ๋ํ ๊ฒฐ๊ณผ ์งํฉ์ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๊ฐ ์์ฑํ ์ฟผ๋ฆฌ๊ฐ ์บ์์ ์๋ ์ฟผ๋ฆฌ์ ๋์ผํ๋ค๋ฉด ์๋ฒ๋ ๊ตฌ๋ฌธ ๋ถ์, ์ต์ ํ ๋ฐ ์คํ์ ๊ฑด๋๋ฐ๊ณ ๋จ์ํ ์บ์์ ์ถ๋ ฅ๋ง ํ์ํ๋ค.
PostgreSQL
๋์คํฌ ์กฐ๊ฐ์ด ์ฐจ์งํ๋ ์์ญ์ ํ์ํ ์ ์๋ ์ฅ์น์ธ VACUUM์ด ํน์ง์ด๊ณ , ์ต๋ ํ ์ด๋ธ์ ํฌ๊ธฐ๋ 32TB์ด๋ค. SQL ๋ฟ๋ง ์๋๋ผ JSON์ ์ด์ฉํด์ ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋ค.
๋, ์ง์ ์๊ฐ์ ๋ณต๊ตฌํ๋ ๊ธฐ๋ฅ, ๋ก๊น , ์ ๊ทผ ์ ์ด, ์ค์ฒฉ๋ ํธ๋์ญ์ , ๋ฐฑ์ ๋ฑ์ ํ ์ ์๋ค.
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค
NotOnly SQL์ด๋ผ๋ ์ฌ๋ก๊ฑด์์ ์๊ฒจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค. SQL์ ์ฌ์ฉํ์ง ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋งํ๋ฉฐ, ๋ํ์ ์ผ๋ก mongoDB์ redis๊ฐ ์๋ค.
MongoDB
MongoDB๋ JSON์ ํตํด ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๊ณ , Binary JSON(BSON) ํํ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ค.
ํค-๊ฐ ๋ฐ์ดํฐ ๋ชจ๋ธ์์ ํ์ฅ๋ ๋ํ๋จผํธ ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค. ํ์ฅ์ฑ์ด ๋ฐ์ด๋๋ฉฐ ๋น ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ฑ๋ฅ์ด ์ข๋ค.
๋, ์คํค๋ง๋ฅผ ์ ํด ๋์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ค์ํ ๋๋ฉ์ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ถ์ํ๊ฑฐ๋ ๋ก๊น ๋ฑ์ ๊ตฌํํ ๋ ๊ฐ์ ์ ๋ณด์ธ๋ค.
MongoDB๋ ๋ํ๋จผํธ๋ฅผ ์์ฑํ ๋๋ง๋ค ๋ค๋ฅธ ์ปฌ๋ ์ ์ ์ค๋ณต๋ ๊ฐ์ ์ง๋๊ธฐ ํ๋ ์ ๋ํฌํ ๊ฐ์ธ ObjectID๊ฐ ์์ฑ๋๋ค.
Redis
redis๋ ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด์ ํค-๊ฐ ๋ฐ์ดํฐ ๋ชจ๋ธ ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค.
* ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค : ์ปดํจํฐ์ ๋ฉ์ธ๋ฉ๋ชจ๋ฆฌ์ ๋ชจ๋ ์กฐ์ง ๋๋ ๊ฐ์ธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค. ๋ณด์กฐ ๊ธฐ์ต ์ฅ์น๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋นํด ๋น ๋ฅด๋ค.
๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ํ์ ์ ๋ฌธ์์ด์ด๋ฉฐ, ์ต๋ 512MB๊น์ง ์ ์ฅํ ์ ์๋ค. ์ด์ธ์๋ Set, Hash ๋ฑ์ ์ง์ํ๋ค.
pub/sub ๊ธฐ๋ฅ์ ํตํด ์ฑํ ์์คํ , ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋จ์ ๋์ด ์บ์ฑ ๊ณ์ธต ์ญํ , ๋จ์ํ ํค-๊ฐ์ด ํ์ํ ์ธ์ ์ ๋ณด ๊ด๋ฆฌ, ์ ๋ ฌ๋ ์ (ordered set) ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ ์ค์๊ฐ ์์ํ ์๋น์ค์ ์ฌ์ฉ๋๋ค.
์ถ์ฒ : [10๋ถ ํ ์ฝํก] ๋ฆญ์ MySQL ์ํคํ ์ฒ, ๋ฉด์ ์ ์ํ CS ์ ๊ณต์ง์ ๋ ธํธ
'CS > ๋ฐ์ดํฐ๋ฒ ์ด์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ์กฐ์ธ(Join) (0) | 2023.09.29 |
---|---|
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ์ธ๋ฑ์ค(Index) (0) | 2023.09.28 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ํธ๋์ญ์ ๊ณผ ๋ฌด๊ฒฐ์ฑ (0) | 2023.09.20 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ๋ฐ์ดํฐ ์ด์ ํ์๊ณผ ์ ๊ทํ ๊ณผ์ (1) | 2023.09.15 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ERD(Entity Relationship Diagram) (0) | 2023.09.11 |