2022๋…„ 10์›” 31์ผยท5๋ถ„ ์ฝ๊ธฐ

PostgreSQL ๋Œ€ MySQL

PostgreSQL๊ณผ MySQL์€ ์˜ค๋Š˜๋‚  ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ๊ทธ๋“ค๊ณผ ๊ทธ๋“ค์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๋ ค๋ฉด ์ฝ์œผ์‹ญ์‹œ์˜ค!

PostgreSQL ๋Œ€ MySQL

์ธํ„ฐ๋„ท์˜ ๋ฐœ๋‹ฌ๋กœ ๋””์ง€ํ„ธ ๊ณต๊ฐ„์— ๋„˜์ณ๋‚˜๋Š” ์ •๋ณด์˜ ์–‘์€ ์—„์ฒญ๋‚˜๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ์˜ค๋Š˜๋‚  ๋ชจ๋“  ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ™œ์šฉํ•ด์•ผ ํ•˜๋Š” ํ’๋ถ€ํ•œ ์ž์›์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ถ„์„ํ•จ์œผ๋กœ์จ ๊ธฐ์—…์€ ๊ณ ๊ฐ ๋™ํ–ฅ์„ ์ดํ•ดํ•˜๊ณ  ๋ณด๋‹ค ์ƒ์‚ฐ์ ์ด๊ณ  ์„ฑ๊ณต์ ์œผ๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ์—์„œ ํŒจํ„ด์„ ์ฐพ๋Š” ๊ฒƒ์€ ๊ธฐ์—…์ด ๋” ๋‚˜์€ ๊ธฐํšŒ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ๋„ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—†์ด๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์ €์žฅํ•˜๋Š” ๋ชจ๋“  ์›น์‚ฌ์ดํŠธ ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฑ์—”๋“œ์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. PostgreSQL ๊ณผ MySQL์€ ์˜ค๋Š˜๋‚  ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ‚ค๋ฅผ ํ†ตํ•ด ์„œ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ํ…Œ์ด๋ธ”์— ์ •๋ณด๋ฅผ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.

์ด ๋‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ฆด๋ฆฌ์Šค๋  ๋•Œ๋งˆ๋‹ค ์ ์  ๋” ์œ ์‚ฌํ•ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ๊ทธ๋“ค์—๊ฒŒ ์ œ๊ณต๋˜๋Š” ๊ด‘๋ฒ”์œ„ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ง€์›์œผ๋กœ ์œ ๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ MySQL์€ ์„ค์ • ๋ฐ ์šด์˜์ด ๋” ์‰ฌ์šด ๋ณด๋‹ค ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ๋™์‹œ์— PostgreSQL์€ ๊ธฐ๋Šฅ์ด ๋” ํ’๋ถ€ํ•˜๊ณ  ๋” ๋ณต์žกํ•˜๊ณ  ๋ถ„์„์ ์ธ ์ž‘์—…์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋‘˜์€ ๋งŽ์€ ์œ ์‚ฌ์ ๊ณผ ๋ช‡ ๊ฐ€์ง€ ์ฐจ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

PostgreSQL๊ณผ MySQL์˜ ์ผ๋ฐ˜ ๊ฐœ์š”

MySQL์€ ์ˆœ์ „ํžˆ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด์ง€๋งŒ PostgreSQL์€ ํ…Œ์ด๋ธ” ์ƒ์† ๋ฐ ํ•จ์ˆ˜ ์˜ค๋ฒ„๋กœ๋”ฉ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๊ฐ์ฒด ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋˜๋Š” ORDBMS ์ž…๋‹ˆ๋‹ค. SQL ๋˜๋Š” ๊ตฌ์กฐ์  ์ฟผ๋ฆฌ ์–ธ์–ด๋Š” PostgreSQL ๋ฐ MySQL ๋ชจ๋‘์—์„œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ณตํ†ต ์–ธ์–ด์ž…๋‹ˆ๋‹ค.

SQL์€ ๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ์™€ ์ ์€ ์ˆ˜์˜ ์†Œ์Šค ์ฝ”๋“œ ๋ผ์ธ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€๋ถ€๋ถ„์˜ ๋น„๊ธฐ์ˆ ์  ์ง์›์ด ๋น ๋ฅด๊ฒŒ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SQL์€ ๋ถ„์„๊ฐ€๊ฐ€ ๋””์Šคํฌ์—์„œ ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์˜ ์œ„์น˜, ํŠน์ • ์ฃผ๋ฌธ์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋˜๋Š” ์ฃผ๋ฌธ ๋˜๋Š” ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•ด์•ผ ํ•˜๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ๋Š” ์ ์ ˆํ•œ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋„ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜ํ•ด ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค.

๋‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋‘ JSON - JavaScript Object Notation์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ค‘๋ณต ํ‚ค์™€ ๊ณผ๋„ํ•œ ๊ณต๋ฐฑ(JSONB)์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹์˜ JSON๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ์ง€์› ์ฑ„๋„ ์™ธ์—๋„ ๋‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๊ฐ•๋ ฅํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ง€์›๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

MySQL: ์ผ๋ฐ˜ ๊ฐœ์š”

