Postgresยฎ: ์ „ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ์‚ฌ๋ž‘๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

EDB๋Š” 2006๋…„๋ถ€ํ„ฐ ์ฃผ์š” Postgres ๋ฆด๋ฆฌ์Šค๋งˆ๋‹ค ์ฝ”๋“œ, ๊ธฐ๋Šฅ, ๋ฒ„๊ทธ ์ˆ˜์ •์— ๊ธฐ์—ฌํ•ด ์˜จ ํ•ต์‹ฌ ๊ธฐ์—ฌ์ž์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Postgres ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์œ„ํ•œ EDB์˜ ์ง€์›์€ ์—ฌ๊ธฐ์„œ ๋ฉˆ์ถ”์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์™œ Postgres์ธ๊ฐ€?

Postgres๋Š” AI ์‹œ๋Œ€๋ฅผ ์œ„ํ•œ ๋„ค์ดํ‹ฐ๋ธŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์•„ํ‚คํ…์ฒ˜์— ์žˆ์Šต๋‹ˆ๋‹ค.

์˜คํ”ˆ์†Œ์Šค ๋ผ์ด์„ ์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” Postgres๋Š” ์กฐ์ง์— ์ง„์ •ํ•œ ์ž์œ ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋…์  ๊ธฐ์ˆ ์— ์–ฝ๋งค์ผ ํ•„์š”๋„, ๊ณ„์•ฝ์œผ๋กœ ์ธํ•œ ๋ฒค๋” ์ข…์†์„ ๊ฑฑ์ •ํ•  ํ•„์š”๋„ ์—†์Šต๋‹ˆ๋‹ค.

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

๋˜ํ•œ Postgres์˜ ์‹ ๋ขฐ์„ฑ์€ 1996๋…„๋ถ€ํ„ฐ ๋ชจ๋“  ๋ฆด๋ฆฌ์Šค์—์„œ ๊ณต๊ฐœ์ ์œผ๋กœ ๊ฒ€์ฆ๋˜๋ฉฐ ๋ฐœ์ „ํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ๊ฐœ์„ , ๊ณ ๊ฐ€์šฉ์„ฑ ๊ธฐ๋Šฅ, ๋ณด์•ˆ ๊ฐ•ํ™”๊นŒ์ง€ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋ˆ„๊ตฌ๋‚˜ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋ฒ ์ด์Šค์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

ํ•จ๊ป˜ ๋งŒ๋“ค์–ด๊ฐ€๋Š” Postgres์˜ ๋ฏธ๋ž˜

PostgreSQL์˜ ๊ฐ•์ ์€ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์—”์ง€๋‹ˆ์–ด, ๊ธฐ์—ฌ์ž, ๊ทธ๋ฆฌ๊ณ  ๋‹ค์–‘ํ•œ ์กฐ์ง์ด ํ•จ๊ป˜ ๋งŒ๋“ค์–ด ์˜จ PostgreSQL์€ ์ „ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ์‚ฌ๋ž‘๋ฐ›๊ณ , ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ฐ€์žฅ ๋งŽ์€ ์„ ํƒ์„ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ž๋ฆฌ ์žก์•˜์Šต๋‹ˆ๋‹ค. EDB๋Š” PostgreSQL ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ํ•ต์‹ฌ ๊ธฐ์—ฌ์ž๋กœ์„œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ, ํ•ต์‹ฌ ํ”„๋กœ์ ํŠธ ์œ ์ง€, ๊ทธ๋ฆฌ๊ณ  ์ฐจ์„ธ๋Œ€ ์˜คํ”ˆ์†Œ์Šค ๊ฐœ๋ฐœ์ž ์–‘์„ฑ์„ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆซ์ž๊ฐ€ ์ด๋ฅผ ์ฆ๋ช…ํ•ฉ๋‹ˆ๋‹ค. 

27๋ช…

๊ณต์‹ ๊ธฐ์—ฌ์ž

15๋ช…

์ปค๋ฎค๋‹ˆํ‹ฐ ์šด์˜์ง„

7๋ช…

์ปค๋ฏธํ„ฐ

19๋ช…

์ปค๋ฎค๋‹ˆํ‹ฐ ์ž์›๋ด‰์‚ฌ์ž

20๋ช…

2025๋…„ PostgreSQL ํŒจ์น˜ ์ž‘์„ฑ์ž

22๊ฐœ

2025๋…„ ํ›„์› ์ปค๋ฎค๋‹ˆํ‹ฐ ์ปจํผ๋Ÿฐ์Šค

165ํšŒ

2025๋…„ ๋ฐœํ‘œ ์„ธ์…˜

55K LOC

PG18 ๊ธฐ์—ฌ ์ฝ”๋“œ ๋ผ์ธ

Postgres Vitality Index๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

