๊ทธ ๋์ ๋ฒ์์ ๋๋ฌธ์ ๋ชป์ฌ๋ ธ์ด์... ใ ใ ๐ฅฒ
๋ฐ์ดํฐ๋ฒ ์ด์ค
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฒด๊ฐ ์ค๋๋ ํ๋ฌธ์ด๋ผ ๋ด์ฉ๋ ๊น๊ณ ์ ๋ฌธ์ ์ด์ด์ ๋ณ๋๋ก ์๊ฐ์ ๋ค์ฌ์ ๊ณต๋ถํด๋์ด์ผ ํ ๊ฒ์ด๋ค. ์์คํ
-๋คํธ์ํฌ-์ ๋ณด๋ณด์ IT ๋ถ์ผ๋ฅผ ๊ณต๋ถ ํ ๋ค์ ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๋ก ์ง์ถํ๋ ๊ฒ๋ ๋งค์ฐ ์ข๋ค๊ณ ์๊ฐํ๋ค. ์ต๊ทผ์๋ ์์ฉ ํด๋ผ์ฐ๋ AWS, Azure, GCP, IBM ์์์ ์ด์๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ค์ํ๋ค.
๊ธฐ์
์ฒด์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ํ๋ก๊ทธ๋จ์ผ๋ก Oracle์ Oracle, MS์ (MS) SQL, IBM์ DB2 ๋ฑ์ ๋ง์ด ์ฌ์ฉํ๊ณ ์์ง๋ง ์ต๊ทผ์๋ ์คํ์์ค์ธ MySQL๋ ์ฑ๋ฅ์ด ์ข์์ ธ์ ์ค์๊ท๋ชจ ์กฐ์ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๊ธฐ์ ์์์ด ์๋ค.
Apache ๋์ NginX๋ฅผ ์น ์๋ฒ๋ก ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ Oracle๋ก ๋์ด๊ฐ์ ํ์ฌ๋ ์ผ๋ถ ๊ธฐ๋ฅ์ด ์ ๋ฃํ๋ MySQL ๋์ ๋ฌด๋ฃ์ธ MariaDB๋ ์ ์ฐจ ๋ง์ด ์ฌ์ฉ๋๋ ์ถ์ธ์ด๋ค. ์์ฉ ์น ํด๋ผ์ฐ๋ AWS, GCP, Azure ๋ฑ์ ๋ค์ด๊ฐ๋ฉด ์์ฒด์ ์ผ๋ก ์ ๊ณตํ๋ ๋ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
๋ ์๋ค. PostgreSQL, LiteSQL ๋ฑ๋ ๋๋ฆฌ ์ฌ์ฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ณธ์ด ๋๋ SQL(์ฟผ๋ฆฌ ๋ฌธ) ๋ฑ์ ๊ฐ๋ตํ ์์๋ณด๋๋ฐ Join๊ณผ View, Trigger ๋ฑ๊ณผ ๋์๊ฐ์ PL/SQL ํ๋ก๊ทธ๋๋ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋๊ณผ ๊ฐ์ฒด ์ค๊ณ๊น์ง ๊ด์ฌ์ ๊ฐ์ง๊ณ ์์ผ๋ก ๊ณต๋ถํด๋๋ฉด ์ข๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ์์ ๋ฐ์ดํฐ์ธ '์๋ฃ(Raw Material)'์ ๊ทธ ์ธ ์ปดํจํ
๋ฐ ๋น์ฆ๋์ค ์ธํ
๋ฆฌ์ ์ค ํด์ ๊ธฐ๋ฐ์ผ๋ก ์์งํ '๋ฐ์ดํฐ ์ ์ฅ์(Data Warehouse)'๋ฅผ ์ถฉ๋ถํ ํ์ฉํด์ '๊ฐ๊ณต ์์
(Data Mining)' ํตํด์ ๋น์ฆ๋์ค๋ฅผ ๋ ํจ์จ์ ์ผ๋ก ์ด์ํ๊ณ , ๋ ๋์ ์์ฌ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ฉฐ, ๋ ๋ฏผ์ฒฉํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ๊ธฐ์
์ผ๋ก์ ๋ฐ์ ์ ๋๋ชจํ๊ธฐ ์ํด์์ด๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ผ๋ฐ์ ์ผ๋ก ์ปดํจํฐ ์์คํ
์ ๋์งํธ(์ ์) ๋ฐฉ์์ผ๋ก ์ ์ฅ๋ ๊ตฌ์กฐํ๋ ์ ๋ณด ๋๋ ๋ฐ์ดํฐ์ ์ฒด๊ณ์ ์ธ ์งํฉ(name, data type, data size, ...=>์คํค๋ง(schema)๋ก ๋ถ๋ฆ)์ ์๋ฏธํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ณดํต ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ
(DBMS:DB Management System)์ด๋ผ๋ ์ํํธ์จ์ด์ ์ํด ์ ์ด๋๋๋ฐ ๋ฐ์ดํฐ์ DBMS๋ ์ฐ๊ด๋ ์ดํ๋ฆฌ์ผ์ด์
๋ค๊ณผ ํจ๊ป '๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
'์ผ๋ก ๋ถ๋ฆฌ๊ธฐ๋ ํ์ง๋ง ์งง๊ฒ '๋ฐ์ดํฐ๋ฒ ์ด์ค'๋ผ๊ณ ํต์นญํ๋ค.
์ ๋ช
ํ DBMS๋ก๋ Oracle, MySQL/MariaDB, MS SQL, PostgreSQL, LiteSQL, DB2, Informix, Sybase, ..... ๋ฑ์ด ์๊ณ , ์คํค๋ง๊ฐ ์ง์ ๋์ง ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค('NoShema(NoSQL)')๋ก๋ MongoDB, Cassandra, ... ๋ฑ์ด ์๋ค. ์ด๋ค์ ๋ฐ์ดํฐ๋ฅผ <key:value>(JSON ํ์)์ผ๋ก ์ ์ฅํ๋ค. ์๋ฅผ ๋ค์ด์ SNS์์ 2023๋
๋ ์ฌ๋ฆ์ ํจ์
์ ์์๋ณธ๋ค๋ฉด SNS์ ๋ ๋ค๋๋ ๋ฐ์ดํฐ๋ jpg, text, mov, mp4, ....์์ผ๋ก ๋ค์ํ ์ ๋ณด๋ค๋ก ํจ์
์ ๋ํ ๋ด์ฉ๋ค์ด ์์ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฆ, ํฌ๊ธฐ, ํ์
์ ๊ท์ ํ๊ธฐ ์ด๋ ต๋ค(์คํค๋ง๋ฅผ ์ง์ ํ๊ธฐ ํ๋ฆ). <01:0001>, <03:1234>์์ด๋ค.
<= JSON format, Python์์๋ Dictionary, xml, ์ต๊ทผ ์น์์๋ yaml ๋ฑ์ ์ฌ์ฉํ๋๋ฐ ์ด๋ฐ ๋ฐ์ดํฐ ํ์
์ ์ฌ์ฉํ๋ค.
์ค๋๋ ์ด์ฉ๋๋ ๊ฐ์ฅ ๊ณตํต์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค(database) ๋ด์ ๋ฐ์ดํฐ๋ ํ๋ก์ธ์ฑ๊ณผ ๋ฐ์ดํฐ ์ฟผ๋ฆฌ ์์
์ ๋ ํจ์จ์ ์ผ๋ก ์คํํ๊ธฐ ์ํด์ ์ผ๋ฐ์ ์ผ๋ก ์ผ๋ จ์ ํ
์ด๋ธ(table) ์์ ํ(row)๊ณผ ์ด(column)๋ก ๋ชจ๋ธ๋ง๋๋ค. ํ๊ณผ ์ด์ด ๋ง๋๋ ๊ณณ์ ๊ฐ(field)์ด ๋ค์ด ์๋ค. ํ๋์ ํ์ ์ฌ๋ฌ ์ด ๊ฐ์ด ๋ค์ด ์๋ ๊ฒ์ ๋ ์ฝ๋(record)๋ผ๊ณ ํ๋ค. ์ด๋ฐ ๊ตฌ์กฐ๋ก ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ ์ฝ๊ฒ ์ก์ธ์ค, ๊ด๋ฆฌ, ์์ , ์
๋ฐ์ดํธ, ์ ์ด, ๊ทธ๋ฆฌ๊ณ ์ฒด๊ณํํ ์ ์๋ค. ๋๋ถ๋ถ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ ์์ฑ ๋ฐ ์ฟผ๋ฆฌ ์์
์ '๊ตฌ์กฐํ ์ง์ ์ธ์ด'(SQL: Structured Query Language)๋ฅผ ์ฌ์ฉํ๋ค.
๊ตฌ์กฐํ ์ง์ ์ธ์ด(SQL)
SQL์ ๋ฐ์ดํฐ๋ฅผ ์ฟผ๋ฆฌ(query), ์กฐ์(manipulate), ์ ์(define)ํ๊ณ ์ก์ธ์ค ์ ์ด(access control)๋ฅผ ์ ๊ณตํ ๋ชฉ์ ์ผ๋ก ๊ฑฐ์ ๋ชจ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Relative DataBase)์์ ์ฌ์ฉ๋๋ C, C++, Python, Java์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก์จ SQL์ 1970๋
๋ IBM์์ ๊ฐ์ฅ ๋จผ์ ๊ฐ๋ฐ๋์๊ณ , ๋์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ณ์ ์ ๋ ๊ฐ์ Oracle์ด ์ฃผ์ ๊ธฐ์
์ผ๋ก์ ์ฐธ์ฌํ์๋ค. ๊ทธ ํ ANSI SQL ํ์ค์ด ๋ง๋ค์ด ์ก๊ณ SQL์ IBM, Oracle, Microsoft ๋ฑ์ ๊ธฐ์
๋ค์ ์ํด ๋์ฑ ํ์ฅ๋์ด ๋์๊ฐ๋ค. SQL์ด ์ฌ์ ํ ๊ด๋ฒ์ํ๊ฒ ์ฌ์ฉ๋๊ณ ์๊ธด ํ์ง๋ง ๋ฐ์ดํฐ ์ฟผ๋ฆฌ์ ๋ํ ์๋ก์ด ๊ธฐ๋ฒ๊ณผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฑ์ด ์ถํ๋๊ณ ์๋ ์ถ์ธ์ด๋ค.
=>Scala, Spark(๋ถ์ฐํ์ผ ์์คํ
์์์ ๋น
๋ฐ์ดํฐ ์ฟผ๋ฆฌ), PySpark, ...
SQL์ ๊ฐ์ฅ ์ง๋ณด๋ ์ธ๊ฐ์ ์ธ์ด์ ์ ์ฌํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก์จ ํ๋ก๊ทธ๋๋ฐ์ ํนํ๋ SQL์ PL(Programming Language)/SQL์ด๋ผ๊ณ ํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์งํ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ 1960๋
๋ ์ด๋ฐ ์ฒ์ ๋์
๋ ์ด๋๋ก ๊ณ์ํด์ ๊ทน์ ์ธ ์งํ๋ฅผ ๊ฑฐ๋ญํด ์๋ค. ๊ณ์ธตํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(ํธ๋ฆฌ ํํ์ ๋ชจ๋ธ์ ์์กดํ๋ฉฐ ์ผ ๋ ๋ค์์ ๊ด๊ณ๋ง์ ํ์ฉ)์ ๋คํธ์ํฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค(๋ค์์ ๊ด๊ณ๋ฅผ ํ์ฉํ๋ ๋ ์ ์ฐํ ๋ชจ๋ธ) ๋ฑ์ ํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Navigational Database)๋ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ์กฐ์์ ์ํด ์ฌ์ฉ๋๋ ์ต์ด์ ์์คํ
์ด์๋ค. ์ด๋ฌํ ์ด๊ธฐ ์์คํ
์ ๊ฒฝ์ฐ ๊ฐํธํ๊ธฐ๋ ํ์ง๋ง ์ ์ฐ์ฑ์ด ๋ถ์กฑํด์ 1980๋
๋์๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ฃผ๋ก ์ฌ์ฉ๋์๊ณ , 1990๋
๋ ๋ค์ด์๋ ๊ฐ์ฒด ์งํฅํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๊ทธ ๋ค๋ฅผ ์ด์๋ค. ์ดํ๋ก๋ ์ธํฐ๋ท์ ์ฑ์ฅ๊ณผ ํจ๊ป ๋น์ ํ ๋ฐ์ดํฐ์ ๋ํ ๋ ๋น ๋ฅธ ์๋์ ํ๋ก์ธ์ฑ์ ์๊ตฌํ๋ ๊ฒฝํฅ์ ๋ง์ถ์ด NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ฃผ๋ชฉ๋ฐ๊ธฐ ์์ํ์ผ๋ฉฐ, ์ต๊ทผ์๋ ๋ฐ์ดํฐ ์์ง, ์ ์ฅ, ๊ด๋ฆฌ, ํ์ฉ ๋ฐฉ์๊ณผ ๊ด๋ จํด์ ๊ฐ์ํ ํด๋ผ์ฐ๋๋ฅผ ์ด์ฉํ๋ ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ AI์ ๋จธ์ ๋ฌ๋์ ์ด์ฉํ๋ ์์จ๊ตฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๋ก์ด ์์ญ์ ๊ฐ์ฒํ๊ณ ์๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์
/์คํ๋ ๋์ํธ์ ์ฐจ์ด
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ํต์ ์ผ๋ก ์์ ๋ถํฐ ์ฌ์ฉํด์ค๋ ์คํ๋ ๋์ํธ(์: Microsoft Excel)๋ ๋ชจ๋ ์ ๋ณด๋ฅผ ํธ๋ฆฌํ๊ฒ ์ ์ฅํ ์ ์๋ ๋ฐฉ์์ด์ง๋ง ์ฃผ์ ์ฐจ์ด์ ์ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ์กฐ์ ๋ฐฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ์ ์ก์ธ์คํ ์ ์๋ ์ฌ์ฉ์, ๋ฐ์ดํฐ ์ ์ฅ ๊ฐ๋ฅ ์ฉ๋ ๋ฉด์์ ์ฐจ์ด๊ฐ ์๋ค.
์คํ๋ ๋์ํธ๋ ์์
์ ๋ณธ๋ ๋จ์ผ ์ฌ์ฉ์๋ฅผ ์ํด ์ค๊ณ๋์์ผ๋ฉฐ, ๊ทธ ํน์ฑ ๋ํ ์ด๋ฌํ ์ ์ ๋ฐ์ํ๊ณ ์์ด์ ์์ฒญ๋๊ฒ ๋ณต์กํ ๋ฐ์ดํฐ ์กฐ์์ ๋ค์ ์คํํ ํ์๊ฐ ์๋ ๋จ์ผ ์ฌ์ฉ์ ๋๋ ์ ์ ์์ ์ฌ์ฉ์๊ฐ ํ์ฉํ๊ธฐ์ ์ข์ง๋ง, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํจ์ฌ ๋ ๋ง์ ๋ฐฉ๋ํ ์์ ์กฐ์งํ๋ ์ ๋ณด๋ฅผ ๋ณด๊ดํ๋๋ก ์ค๊ณ๋์๊ธฐ ๋๋ฌธ์ ๋ค์์ ์ฌ์ฉ์๊ฐ ๋งค์ฐ ๋ณต์กํ ๋ก์ง๊ณผ ์ธ์ด๋ฅผ ์ฌ์ฉํด์ ๋์์ ์ ์ํ๊ณ ์์ ํ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ์ ์ก์ธ์คํด์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ ์ ์๋ค.
=>์ต๊ทผ์๋ ์์
๋ฑ์์ ๊ณ ๊ธ ํจ์๋ฅผ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋์ Python ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ๋์ฑ ์ธ๋ จ๋๊ณ ์ ๋ฐํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ข ๋ฅ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ค์ํ ์ ํ์ด ์กด์ฌํ๋๋ฐ ํน์ ์กฐ์ง์ ๊ฐ์ฅ ์ ํฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํด๋น ์กฐ์ง์ด ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ํ์ฉํ ๊ฒ์ธ์ง์ ๋ฐ๋ผ ๋ค๋ฅด๋ค๊ณ ๋งํ ์ ์๋ค.
โช ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ทธ ํ์ฉ์ด 1980๋
๋์ ๊ฐ์ฅ ์ง๋ฐฐ์ ์ด์๋๋ฐ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด ํญ๋ชฉ๋ค์ ํ๊ณผ ์ด์ ๊ฐ์ง ์ผ๋ จ์ ํ
์ด๋ธ๋ก ์ฒด๊ณํ๋๋ค. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ ์ ๊ตฌ์กฐํ๋ ์ ๋ณด์ ์ก์ธ์คํ ์ ์๋ ๊ฐ์ฅ ํจ์จ์ ์ด๊ณ ์ ์ฐํ ๋ฐฉ์์ ์ ๊ณตํ๋ค. ์ต๊ทผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ฑฐ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค.
โช ๊ฐ์ฒด ์งํฅํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๊ฐ์ฒด ์งํฅํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด ์ ๋ณด๋ ๊ฐ์ฒด ํํ๋ก ํํ๋๋ฉฐ ์ด๋ฅผ ๊ฐ์ฒด ์งํฅํ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ ๋ถ๋ฅธ๋ค.
โช ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค <- Hadoop
๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์๋ก ๋ค๋ฅธ ๊ณณ์ ์กด์ฌํ๋ ๋ ๊ฐ ์ด์์ ํ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๋์ผํ ๋ฌผ๋ฆฌ์ ์ฅ์์ ๋ถ์ฐ๋์ด ์์นํด ์๊ฑฐ๋ ์๋ก ๋ค๋ฅธ ๋คํธ์ํฌ์ ๋ถ์ฐ๋์ด ์๋ ๋ค์์ ์ปดํจํฐ(๋
ธ๋)์ ๋ณด๊ด๋ ์ ์๋ค.
โช ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค
๋ฐ์ดํฐ ์ค์ ๋ณด๊ด์์ธ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค๋ ์ ์ํ ์ฟผ๋ฆฌ ๋ฐ ๋ถ์์ ์ํด ํน๋ณํ ์ค๊ณ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ ์ค ํ๋์ด๋ค.
โช NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค
NoSQL ๋๋ ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์
๋ ฅ๋๋ ๋ชจ๋ ๋ฐ์ดํฐ์ ๊ตฌ์ฑ๋ฐฉ์์ ์ ์ํด์ผ ํ๋(์คํค๋ง) ์ ํํ ๋ฐ์ดํฐ์ธ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ค๋ฅด๊ฒ, ๋น์ ํ ๋ฐ์ดํฐ์ ๋ฐ์ ํ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ ๋ฐ ์กฐ์๋ ์ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค. NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์น ์ดํ๋ฆฌ์ผ์ด์
์ด ๋ ํํด์ง๊ณ ๋ ๋ณต์กํด์ง์ ๋ฐ๋ผ ํ์ฉ๋๊ฐ ๋์์ง๊ธฐ ์์ํ๋ค.
โช ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ฐ์ฒด, ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฒด ๊ฐ ๊ด๊ณ ์ธก๋ฉด์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
๋ฐ์ดํฐ ๋ณด๊ด์ Node, ๋
ธ๋ ๊ฐ ๊ด๊ณ์ ๋ฐฉํฅ์ฑ ํํ์ Edge, ๊ทธ๋ฆฌ๊ณ Key-Value์ Property๋ก ๊ตฌ์ฑ๋๋๋ฐ SNS, NoSQL, ๋คํธ์ํฌ ๊ด๋ฆฌ ๋ฑ์์ ์ฌ์ฉ๋๋ฉฐ Neo4j, Neptune ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ์ด ์๋ค.
โช OLTP(OnLine Transactional Processing)๊ณผ OLAP(OnLine Analytical Processing) ๋ฐ์ดํฐ๋ฒ ์ด์ค
OLTP ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋น ๋ฅธ ์๋์ ๋ถ์์ฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก์, ๋ค์์ ์ฌ์ฉ์์ ์ํด ์ํ๋๋ ๋ค๋์ ํธ๋์ญ์
์ ์ํด์ ์ค๊ณ๋์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ถ์์ ์์ฃผ๋ก ํ๋ OLAP๋ ์๋ค.
=>์ด๋ค์ ์ค๋๋ ํ์ฉ๋๋ ์์ญ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ ์ค ์ผ๋ถ์ ๋ถ๊ณผํ๊ณ , ์ด์ธ์ ๋ ํํ๊ฒ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ค์ ํน์ ๊ณผํ, ์ฌ๋ฌด ๋๋ ๊ทธ ์ธ ๊ธฐ๋ฅ์ ๋ํด ํนํ๋์ด ์๋ค. ๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ์ ๋ํด์ ํด๋ผ์ฐ๋๋ ์๋ํ์ ๊ฐ์ ๊ธฐ์ ๊ฐ๋ฐ ์ ๊ทผ๋ฐฉ์์ ๋ณํ ๋ฐ ๊ทน์ ์ธ ๋ฐ์ ์ผ๋ก ์ธํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ ํ ์๋ก์ด ๋ฐฉํฅ์ผ๋ก ์งํ๋ฅผ ๊ฑฐ๋ญํ๊ณ ์๋ค.
์ต๊ทผ ๋ฑ์ฅํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก๋
โช ์คํ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค
์คํ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
์ ์์ค ์ฝ๋๊ฐ ์คํ ์์ค์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก SQL ๋๋ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ํฌํจ๋ ์ ์๋ค.
โช ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค
ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ๋ผ์ด๋น, ํผ๋ธ๋ฆญ ๋๋ ํ์ด๋ธ๋ฆฌ๋ ํด๋ผ์ฐ๋ ์ปดํจํ
ํ๋ซํผ์ ์กด์ฌํ๋ ์ ํ/๋น์ ํ ๋ฐ์ดํฐ์ ์งํฉ์ผ๋ก ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ ์ ํ์๋ ์ ํต ๋ฐฉ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋น์คํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(DBaaS:Database as a Service)๊ฐ ์๋ค. DBaaS์ ๊ฒฝ์ฐ, ์๋น์ค ์ ๊ณต์
์ฒด๊ฐ ๊ด๋ฆฌ ์
๋ฌด์ ์ ์ง๋ณด์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋๋ฐ Amazon Web Services (simpleDB, DynamoDB), Enterprise DB(postgreSQL), Garantia Data(Redis, NoSQL), Google cloud SQL(Google), Azure DataSync(MS), MongoLab(MongnoDB), HANA(SAP), stormDB, Xeround, cloudDB for MySQL(MS SQL), SkySQL ๋ฑ์ด ์๋ค.
โช ๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์๋ก ๋ค๋ฅธ ์ ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ์ ๋จ์ผ ํตํฉ ๋ฐฑ์๋์ ๊ฒฐํฉ์ํจ ๊ฒ์ผ๋ก ๋ค์ํ ๋ฐ์ดํฐ ์ ํ์ ์์ฉํ ์ ์๋ค.
โช ๋ฌธ์/JSON ๋ฐ์ดํฐ๋ฒ ์ด์ค
๋ฌธ์ ๊ธฐ๋ฐ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ๊ฒ์ํ๋ฉฐ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์ค๊ณ๋ ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ๊ณผ ์ด์ด ์๋ JSON ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ต์ ๋ฐฉ์์ผ๋ก์จ MongoDB๊ฐ ๋ํ์ ์ด๋ค. JSON์ ๋ฐ์ดํฐ๋ฅผ <key:value> ํฌ๋งท์ผ๋ก ์ ์ฅํ๋ค. Python์์ Dictionary ํํ๊ณผ ๊ฐ๋ค.
โช ์์จ๊ตฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๊ฐ์ฅ ์ต๊ทผ์ ๋ฑ์ฅํ ํ๊ธฐ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ์ธ ์์จ๊ตฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค('์์จ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค'๋ผ๊ณ ๋ ๋ถ๋ฆผ)๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก์จ AI์ ML์ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ๋, ๋ณด์, ๋ฐฑ์
, ์
๋ฐ์ดํธ ๋ฐ ๊ทธ ์ธ ๋ณธ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ์ํํ๋ ์ผ์์ ์ธ ๊ด๋ฆฌ ์
๋ฌด๋ฅผ ์๋์ผ๋ก ์ฒ๋ฆฌํ๊ฒ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
(DBMS)
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ
์ผ๋ก ์๋ ค์ง ํฌ๊ด์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํํธ์จ์ด ํ๋ก๊ทธ๋จ DBMS๋ฅผ ์ฌ์ฉํ๋๋ฐ DBMS๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ต์ข
์ฌ์ฉ์ ๋๋ ํ๋ก๊ทธ๋จ ์ฌ์ด์ ์ธํฐํ์ด์ค๋ก์จ ์ฌ์ฉ์๊ฐ ์ ์ฅ๋ ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ์ฒด๊ณํ, ์ต์ ํ, ๊ฒ์, ์
๋ฐ์ดํธ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ ์ ํ ์ํํ๊ฒ ํด์ค๋ค. ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๊ด๋ฆฌ ๋ฐ ์ ์ด๋ฅผ ๊ฐ๋ฅํ๊ฒ ํด์ ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง, ํ๋, ๋ฐฑ์
, ๋ณต๊ตฌ ๋ฑ๊ณผ ๊ฐ์ ๋ค์ํ ๊ด๋ฆฌ ์์
๋ ์ง์ํ๋ค.
1) MySQL(MariaDB), Oracle, ๊ทธ๋ฆฌ๊ณ (MS) SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค
โช MySQL์ SQL ๊ธฐ๋ฐ์ ์คํ ์์ค(๋ฌด๋ฃ) ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
์ผ๋ก์จ ์น ์ดํ๋ฆฌ์ผ์ด์
์์ ํ์ฉ๋ ์ ์๋๋ก ์ค๊ณ ๋ฐ ์ต์ ํ๋์์ผ๋ฉฐ ์ด๋ค ํ๋ซํผ์์๋ ๊ตฌ๋ ๊ฐ๋ฅํ๋ค. ์ธํฐ๋ท ๋ฐ์ ๊ณผ ํจ๊ป ์๋ก ๋ค๋ฅธ ์๋ก์ด ์๊ตฌ ์ฌํญ๋ค์ด ๋ฑ์ฅํ๊ณ ์๋ ์ค์ฆ ์คํ์์ค์ธ MySQL์ ์น ๊ฐ๋ฐ์๋ค๊ณผ ์น ๊ธฐ๋ฐ ์ดํ๋ฆฌ์ผ์ด์
์์์ ํ์ฉ์ ์ํด์ ์ด๋ง๋ฐ๋ ํ๋ซํผ์ผ๋ก ์๋ฆฌ ์ก๊ณ ์๋ค. ๊ทธ๋ฟ๋ง ์๋๋ผ ์๋ฐฑ๋ง ๊ฑด์ ์ฟผ๋ฆฌ์ ์์ฒ๋ง ๊ฑด์ ํธ๋์ญ์
์ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค๊ณ๋์ด ์์ด์ ๋ค์์ ์ก๊ธ ๋ด์ญ์ ๊ด๋ฆฌํ ํ์๊ฐ ์๋ ์ด์ปค๋จธ์ค ๊ธฐ์
๋ค์ด ๊ฐ์ฅ ์ ํธํ๋ ํ๋ซํผ์ด๊ธฐ๋ ํ๋ฐ ์จ๋๋งจ๋์์์ ์ ์ฐ์ฑ์ MySQL์ด ์ ๊ณตํ๋ ์ฃผ์ ๊ธฐ๋ฅ์ด๋ค.
MySQL์ Airbnb, Uber, LinkedIn, Facebook, Twitter, YouTube ๋ฑ ์ ์ธ๊ณ ์ธ๊ธฐ ์น ์ฌ์ดํธ ๋ฐ ์น ๊ธฐ๋ฐ ์ดํ๋ฆฌ์ผ์ด์
์์ ํ์ฉํ๋ DBMS์ด๋ค. ํ์ฌ MySQL๋ Oracle์ด ์์ ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์คํ ์์ค๋ฅผ ์งํฅํ๋ MySQL ๊ธฐ์ ์๋ค์ด ์๋กญ๊ฒ ์ ๋ณด์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ MariaDB์ด๋ค.
โช Oracle์ Oracle ์ฌ์์ ๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก์จ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์๋ค.
โช MS SQL์ ๊ทธ๋ฅ SQL๋ก๋ ๋ถ๋ฆฌ๋๋ฐ ๋ง์ดํฌ๋ก์ํํธ์์ ๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ฉ์ ๋ชฉ์
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํตํด์ ์กฐ์ง์ ๋น์ฆ๋์ค ์ฑ๊ณผ ๋ฐ ์์ฌ๊ฒฐ์ ์ ๊ฐ์ ํ ์ ์๋ค. SNS๋ IoT ๋ฑ์ ํตํด์ ์์ง๋๋ ๋ค๋์ ๋ฐ์ดํฐ๊ฐ ์ ์ธ๊ณ ๋ชจ๋ ์ด๋ค์ ์ถ๊ณผ ์
๊ณ ์ ๋ฐ์ ๋ณํ๋ฅผ ๊ฐ์ ธ์ค๊ณ ์์ด์ ์ค๋๋ ๊ธฐ์
๋ค์ ๊ทธ ์ด๋ ๋๋ณด๋ค ๋ ๋ง์ ๋ฐ์ดํฐ์ ์ก์ธ์คํ๊ณ ์๋ค. ๋ฏธ๋ ์งํฅ์ ์ธ ๊ธฐ์
๋ค์ ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ์ฉํด์ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ์คํ ๋ฆฌ์ง ๋ฐ ํธ๋์ญ์
์์ ๋ ๋์๊ฐ ๋ค์์ ์์คํ
์ผ๋ก๋ถํฐ ์์งํ ๋ฐฉ๋ํ ์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๊ณ , ์์ ๋ฐ์ดํฐ์ ๊ทธ ์ธ ์ปดํจํ
๋ฐ ๋น์ฆ๋์ค ์ธํ
๋ฆฌ์ ์ค ํด์ ๊ธฐ๋ฐ์ผ๋ก ์์งํ ๋ฐ์ดํฐ๋ฅผ ์ญ๋ถ ํ์ฉํด์ '๋น์ฆ๋์ค๋ฅผ ๋ ํจ์จ์ ์ผ๋ก ์ด์ํ๊ณ ๋ ๋์ ์์ฌ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ฉฐ ๋ ๋ฏผ์ฒฉํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ๊ธฐ์
์ผ๋ก์ ๋ฐ์ ์ ๋๋ชจ'ํ๊ณ ์๋ค.
์์จ ๊ตฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด๋ฌํ ์ญ๋์ ๋ ํฐ ๋ ๊ฐ๋ฅผ ๋ฌ์์ค ์ ์๋ค. ์์จ ๊ตฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋น์ฉ์ด ๋ง์ด ๋ค๊ณ ์๊ฐ ์๋ชจ์ ์ธ ์๋ ํ๋ก์ธ์ค๋ฅผ ์๋ํํด์ฃผ๊ธฐ ๋๋ฌธ์ ๋น์ฆ๋์ค ์ฌ์ฉ์๋ค์ ๋ฐ์ดํฐ์ ๋ํด ๋์ฑ ์ ์ ์ ์ธ ์์ธ๋ฅผ ์ทจํ ์ ์์ผ๋ฉฐ, ๋ํ ์ฌ์ฉ์๋ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๊ณ ์ฌ์ฉํ๋ ๋ฅ๋ ฅ์ ๋ํด ์ง์ ์ ์ธ ์ ์ด๋ฅผ ๊ฐ์ง๋ฏ๋ก ํต์ ๋ ฅ๊ณผ ์์จ์ฑ์ ์ป๋ ๋์์ ์ค์ํ ๋ณด์ ํ์ค์ ๊ณ์ํด์ ์ ์งํ ์ ์๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ ๋์ ๊ณผ์
์ค๋๋ ๋ํ ์ํฐํ๋ผ์ด์ฆ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ข
์ข
๋งค์ฐ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ์ง์ํ๋ฉฐ ์ด๋ฌํ ์ฟผ๋ฆฌ์ ๋ํด ๊ฑฐ์ ์ฆ๊ฐ์ ์ธ ๋์์ ์ ๊ณตํ ๊ฒ์ผ๋ก ๊ธฐ๋๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๋ค์ ์ฑ๋ฅ ๊ฐ์ ์ ๋์ธ ๋ค์ํ ๋ฐฉ๋ฒ๋ค์ ๋ง๋ จํ๋๋ก ๊ณ์ํด์ ์๊ตฌ๋ฐ๊ณ ์๋ค.
์ต๊ทผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๋ค์ด ์ง๋ฉดํ ๊ณตํต์ ์ธ ๋์ ๊ณผ์ ๋ฅผ ์ผ๋ถ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
a) ์๋น ์์ค์ผ๋ก ์ฆ๊ฐํ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ
์ผ์๋ ์ปค๋ฅํฐ๋ ์ฅ์น ๋ฐ ๊ทธ ์ธ ๋ค์์ ๋ฐ์ดํฐ ์์ค๋ก๋ถํฐ ๋์ค๋ ๋ฐ์ดํฐ๊ฐ ํญ๋ฐ์ ์์ค์ ์ด๋ฅด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๋ค์ ์์ฌ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌ ๋ฐ ์ฒด๊ณํํ๊ธฐ ์ํด์ ์ฌํฌ๋ฅผ ๋ฒ์ด๊ณ ์๋ค.
b) ๋ฐ์ดํฐ ๋ณด์์ ๋ณด์ฅ
์ต๊ทผ ๋ฐ์ดํฐ ์นจํด ์ฌ๊ฑด์ด ์ธ๊ณ ๋์ฒ์์ ์ผ์ด๋๊ณ ์์ผ๋ฉฐ, ํด์ปค๋ค์ ์ ์ ๋ ๋
์ฐฝ์ ์ธ ๋ฐฉ์์ ๊ตฌ์ฌํ๊ณ ์๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ ๋ณด์์ ์ ์งํ๋ ๋์์ ์ฌ์ฉ์๋ค์ด ๊ฐํธํ๊ฒ ์ก์ธ์คํ ์ ์๋๋ก ํ๋ ์ผ์ ๊ทธ ์ด๋ ๋๋ณด๋ค ์ค์ํด์ง๊ณ ์๋ค.
c) ๋ฐ์ดํฐ์ ๋ํ ์๋์ ์๊ตฌ์ ๋ถ์
๋น ๋ฅด๊ฒ ๋ณํํ๋ ์ค๋๋ ์ ๋น์ฆ๋์ค ํ๊ฒฝ์์ ๊ธฐ์
๋ค์ ์์์ ์ ํ ์์ฌ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ณ ์๋ก์ด ๊ธฐํ๋ฅผ ์ ๊ทน ํ์ฉํ ์ ์๋๋ก ๋ฐ์ดํฐ์ ๋ํ ์ค์๊ฐ ์ก์ธ์ค๋ฅผ ํ์๋ก ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ ์ํ๊ณ ํธ๋ฆฌํ ์ ๊ทผ์ฑ์ด ํ์ํ๋ค.
d) ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ธํ๋ผ ๊ด๋ฆฌ ๋ฐ ์ ์ง
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๋ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋์ง ๊ณ์ํด์ ์ง์ผ๋ณด๊ณ ์๋ฐฉ ๋ชฉ์ ์ ์ ์ง๊ด๋ฆฌ๋ฅผ ์ํํ๋ ๋์์ ์ํํธ ์
๊ทธ๋ ์ด๋์ ํจ์น๋ฅผ ์ ์ฉํด ์ฃผ์ด์ผ๋ง ํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ ์ ๋ ๋ณต์กํด์ง๊ณ ๋ฐ์ดํฐ์ ์์ด ์ ์ ๋ ์ฆ๊ฐํจ์ ๋ฐ๋ผ, ๊ธฐ์
๋ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ํฐ๋ง ๋ฐ ํ๋์ ์ํด์ ์ถ๊ฐ๋ก ์ธ๋ ฅ์ ๊ณ ์ฉํด์ผ ํ๋ ์ํฉ์ ์ง๋ฉดํด ์๋ค.
e) ํ์ฅ์ฑ๊ณผ ๊ด๋ จ๋ ํ๊ณ ์ ๊ฑฐ
๊ธฐ์
๋ค์ ์์กด์ ์ํด ์ฑ์ฅ์ ๊ฑฐ๋ญํด์ผ ํ๋ฉฐ, ๋ฐ์ดํฐ ๊ด๋ฆฌ ์ญ์ ๋ฐ์ ์ ๊ฑฐ๋ญํด ๋๊ฐ์ผ ํ์ง๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๋ค์ ๊ฒฝ์ฐ, ํนํ ์จ ํ๋ ๋ฏธ์ค(On-Premise) ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ด๋ จํด์๋ ๊ธฐ์
์ด ์ผ๋ง๋ ๋ง์ ์ญ๋์ ์๊ตฌํ ์ง ์์ธกํ๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ค์ด ์ค์ ์ด๋ค.
์ด ๋ชจ๋ ๋์ ๊ณผ์ ๋ฅผ ํด๊ฒฐํ๋ ์ผ์ ์๊ฐ ์๋ชจ์ ์ด ๋ ์ ์์ผ๋ฉฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๋ค์ด ๋ ์ ๋ต์ ์ธ ๊ธฐ๋ฅ์ ์ํํ๋ ๊ฒ์ ๋ฐฉํดํ ์ ์๋ค.
4) ์์จ์ด์ ๊ธฐ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๊ฐ์
์์จ๊ตฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฏธ๋ํ ๊ธฐ์ ๋ก์, ๊ณจ์น ์ํ๊ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ ์ ๊ตฌ๋ํ๊ณ ์ด์ํ๋ ์ผ ์์ด ์ต๊ณ ์ ๊ฐ์ฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ ์ ํ์ฉํ๊ธธ ์ํ๋ ๊ธฐ์
๋ค์๊ฒ ํฅ๋ฏธ๋ก์ด ๊ฐ๋ฅ์ฑ์ ์ ๊ณตํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฏธ๋๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๊ธฐ์ ๊ณผ ๋จธ์ ๋ฌ๋์ ์ฌ์ฉํ๋ ์์จ๊ตฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก์จ ํ๋, ๋ณด์, ๋ฐฑ์
, ์
๋ฐ์ดํธ ๋ฐ ๊ธฐํ ์ผ์์ ์ธ ๊ด๋ฆฌ ์
๋ฌด์ฒ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ์๊ตฌ๋๋ ์๋ง์ ์ผ์ ์
๋ฌด๋ฅผ ์๋ํํด์ฃผ์ด์ ์ง๋ฃจํ ์์
๋ค์ด ์๋ํ๋๋ฏ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๋ค์ ๋ ์ ๋ต์ ์ธ ์
๋ฌด๋ฅผ ์ํํ๋ ๋ฐ ์ง์คํ ์ ์๋ค. ์์จ ๊ตฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ง๋ ์์จ ๊ตฌ๋, ์์จ ๋ณด์, ์์จ ๋ณต๊ตฌ ๊ธฐ๋ฅ์ ์ฑ๋ฅ ๊ฐ์ , ๋น์ฉ ์ ๊ฐ, ๋ณด์ ๊ฐํ๋ฅผ ๋ณด์ฅํด ๊ธฐ์
๋ค์ด ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ๋ณดํธํ๋ ๋ฐฉ์์ ํ์ ์ ๊ฐ์ ธ๋ค ์ค ๊ฒ์ด๋ค.
2017๋
๋ง, ์ต์ด์ ์์จ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๊ณต๊ฐ๋๋ฉฐ, ๋ค์์ ์
๊ณ ๋ถ์๊ฐ๋ค์ ์์จ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ ๊ณผ ์ปดํจํ
๊ณผ ๊ด๋ จํด ์ด ๊ธฐ์ ์ด ์ง๋๋ ์ ์ฌ์ ์ธ ์ํฅ๋ ฅ์ ์ธ์ ํ๊ธฐ ์์ํ๋ค. IDC Perspective 2018๋
2์ํธ์์๋ ์์จ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ ์ด ์ธ๊ณต์ง๋ฅ๊ณผ ๋จธ์ ๋ฌ๋์ ํ์ฉํด ์ํํธ์จ์ด๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ์ธ๊ฐ ๊ฐ์
์ ์ต์ํ ๋๋ ์ ํ ํ์๋ก ํ์ง ์๋๋ก ํ๋ ์ญ๋์ ์ ๊ณตํด ์ํฐํ๋ผ์ด์ฆ ์ํํธ์จ์ด๋ฅผ ๋ ์ฝ๊ฒ ๋ฐฐํฌ, ์ฌ์ฉ ๋ฐ ๊ด๋ฆฌํ ์ ์๋๋ก ํ๋ค๋ ์ ์์ ํธํํ๋ค. ๋ KuppingerCole 2018๋
1์ ๋ณด๊ณ ์(PDF)์์๋ ์ด๋ฌํ ์ ๊ทผ๋ฐฉ์์ ๊ณ ๊ฐ๋ค๋ก ํ์ฌ๊ธ ๋
ธ๋๋ ฅ๊ณผ ๋น์ฉ์ ์ ๊ฐํ๊ฒ ํ ๋ฟ๋ง ์๋๋ผ ์ธ์ ์ค์์ ๋ด/์ธ๋ถ์ ์
์์ ์ธ ํ๋ ๋ชจ๋์ ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณต์๋ ฅ์ ์๋น๋ ๊ฐ์ ์์ผ์ค๋ค๋ ์ ์์ ์์ฒญ๋ ์ ์ฌ์ ์ด์ ์ ์ง๋๋ค๊ณ ์ค๋ช
ํ๋ค. ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ํ ๋ณด์ ๊ธฐ๋ฅ์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ ๋ฟ๋ง ์๋๋ผ ์ต๊ทผ ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก์ ๋ฐ๋ผ ์๋ ๊ตฌ์ฑ๋๋ ๊ด๋ จ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๊ณตํ๋๋ก ์ค๊ณ๋์๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ผ๋ฐ
์ฌ๊ธฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ผ๋ฐ์ ํน์ฑ์ ์ดํด๋ณธ๋ค.
1) ๋ฐ์ด๋ธ์ ๊ตฌ์กฐ
ํ
์ด๋ธ ๊ตฌ์กฐ๋ฅผ ์๊ธฐ ์ํด์๋ Schema๋ฅผ ์์์ผ ํ๋๋ฐ ์คํค๋ง๋ ๋
ผ๋ฆฌ์ ์ธ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ์คํค๋ง ๊ฐ์ฒด์ ๋ชจ์์ด๋ค. ์คํค๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์๊ฐ ์ง์ ํ๋ฉด ํด๋น ์ฌ์ฉ์์ ๊ฐ์ ์ด๋ฆ์ผ๋ก ์ ์ฅ๋๋ค. ๊ฐ ์ฌ์ฉ์๋ ํ๋์ ์คํค๋ง๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , ์คํค๋ง ๊ฐ์ฒด๋ SQL๋ก ์์ฑ๋๊ณ ์กฐ์๋๋ค.
ํ
์ด๋ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋๋๋ฐ ์ด ๊ณต๊ฐ์ Tablespace๋ก ๋ถ๋ฅธ๋ค. ๊ฐ ๋์คํฌ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ ์ฅ๋๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ๊ฐ๊ฐ์ ์คํค๋ง๋ก ์ง์ ๋ ํ
์ด๋ธ๋ค์ด ์ ์ฅ๋๊ฒ ๋๋๋ฐ ํ๋์ ํ
์ด๋ธ์ด ํ ๊ณณ์ ์ ์ฅ๋๋ ๊ฒ์ด ์๋๋ผ ์ฌ๋ฌ ๊ณณ์ ๋ถ์ฐ๋์ด ์ ์ฅ๋๋ค.
SQL ๋ช ๋ น์ด์ ์ข ๋ฅ
๋ค์์ฒ๋ผ SQL์ ๊ธฐ๋ฅ์ ์ธ ๋ฉด์์ ๋ถ๋ฅํ๊ธฐ๋ ํ๋ค.
a. DDL(Data Definition Language : ๋ฐ์ดํฐ ์ ์์ด)
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๋ ์์ฉ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋
ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ธฐ ์ํ ์ธ์ด๋ก์ ์ด๋ฐ ์ ๋ณด๋ ๋ฐ์ดํฐ ์ฌ์ (Data Dictionary)์ ์ ์ฅ ๋๋ค.
=>create : ํ
์ด๋ธ ์์ฑ, alter : ํ
์ด๋ธ ๊ตฌ์กฐ ๋ณ๊ฒฝ, drop : ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ
์ด๋ธ ์ญ์ , rename : ํ
์ด๋ธ ์ด๋ฆ ๋ณ๊ฒฝ, truncate : ํ
์ด๋ธ์ ๋ชจ๋ ๋ด์ฉ ์ ๊ฑฐ(ํ
์ด๋ธ์ ๋จ๊น)๊ฐ ์๋ค.
b. DML(Data Manipulation Language : ๋ฐ์ดํฐ ์กฐ์์ด)
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ธ์ด๋ก์ ๋ฐ์ดํฐ ๊ฒ์, ์ถ๊ฐ, ์ญ์ , ๊ฐฑ์ ์์
์ ์ํํ๋ค.
=>insert : ๋ฐ์ดํฐ ์ฝ์
, delete : ๋ฐ์ดํฐ ์ญ์ , update : ๋ฐ์ดํฐ ์์ . select : ํ
์ด๋ธ์ ์ ์ฅ ๋ ๋ฐ์ดํฐ ์กฐํ, ๋๋ถ๋ถ SQL ๋ฌธ์๋ ์ด select๊ฐ ๋ค์ด ์์ด์ผ ํ๋ค.
c. DCL(Data Control Language : ๋ฐ์ดํฐ ์ ์ด์ด)
๋ฐ์ดํฐ์ ๋ํ ์ ๊ทผ ๊ถํ ๋ถ์ฌ ๋ฑ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
์ ํธ๋์ญ์
(TCL)์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋๋ค.
=>grant : ์ฌ์ฉ์์๊ฒ ํน์ ๊ถํ ๋ถ์ฌ, revoke : ์ฌ์ฉ์๋ก๋ถํฐ ํน์ ๊ถํ ์ ๊ฑฐ
d. TCL(Transaction Control Language : ํธ๋์ ์
์ ์ด์ด)
DML์ ์ํด ๋ณ๊ฒฝ ๋ ๋ด์ฉ์ ์์ฑ ๋ฐ ์ ์ฅ์ด๋ ์ทจ์ํ๋ค.
=>commit(or /) : ๋ณ๊ฒฝ ๋ ๋ด์ฉ์ ์๊ตฌ์ ์ ์ฅ, rollback : ๋ณ๊ฒฝ๋๊ธฐ ์ ์ํ๋ก ๋๋ฆผ, savepoint : ํน์ ์์น๊น์ง ์๊ตฌ ์ ์ฅ ํน์ ์ด์ ์ํ๋ก ๋๋ฆด ์ ์๋๋ก ํธ๋์ญ์
์ค์ ๋ณต์์ ์ํด์ ์์ ์ ์ฅ ์ง์ ์ ๋ง๋ฆ(redo, undo). SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ฉด ๊ฒฐ๊ณผ๊ฐ ์์๋ก ๋ฉ๋ชจ๋ฆฌ ์์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ์๋ฃ๋ ์ทจ์๊ฐ ๊ฐ๋ฅํ๋ค.
CentOS 7์์
yum update && yum -y install mariadb-server
systemctl start mariadb && systemctl enabler mariadb.service
mysql_secrue_installation ํ๊ณ root์ ํจ์ค์๋๋ฅผ ์ง๋ฌธ์ ๋ฐ๋ผ์ ์ ํํด์ฃผ๋ฉด ๋๋ค.
mariaDB์์๋ DB ์ ํ ์(use mysql ์) ํ๋กฌํํธ๊ฐ [(mysql)]# ์์ผ๋ก ํ์๋์ง๋ง mysql> ํ๋กฌํํธ์์๋ ํ์๋์ง ์๋๋ค. ๋๋จธ์ง ์ฌ์ฉ๋ฒ์ mariaDB๋ mysql์์ ๋ชจ๋ ๋์ผํ๋ค.
์ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ ๋์๋
mysql -uroot -prootoorํ๋ฉด ํจ์ค์๋๋ฅผ ์ง์ ํด์ ๋ค์ด๊ฐ์ง๋ง ํจ์ค์๋๊ฐ ๋
ธ์ถ๋๋ค. -uroot๋ -u root๋ ๋์ผํ๋ค.
mysql -u root -p ํ๊ณ ์ด์ด์ rootoor ํจ์ค์๋๋ฅผ ๋ฐ๋ก ๋ฃ์ด์ค ์ ์๋ค.
===>mysql -u root -p rootoorํ๋ฉด ์ค๋ฅ์ด๋ค. -p ๋ค์ ํ ์นธ ๋์ฐ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ ํด์ ๋ค์ด๊ฐ๋ ์
์ด ๋๋ค.
*** 'ip_address:port_number'๋ฅผ socket์ด๋ผ๊ณ ํ๋ค. ์ด๋ ์๋น์ค๋ฅผ ์คํํ ๋ socket ~์ ์ค๋ฅ๋ฅผ ๋ณด์ด๋ฉด
๋๋ถ๋ถ์ ํฌํธ๊ฐ ๋ฐฉํ๋ฒฝ์์ ๋งํ์๊ฑฐ๋, ์๋น์ค๊ฐ ์คํ๋๊ณ ์์ง ์์ ๊ฒฝ์ฐ์ด๋ค.
==>Windows/Linux ์๋ฒ์์์ ์๋น์ค ์คํ์
1) ํด๋น ํจํค์ง๋ฅผ ์ค์นํ๊ณ
2) ํ์ํ๋ฉด ์ค์ ํ์ผ(*.config, *.cnf, ....)์ ๋ณ๊ฒฝํ๊ณ
3) ์๋น์ค๋ฅผ ์์์ํค๊ณ
4) ๋ฐฉํ๋ฒฝ์ ์ด์ด๋๊ณ
5) netstat -nltp |grep port_number/service-name ํด์ ์๋น์ค ์คํ์ฌ๋ถ๋ฅผ ๋ณด๊ณ
6) CentOS์์๋ setenforce 0 ํด์ SELinux์ ๊ถํ์ ๋ฎ์ถฐ๋๊ณ
=>SELinux์ ๊ถํ์ ๋์ธ ์ฑ๋ก ์
๋ ฅ์ ๋ฐ๋๋ค๋ฉด Context๋ฅผ ๋ง์ถฐ์ฃผ๋ฉด ๋๋ค.
7) ์ด์ ํด๋ผ์ด์ธํธ๋ค์ด ๋ค์ด์ค๊ฒ ํ๋ฉด ๋๋ค.
์ค์ตํ๋ฉด ์บก์ณ
๋ชจ๋ ๊ถํ์ root ์ฌ์ฉ์์๊ฒ ํ๊ฐํ๋ค.
์ธ๋ถ ์ ์๋ ํ์ฉํ๋ค.