MySQL์€ 1995๋…„ 5์›” 23์ผ ์— ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 2021๋…„ ํ˜„์žฌ 50% ์ด์ƒ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ ๊ฐ€ MySQL์„ ์‚ฌ์šฉ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ์จ MySQL์€ ์ง€๊ตฌ์ƒ์—์„œ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. MySQL์€ ๋น ๋ฅด๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ชฉ์  ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. PostgreSQL์˜ ํฌ๊ด„์ ์ธ ๊ธฐ๋Šฅ ์„ธํŠธ๊ฐ€ ๋ถ€์กฑํ•จ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋‹ค์–‘ํ•œ ์•ฑ, ํŠนํžˆ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋งค์šฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

MySQL์€ ๊ธฐ๋ณธ์ ์œผ๋กœ LAMP ์Šคํƒ์˜ ๊ตฌ์„ฑ ์š”์†Œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๋ถ„์ ์œผ๋กœ ๋™์  ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์„ ํ˜ธ๋˜๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค. LAMP ์Šคํƒ ์€ Linux , Apache HTTP Server , MySQL ๋ฐ PHP ๋กœ ๊ตฌ์„ฑ๋œ ์˜คํ”ˆ ์†Œ์Šค ์˜จ๋ผ์ธ ์•ฑ ์„ธํŠธ์ž…๋‹ˆ๋‹ค. MySQL์€ Joomla ๋ฐ WordPress ๋ฅผ ๋น„๋กฏํ•œ ๋‹ค์–‘ํ•œ ์ฝ˜ํ…์ธ  ๊ด€๋ฆฌ ์†”๋ฃจ์…˜์—์„œ๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

MySQL์€ ์˜คํ”ˆ ์†Œ์Šค์ด๋ฉฐ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Oracle์€ ์ด๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋ฉฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์•ผ ํ•˜๋Š” ์ถ”๊ฐ€ ์„œ๋น„์Šค๊ฐ€ ํฌํ•จ๋œ ํ”„๋ฆฌ๋ฏธ์—„ ๋ฒ„์ „์˜ MySQL์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ฆฌ๋ฏธ์—„ ๋ฒ„์ „์—๋Š” ๋…์  ํ”Œ๋Ÿฌ๊ทธ์ธ, ๋ชจ๋“ˆ ๋ฐ ๊ณ ๊ฐ ์ง€์›์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๊ฑฐ๋‚˜ MySQL์„ ๋ฐฐ์šฐ๋Š” ๋™์•ˆ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ•ด๊ฒฐ ์ง€์›์€ ํ—Œ์‹ ์ ์ธ ์ž์› ๋ด‰์‚ฌ์ž ๊ทธ๋ฃน์—์„œ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ์ง€์›์€ ๋†€๋ž์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•ญ์ƒ ์˜จ๋ผ์ธ ์ฟผ๋ฆฌ๋ฅผ ๋•๊ณ  ์‘๋‹ตํ•  ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ผ์ƒ์ ์ธ ์œ ์ง€ ๊ด€๋ฆฌ ์ผ์ •์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ํ•œ MySQL ์‚ฌ์šฉ์ž๋Š” ์ด๊ฒƒ์ด ๊ฝค ์ผ๊ด€๋œ RDBMS๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์ค‘ ๋ฒ„์ „ ๋™์‹œ์„ฑ ์ œ์–ด ๋˜๋Š” MVCC ๊ธฐ๋Šฅ์€ MySQL์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋˜ํ•œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์•ˆ์ „์„ฑ์„ ๊ฐ•ํ™”ํ•˜๋Š” ์ •๊ธฐ์ ์ธ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฆ๊น๋‹ˆ๋‹ค. 2022๋…„ 7์›” 6์ผ ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฒ„์ „ 8.0.30์ด ๋ฆด๋ฆฌ์Šค๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์‹  ์•ˆ์ • ์—…๋ฐ์ดํŠธ์ž…๋‹ˆ๋‹ค. Facebook, Google, GitHub, NASA ๋“ฑ๊ณผ ๊ฐ™์€ ์ธ๊ธฐ ์žˆ๋Š” ํšŒ์‚ฌ๋Š” ๋ฐฑ์—”๋“œ์—์„œ MySQL ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

PostgreSQL: ์ผ๋ฐ˜ ๊ฐœ์š”