Postgres๋Š” ์‹ ๋ขฐ๋ฐ›๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์—์„œ ํ˜„๋Œ€์ ์ธ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ AI๋ฅผ ์œ„ํ•œ ์ „๋žต์  ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐœ์ „ํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์ƒ์šฉ ๊ธฐ์—…๋“ค์ด ์ด ๊ธ€๋กœ๋ฒŒ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ์ง€์†์ ์œผ๋กœ ์ง€์›ํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด Postgres Vitality Index๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

Index์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜๊ณ  EDB๊ฐ€ Postgres์˜ ํ•ต์‹ฌ ๊ด€๋ฆฌ ์ฃผ์ฒด๋กœ์„œ ์ฃผ์š” ๊ธฐ์—ฌ์˜ 30% ์ด์ƒ์„ ์ด๋Œ๊ณ  ์žˆ๋Š” ์ด์œ ๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”.

์—ฐํ˜

๋ฒ„์ „๋งˆ๋‹ค ์Œ“์•„์˜จ ํ˜์‹ 

Postgres๋Š” 1986๋…„ Michael Stonebraker์™€ ๊ทธ์˜ ์—ฐ๊ตฌํŒ€์ด ํฌ์ŠคํŠธ ๋ฆด๋ ˆ์ด์…”๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ฐ€๋Šฅ์„ฑ์„ ์—ฐ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด UC Berkeley์—์„œ ์‹œ์ž‘ํ•œ ํ”„๋กœ์ ํŠธ์˜€์Šต๋‹ˆ๋‹ค. 1996๋…„์—๋Š” ์˜คํ”ˆ์†Œ์Šค PostgreSQL๋กœ ๋ฐœ์ „ํ–ˆ๊ณ , EDB๊ฐ€ ์„ค๋ฆฝ๋œ 2004๋…„์—๋Š” ์ด๋ฏธ ๋›ฐ์–ด๋‚œ ์•ˆ์ •์„ฑ๊ณผ ์‹ ๋ขฐ์„ฑ์„ ์ธ์ •๋ฐ›๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. EDB๋Š” ์„ค๋ฆฝ ์ดˆ๊ธฐ๋ถ€ํ„ฐ Postgres๊ฐ€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ‘œ์ค€์ด ๋  ๊ฒƒ์ด๋ผ๊ณ  ๋ฏฟ์—ˆ์Šต๋‹ˆ๋‹ค. 40๋…„์— ๊ฑธ์นœ ์˜คํ”ˆ์†Œ์Šค ํ˜์‹ ๊ณผ ํ˜‘์—…์˜ ์—ฌ์ •์„ ์ธํฌ๊ทธ๋ž˜ํ”ฝ์œผ๋กœ ํ™•์ธํ•ด ๋ณด์„ธ์š”. 

2006: v8.2

EDB๋Š” WAL ๋ณต๊ตฌ ์ค‘ ์ฃผ๊ธฐ์  ์ฒดํฌํฌ์ธํŠธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ๊ธฐ์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์žฅ์•  ๋ฐœ์ƒ ํ›„์—๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์˜จ์ „ํ•œ ์ƒํƒœ๋กœ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ฐ˜ ๊ธฐ์ˆ ์ด ๋˜์—ˆ์œผ๋ฉฐ, ํ•ต์‹ฌ ์›์น™์€ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋„ ๋‚จ๊ธฐ์ง€ ์•Š๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

2007: v8.3

Apple์ด iPhone์„ ์ถœ์‹œํ•˜๋ฉฐ ๋Œ€๊ทœ๋ชจ ํ™˜๊ฒฝ์—์„œ์˜ ์„ฑ๋Šฅ ๊ธฐ์ค€์„ ์ƒˆ๋กญ๊ฒŒ ์ •์˜ํ•œ ํ•ด์˜€์Šต๋‹ˆ๋‹ค. EDB๋Š” Heap Only Tuples(HOT) ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์— ๊ธฐ์—ฌํ•ด ์“ฐ๊ธฐ ์ž‘์—…์ด ๋งŽ์€ ์›Œํฌ๋กœ๋“œ์—์„œ ํ…Œ์ด๋ธ” ๋น„๋Œ€ํ™”๋ฅผ ์ค„์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ, ๋†’์€ ๋ถ€ํ•˜์˜ ์‹œ์Šคํ…œ์—์„œ๋„ ์„ฑ๋Šฅ์„ ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2009: v8.4

pg_get_keywords๋Š” ๊ด€๋ฆฌ ๋„๊ตฌ๊ฐ€ Postgres ๋ฒ„์ „์— ๋”ฐ๋ผ ํ‚ค์›Œ๋“œ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜์—ฌ ๋ฒ„์ „๋ณ„ ์ฐจ์ด๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž‘์€ ๊ธฐ๋Šฅ์ด์ง€๋งŒ, ์—ฌ๋Ÿฌ ํ™˜๊ฒฝ์„ ์šด์˜ํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์šด์˜ ํšจ์œจ์„ฑ์„ ํฌ๊ฒŒ ๋†’์ธ ๊ฐœ์„ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

