์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
๊ณต์‹ ํ™ˆํŽ˜์ด์ง€

1. ์†Œ๊ฐœ2. ํ˜„์žฌ ์‚ฌ์šฉ์ž๋“ค3. ๊ธฐํƒ€

1. ์†Œ๊ฐœ[ํŽธ์ง‘]

The PostgreSQL Global Development Group์—์„œ ๊ฐœ๋ฐœํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค RDBMS. 1996๋…„์— ์ฒซ ์ถœ์‹œ๋˜์—ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” BSD ๋ผ์ด์„ ์Šค์˜€์œผ๋‚˜ ์–ธ์ œ๋ถ€ํ„ฐ์ธ๊ฐ€ MIT ๋ผ์ด์„ ์Šค ๋น„์Šค๋ฌด๋ฆฌํ•œ ๋…์ž์  ๋ผ์ด์„ ์Šค[1]๋ฅผ ๋”ฐ๋ฅด๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ๋ฐœ์Œ์€ 'ํฌ์ŠคํŠธ๊ทธ๋ ˆ์Šคํ์—˜'์ด๋ผ๊ณ  ํ•œ๋‹ค.[2]

์ „ ์„ธ๊ณ„ ์‚ฌ์šฉ๋ฅ ์€ ์ƒ์œ„ 3๊ฐœ์˜ DB(Oracle DB, MySQL, Microsoft SQL)์— ์ด์–ด 4์œ„์ธ๋ฐ, ๊พธ์ค€ํžˆ ์ƒ์Šนํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ํŠน์ง•์ด๋‹ค. ๋น„๊ต์  ์‚ฌ์šฉ๋ฅ ์ด ๋†’์€ ๊ตญ๊ฐ€๋Š” ๋ถ๋ฏธ์™€ ์ผ๋ณธ. ๋ถ๋ฏธ์—์„œ๋Š” MySQL๊ณผ ๋ฐ˜๋Œ€๋กœ ๊พธ์ค€ํžˆ ๊ตฌ์ธ๋ฅ ์ด ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ผ๋ณธ์—์„œ๋Š” ๊ด€๊ณต์„œ์—์„œ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์ƒ์šฉ์€ ์˜ค๋ผํด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๋ฌด๋ฃŒ๋Š” PostgreSQL๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋ง์ด ์žˆ๋‹ค. ํŠนํžˆ ์ผ๋ณธ์˜ ๊ธฐ์„ฑ ์„ธ๋Œ€ ์—”์ง€๋‹ˆ์–ด๋“ค์€ ์ดˆ๊ธฐ๋ถ€ํ„ฐ PostgreSQL๋ฅผ ์‚ฌ์šฉํ•ด์˜ค๊ณ  ์žˆ์œผ๋ฉฐ ์ Š์€ ์ธต ๊ฐœ๋ฐœ์ž๋“ค ์—ญ์‹œ 2009๋…„์— ์ฌ ๋งˆ์ดํฌ๋กœ์‹œ์Šคํ…œ์ฆˆ๋ฅผ ์˜ค๋ผํด์ด ์ธ์ˆ˜ํ•˜๋ฉด์„œ MySQL ์†Œ์œ ๊ถŒ์— ๋Œ€ํ•œ ์ด์Šˆ ๋•Œ๋ฌธ์— PostgreSQL์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

MySQL์— ๋น„ํ•ด์„œ SQL ํ‘œ์ค€์„ ๋” ์ž˜ ์ง€์›ํ•˜๊ณ  ๊ธฐ๋Šฅ์ด ๋” ๊ฐ•๋ ฅํ•˜๋ฉฐ[3] ์ฟผ๋ฆฌ๊ฐ€ ๋ณต์žกํ•ด์งˆ์ˆ˜๋ก ์„ฑ๋Šฅ์ด ๋” ์ž˜ ๋‚˜์˜ค๋Š” ํŽธ์ด๋‹ค.[4] ํŠนํžˆ PostGIS๋ฅผ ํ†ตํ•œ Geospatial query๋Š” ์˜ค๋ผํด๋งˆ์ € ์”น์–ด์‚ผํ‚ค๋Š” ๊ฐ•๋ ฅํ•จ์„ ์ž๋ž‘ํ•˜๋ฉฐ, Citus ์ต์Šคํ…์…˜์„ ์ด์šฉํ•˜๋ฉด ๊ทธ๋™์•ˆ ์•ฝ์ ์œผ๋กœ ์ง€์ ๋ผ์™”๋˜ ๋ณ‘๋ ฌ ์ธ๋ฑ์‹ฑ๋„ ์†์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•˜๋‹ค.