PostgreSQL์€ ์‹ ๋ขฐ์„ฑ, ๋‹ค์–‘์„ฑ ๋ฐ ๊ฐœ๋ฐฉํ˜• ๊ธฐ์ˆ  ํ‘œ์ค€ ์ค€์ˆ˜๋กœ ํ™•๊ณ ํ•œ ๋ช…์„ฑ์„ ์–ป์€ ์˜คํ”ˆ ์†Œ์Šค ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” Postgres๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” 1997๋…„ ์— ์ฒ˜์Œ์œผ๋กœ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. PostgreSQL์€ ์—ฌ๋Ÿฌ ๊ด€๊ณ„ํ˜• ๋ฐ ๋น„๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋ฐ์ดํ„ฐ ํ˜•์‹์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ํ˜„์žฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐ€์žฅ ๊ฐœ๋ฐœ๋˜๊ณ  ์•ˆ์ •์ ์ด๋ฉฐ ์ค€์ˆ˜ํ•˜๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ค‘ ํ•˜๋‚˜๋กœ ์–ธ๊ธ‰๋˜์–ด ์™”์œผ๋ฉฐ ๊นŒ๋‹ค๋กœ์šด ์ฟผ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ํŠน์ • ์‹œ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณต์›ํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ • ์‹œ์  ๋ณต๊ตฌ ๋˜๋Š” PITR ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์ธ์ƒ์ ์ธ ๊ธฐ๋Šฅ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ pgBackRest์™€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ • ์‚ฌํ•ญ์„ ๊ธฐ๋กํ•˜๋Š” ๋ฏธ๋ฆฌ ์“ฐ๊ธฐ ๋กœ๊ทธ ๋˜๋Š” WAL์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋˜ํ•œ ์ €์žฅ ํ”„๋กœ์‹œ์ €๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ์œ ํ•œ ์„œ๋ธŒ๋ฃจํ‹ด์„ ๋งŒ๋“ค๊ณ  ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2022๋…„ 10์›” 13์ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ตœ์‹  ๋ฒ„์ „์ธ PostgreSQL 15 ๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ•๋ ฅํ•œ ํ™•์žฅ ํ™˜๊ฒฝ์„ ํ†ตํ•ด ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ ์œ ํ˜• ๋ฐ ์ง€๋ฆฌ ๊ณต๊ฐ„ ๋ถ„์„๊ณผ ๊ฐ™์€ ์ด๋‹ˆ์…”ํ‹ฐ๋ธŒ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์‰ฝ๊ฒŒ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ ์ถฉ๋ถ„ํžˆ ์กฐ์ • ๊ฐ€๋Šฅํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. PostgreSQL์€ ์˜คํ”ˆ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ผ์ด์„ ์Šค ์ œํ•œ, ๊ณต๊ธ‰์—…์ฒด ์ข…์† ๋ฌธ์ œ ๋˜๋Š” ๊ณผ๋„ํ•œ ๋ฐฐํฌ ์œ„ํ—˜์ด ์—†์Šต๋‹ˆ๋‹ค.

PostgreSQL์€ ํ•„์š”์— ๋งž๊ฒŒ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ƒ์„ฑํ•˜์—ฌ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ DBMS๋ฅผ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ PostgreSQL์„ ์‚ฌ์šฉํ•˜๋ฉด C/C++ , Java ๋“ฑ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ ์–ธ์–ด๋กœ ๋งŒ๋“  ์‚ฌ์šฉ์ž ์ง€์ • ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ „์ž ์ƒ๊ฑฐ๋ž˜ , CRM( ๊ณ ๊ฐ ๊ด€๊ณ„ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ) ๋ฐ ํšŒ๊ณ„ ์›์žฅ๊ณผ ๊ฐ™์€ ์ƒ์—…์  ์šด์˜์„ ์œ„ํ•œ ์˜จ๋ผ์ธ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ํ”„๋กœํ† ์ฝœ์„ ๊ฐ๋…ํ•˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๊ด€๋ฆฌ์ž์—๊ฒŒ PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ตœ์ƒ์˜ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ์—์„œ PostgreSQL์„ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ๋ชฉํ• ๋งŒํ•œ ์ด๋ฆ„์œผ๋กœ๋Š” Apple, Etsy, IMDB, Instagram ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Postgres์™€ MySQL์˜ ์ค‘์š”ํ•œ ์ฐจ์ด์ 

Postgres์™€ MySQL์—๋Š” ๋ช‡ ๊ฐ€์ง€ ์ฐจ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค ์ค‘ ์ผ๋ถ€๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๊ตฌ์ถ•๋œ ๋ฐฉ์‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ๋‹ค๋ฅธ ์ฐจ์ด์ ์€ ๊ธฐ๋Šฅ ๋ฐ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ์žˆ์Šต๋‹ˆ๋‹ค.

GNU General Public License๋Š” MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— PostgreSQL์€ PostgreSQL ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. PostgreSQL์€ ACID์™€ ์™„์ „ํžˆ ํ˜ธํ™˜๋˜์ง€๋งŒ MySQL์€ InnoDB ๋ฐ NDB ํด๋Ÿฌ์Šคํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ํ”„๋กœ์„ธ์„œ์™€ ๊ฒฐํ•ฉ๋  ๋•Œ๋งŒ ACID์™€ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค.

MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” SQL๊ณผ ์•ฝํ•˜๊ฒŒ๋งŒ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒ€์‚ฌ ์ œ์•ฝ ์กฐ๊ฑด์€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด PostgreSQL์€ ์ฃผ๋กœ SQL ํ‘œ์ค€์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ•„์š”ํ•œ ๋งŽ์€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ MySQL์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ์ด ์ค‘์š”ํ•œ ๋ณต์žกํ•œ ๋„คํŠธ์›Œํฌ์—์„œ๋Š” Postgres๊ฐ€ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