2010: v9.0

Hot Standby๊ฐ€ ๋„์ž…๋˜๋ฉด์„œ ์ฝ๊ธฐ ์ „์šฉ ์ฟผ๋ฆฌ์™€ ์žฅ์•  ๋ณต๊ตฌ๋ฅผ ์œ„ํ•œ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์ธํ”Œ๋ ˆ์ด์Šค ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ๋”ํ•ด์ง€๋ฉด์„œ ์ฃผ์š” ๋ฒ„์ „ ์ „ํ™˜ ์‹œ ์„œ๋น„์Šค ์ค‘๋‹จ ์‹œ๊ฐ„์„ ํš๊ธฐ์ ์œผ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2011: v9.1 & 9.2

64์ฝ”์–ด๊นŒ์ง€ ์„ ํ˜•์ ์ธ ์ฝ๊ธฐ ํ™•์žฅ์„ฑ์„ ์ง€์›ํ•˜๋ฉฐ Postgres๋Š” ํ˜„๋Œ€์ ์ธ ํ•˜๋“œ์›จ์–ด ํ™˜๊ฒฝ์— ๋ณธ๊ฒฉ์ ์œผ๋กœ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋™๊ธฐ์‹ ๋ณต์ œ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์–ด ๋ฐ์ดํ„ฐ ์†์‹ค์ด ์—†๋Š” ๊ณ ๊ฐ€์šฉ์„ฑ์˜ ๊ธฐ๋ฐ˜์ด ๋งˆ๋ จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2012: v9.2

์ธ๋ฑ์Šค ์ „์šฉ ์Šค์บ”(Index-Only Scan)์œผ๋กœ ์ฟผ๋ฆฌ ์‹คํ–‰ ํšจ์œจ์ด ํ•œ์ธต ๋†’์•„์กŒ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ MySQL Foreign Data Wrapper๋ฅผ ํ†ตํ•ด MySQL์—์„œ Postgres๋กœ์˜ ์‹ค์งˆ์ ์ธ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฒฝ๋กœ๊ฐ€ ๋งˆ๋ จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2013: v9.3

Materialized View๊ฐ€ ๋„์ž…๋˜์–ด ์ž์ฃผ ์กฐํšŒ๋˜๋Š” ๋ฐ์ดํ„ฐ์— ๋” ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Postgres๊ฐ€ ๋ถ„์„ ์›Œํฌ๋กœ๋“œ์—์„œ๋„ ๊ฒฝ์Ÿ๋ ฅ์„ ๊ฐ–์ถœ ์ˆ˜ ์žˆ์Œ์„ ๋ณด์—ฌ์ค€ ์ฒซ ๋ฒˆ์งธ ์ค‘์š”ํ•œ ์ด์ •ํ‘œ์˜€์Šต๋‹ˆ๋‹ค.

2014: v9.4

๋™์‹œ ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋จธํ‹ฐ๋ฆฌ์–ผ๋ผ์ด์ฆˆ๋“œ ๋ทฐ์™€ pg_prewarm, ALTER SYSTEM์ด ์ถ”๊ฐ€๋˜๋ฉด์„œ ๋ถ„์„ ๊ธฐ๋Šฅ๊ณผ ์šด์˜ ์ œ์–ด ์—ญ๋Ÿ‰์ด ํ•œ์ธต ๊ฐ•ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ MongoDB์™€ Hadoop Foreign Data Wrapper๋ฅผ ํ†ตํ•ด Postgres์˜ ํ™œ์šฉ ๋ฒ”์œ„๊ฐ€ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ํ™˜๊ฒฝ์œผ๋กœ ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2015: v9.5

OpenAI๊ฐ€ ์„ค๋ฆฝ๋œ ํ•ด, EDB๋Š” ํ›—๋‚  AI ์›Œํฌ๋กœ๋“œ์˜ ๊ธฐ๋ฐ˜์ด ๋  ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ์ธํ”„๋ผ ๊ฐœ๋ฐœ์— ๊ธฐ์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ •๋ ฌ, ์ธ๋ฉ”๋ชจ๋ฆฌ ํ•ด์‹œ, ๋™์‹œ์„ฑ ์ž ๊ธˆ ๊ธฐ๋Šฅ๋„ ํ•จ๊ป˜ ๊ฐœ์„ ๋˜์–ด ์ผ๋ฐ˜์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์˜ ์„ฑ๋Šฅ์ด ํ•œ์ธต ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2016: v9.6