์—ฌ๋Ÿฌ DBMS ์ค‘์—์„œ๋„ ํŠนํžˆ ๊ฐœ๋ฐœ์ž๋“ค์ด ์„ ํ˜ธํ•˜๋Š” ํŽธ์ด๋ฉฐ ์ถฉ์„ฑ๋„๊ฐ€ ๋†’์€ ํŽธ์ด๊ณ  ์—ฌ๋Ÿฌ ๋‚˜๋ผ์—์„œ ๊ฐœ์ตœ๋˜๋Š” ์ปจํผ๋Ÿฐ์Šค๋‚˜ ์„ธ๋ฏธ๋‚˜๋„ ๊พธ์ค€ํ•œ ํŽธ์ด๋‹ค.

๋Œ€์‹  ๊ธฐ๋ณธ์ ์ธ CRUD ์„ฑ๋Šฅ์ด MySQL ๋“ฑ ๊ฒฝ์Ÿ DB์— ๋น„ํ•ด ์ข‹์ง€ ์•Š์€ ํŽธ์ด๋‹ค. ์šฐ๋ฒ„๊ฐ€ PostgreSQL์„ ๋ฉ”์ธ์œผ๋กœ ์“ฐ๋‹ค๊ฐ€ ๋–จ์–ด์ง€๋Š” ์„ฑ๋Šฅ์œผ๋กœ ์ธํ•œ scalability ๋ฌธ์ œ๋ฅผ ๊ทน๋ณตํ•˜์ง€ ๋ชปํ•˜๊ณ  MySQL๋กœ ์ „ํ™˜ํ•˜๊ธฐ๋„ ํ–ˆ๋‹ค.

์ตœ๊ทผ ์• ํ”Œ์€ MySQL์ด ์˜ค๋ผํด์— ๋„˜์–ด๊ฐ€๋ฉด์„œ ํ–ฅํ›„ ์ผ์–ด๋‚ ์ง€๋„ ๋ชจ๋ฅผ ์ €์ž‘๊ถŒ ๋ถ„์Ÿ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด OS X Lion Server ๋ฒ„์ „์—์„œ๋Š” MySQL์„ ํ‡ด์ถœ์‹œํ‚ค๊ณ  PostgreSQL๋ฅผ ๋„์ž…ํ•˜์˜€๋‹ค. ์–‘ DB๊ฐ„ Migration๋„ ์‰ฌ์šด ํŽธ์ด๋‹ค.

2. ํ˜„์žฌ ์‚ฌ์šฉ์ž๋“ค[ํŽธ์ง‘]

  • Yahoo!: ์œ ์ € ์‚ฌ์šฉํ˜•ํƒœ ๋ถ„์„์— ๊ด€ํ•œ ์ž๋ฃŒ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์“ฐ์ด๊ณ  ์žˆ๋‹ค. ๋ฌผ๋ก , ๋‹ค๋ฃจ๋Š” ์šฉ๋Ÿ‰์ด ์—„์ฒญ๋‚˜๊ฒŒ ํฐ์ง€๋ผ(2 ํŽ˜ํƒ€๋ฐ”์ดํŠธ ์ •๋„๋ผ ํ•œ๋‹ค) ๋งŽ์ด ๊ณ ์ณ์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•˜๋Š” ์ค‘.
  • MySpace: ๋ฐ์ดํ„ฐ ์ €์žฅ์— ์“ฐ์ด๊ณ  ์žˆ๋‹ค. Yahoo!์ฒ˜๋Ÿผ ๋งˆ๊ฐœ์กฐํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋Š” ์•Š๋‹ค.
  • OpenStreetMap
  • Afilias: .org๋‚˜ .info ๋„๋ฉ”์ธ ์ €์žฅ์— ์“ฐ์ธ๋‹ค.
  • Sony Online: ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด ๊ฒŒ์ž„์šฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์“ฐ์ธ๋‹ค.
  • BASF: ์›น ์‡ผํ•‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์šฉ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
  • hi5.com
  • reddit.com
  • Skype: ์ค‘์•™ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
  • Sun xVM
  • MusicBrainz: ์˜จ๋ผ์ธ ์Œ์•… ๋ฐฑ๊ณผ์‚ฌ์ „ ๋ฐ์ดํ„ฐ ์ˆ˜๋ก์šฉ์œผ๋กœ ์“ฐ์ธ๋‹ค.
  • International Space Station: ๊ทธ ์šฐ์ฃผ ์ •๊ฑฐ์žฅ ๋งž๋‹ค. ์ฒœ์ฒด ๊ด€์ธก ์ž๋ฃŒ๋ฅผ ์ €์žฅํ•˜์—ฌ ์ง€์ƒ์—์„œ ๋ถ„์„ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
  • MyYearbook
  • Heroku: ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์šฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ์˜์™ธ๋กœ ์ผ๋ณธ ํšŒ์‚ฌ๊ฐ€ ์•„๋‹ˆ๋‹ค.
  • ZOHO ManageEngine: OpManager, SDP ๋“ฑ์˜ MySQL์„ ์‹ ๋ฒ„์ „๋ถ€ํ„ฐ PostgreSQL๋กœ ๋ณ€๊ฒฝ.
  • KT: ๊ณต๊ฐœSW ๋„์ž…์„ ์œ„ํ•œ ์‹œ๋ฒ” ์‚ฌ์—… ์ถ”์ง„ ๊ฑด์œผ๋กœ CentOS, JBoss EAP ๋“ฑ๊ณผ ํ•จ๊ป˜ ๋„์ž…๋˜์—ˆ๋‹ค.
  • ๋„ํˆฌ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ๋„ ์‚ฌ์šฉ๋œ๋‹ค.