MySQL์€ C/C++๋กœ ์ž‘์„ฑ๋˜์—ˆ์ง€๋งŒ Postgres๋Š” C๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MySQL์€ ์บ์Šค์ผ€์ด๋“œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์ง€๋งŒ Postgres๋Š” ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. MySQL์€ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋กœ Workbench GUI๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  Postgres๋Š” PgAdmin์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. MySQL์€ SQL ๊ตฌ๋ฌธ๊ณผ ์ €์žฅ ํ”„๋กœ์‹œ์ €๋ฅผ ์ง€์›ํ•˜๋Š” ๋ฐ˜๋ฉด PostgreSQL์€ ๊ณ ๊ธ‰ ํ”„๋กœ์‹œ์ €์™€ ์ €์žฅ ํ”„๋กœ์‹œ์ €๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

MySQL์— ํ—ˆ์šฉ๋˜๋Š” ์ธ๋ฑ์Šค ์œ ํ˜•์€ ์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ์ด๊ณ  Postgres๋Š” GIN ๋ฐ ํ•ด์‹œ๋ฅผ ๋น„๋กฏํ•œ ๋งŽ์€ ์ธ๋ฑ์Šค ์œ ํ˜•์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. MySQL์€ ๋ณด์•ˆ์„ ์œ„ํ•ด TLS(์ „์†ก ๊ณ„์ธต ๋ณด์•ˆ) ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด Postgres๋Š” SSL ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๊ณ ๊ธ‰ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์ง€์›ํ•˜์ง€ ์•Š์ง€๋งŒ Postgres๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ํฌํ•จํ•œ ๊ณ ๊ธ‰ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹ค๋ฅธ ๊ฒƒ๋ณด๋‹ค ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์„ฑ์žฅ์— ๋งž์ถฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
์•ฑ์ด ํ•„์š”ํ•  ๋•Œ ์ธ์ฆ, ๊ฒฐ์ œ, ๋ฉ”์‹œ์ง• ๋ชจ๋“ˆ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”.
๋ชจ๋“ˆ ์—ฐ๊ฒฐ

MySQL๊ณผ PostgreSQL์—๋Š” ๋ชจ๋‘ ํŠน์ • ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ ๋น›๋‚˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒฝ์šฐ MySQL์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ๋” ๋งŽ์€ ๊ธฐ๋Šฅ๊ณผ ๋ถ„์„ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒฝ์šฐ PostgreSQL์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

DBMS ๊ฐœ๋ฐœ์ž๋Š” ์ž‘์—… ์ค‘์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€์™€ ํ•ด๋‹น ํŠน์ • ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ค‘์—์„œ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž๊ฐ€ MySQL์„ ์„ ํƒํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

MySQL์„ ์‚ฌ์šฉํ•  ๋•Œ ๋‹ค์–‘ํ•œ ์Šคํ† ๋ฆฌ์ง€ ํ”„๋กœ์„ธ์„œ ์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์˜ ์ •๋ณด๋ฅผ ๊ฒฐํ•ฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. MySQL์€ ํŠน์ • SQL ๊ธฐ๋Šฅ์„ ์ œ์™ธํ•˜์—ฌ ์„ฑ๋Šฅ๊ณผ ์‹ ๋ขฐ์„ฑ์„ ์šฐ์„ ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์†Œํ•œ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ์ฝ๊ธฐ ์ „์šฉ์ด๊ณ  ๋™์‹œ์„ฑ์ด ๋†’์€ ์ž‘์—…๊ณผ ๊ด€๋ จํ•˜์—ฌ MySQL์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ์€ ๋ˆˆ์— ๋•๋‹ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋ถ„์„ ์ž‘์—…์— ์ ํ•ฉํ•œ ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋†’์€ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋ฅผ ๋งŽ์ด ์‹คํ–‰ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ PostgreSQL์ด ๋” ๋‚˜์€ ์˜ต์…˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ •๋ ฌ ๋ฒ„ํผ ํฌ๊ธฐ, ์ฝ๊ธฐ ๋ฒ„ํผ ํฌ๊ธฐ, ์ตœ๋Œ€ ํ—ˆ์šฉ ํŒจํ‚ท ๋“ฑ๊ณผ ๊ฐ™์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ˆ˜์ •ํ•จ์œผ๋กœ์จ MySQL์€ MySQL ์„œ๋ฒ„๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์„ ํƒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. MySQL์˜ ๊ด‘๋ฒ”์œ„ํ•œ ์‚ฌ์šฉ ๋•๋ถ„์— MySQL ์ „๋ฌธ ์ง€์‹์„ ๊ฐ–์ถ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž๋ฅผ ์ฐพ๋Š” ๊ฒƒ๋„ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์‚ฌ์šฉ์ž๋Š” ๋‹ค๋ฅธ DBMS ์‹œ์Šคํ…œ๋ณด๋‹ค ๊ตฌ์„ฑ์ด ๋” ๊ฐ„๋‹จํ•˜๊ณ  ๋ฏธ์„ธ ์กฐ์ •์ด ๋œ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ฃผ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Adminer, HeidiSQL ๋“ฑ๊ณผ ๊ฐ™์€ ์—ฌ๋Ÿฌ ํ”„๋ŸฐํŠธ ์—”๋“œ๋Š” MySQL์— ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ณด๋‹ค ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. MySQL์€ ํด๋ผ์šฐ๋“œ์šฉ์œผ๋กœ๋„ ์ค€๋น„๋˜์–ด ์žˆ์œผ๋ฉฐ ๋งŽ์€ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์„œ๋น„์Šค์—๋Š” ์œ ๋ฃŒ๋กœ MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ค์ •ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” MySQL ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž๊ฐ€ PostgreSQL์„ ์„ ํƒํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