๋ณ‘๋ ฌ ์ฟผ๋ฆฌ ๊ธฐ๋Šฅ์ด ๋„์ž…๋˜์–ด CPU ์ฝ”์–ด์— ์ฟผ๋ฆฌ ์‹คํ–‰์„ ๋ถ„์‚ฐํ•จ์œผ๋กœ์จ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹ ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋™๊ธฐ์‹ ๋ณต์ œ ๊ธฐ๋Šฅ์ด ๋”์šฑ ๊ฐ•ํ™”๋˜๋ฉด์„œ 99.999%์˜ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ฐ˜์ด ๋งˆ๋ จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2017: v10

๋…ผ๋ฆฌ์  ๋ณต์ œ, ํ–ฅ์ƒ๋œ ๋ณ‘๋ ฌ ์ฟผ๋ฆฌ, ๋‚ด๊ตฌ์„ฑ์ด ๊ฐ•ํ™”๋œ ํ•ด์‹œ ์ธ๋ฑ์Šค, ๊ทธ๋ฆฌ๊ณ  postgres_fdw์˜ ์กฐ์ธ ๋ฐ ์ง‘๊ณ„ ํ‘ธ์‹œ๋‹ค์šด ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด Postgres๋Š” ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ์œผ๋กœ์„œ์˜ ๊ฒฝ์Ÿ๋ ฅ์„ ํ•œ์ธต ๊ฐ•ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

2018: v11

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

2019: v12

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

2020: v13

์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๋ถ„์‚ฐ ์šด์˜ ํ™˜๊ฒฝ์ด ํ™•์‚ฐ๋˜๋ฉด์„œ Postgres๋„ ์ด์— ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ•ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. pg_verifybackup์„ ํ†ตํ•ด ๊ฐ์‚ฌ ๊ฐ€๋Šฅํ•œ ๋ฐฑ์—… ๋ฌด๊ฒฐ์„ฑ์„ ์ง€์›ํ•˜๊ณ , ๋” ํฐ ์›Œํฌ๋กœ๋“œ๋ฅผ ์œ„ํ•œ ๋…ผ๋ฆฌ์  ๋ณต์ œ๋ฅผ ๊ฐœ์„ ํ–ˆ์œผ๋ฉฐ, ์ฆ๋ถ„ ์ •๋ ฌ(Incremental Sort)์„ ๋„์ž…ํ•ด ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹ ์ฟผ๋ฆฌ์˜ ํšจ์œจ์„ ๋†’์˜€์Šต๋‹ˆ๋‹ค.

2021: v14

SSL ์—ฐ๊ฒฐ์—์„œ Server Name Indication(SNI)์„ ์ง€์›ํ•˜๊ณ , ๊ธฐ๋ณธ ์ธ์ฆ ๋ฐฉ์‹์„ SCRAM-SHA-256์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ์œผ๋ฉฐ, ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ์„œ ์ธ์ฆ์— Distinguished Name(DN) ๋งค์นญ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœํ† ์ฝœ ์ˆ˜์ค€์˜ ๋ณด์•ˆ์ด ํ•œ์ธต ๊ฐ•ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2022: v15

MERGE ์ง€์›์œผ๋กœ ๋ ˆ๊ฑฐ์‹œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ๋•Œ์˜ ์ฃผ์š” ์žฅ์•  ์š”์†Œ ํ•˜๋‚˜๊ฐ€ ํ•ด์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์„ ํƒ์  ๋ณต์ œ๋ฅผ ์œ„ํ•œ ์—ด ๋ฐ ํ–‰ ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์–ด ์กฐ์ง์€ ๋ฐ์ดํ„ฐ์˜ ๋ณต์ œ ๋Œ€์ƒ๊ณผ ๋ฒ”์œ„๋ฅผ ๋”์šฑ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2023: v16

์ธ๋„๊ฐ€ ์ค‘๊ตญ์„ ์ œ์น˜๊ณ  ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ์ธ๊ตฌ๊ฐ€ ๋งŽ์€ ๊ตญ๊ฐ€๊ฐ€ ๋œ ๊ฒƒ์€, Postgres๊ฐ€ ์ฒ˜์Œ ํƒ„์ƒํ–ˆ์„ ๋‹น์‹œ์—๋Š” ์ƒ์ƒํ•˜๊ธฐ ์–ด๋ ค์› ๋˜ ๊ทœ๋ชจ๋กœ ๋ฐ์ดํ„ฐ ์ธํ”„๋ผ๊ฐ€ ์šด์˜๋˜๊ณ  ์žˆ์Œ์„ ๋ณด์—ฌ์ฃผ๋Š” ์ƒ์ง•์ ์ธ ๋ณ€ํ™”์˜€์Šต๋‹ˆ๋‹ค. Non-superuser ๊ตฌ๋… ๊ด€๋ฆฌ์™€ ๋”์šฑ ์•ˆ์ „ํ•œ ์—ญํ•  ์ƒ์„ฑ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๋ฉด์„œ, Postgres๋Š” ๊ธ€๋กœ๋ฒŒ ํ™˜๊ฒฝ์˜ ๋ณต์žกํ•œ ์šด์˜ ์š”๊ตฌ๊นŒ์ง€ ์ง€์›ํ•˜๋Š” DBaaS ํ”Œ๋žซํผ์œผ๋กœ ํ•œ์ธต ๋ฐœ์ „ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

