๐Ÿ“‚๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/๐Ÿ“ŠDBMS

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋…์ •๋ฆฌ + CentOS ๋ฐ Ubuntu์—์„œ ์ž‘๋™

๐Ÿ‘ฉ‍๐ŸŽ“์ธํ…”๋ฆฌ๊ฐ์ž๐Ÿฅ” 2023. 5. 20. 14:01

 ๊ทธ ๋™์•ˆ ๋ฒˆ์•„์›ƒ ๋•Œ๋ฌธ์— ๋ชป์˜ฌ๋ ธ์–ด์š”... ใ… ใ…  ๐Ÿฅฒ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž์ฒด๊ฐ€ ์˜ค๋ž˜๋œ ํ•™๋ฌธ์ด๋ผ ๋‚ด์šฉ๋„ ๊นŠ๊ณ  ์ „๋ฌธ์ ์ด์–ด์„œ ๋ณ„๋„๋กœ ์‹œ๊ฐ„์„ ๋“ค์—ฌ์„œ ๊ณต๋ถ€ํ•ด๋‘์–ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค. ์‹œ์Šคํ…œ-๋„คํŠธ์›Œํฌ-์ •๋ณด๋ณด์•ˆ 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 ์‚ฌ์šฉ์ž์—๊ฒŒ ํ—ˆ๊ฐ€ํ•œ๋‹ค.

์™ธ๋ถ€ ์ ‘์†๋„ ํ—ˆ์šฉํ•œ๋‹ค.