PostgreSQL์€ MySQL๋ณด๋‹ค ์•ฝ๊ฐ„ ๋” ๋ณต์žกํ•˜๋ฉฐ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์•ฝ๊ฐ„์˜ ๊ธฐ์ˆ  ์ •๋ณด๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PostgreSQL์€ ๊ฐ์ฒด ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ด€๊ณ„ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ฐ์ฒด ์ง€ํ–ฅ ์ฝ”๋”ฉ ์‚ฌ์ด์˜ ๊ฐ„๊ทน์„ ๋ฉ”์›Œ์ค๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ฐ์ฒด ์ •์˜์™€ ํ…Œ์ด๋ธ” ์ƒ์†์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜์—ฌ ๋ณด๋‹ค ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์—„๊ฒฉํ•œ ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ์— ๋”ฑ ๋“ค์–ด๋งž์ง€ ์•Š๋Š” ์ •๋ณด๋กœ ์ž‘์—…ํ•  ๋•Œ ๊ฐœ์ฒด ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ข‹์Šต๋‹ˆ๋‹ค. PostgreSQL์€ ๊ฒ€์ฆ์ด ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์–ด๋ ค์šด ์ฝ๊ธฐ-์“ฐ๊ธฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋•Œ ํ›Œ๋ฅญํ•œ ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ฝ๊ธฐ ์ „์šฉ ํ™œ๋™์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ ORDBMS๋Š” ํ‰์†Œ๋ณด๋‹ค ๋А๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. NoSQL ๊ธฐ๋Šฅ์„ ์œ„ํ•œ ๋ˆˆ์— ๋„๋Š” ์˜ต์…˜์€ PostgreSQL์ž…๋‹ˆ๋‹ค. JSON, hstore ๋ฐ XML ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜• ์ค‘ ์ผ๋ถ€์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. ๊ณ ์œ ํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜•๊ณผ ๊ณ ์œ ํ•œ ๊ธฐ๋Šฅ๋„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” PostgreSQL์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ํฌ๊ธฐ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PostgreSQL์„ ์„ ํƒํ•˜๋Š” ํšŒ์‚ฌ์˜ ๊ฒฐ์ •์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋˜ ๋‹ค๋ฅธ ์ฃผ์š” ์š”์†Œ๋Š” ๋‹ค์ค‘ ๋ฒ„์ „ ๋™์‹œ์„ฑ ์ œ์–ด(MVCC)์ž…๋‹ˆ๋‹ค. MVCC ๋•๋ถ„์— ์—ฌ๋Ÿฌ ๋ฆฌ๋”์™€ ์ž‘์„ฑ์ž๊ฐ€ PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ์ˆ ์— ํ•œ ๋ฒˆ์— ์—ฐ๊ฒฐํ•˜๊ณ  ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์‚ฌ๋žŒ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋•Œ๋งˆ๋‹ค ์ฝ๊ธฐ-์“ฐ๊ธฐ ์ž ๊ธˆ์˜ ํ•„์š”์„ฑ์„ ์ œ๊ฑฐํ•จ์œผ๋กœ์จ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์Šค๋ƒ…์ƒท ๊ฒฉ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” MVCC์— ์˜ํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์Šค๋ƒ…์ƒท์€ ํŠน์ • ์‹œ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜ ์ˆ˜์ค€์—์„œ PostgreSQL์€ ๋ฐ์ดํ„ฐ ์†์ƒ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์ •๋ณด์˜ ๊ธฐ๋ฐ€์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

PostgreSQL ๋Œ€ MySQL: ์–ด๋А ๊ฒƒ์ด ๋” ๋น ๋ฆ…๋‹ˆ๊นŒ?

๋ณต์žกํ•จ ์—†์ด ๋กœ์ง ์ถ”๊ฐ€
๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ์œผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๊น”๋”ํ•œ API ์—”๋“œํฌ์ธํŠธ๋ฅผ ๊ณต๊ฐœํ•˜์„ธ์š”.
๋ฐฑ์—”๋“œ ๊ตฌ์ถ•

PostgreSQL๊ณผ MySQL์„ ๋น„๊ตํ•˜๋ฉด ๋‘˜ ๋‹ค ๊ฐ€์žฅ ๋น ๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ์˜ต์…˜์ด๋ผ๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์–ด๋А ์ชฝ์ด ๋” ๋น ๋ฅธ์ง€์— ๋Œ€ํ•œ ์งˆ๋ฌธ์€ ์‰ฝ๊ฒŒ ๋Œ€๋‹ตํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์†๋„ ํ…Œ์ŠคํŠธ๋Š” ๋ชจ์ˆœ๋˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋‚ณ์Šต๋‹ˆ๋‹ค.

์†๋„๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•˜๋Š”์ง€์— ๋”ฐ๋ผ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์„ธํŠธ, ๊นŒ๋‹ค๋กœ์šด ๊ฒ€์ƒ‰ ๋ฐ ์ฝ๊ธฐ-์“ฐ๊ธฐ ์ž‘์—…์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ PostgreSQL์€ ๋” ๋น ๋ฅธ ๊ฒƒ์œผ๋กœ ์œ ๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ฝ๊ธฐ ์ „์šฉ ๋ช…๋ น๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ MySQL์ด ๋” ๋น ๋ฅด๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