AI ์‹œ๋Œ€๋ฅผ ํ–ฅํ•œ ์ƒˆ๋กœ์šด ๋„์•ฝ

AI ์‹œ๋Œ€๋ฅผ ์œ„ํ•œ Postgres

Version 8.2๋ถ€ํ„ฐ Version 18์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ Postgres์˜ ๋ฐœ์ „์€ ํ•˜๋‚˜์˜ ๊ฒฐ๋ก ์œผ๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ์ธํ”„๋ผ์™€ ๋›ฐ์–ด๋‚œ ํ™•์žฅ์„ฑ, ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ฐ ๋ณด์•ˆ ์•„ํ‚คํ…์ฒ˜๋Š” ๋ชจ๋‘ Postgres๊ฐ€ AI ์—…๊ณ„์—์„œ ์„ ํƒํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ธ ์ด์œ ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด๋Š” ์šฐ์—ฐ์ด ์•„๋‹ˆ๋ผ, ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ทธ๋ ‡๊ฒŒ ์„ค๊ณ„๋œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.

์—”ํ„ฐํ”„๋ผ์ด์ฆˆ AI์—๋Š” ์†Œ๋ฒ„๋ฆฐํ‹ฐ๋ฅผ ๋ณด์žฅํ•˜๊ณ , ๊ฐ€์‹œ์„ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ, ์–ด๋””์„œ๋‚˜ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. EDB Postgres AI๋Š” EDB๊ฐ€ 20๋…„ ๋™์•ˆ ๋ฐœ์ „์‹œ์ผœ ์˜จ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜ ์œ„์—์„œ ์ด๋Ÿฌํ•œ ์š”๊ตฌ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค.

EDB๊ฐ€ ๊ตฌ์ถ•ํ•˜๊ณ  ์ง€์›ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ

EDB์˜ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ๋Š” Postgres ์ฝ”์–ด์—๋งŒ ๋จธ๋ฌผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. EDB๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ˜‘๋ ฅํ•˜์—ฌ Postgres๋ฅผ ๋”์šฑ ๊ฐ•๋ ฅํ•˜๊ณ  ์•ˆ์ •์ ์ด๋ฉฐ, ๋ˆ„๊ตฌ๋‚˜ ๋”์šฑ ์‰ฝ๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹ค์–‘ํ•œ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ์œ ์ง€ยท๊ด€๋ฆฌํ•˜๊ณ  ๊ฐœ๋ฐœ์— ๊ธฐ์—ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


CloudNativePGโ„ข

CloudNativePG๋Š” PostgreSQL์„ ์œ„ํ•œ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” Kubernetes ์˜คํผ๋ ˆ์ดํ„ฐ๋กœ, ์™„์ „ํ•œ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜์—์„œ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฃผ๋„๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. EDB๊ฐ€ ์ฒ˜์Œ ๊ฐœ๋ฐœํ•œ CloudNativePG๋Š” ํ˜„์žฌ Cloud Native Computing Foundation(CNCF)์˜ Sandbox ํ”„๋กœ์ ํŠธ๋กœ ์šด์˜๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ๋Š” GitHub์—์„œ Apache 2 ๋ผ์ด์„ ์Šค๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

GitHub์—์„œ ๊ธฐ์—ฌํ•˜๊ธฐ


WarehousePG

WarehousePG๋Š” EDB๊ฐ€ ๊ฐœ๋ฐœํ•œ Greenplumยฎ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ PostgreSQL์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ Apache 2 ๋ผ์ด์„ ์Šค์˜ ์˜คํ”ˆ์†Œ์Šค ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค์ž…๋‹ˆ๋‹ค. Broadcom์˜ Greenplum ์ธ์ˆ˜์™€ ์†Œ์Šค ๋น„๊ณต๊ฐœ ์ „ํ™˜ ์ดํ›„, Greenplum ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๋Œ€์•ˆ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

GitHub์—์„œ ๊ธฐ์—ฌํ•˜๊ธฐ


Barman