์ด๋ ‡๋“ฏ์ด ์ผ๋ณธ ์™ธ์—๋„ ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์€ ์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

3. ๊ธฐํƒ€[ํŽธ์ง‘]

ํ„ฐ๋ฏธ๋„ ์ฐฝ์— 'psql'์„ ์ž…๋ ฅํ•˜๋ฉด ๊ธฐ๋ณธ ์Šˆํผ์œ ์ €์ธ postgres๋กœ ์ ‘์†ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ํ˜„์žฌ ๋กœ๊ทธ์ธ๋˜์–ด ์žˆ๋Š” ์šด์˜์ฒด์ œ์˜ ๊ณ„์ •์œผ๋กœ ์ ‘์†์„ ์‹œ๋„ํ•˜์—ฌ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋„์šด๋‹ค. ์ด ์—๋Ÿฌ๊ฐ€ ๋ณด๊ธฐ ์‹ซ๋‹ค๋ฉด ์ง์ ‘ postgres๋กœ ์ ‘์†ํ•œ ํ›„ ํ•ด๋‹น ๊ณ„์ •๋ช…๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ์œ ์ €๋ฅผ ์ƒ์„ฑํ•ด ์ฃผ๋ฉด ๋œ๋‹ค.

PostgreSQL ๊ธฐ๋ฐ˜์œผ๋กœ GraphQL ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋งŒ๋“ค์ˆ˜ ์žˆ๋Š” hasura๋ผ๋Š” ๊ธฐ์ˆ ์ด ๋“ฑ์žฅํ–ˆ๋‹ค. ์„œ๋ฒ„ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ˆœ์‹๊ฐ„์— ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
[2] Post+Gres+Q+L๋กœ ๋Š๋Š” ์‹์ด๋‹ค.
[3] ์˜ˆ๋ฅผ ๋“ค๋ฉด MySQL์—๋Š” CTE๋‚˜ Check constraint ๋“ฑ์ด ์—†๋‹ค. CTE๋Š” ๊ฐ๊ฐ MariaDB 10.2, MySQL 8์—์„œ ๊ตฌํ˜„๋˜์—ˆ์œผ๋ฉฐ Check constranints๋Š” MariaDB 10.2์—์„œ ๊ตฌํ˜„๋˜์—ˆ๋‹ค. MySQL์€ ํ˜„์žฌ๊นŒ์ง€๋„ Check constraints๊ฐ€ ์—†๋‹ค.
[4] Genetic query optimizer๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š”, ์œ ์ „ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•œ ์ฟผ๋ฆฌ ์ตœ์ ํ™” ๊ธฐ์ˆ ์ด ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค. MySQL๊ณผ์˜ ์„ฑ๋Šฅ ๋น„๊ต