PostgreSQL ๋Œ€ MySQL: ๋ชจ๋“  ์ปดํ“จํ„ฐ ์–ธ์–ด๊ฐ€ ํ—ˆ์šฉํ•ฉ๋‹ˆ๊นŒ?

MySQL๊ณผ PostgreSQL์€ ๋ชจ๋‘ ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค ์ค‘ ์ผ๋ถ€๋Š” ๋˜ํ•œ ๊ฒน์นฉ๋‹ˆ๋‹ค.

MySQL ์ง€์› ์–ธ์–ด

MySQL์€ ์›ํ™œํ•˜๊ฒŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‹ค์Œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • C/C++
  • PHP
  • ์ž๋ฐ”
  • ๊ฐ€๋‹ค
  • ๋ธํŒŒ์ด
  • ๋ฆฌ์Šคํ”„
  • ์–ผ๋ž‘
  • ๋…ธ๋“œ.js
  • ์•„๋ฅด ์žํ˜•
  • ํŽ„
  • PHP

PostgreSQL ์ง€์› ์–ธ์–ด

PostgreSQL์€ ๋” ๋งŽ์€ ์ˆ˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  • ๊ฐ€๋‹ค
  • C/C++
  • ์ž๋ฐ”
  • ๋ธํŒŒ์ด
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • ์–ผ๋ž‘
  • ๋ฆฌ์Šคํ”„
  • ์•„๋ฅด ์žํ˜•
  • .๊ทธ๋ฌผ
  • Tcl
  • ํŒŒ์ด์ฌ

PostgreSQL ๋Œ€ MySQL: ์–ด๋–ค ์šด์˜ ์ฒด์ œ์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ?

๋ฐ์ดํ„ฐ ๋ชจ๋ธ์—์„œ UI๊นŒ์ง€
ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ๋กœ ์Šคํ‚ค๋งˆ๋ฅผ ์ž‘๋™ํ•˜๋Š” ์›นยท๋ชจ๋ฐ”์ผ ์•ฑ์œผ๋กœ ๋ฐ”๊พธ์„ธ์š”.
์•ฑ ๋งŒ๋“ค๊ธฐ

์—ฌ๋Ÿฌ ์šด์˜ ์ฒด์ œ๊ฐ€ MySQL ๋ฐ PostgreSQL๊ณผ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ MySQL์€ ํด๋ผ์šฐ๋“œ ์ง€์›์„ ์ œ๊ณตํ•˜๋ฉฐ ์‚ฌ์šฉ์ด ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค. MySQL์ด ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์šด์˜ ์ฒด์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ฐฝ
  • Linux - Ubuntu, Oracle, Debian, SUSE, ์ผ๋ฐ˜, Red Hat Enterprises
  • ๋งฅ OS
  • ์˜ค๋ผํด ์†”๋ผ๋ฆฌ์Šค
  • ํŽ˜๋„๋ผ
  • ํ”„๋ฆฌBSD
  • ์˜คํ”ˆ ์†Œ์Šค ๋นŒ๋“œ

์‚ฌ์šฉ์ž๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ Linux ์‹œ์Šคํ…œ์— PostgreSQL์„ ๋ฐฐํฌํ•˜์ง€๋งŒ ์˜จํ”„๋ ˆ๋ฏธ์Šค ์„ค์ • ๋ฐ ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์ง€์›๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ORDBMS๋Š” PostgREST REST API๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. PostgREST๋ผ๋Š” ๋‹จ๋… ์›น SQL ์„œ๋ฒ„๋Š” PostgreSQL ์‹œ์Šคํ…œ์„ RESTful API๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. API ๊ฒฝ๋กœ ๋ฐ ์ž‘์—…์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ธฐ์ˆ ์  ์ œํ•œ ๋ฐ ๊ถŒํ•œ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. PostgreSQL๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” ์šด์˜ ์ฒด์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ฐฝ
  • ๋งฅ OS
  • BSD - ๋ฌด๋ฃŒ ๋ฐ ๊ณต๊ฐœ
  • ์†”๋ผ๋ฆฌ์Šค
  • Linux - Debian, Red Hat ์ œํ’ˆ๊ตฐ Linux, Ubuntu Linux, SuSE, OpenSuSE