Backup and Recovery Manager(Barman)๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ํฌ๋ฆฌํ‹ฐ์ปฌ ํ™˜๊ฒฝ์—์„œ PostgreSQL ์„œ๋ฒ„์˜ ์›๊ฒฉ ๋ฐฑ์—…๊ณผ ์žฌํ•ด ๋ณต๊ตฌ๋ฅผ ์ง€์›ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ด€๋ฆฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. EDB๋Š” GNU General Public License version 3(GNU GPL 3) ๋ผ์ด์„ ์Šค๋กœ ๋ฐฐํฌ๋˜๋Š” Barman์„ ์ง€์†์ ์œผ๋กœ ์œ ์ง€ยท๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 

GitHub์—์„œ ๊ธฐ์—ฌํ•˜๊ธฐ


pgAdmin

pgAdmin์€ Postgres๋ฅผ ์œ„ํ•œ ๋Œ€ํ‘œ์ ์ธ ์˜คํ”ˆ์†Œ์Šค ๊ด€๋ฆฌ ๋„๊ตฌ๋กœ, EDB๊ฐ€ ํ™œ๋ฐœํ•˜๊ฒŒ ์œ ์ง€ยท๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. pgAdmin์€ ๊ฐ•๋ ฅํ•œ ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด์˜ ์ƒ์„ฑ, ๊ด€๋ฆฌ ๋ฐ ํ™œ์šฉ์„ ๊ฐ„์†Œํ™”ํ•จ์œผ๋กœ์จ ์ดˆ๋ณด ์‚ฌ์šฉ์ž๋ถ€ํ„ฐ ๊ณ ๊ธ‰ ์‚ฌ์šฉ์ž๊นŒ์ง€ ๋ชจ๋‘๊ฐ€ ๋”์šฑ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.  

GitHub์—์„œ ๊ธฐ์—ฌํ•˜๊ธฐ


pgBouncer

pgBouncer๋Š” PostgreSQL์„ ์œ„ํ•œ ๊ฒฝ๋Ÿ‰ ์—ฐ๊ฒฐ ํ’€๋ง(Connection Pooling) ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„ ์‚ฌ์ด์—์„œ ๋ฏธ๋ฆฌ ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ํ’€์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. EDB๋Š” pgBouncer ๊ฐœ๋ฐœ์— ์ ๊ทน์ ์œผ๋กœ ๊ธฐ์—ฌํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ž์‚ฌ ์ œํ’ˆ์—๋„ ์ด๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.  

GitHub์—์„œ ๊ธฐ์—ฌํ•˜๊ธฐ


Trusted Postgres Architect (TPA)

Trusted Postgres Architect(TPA)๋Š” EDB๊ฐ€ ๊ฐœ๋ฐœํ•œ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ๋„๊ตฌ๋กœ, Ansible์„ ์‚ฌ์šฉํ•ด EDB์˜ ๊ถŒ์žฅ ์‚ฌํ•ญ์— ๋”ฐ๋ผ Postgres ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. TPA๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Kubernetes ํ™˜๊ฒฝ์„ ํฌํ•จํ•œ ๊ณ ๊ฐ€์šฉ์„ฑ Postgres ๋…ธ๋“œ๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

GitHub์—์„œ ๊ธฐ์—ฌํ•˜๊ธฐ


Replication Manager (repmgr)

Replication Manager(repmgr)๋Š” PostgreSQL ์„œ๋ฒ„ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋ณต์ œ์™€ ์žฅ์•  ์กฐ์น˜๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ๋„๊ตฌ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค. GNU GPL 3 ๋ผ์ด์„ ์Šค๋กœ ๋ฐฐํฌ๋˜๋ฉฐ, EDB๊ฐ€ ์œ ์ง€ยท๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 

GitHub์—์„œ ๊ธฐ์—ฌํ•˜๊ธฐ


PostgreSQL Foreign Data Wrappers

Foreign Data Wrapper(FDW)๋Š” PostgreSQL์ด ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋ฐ์ดํ„ฐ ์†Œ์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ์ปฌ ํ…Œ์ด๋ธ”์ฒ˜๋Ÿผ ์—ฐ๊ฒฐํ•˜๊ณ  ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ํ™•์žฅ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. EDB๋Š” ์™ธ๋ถ€ ์˜คํ”ˆ ๋ฐ์ดํ„ฐ ์†Œ์Šค์— ๋Œ€ํ•œ ์—ฐํ•ฉ ์ฟผ๋ฆฌ(Federated Query)๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด Hadoop, MongoDB, ๊ทธ๋ฆฌ๊ณ  MySQL์šฉ FDW๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ํ™œ๋ฐœํ•˜๊ฒŒ ์œ ์ง€ยท๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 


PGPU

PGPU๋Š” NVIDIA CUDA ๊ธฐ๋ฐ˜ GPU๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด ํŠน์ • ์ž‘์—…์„ ๊ฐ€์†ํ™”ํ•˜๊ฑฐ๋‚˜, CPU์—์„œ GPU๋กœ ์ž‘์—…์„ ์˜คํ”„๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” Postgres ํ™•์žฅ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