PostgreSQL ๋Œ€ MySQL: ์ƒ‰์ธ์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋ฐฉ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”๋กœ ์ž‘์—…ํ•˜๋Š” ๋™์•ˆ SQL ๋ช…๋ น์„ ๊ฐ€์†ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ธ๋ฑ์Šค๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋” ์ž˜ ์ž‘๋™ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ธ๋ฑ์‹ฑํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ๊ฒ€์ƒ‰์ด ํž˜๋“ค๊ณ  ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. PostgreSQL๊ณผ MySQL์„ ๋น„๊ตํ•  ๋•Œ ๋‹ค์–‘ํ•œ ์ธ๋ฑ์‹ฑ ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MySQL์˜ ์ธ๋ฑ์Šค ์œ ํ˜•์—๋Š” B-ํŠธ๋ฆฌ์— ์ €์žฅ๋œ INDEX, PRIMARY KEY, FULLTEXT ๋ฐ UNIQUE์™€ ๊ฐ™์€ ์ธ๋ฑ์Šค๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. MySQL์—๋Š” ๊ณต๊ฐ„ ๋ฐ์ดํ„ฐ์šฉ ์ธ๋ฑ์Šค๋ฅผ ํฌํ•จํ•˜์—ฌ R-ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ์ธ๋ฑ์Šค๋„ ์žˆ์Šต๋‹ˆ๋‹ค. FULLTEXT ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ•ด์‹œ ์ธ๋ฑ์Šค์™€ ์—ญ ๋ชฉ๋ก์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด PostgreSQL ์ธ๋ฑ์Šค ์œ ํ˜•์—๋Š” ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์˜ ์ผ๋ถ€์—์„œ๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ถ€๋ถ„ ์ธ๋ฑ์Šค๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋Š” ์—ด ๊ฐ’์ด ์•„๋‹Œ ํ‘œํ˜„์‹ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ๋ฑ์Šค๋ฅผ ์ž‘์„ฑํ•˜๋Š” ํ‘œํ˜„์‹ ๊ธฐ๋ฐ˜ ์ธ๋ฑ์Šค๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

PostgreSQL๊ณผ MySQL์˜ ์ฝ”๋”ฉ์€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฆ…๋‹ˆ๊นŒ?

๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ์„ ๋” ๋น ๋ฅด๊ฒŒ ์ถœ์‹œ
๋™์ผํ•œ ๋ฐฑ์—”๋“œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” iOSยทAndroid ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ์„ ๋งŒ๋“œ์„ธ์š”.
๋ชจ๋ฐ”์ผ ์•ฑ ๋งŒ๋“ค๊ธฐ

์šฐ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, ๊ธฐ๋Šฅ ๋“ฑ์˜ ์ธก๋ฉด์—์„œ MySQL๊ณผ PostgreSQL ๊ฐ„์˜ ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ์ฐจ์ด์ ์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ ๋ฐ์ดํ„ฐ ์กฐ์ž‘๊ณผ ๊ด€๋ จํ•˜์—ฌ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฆ…๋‹ˆ๊นŒ? MySQL๊ณผ PostgreSQL์˜ ์ฝ”๋”ฉ์€ ๋ช‡ ๊ฐ€์ง€ ์œ ์‚ฌ์ ์ด ์žˆ์ง€๋งŒ ๋งŽ์€ ์ฐจ์ด์ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

MySQL์€ ์ด ๊ฒฝ์šฐ๋ฅผ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์บ๋ฆญํ„ฐ์˜ ๋Œ€์†Œ๋ฌธ์ž์— ๋ฏผ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์กด์žฌํ•˜๋Š” ๊ทธ๋Œ€๋กœ ๋ฌธ์ž์—ด์„ ๋Œ€๋ฌธ์ž๋กœ ์ง€์ •ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. PostgreSQL์€ ์‚ฌ๋ก€๋ฅผ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค. ์บ๋ฆญํ„ฐ์˜ ๊ฒฝ์šฐ์— ๋ฏผ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋Œ€๋ฌธ์ž๋กœ ๋œ ๋ฌธ์ž์—ด๊ณผ ๋Œ€๋ฌธ์ž๋กœ ์“ฐ์ง€ ์•Š์€ ๋ฌธ์ž์—ด์€ ๋‘ ๊ฐœ์˜ ๋‹ค๋ฅธ ๋ณ€์ˆ˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰์ด ์„ฑ๊ณตํ•˜๋ ค๋ฉด ๋ฌธ์ž์—ด์ด ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์ •ํ™•ํ•˜๊ฒŒ ๋Œ€๋ฌธ์ž๋กœ ํ‘œ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

MySQL์˜ ํŠน์ • ๋ณ€ํ˜•์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฌธ์ž ์ธ์ฝ”๋”ฉ๊ณผ ๋ฌธ์ž์—ด์„ UTF-8๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. PostgreSQL์„ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ ๋ฌธ์ž์™€ ๋ฌธ์ž์—ด์„ UTF-8๋กœ ๋ณ€๊ฒฝํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ PostgreSQL์€ UTF-8 ๊ตฌ๋ฌธ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

MySQL์—์„œ๋Š” IF o IFNULL ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. IF ๋ฐ IFNULL ํ‘œํ˜„์‹์€ PostgreSQL์—์„œ ์œ ํšจํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜๋Š” CASE ๋ฌธ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด MySQL๊ณผ PostgreSQL๋กœ ์ฝ”๋”ฉํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์ฃผ์š” ์ฐจ์ด์ ์ž…๋‹ˆ๋‹ค.

์ฝ”๋“œ ์—†๋Š” ๊ฐœ๋ฐœ

ํ”„๋กœํ† ํƒ€์ž…์œผ๋กœ ์ ‘๊ทผ๋ฒ• ๋น„๊ต
๋น ๋ฅธ ํ”„๋กœํ† ํƒ€์ž…์„ ๋งŒ๋“ค์–ด PostgreSQL๊ณผ MySQL ์•„์ด๋””์–ด๋ฅผ ํ…Œ์ŠคํŠธํ•ด๋ณด์„ธ์š”.
์ง€๊ธˆ ํ”„๋กœํ† ํƒ€์ž…

์ฝ”๋“œ๊ฐ€ ์—†๋Š” ๊ฐœ๋ฐœ์€ ์ผ๋ฐ˜ ๋Œ€์ค‘์ด ์†Œํ”„ํŠธ์›จ์–ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•œ๋•Œ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋งŒ ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ผ์ด ์ด์ œ๋Š” ํ›จ์”ฌ ๋” ์‰ฝ๊ฒŒ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ์ฝ”๋“œ ์—†๋Š” ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋ž˜๋จธ์™€ ๋น„ ํ”„๋กœ๊ทธ๋ž˜๋จธ ๋ชจ๋‘ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ์„ค์ •์„ ํ†ตํ•ด ์†Œํ”„ํŠธ์›จ์–ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜๋‚  ์ฝ”๋”ฉ์ด ์ฝ”๋“œ ์—†์ด ํ›จ์”ฌ ๋” ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ์— ๋”ฐ๋ผ ์‚ฌ๋žŒ๋“ค์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์ด ๋ฐ”๋€Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜๋‚  AppMaster์™€ ๊ฐ™์€ ๋…ธ์ฝ”๋“œ ํ”Œ๋žซํผ์˜ ๋„์›€์œผ๋กœ ์ตœ์†Œํ•œ์˜ ์ฝ”๋”ฉ ๊ธฐ์ˆ ๋กœ๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋žซํผ๊ณผ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๋†€๋ผ์šด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑํ•œ ์†Œ์Šค ์ฝ”๋“œ์˜ ๋น„ํ–‰์— ๋Œ€ํ•ด์„œ๋„ ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์†Œ์Šค ์ฝ”๋“œ๋Š” ๊ท€ํ•˜์˜ ์†Œ์œ ์ž…๋‹ˆ๋‹ค. ๊ฐœ์ฒด๋ฅผ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญํ•˜๊ณ  ํŽธ์ง‘ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppMaster์—๋Š” ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ๋น„์ฃผ์–ผ ๋””์ž์ด๋„ˆ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ด€๋ฆฌํ•˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌ์ž์šฉ ์›น ๊ด€๋ฆฌ์ž ํŒจ๋„์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AppMaster.io ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋””์ž์ด๋„ˆ ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์žกํ•œ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ˆ˜์ค€์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‰ฝ๊ฒŒ ๋””์ž์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๊ณ ๊ธ‰ DBMS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ PostgreSQL์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์•ˆ์ •์„ฑ๊ณผ ๋‚ด๊ฒฐํ•จ์„ฑ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. DBMS๋Š” ์˜คํ”ˆ ๋ผ์ด์„ ์Šค๊ฐ€ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์— ๋Œ€ํ•ด ์ถ”๊ฐ€ ๋น„์šฉ์„ ์ง€๋ถˆํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

์šฐ๋ฆฌ๋Š” ์œ„์—์„œ MySQL๊ณผ PostgreSQL์„ ๋‚˜๋ˆ„๋Š” ์ฃผ์š” ์ฐจ์ด์ ์„ ๋‹ค๋ฃจ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ด์ ์„ ์•Œ๊ณ  ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ณด๋‹ค ๋” ์ž˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋™์•ˆ ์˜ฌ๋ฐ”๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ์„ ํƒํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋ณต์žกํ•œ ๊ฒ€์ƒ‰์„ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ๋ฅผ ๊ธฐ์—… ๋ฒ”์œ„๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ํ’๋ถ€ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ์ˆ ์„ ์ฐพ๊ณ  ์žˆ๋‹ค๋ฉด PostgreSQL์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ์œ ์ง€ ๊ด€๋ฆฌ ๋ฐ ์„ค์ •์ด ๋” ๊ฐ„๋‹จํ•˜๋ฉด์„œ๋„ ์—ฌ์ „ํžˆ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ณ  ๋น ๋ฅด๋ฉฐ ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฐพ๋Š” ์ดˆ๋ณด์ž๋ผ๋ฉด MySQL์„ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ๋‘˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด ๋‘˜ ๋‹ค ํ…Œ์ŠคํŠธํ•œ ๋‹ค์Œ ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋Šฅ๊ณผ ๋ณต์žก์„ฑ์— ๋”ฐ๋ผ MySQL ๋˜๋Š” PostgreSQL์ด ์˜ฌ๋ฐ”๋ฅธ ์„ ํƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„์Šทํ•œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” MongoDB ๋˜๋Š” MariaDB์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋Œ€์•ˆ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  MySQL๊ณผ PostgreSQL์€ DBMS ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

์‰ฌ์šด ์‹œ์ž‘
๋ฉ‹์ง„๋งŒ๋“ค๊ธฐ

๋ฌด๋ฃŒ ์š”๊ธˆ์ œ๋กœ AppMaster๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.
์ค€๋น„๊ฐ€ ๋˜๋ฉด ์ ์ ˆํ•œ ๊ตฌ๋…์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๋‹ค
PostgreSQL ๋Œ€ MySQL | AppMaster