GitHub์—์„œ ๊ธฐ์—ฌํ•˜๊ธฐ

Postgres๋ฅผ ๋งŒ๋“œ๋Š”
EDB ์—”์ง€๋‹ˆ์–ด๋“ค

EDB ์—”์ง€๋‹ˆ์–ด๋“ค์€ ์ฝ”๋“œ ๊ฐœ๋ฐœ์— ๊ธฐ์—ฌํ•˜๊ณ , ๋ฆด๋ฆฌ์Šค๋ฅผ ์ฃผ๋„ํ•˜๋ฉฐ, ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜๊ณ ์ž ํ•˜๋Š” ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ์ž๋“ค์„ ๋ฉ˜ํ† ๋งํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. EDB Engineering Newsletter๋ฅผ ๊ตฌ๋…ํ•ด ์ด๋“ค์˜ ํ™œ๋™์„ ํ™•์ธํ•˜๊ฑฐ๋‚˜, PostgreSQL Hacker Mentoring Program์— ์ฐธ์—ฌํ•ด ์ง์ ‘ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•ด ๋ณด์„ธ์š”.

Jozef de Vries

์ตœ๊ณ  ์ œํ’ˆ ์—”์ง€๋‹ˆ์–ด๋ง ์ฑ…์ž„์ž

โ€œPostgreSQL์€ ๊ฐœ์ธ๊ณผ ๊ธฐ์—…์ด ๊ธฐ์—ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‹จ์ˆœํžˆ ํ•ฉ์ณ ๋†“์€ ๊ฒƒ ์ด์ƒ์˜ ์˜๋ฏธ๋ฅผ ์ง€๋‹™๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋Œ€๊ทœ๋ชจ ํ™˜๊ฒฝ์—์„œ PostgreSQL์„ ์šด์˜ํ•˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ํ”„๋กœ์ ํŠธ๋ฅผ ๋”์šฑ ์„ฑ์ˆ™ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ธฐ๋Šฅ์„ ์ง€์†์ ์œผ๋กœ ๊ธฐ์—ฌํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์˜๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.โ€

Jozef de Vries

์ตœ๊ณ  ์ œํ’ˆ ์—”์ง€๋‹ˆ์–ด๋ง ์ฑ…์ž„์ž

โ€œPostgreSQL์€ ๊ฐœ์ธ๊ณผ ๊ธฐ์—…์ด ๊ธฐ์—ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‹จ์ˆœํžˆ ํ•ฉ์ณ ๋†“์€ ๊ฒƒ ์ด์ƒ์˜ ์˜๋ฏธ๋ฅผ ์ง€๋‹™๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋Œ€๊ทœ๋ชจ ํ™˜๊ฒฝ์—์„œ PostgreSQL์„ ์šด์˜ํ•˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ํ”„๋กœ์ ํŠธ๋ฅผ ๋”์šฑ ์„ฑ์ˆ™ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ธฐ๋Šฅ์„ ์ง€์†์ ์œผ๋กœ ๊ธฐ์—ฌํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์˜๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.โ€

Jozef de Vries

์ตœ๊ณ  ์ œํ’ˆ ์—”์ง€๋‹ˆ์–ด๋ง ์ฑ…์ž„์ž

โ€œPostgreSQL์€ ๊ฐœ์ธ๊ณผ ๊ธฐ์—…์ด ๊ธฐ์—ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‹จ์ˆœํžˆ ํ•ฉ์ณ ๋†“์€ ๊ฒƒ ์ด์ƒ์˜ ์˜๋ฏธ๋ฅผ ์ง€๋‹™๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋Œ€๊ทœ๋ชจ ํ™˜๊ฒฝ์—์„œ PostgreSQL์„ ์šด์˜ํ•˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ํ”„๋กœ์ ํŠธ๋ฅผ ๋”์šฑ ์„ฑ์ˆ™ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ธฐ๋Šฅ์„ ์ง€์†์ ์œผ๋กœ ๊ธฐ์—ฌํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์˜๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.โ€

Peter Eisentraut

PostgreSQL ์ปค๋ฏธํ„ฐ ๋ฐ ์ฝ”์–ด ํŒ€ ๋ฉค๋ฒ„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„ ๋ถ€๋ฌธ ๋ถ€์‚ฌ์žฅ ๊ฒธ ์ˆ˜์„ ์•„ํ‚คํ…ํŠธ

โ€œEDB๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ณ ๊ฐ ๋ชจ๋‘๋ฅผ ์œ„ํ•ด PostgreSQL์˜ ๋ฐœ์ „์„ ์ด๋Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. PostgreSQL ์˜คํ”ˆ์†Œ์Šค ๊ฐœ๋ฐœ์— ๊ธฐ์—ฌํ•˜๊ณ  ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์ง€์›ํ•˜๋Š” ๋›ฐ์–ด๋‚œ ํŒ€๊ณผ ํ•จ๊ป˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋›ฐ์–ด๋‚˜๊ณ  ํ—Œ์‹ ์ ์ธ ๋™๋ฃŒ๋“ค๊ณผ ํ•จ๊ป˜ ์ง€์† ๊ฐ€๋Šฅํ•œ ์˜คํ”ˆ์†Œ์Šค ๊ฐœ๋ฐœ์„ ๋งŒ๋“ค์–ด ๊ฐˆ ์ˆ˜ ์žˆ์–ด ๋งค์šฐ ๋œป๊นŠ๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.โ€

Robert Haas

PostgreSQL ์ฃผ์š” ๊ธฐ์—ฌ์ž ๋ฐ ์ปค๋ฏธํ„ฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„ ๋ถ€๋ฌธ ๋ถ€์‚ฌ์žฅ ๊ฒธ ์ˆ˜์„ ์•„ํ‚คํ…ํŠธ

โ€œEDB๋Š” ์ €๋ฅผ ๋น„๋กฏํ•œ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด PostgreSQL์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์•„๋‚Œ์—†๋Š” ์ง€์›์„ ํ•ด์™”์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ด๋Ÿฌํ•œ ์ง€์› ๋•๋ถ„์— 2010๋…„ EDB์— ํ•ฉ๋ฅ˜ํ–ˆ๊ณ , ์ง€๊ธˆ๊นŒ์ง€๋„ ํ•จ๊ป˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ง€์›์€ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ ๋›ฐ์–ด๋‚œ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๊ฐ™์€ ๋ชฉํ‘œ๋ฅผ ํ–ฅํ•ด ๋…ธ๋ ฅํ•˜๋Š” ํ›Œ๋ฅญํ•œ ๋™๋ฃŒ๋“ค๊ณผ ํ•จ๊ป˜ ์ผํ•  ์ˆ˜ ์žˆ๋Š” ์†Œ์ค‘ํ•œ ๊ธฐํšŒ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.โ€

รlvaro Herrera

PostgreSQL ๊ธฐ์—ฌ์ž ๋ฐ ์ปค๋ฏธํ„ฐ

โ€œEDB์˜ ์ง€์› ๋•๋ถ„์— ์˜คํ”ˆ์†Œ์Šค PostgreSQL ๊ฐœ๋ฐœ์„ ๊ณ„์† ์ด์–ด๊ฐˆ ์ˆ˜ ์žˆ์–ด ๋งค์šฐ ๊ธฐ์ฉ๋‹ˆ๋‹ค. EDB์™€ PostgreSQL ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ Postgres ํ•ด์ปค๋“ค๊ณผ ํ˜‘์—…ํ•˜๋Š” ๊ณผ์ •์„ ์ง„์‹ฌ์œผ๋กœ ์ฆ๊ธฐ๊ณ  ์žˆ์œผ๋ฉฐ, ์ง€๋‚œ ์ˆ˜๋…„๊ฐ„ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.โ€

Floor Drees

์ˆ˜์„ ํ”„๋กœ๊ทธ๋žจ ๋งค๋‹ˆ์ €

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

EDB ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

EDB ๊ฐœ๋ฐœ์ž๋“ค์€ PostgreSQL์— ๊ฐ€์žฅ ํ™œ๋ฐœํ•˜๊ฒŒ ๊ธฐ์—ฌํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋“ค ๊ฐ€์šด๋ฐ ํ•˜๋‚˜๋กœ, ์ „ ์„ธ๊ณ„ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์›Œํฌ๋กœ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์„ค๊ณ„ํ•˜๊ณ  ์œ ์ง€ยท๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค๋ฌด์— ๋ฐ”๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์ด๋“œ์™€ ์ฝ”๋“œ ์˜ˆ์ œ, ๊ทธ๋ฆฌ๊ณ  ์ฃผ์š” ๋ฆด๋ฆฌ์Šค์— ๋‹ด๊ธด ์—”์ง€๋‹ˆ์–ด๋ง ์Šคํ† ๋ฆฌ๋ฅผ EDB ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ์—์„œ ํ™•์ธํ•ด ๋ณด์„ธ์š”.

์ „ ์„ธ๊ณ„ Postgres ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ•จ๊ป˜ํ•˜๋Š” EDB

  • background
  • background
  • background
  • background
  • background

์ปค๋ฎค๋‹ˆํ‹ฐ ์ฐธ์—ฌํ•˜๊ธฐ

์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ์‚ฌ๋ž‘๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‹ค์Œ ํ˜์‹ ์„ ํ•จ๊ป˜ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”.