์๋ , ํ๋ธ๋ฅด! ์๋ง๋ ์ฐ๋ฆฌ ๊ฐ์๋ ์์ ์๊ฒ ์ ์ฉํ๊ณ ํฅ๋ฏธ๋ก์ด ๊ฒ์ ์จ๊ธฐ๋ ํ์ผ์ ๊ฐ์ง๊ณ ์์ ๊ฒ์ ๋๋ค. ๊ธฐ์ฌ, ์์ , ์ ์ฅ์, ๋งค๋ด์ผ์ ๋ํ ์ผ๋ถ ๋งํฌ. ์ด๋ ๋ธ๋ผ์ฐ์ ๋ถ๋งํฌ์ผ ์๋ ์๊ณ ๋์ค์ ์ฌ์ฉํ ์ ์๋๋ก ๋จ๊ฒจ๋ ์ด๋ฆฐ ํญ์ผ ์๋ ์์ต๋๋ค. ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ด ๋ชจ๋ ๊ฒ์ด ๋ถํ์ด์ค๋ฅด๊ณ ๋งํฌ๊ฐ ์ด๋ฆฌ์ง ์์ผ๋ฉฐ ๋๋ถ๋ถ์ ์๋ฃ๊ฐ ๋จ์ํ ๊ตฌ์์ด ๋ฉ๋๋ค.
์ด ์ข์ ์ ์ ์ปค๋ฎค๋ํฐ์ ๊ณต์ ํ๊ณ ์ด ํ์ผ์ GitHub์ ๊ฒ์ํ๋ฉด ์ด๋จ๊น์? ๊ทธ๋ฌ๋ฉด ๊ทํ์ ์์
์ด ๋ค๋ฅธ ์ฌ๋์๊ฒ ์ ์ฉํ ์ ์์ผ๋ฉฐ ์ข์ ์ค๋๋ PR์ ํตํด ์ํ๋ ์ฌ๋๋ค์ ์
๋ฐ์ดํธ๋ฅผ ์๋ฝํ์ฌ ํจ๊ป ๊ด๋ จ์ฑ์ ์ ์งํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ํ๋ก์ ํธ๊ฐ ์ค๊ณ๋ ์ด์ ์
๋๋ค.
์ ์ด๋ฆ์ ๋งฅ์ฌ ๊ทธ๋ผ๋ฏผ์ ๋๋ค. CROC์์๋ Java ๊ฐ๋ฐ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ตฌ๋ฅผ ํ๊ณ ์์ต๋๋ค. ์ด ๊ฒ์๋ฌผ์์๋ Awesome List๊ฐ ๋ฌด์์ธ์ง, ๊ทธ๋ฆฌ๊ณ ์์ ๋ง์ ๊ณต์ ๋ฉ์ง ์ ์ฅ์๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์๋ ค ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๋ฉ์ง ๋ชฉ๋ก์ด๋ ๋ฌด์์ ๋๊น?
์๋ก์ด ๊ธฐ์ ์ด๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์์์ผ ํ ๋ ๊ฐ์ฅ ๋จผ์ ํ๋ ์ผ์ ์ฌ๊ธฐ๋ก ๊ฐ๋ ๊ฒ์
๋๋ค. ์ฌ๋ฐ๋ฅธ ์น์
์ ์ฐพ๊ณ ๊ฑฐ๊ธฐ์ ์ ํฉํ ์ํธ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ณ์ ์์ ๊ทธ๋ค์ ์ง์์ ์ธ ์ฑ์ฅ์ผ๋ก ํ๋จํ๋ฉด, ์ด๋ฐ ์ผ์ ํ๋ ๊ฒ์ ๋ ๋ฟ๋ง์ด ์๋๋๋ค.
์ฌ์ค ์ด๊ฒ์ ๋ณ๋์ ์ํํธ์ ์ฌ๋ ์ผ๋ฐ ์ํํธ readme.md์
๋๋ค.
์ฃผ์ ํน์ง์ ์ด ๋ชจ๋ ์ํธ๊ฐ ์์ฑ์๊ฐ ๊ฐ์ธ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ด ์๋๋ผ ์ปค๋ฎค๋ํฐ์ ์ํด ๊ด๋ฆฌ๋๋ฉฐ ํน๋ณํ๊ณ ๋งค์ฐ ์๊ฒฉํ ๊ท์ ์ ๋ฐ๋ผ ํธ์ง๋๋ค๋ ๊ฒ์
๋๋ค.
์ด ์ ์ฒด ์ฌ์
์ ์์ด๋์ด์ ์ ์์ด์ ์ฝ๋๋ค์ดํฐ๋ ์ ์ค์ ์ธ Sindre Sorhus์
๋๋ค.
๋ฉ์ง ๋ชฉ๋ก์ ๋ค์ด๊ฐ๋ ๋ฐฉ๋ฒ
๊ฐ์๊ธฐ ๊ด์ฌ ์๋ ์ฃผ์ ์ ๋ํ ์ ์ ํ ์ํธ๋ฅผ ์ฐพ์ง ๋ชปํ๋ค๋ฉด, ์ด๊ฒ์ด ์ง์ ๋ง๋ค์ด์ผ ํ๋ค๋ ์ฒซ ๋ฒ์งธ ์ ํธ์ ๋๋ค!
๋ด ์๊ฐ์ ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ง์ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๋๋ ๋ฌด์์ํด์ผํฉ๋๊น?
- ์ฐ๋ฆฌ๋ awesome-whatever์ ๊ฐ์ ์ด๋ฆ์ผ๋ก ์ผ๋ฐ GitHub ์ ์ฅ์๋ฅผ ๋ฑ๋กํฉ๋๋ค. ๋ด ๊ฒฝ์ฐ์๋ awesome-database-tools์์ต๋๋ค.
- ์ฐ๋ฆฌ๋ ์ํธ๋ฅผ ๋ฉ์ง ํ์์ผ๋ก ๊ฐ์ ธ์์ต๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ์๊ฒ ๋์์ด ๋ ๊ฒ์
๋๋ค.
๋ฐ์ ๊ธฐ ๋ฉ์ง ๋ชฉ๋ก , ํ์ํ ๋ชจ๋ ํ์ผ์ ํ์ํ ํ์์ผ๋ก ์์ฑํฉ๋๋ค. - ์ค์ CI๋ฅผ ์ค์ ํฉ๋๋ค.
๊ต์ฅํ ๋ฆฐํธ Travis ci๋ ์ฐ๋ฆฌ๊ฐ ํต์ ํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋คํ๋น์ฑ ์ฐ๋ฆฌ ์ํธ - ์ฐ๋ฆฌ๋ 30์ผ์ ๊ธฐ๋ค๋ฆฐ๋ค
- ์ฐ๋ฆฌ๋ ์ ์ด๋ 2๋ช ์ ๋ค๋ฅธ ์ฌ๋์ PR์ ๊ฒํ ํฉ๋๋ค.
- ๋ง์ง๋ง์ผ๋ก ์ฐ๋ฆฌ๋ ๋ฉ์ธ ์ ์ฅ์์ PR์ ๋ง๋ค๊ณ ์ฌ๊ธฐ์ ์ฐ๋ฆฌ ์ ์ฅ์์ ๋ํ ๋งํฌ๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ชจ๋ ๊ฒ์ ์ฃผ์ ๊น๊ฒ ์ฝ๊ณ ์ ์ํธ์ PR ์์ฒด์ ๋ํ ์๋ง์ ์๊ตฌ ์ฌํญ์ ๋ชจ๋ ์ถฉ์กฑํด์ผ ํฉ๋๋ค.
๋์ ์ฒซ ํฌ์ผ์ดํฌ
ํ์ง๋ง ์ฝ๊ฐ์ ์๊ฐ์ด ์ง๋์ ๋ ๋ง์ ์๋ฃ๋ฅผ ์์งํ๊ณ ์ค์๋ฅผ ์์ ํ๊ณ ๊ฐํ
๊ทธ๋ฌ๋ ๋๋ ์์ฃผ ์ค์ํ ๊ฒ์ ์์ด๋ฒ๋ ธ๋๋ฐ, ๊ทธ๊ฒ์ ๋์๊ฒ ๋ถ๋๋ฝ๊ฒ ์์๋์์ต๋๋ค.
๋ณ๋ก ์กฐ์ฌํ์ง ์์๊ณ ๋ชจ๋ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋์๋์ง ํ์ธํ๊ธฐ ์ํด ์ ๋์ฝ์ ์ถ๊ฐํ์ง ์์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ์๊ฐ์ด ์กฐ๊ธ ๋ ํ๋ฅด๊ณ ๋๊ธ์ ๊ธฐ๋ฐ์ผ๋ก ๋ช ๊ฐ์ง ํธ์ง์ด ๋ ์ด๋ฃจ์ด์ก์ผ๋ฉฐ ์ค๋ซ๋์ ๊ธฐ๋ค๋ ค์จ ๊ฒฐ๊ณผ๊ฐ ๋์์ต๋๋ค.
๊ทธ๋์ ๋๋ ๋ด ์ฒซ ๋ฒ์งธ ์ํธ์ ์ ์๊ฐ ๋์๊ณ ๊ทธ๋ค์ ๋ฐ๊ธฐ ์์ํ์ต๋๋ค.
๊ฒ์๋ฌผ ๊ฒ์ ๋น์์ ํ์ฌ ์ ํ ํญ๋ชฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฉ์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๊ตฌ
์ปค๋ฎค๋ํฐ ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๊ตฌ ๋ชฉ๋ก
์ฌ๊ธฐ์์๋ DBA, DevOps, ๊ฐ๋ฐ์ ๋ฐ ๋จ์ํ ํ์ฌ์๋ฅผ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋จ์ํํ๋ ์ ์ฉํ๊ณ ๋ฐ์ด๋ ์คํ ๋๊ตฌ์ ๋ํ ์ ๋ณด๋ฅผ ์์งํฉ๋๋ค.
์์ ์ db-tools ๋๋ ์ฆ๊ฒจ ์ฌ์ฉํ๋ ํ์ฌ db-tools์ ๋ํ ์ ๋ณด๋ฅผ ์์ ๋กญ๊ฒ ์ถ๊ฐํ์ธ์.
๋ด์ฉ
IDE GUI ๊ด๋ฆฌ์/ํด๋ผ์ด์ธํธ CLI ๋๊ตฌ DB ์คํค๋ง ํ์ ๋ฐ ์๊ฐํ ๋ชจ๋ธ๋ฌ ๋ง์ด๊ทธ๋ ์ด์ ๋๊ตฌ ์ฝ๋ ์์ฑ ๋๊ตฌ ๋ํผ ๋ฐฑ์ ๋๊ตฌ ๋ณต์ /๋ฐ์ดํฐ ์์ ์คํฌ๋ฆฝํธ ๋ชจ๋ํฐ๋ง/ํต๊ณ/์ฑ๋ฅ ์ง์ ํ์ ์ค HA/์ฅ์ ์กฐ์น/์ค๋ฉ Kubernetes ๊ตฌ์ฑ ํ๋ ๊ฐ๋ฐ์ ์คํค๋ง ์ํ ํต๊ณ ๋ณด๊ณ ์ ๋ฐฐํฌํ ๋ณด์ ์ฝ๋ ํฌ๋งทํฐ
IDE
AnySQL ๋ง์์คํธ๋ก โ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ, ์ ์ด ๋ฐ ๊ฐ๋ฐ์ ์ํ ์ต๊ณ ์ ๋ค๋ชฉ์ ๊ด๋ฆฌ ๋๊ตฌ์ ๋๋ค.์์ฟ ์ ๋ฐ์ดํฐ ์คํ๋์ค โ Aqua Data Studio๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ฐ์, DBA ๋ฐ ๋ถ์๊ฐ๋ฅผ ์ํ ์์ฐ์ฑ ์ํํธ์จ์ด์ ๋๋ค.Database.net โ 20๊ฐ ์ด์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ํ๋ ๋ค์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๋๊ตฌ์ ๋๋ค.๋ฐ์ดํฐ๊ทธ๋ฆฝ โ JetBrains์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ SQL์ฉ ํฌ๋ก์ค ํ๋ซํผ IDE.DBeaver โ ๋ฌด๋ฃ ๋ฒ์ฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์ ๋ฐ SQL ํด๋ผ์ด์ธํธ.MySQL ์ฉ dbForge ์คํ๋์ค โ MySQL ๋ฐ MariaDB ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ฐ, ๊ด๋ฆฌ๋ฅผ ์ํ ๋ฒ์ฉ IDE์ ๋๋ค.Oracle์ฉ dbForge ์คํ๋์ค โ Oracle ๊ด๋ฆฌ, ์ด์ ๋ฐ ๊ฐ๋ฐ์ ์ํ ๊ฐ๋ ฅํ IDE์ ๋๋ค.PostgreSQL์ฉ dbForge ์คํ๋์ค โ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด๋ฅผ ๊ด๋ฆฌํ๊ณ ๊ฐ๋ฐํ๊ธฐ ์ํ GUI ๋๊ตฌ์ ๋๋ค.SQL Server์ฉ dbForge Studio โ SQL Server ๊ฐ๋ฐ, ๊ด๋ฆฌ, ์ด์, ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ๋ณด๊ณ ๋ฅผ ์ํ ๊ฐ๋ ฅํ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋๋ค.dbKoda โ ์ต์ (JavaScript/Electron ํ๋ ์์ํฌ), MongoDB์ฉ ์คํ ์์ค IDE. MongoDB ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ๋ฐ, ๊ด๋ฆฌ ๋ฐ ์ฑ๋ฅ ์กฐ์ ์ ์ง์ํ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.IBExpert โ Firebird ๋ฐ InterBase๋ฅผ ์ํ ํฌ๊ด์ ์ธ GUI ๋๊ตฌ์ ๋๋ค.ํ์ด๋SQL โ Delphi๋ก ์์ฑ๋ MySQL, MSSQL ๋ฐ PostgreSQL ๊ด๋ฆฌ์ฉ ๊ฒฝ๋ ํด๋ผ์ด์ธํธ์ ๋๋ค.MySQL ์ํฌ ๋ฒค์น โ MySQL Workbench๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์, ๊ฐ๋ฐ์ ๋ฐ DBA๋ฅผ ์ํ ํตํฉ๋ ์๊ฐ์ ๋๊ตฌ์ ๋๋ค.๋๋น ์บฃ โ ๋จ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์์ MySQL, MariaDB, SQL Server, Oracle, PostgreSQL ๋ฐ SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋์์ ์ฐ๊ฒฐํ ์ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ฐ ๋๊ตฌ์ ๋๋ค.Oracle SQL ๊ฐ๋ฐ์ โ Oracle SQL Developer๋ ๊ธฐ์กด ๋ฐฐํฌ์ ํด๋ผ์ฐ๋ ๋ฐฐํฌ ๋ชจ๋์์ Oracle Database์ ๊ฐ๋ฐ ๋ฐ ๊ด๋ฆฌ๋ฅผ ๋จ์ํํ๋ ๋ฌด๋ฃ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋๋ค.pgAdmin โ ์ธ๊ณ์์ ๊ฐ์ฅ ๋ฐ์ ๋ ์คํ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ธ PostgreSQL์ ์ํ ๊ฐ์ฅ ์ธ๊ธฐ ์๊ณ ๊ธฐ๋ฅ์ด ํ๋ถํ ์คํ ์์ค ๊ด๋ฆฌ ๋ฐ ๊ฐ๋ฐ ํ๋ซํผ์ ๋๋ค.pgAdmin3 - pgAdmin3์ ๋ํ ์ฅ๊ธฐ ์ง์.PL / SQL ๊ฐ๋ฐ์ โ Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค์ฉ ์ ์ฅ ํ๋ก๊ทธ๋จ ๋จ์ ๊ฐ๋ฐ์ ํน๋ณํ ๋ชฉํ๋ก ํ๋ IDE์ ๋๋ค.PostgreSQL ๋ง์์คํธ๋ก โ PostgreSQL์ ์ํ ์๋ฒฝํ๊ณ ๊ฐ๋ ฅํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ, ๊ด๋ฆฌ ๋ฐ ๊ฐ๋ฐ ๋๊ตฌ์ ๋๋ค.๋๊บผ๋น โ Toad๋ ๊ฐ๋ฐ์, ๊ด๋ฆฌ์ ๋ฐ ๋ฐ์ดํฐ ๋ถ์๊ฐ๋ฅผ ์ํ ์ต๊ณ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฃจ์ ์ ๋๋ค. ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์กํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณ๊ฒฝ ์ฌํญ์ ๊ด๋ฆฌํ์ธ์.๋๊บผ๋น ๊ฐ์ฅ์๋ฆฌ โ MySQL ๋ฐ Postgres๋ฅผ ์ํ ๋จ์ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ฐ ๋๊ตฌ์ ๋๋ค.ํ ๋ผ โ TOra๋ Oracle, MySQL ๋ฐ PostgreSQL dbs์ฉ ์คํ ์์ค SQL IDE์ ๋๋ค.๋ฐ๋ ํฐ๋ ์คํ๋์ค โ Valentina DB, MySQL, MariaDB, PostgreSQL ๋ฐ SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฌด๋ฃ๋ก ์์ฑ, ๊ด๋ฆฌ, ์ฟผ๋ฆฌ ๋ฐ ํ์ํ ์ ์์ต๋๋ค.
GUI ๊ด๋ฆฌ์/ํด๋ผ์ด์ธํธ
๊ด๋ฆฌ์ โ ๋จ์ผ PHP ํ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.DbVisualizer โ ๊ฐ๋ฐ์, DBA ๋ฐ ๋ถ์๊ฐ๋ฅผ ์ํ ๋ฒ์ฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๊ตฌ์ ๋๋ค.HouseOps โ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ ClickHouse ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๋ฉฐ ๋ง์ ์ฌ๋๋ค์ด ์๊ฐํ๊ฒ ๋ง๋๋ Enterprise ClickHouse Ops UI์ ๋๋ค.์ญDB โ ๋ฐ์ดํฐ๊ฐ ์ด๋์ ์๋ ๋ชจ๋ ๋ฐ์ดํฐ์ ์ง์ SQL ์ก์ธ์คํ ์ ์์ต๋๋ค.์ด๋DB โ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ๋ฅผ ์ํ ์น ๋๊ตฌ์ ๋๋ค.Pgweb โ Go๋ก ์์ฑ๋์์ผ๋ฉฐ macOS, Linux ๋ฐ Windows ์์คํ ์์ ์๋ํ๋ PostgreSQL์ฉ ์น ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ธ๋ผ์ฐ์ ์ ๋๋ค.phpLite๊ด๋ฆฌ์ โ SQLite3 ๋ฐ SQLite2๋ฅผ ์ง์ํ๊ณ PHP๋ก ์์ฑ๋ ์น ๊ธฐ๋ฐ SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๋๊ตฌ์ ๋๋ค.phpMyAdmin์ โ MySQL ๋ฐ MariaDB์ฉ ์น ์ธํฐํ์ด์ค์ ๋๋ค.์ํธ โ PSequel์ ์ผ๋ฐ์ ์ธ PostgreSQL ์์ ์ ์ ์ํ๊ฒ ์ํํ ์ ์๋๋ก ๊น๋ํ๊ณ ๊ฐ๋จํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.ํSQL โ ํ์ ์ํ ์ต์ ํ์ SQL ํธ์ง๊ธฐ์ ๋๋ค.ํฌ์คํฐ์ฝ - Mac์ฉ ์ต์ PostgreSQL ํด๋ผ์ด์ธํธ.๋ก๋ณด3T โ Robo 3T(์ด์ ์ Robomongo)๋ ์ ์ค์ฌ์ ํฌ๋ก์ค ํ๋ซํผ MongoDB ๊ด๋ฆฌ ๋๊ตฌ์ ๋๋ค.์ํธ ํ๋ก โ Sequel Pro๋ MySQL ๋ฐ MariaDB ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ ์ํ ๋น ๋ฅด๊ณ ์ฌ์ฉํ๊ธฐ ์ฌ์ด Mac ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋๋ค.SQL ์ด์ ์คํ๋์ค โ Windows, macOS ๋ฐ Linux์์ SQL Server, Azure SQL DB ๋ฐ SQL DW ์์ ์ ์ง์ํ๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋๊ตฌ์ ๋๋ค.SQLite ์ ๋ฌธ๊ฐ โ ๊ทธ๋ํฝ ์ธํฐํ์ด์ค๋ ๋ชจ๋ SQLite ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค.SQL ํจ๋ โ ์น ๊ธฐ๋ฐ SQL ํธ์ง๊ธฐ๋ ์์ฒด ํ๋ผ์ด๋น ํด๋ผ์ฐ๋์์ ์คํ๋ฉ๋๋ค.SQLํ๋ก โ ๊ฐ๋จํ๊ณ ๊ฐ๋ ฅํ macOS์ฉ Postgres ๊ด๋ฆฌ์์ ๋๋ค.๋ค๋์ฅ โ Java๋ก ์์ฑ๋ ๊ทธ๋ํฝ SQL ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ์ฉํ๋ฉด JDBC ํธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ฅผ ๋ณด๊ณ , ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์๋ณด๊ณ , SQL ๋ช ๋ น์ ์คํํ ์ ์์ต๋๋ค.SQL๋๊ตฌ โ VSCode์ฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ.SQL์๊ทธ โ ๊ฐ์ฅ ์๋ฒฝํ๊ณ ์ฌ์ฉํ๊ธฐ ์ฌ์ด MySQL GUI์ ๋๋ค.ํ๋น ์ค โ Clickhouse๋ฅผ ์ํ SQL ํธ์ง๊ธฐ ๋ฐ ์คํ ์์ค ๊ฐ๋จํ ๋น์ฆ๋์ค ์ธํ ๋ฆฌ์ ์ค.ํ ์ด๋ธํ๋ฌ์ค โ MySQL, PostgreSQL, SQLite ๋ฑ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ํ ํ๋์ ์ด๊ณ ์น์ํ ๊ธฐ๋ณธ GUI ๋๊ตฌ์ ๋๋ค.ํPostgreSQL โ PostgreSQL ์น ๊ด๋ฆฌ GUI โ ํ๋ถํ๊ณ ๋น ๋ฅธ AJAX ์น ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ด๋์๋ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
CLI ๋๊ตฌ
ipython-sql โ IPython ๋๋ IPython Notebook ๋ด์์ SQL ๋ช ๋ น์ ์คํํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํฉ๋๋ค.์ด๋ ๋์ค โ ์๋ ์์ฑ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ์กฐ ๊ธฐ๋ฅ์ ๊ฐ์ถ Redis์ฉ Cli์ ๋๋ค.pgcenter โ PostgreSQL์ ์ํ ์ต๊ณ ์ ๊ด๋ฆฌ ๋๊ตฌ์ ๋๋ค.pg_ํ๋ โ PostgreSQL ์๋ฒ ํ๋ ๋ชจ๋ํฐ๋ง์ ์ํ ์ต๊ณ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค.pg_top - PostgreSQL์ ๊ฒฝ์ฐ 'top'์ ๋๋ค.pspg โํฌ์คํธ๊ทธ๋ ์ค ํธ์ถ๊ธฐSQLCL โ Oracle SQL Developer Command Line(SQLcl)์ Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค์ฉ ๋ฌด๋ฃ ๋ช ๋ น์ค ์ธํฐํ์ด์ค์ ๋๋ค.usql โ PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server,๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๋ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค NoSQL ๋ฐ ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํฌํจํฉ๋๋ค!
dbcli
์ํ ๋ํด โ AthenaCLI๋ ์๋ ์์ฑ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ์กฐ๋ฅผ ์ํํ ์ ์๋ AWS Athena ์๋น์ค์ฉ CLI ๋๊ตฌ์ ๋๋ค.๋ผ์ดํธํด๋ฆฌ - ์๋ ์์ฑ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ์กฐ ๊ธฐ๋ฅ์ด ์๋ SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค์ฉ CLI.mssql-cli โ ์๋ ์์ฑ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ์กฐ ๊ธฐ๋ฅ์ด ์๋ SQL Server์ฉ ๋ช ๋ น์ค ํด๋ผ์ด์ธํธ์ ๋๋ค.๊ท ์ฌ์ฒด โ ์๋ ์์ฑ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ์กฐ ๊ธฐ๋ฅ์ ๊ฐ์ถ MySQL์ฉ ํฐ๋ฏธ๋ ํด๋ผ์ด์ธํธ์ ๋๋ค.pgcli - ์๋ ์์ฑ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ์กฐ ๊ธฐ๋ฅ์ด ์๋ Postgres CLI.vcli โ ์๋ ์์ฑ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ์กฐ ๊ธฐ๋ฅ์ด ์๋ Vertica CLI.
DB ์คํค๋ง ํ์ ๋ฐ ์๊ฐํ
dbdiagram.io โ ๊ฐ๋จํ DSL ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๊ณ ๋ค์ด์ด๊ทธ๋จ๊ณผ ํ๋ฆ์ ๋น ๋ฅด๊ฒ ๊ทธ๋ฆฌ๋ ๋ฐ ๋์์ด ๋๋ ๋น ๋ฅด๊ณ ๊ฐ๋จํ ๋๊ตฌ์ ๋๋ค.E์ฐ๊ธ์ โ ์ํฐํฐ ๊ด๊ณ ๋ค์ด์ด๊ทธ๋จ ์์ฑ ๋๊ตฌ.์คํค๋ง ํฌ๋กค๋ฌ โ ๋ฌด๋ฃ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๊ฒ์ ๋ฐ ์ดํด ๋๊ตฌ์ ๋๋ค.์คํค๋ง ์คํ์ด โ ์ํฐํฐ ๊ด๊ณ ๋ค์ด์ด๊ทธ๋จ์ ํฌํจํ์ฌ HTML ๋ฌธ์๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํฉ๋๋ค.tbls โ Go๋ก ์์ฑ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฌธ์ํ๋ฅผ ์ํ CI ์นํ์ ์ธ ๋๊ตฌ์ ๋๋ค.
๋ชจ๋ธ๋ฌ
Navicat ๋ฐ์ดํฐ ๋ชจ๋ธ๋ฌ โ ๊ณ ํ์ง์ ๊ฐ๋ ์ , ๋ ผ๋ฆฌ์ , ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ตฌ์ถํ๋ ๋ฐ ๋์์ด ๋๋ ๊ฐ๋ ฅํ๊ณ ๋น์ฉ ํจ์จ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ๋๊ตฌ์ ๋๋ค.Oracle SQL ๊ฐ๋ฐ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ฌ โ Oracle SQL Developer Data Modeler๋ ์์ฐ์ฑ์ ํฅ์์ํค๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์์ ์ ๋จ์ํํ๋ ๋ฌด๋ฃ ๊ทธ๋ํฝ ๋๊ตฌ์ ๋๋ค.pgmodeler โ PostgreSQL์ฉ์ผ๋ก ์ค๊ณ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋๊ตฌ์ ๋๋ค.
๋ง์ด๊ทธ๋ ์ด์ ๋๊ตฌ
2๋ฒ ์ด์ค โ ๋ฉฑ๋ฑ์ฑ DDL ์คํฌ๋ฆฝํธ ๊ฐ๋ ์ ํ์ฉํ๋ ์ฝ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ฑ ๋๊ตฌ์ ๋๋ค.ํ๋ผ์ด ์จ์ด - ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์ ๋๊ตฌ.๊ท์ โ MySQL์ ์ํ ์จ๋ผ์ธ ์คํค๋ง ๋ง์ด๊ทธ๋ ์ด์ .์ก์ โ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ , ๊ด๋ฆฌ ๋ฐ ์ ์ฉํ๊ธฐ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ๋ฆฝ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.Migra โ diff์ ๋น์ทํ์ง๋ง PostgreSQL ์คํค๋ง์ฉ์ ๋๋ค.๋ ธ๋-pg-๋ง์ด๊ทธ๋ ์ด์ โ Postgres ์ ์ฉ์ผ๋ก ๊ตฌ์ถ๋ Node.js ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์ ๊ด๋ฆฌ์ ๋๋ค. (๊ทธ๋ฌ๋ SQL ํ์ค์ ์ค์ํ๋ ๋ค๋ฅธ DB(์: CockroachDB)์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.)ํผ๋ฅด์ธ์์ค โ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ YAML๋ก ์ค๋ช ํ๋ ์ ํธ๋ฆฌํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.์คํค๋งํ์ด๋ก โ ์ ์ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๊ด๋ฆฌ๋ฅผ ์ํ Kubernetes ์ฐ์ฐ์(๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง์ฉ gitops)์ ๋๋ค.์คํด์น โ ํ๋ ์์ํฌ๊ฐ ํ์ ์๋ ๊ฐ๋ฐ๊ณผ ์์ ์ ์ธ ๋ฐฐํฌ๋ฅผ ์ํ ํฉ๋ฆฌ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ฐ ๋ณ๊ฒฝ ๊ด๋ฆฌ์ ๋๋ค.์ ๋ํฌ โ ๋ค์ดํฐ๋ธ .NET Core 3.0 ์ด์์ผ๋ก ๋ง๋ค์ด์ง ๋ ๋ค๋ฅธ ์คํค๋ง ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ๋ง์ด๊ทธ๋ ์ด์ ๋๊ตฌ์ ๋๋ค.
์ฝ๋ ์์ฑ ๋๊ตฌ
ddl ์์ฑ๊ธฐ โ ํ ์ด๋ธ ๋ฐ์ดํฐ์์ SQL DDL(๋ฐ์ดํฐ ์ ์ ์ธ์ด)์ ์ถ๋ก ํฉ๋๋ค.๊ตฌ์ฑํ2ddl โ ๋ฐ๋์งํ์ง ์์ ์ ๋ณด ํํฐ๋ง, ๋ค์ํ ํ์ผ์ DDL ๋ถ๋ฆฌ, ์์ ํ์ ์ถ๋ ฅ ๊ธฐ๋ฅ์ ๊ฐ์ถ ddl init ์คํฌ๋ฆฝํธ ์ธํธ๋ก Oracle ์คํค๋ง๋ฅผ ๋ด๋ณด๋ด๊ธฐ ์ํ ๋ช ๋ น์ค ์ ํธ๋ฆฌํฐ์ ๋๋ค.
๋ํผ
๋๋ฆผ ํฉํ ๋ฆฌ โ ๋ชจ๋ฐ์ผ, ์น ๋ฐ IoT ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์คํ ์์ค REST API ๋ฐฑ์๋์ ๋๋ค.ํ์๋ผ GraphQL ์์ง โ ์ธ๋ถํ๋ ์ก์ธ์ค ์ ์ด ๊ธฐ๋ฅ์ ๊ฐ์ถ Postgres์ ๋งค์ฐ ๋น ๋ฅด๊ณ ์ฆ๊ฐ์ ์ธ ์ค์๊ฐ GraphQL API๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฒคํธ์ ๋ํ ์นํํฌ๋ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค.jl-sql - JSON ๋ฐ CSV ์คํธ๋ฆผ์ฉ SQL.mysql_fdw โ MySQL์ฉ PostgreSQL ์ธ๋ถ ๋ฐ์ดํฐ ๋ํผ.Oracle REST ๋ฐ์ดํฐ ์๋น์ค โ ์ค๊ฐ ๊ณ์ธต Java ์ ํ๋ฆฌ์ผ์ด์ ์ธ ORDS๋ HTTP(S) ๋์ฌ(GET, POST, PUT, DELETE ๋ฑ)๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ๋์ญ์ ์ ๋งคํํ๊ณ JSON์ ์ฌ์ฉํ์ฌ ํ์ํ๋ ๋ชจ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค.ํ๋ฆฌ์ฆ โ Prisma๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค์๊ฐ GraphQL API๋ก ์ ํํฉ๋๋ค.ํฌ์คํธ๊ทธ๋ ์คํธ - ๋ชจ๋ Postgres ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ํ REST API์ ๋๋ค.์ง์ํ๋ค โ Go๋ก ์์ฑ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ RESTful API๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.๋๋จธ์งSQL โ Java ๋ฐ HTTP API๊ฐ ํฌํจ๋ SQL ์์ฑ๊ธฐ๋ XML ๋๋ JSON ์ง๋ ฌํ์ ํจ๊ป ๊ฐ๋จํ RESTful HTTP API๋ฅผ ์ฌ์ฉํฉ๋๋ค.๋ค์ ๋งํ๋ค โ SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ REST API๋ก ์ฝ๊ฒ ๋ณํํ ์ ์์ต๋๋ค.์๋๋งจ โ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ RESTful API ์๋น์ค๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค.SQL ๋ถํ โ SQL ์ฟผ๋ฆฌ๋ฅผ ์ํ ๊ณ ๊ธ REST ๋ฐ UI ๋ํผ์ ๋๋ค.
๋ฐฑ์ ๋๊ตฌ
๋ฐฑ๋ ์คํธ - ์์ ์ ์ธ PostgreSQL ๋ฐฑ์ ๋ฐ ๋ณต์.๋ฐํ ๋ โ PostgreSQL์ฉ ๋ฐฑ์ ๋ฐ ๋ณต๊ตฌ ๊ด๋ฆฌ์.
๋ณต์ /๋ฐ์ดํฐ ์์
๋ฐ์ดํฐ ์ธํธ โ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ณ ๊ฒ์ํ๊ธฐ ์ํ ๋๊ตฌ์ ๋๋ค.dtle โ MySQL์ฉ ๋ถ์ฐ ๋ฐ์ดํฐ ์ ์ก ์๋น์ค.pgsync - ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ Postgres ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐํํฉ๋๋ค.pg_์นด๋ฉ๋ ์จ โ Python 3์ผ๋ก ์์ฑ๋ MySQL-PostgreSQL ๋ณต์ ์์คํ . ์์คํ ์ mysql-replication ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ PostgreSQL์ JSONB๋ก ์ ์ฅ๋ ํ ์ด๋ฏธ์ง๋ฅผ MySQL์์ ๊ฐ์ ธ์ต๋๋ค.PGDeltaStream โ Postgres ๋ ผ๋ฆฌ์ ๋์ฝ๋ฉ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์น์์ผ์ ํตํด Postgres ๋ณ๊ฒฝ ์ฌํญ์ ํ ๋ฒ ์ด์ ์คํธ๋ฆฌ๋ฐํ๋ Golang ์น ์๋ฒ์ ๋๋ค.๋ด๋น์ โ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ PostgreSQL์ฉ ๋ณต์ ๊ด๋ฆฌ์์ ๋๋ค.
์คํฌ๋ฆฝํธ
pgx_scripts โ PostgreSQL Experts ํ์ด ๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ถ์ ๋ฐ ๊ด๋ฆฌ์ ์ ์ฉํ ์์ ์คํฌ๋ฆฝํธ ๋ชจ์์ ๋๋ค.pgsql-bloat-์ถ์ โ PostgreSQL์ฉ ์ธ๋ฑ์ค ๋ฐ ํ ์ด๋ธ์ ํต๊ณ์ ํฝ์ฐฝ์ ์ธก์ ํ๋ ์ฟผ๋ฆฌ์ ๋๋ค.pgWikiDont โ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ค์์ ๊ท์น์ ๋ฐ๋ฅด๋์ง ํ์ธํ๋ SQL ํ ์คํธhttps://wiki.postgresql.org/wiki/Donโt_Do_This .pg-utils โ ์ ์ฉํ PostgreSQL ์ ํธ๋ฆฌํฐ.ํฌ์คํธ๊ทธ๋ ์ค ์นํธ ์ํธ โ ์ ์ฉํ SQL ์คํฌ๋ฆฝํธ ๋ฐ ๋ช ๋ น .postgres_dba โ Postgres DBA ๋ฐ ๋ชจ๋ ์์ง๋์ด๋ฅผ ์ํ ์ ์ฉํ ๋๊ตฌ ์ธํธ๊ฐ ๋๋ฝ๋์์ต๋๋ค.postgres_queries_and_commands.sql - ์ ์ฉํ PostgreSQL ์ฟผ๋ฆฌ ๋ฐ ๋ช ๋ น.TPT โ ์ด๋ฌํ sqlplus ์คํฌ๋ฆฝํธ๋ Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ์ต์ ํ ๋ฐ ๋ฌธ์ ํด๊ฒฐ์ ์ํ ๊ฒ์ ๋๋ค.
๋ชจ๋ํฐ๋ง/ํต๊ณ/์ฑ๋ฅ
ASH ๋ทฐ์ด โ Oracle ๋ฐ PostgreSQL DB ๋ด์ ํ์ฑ ์ธ์ ๊ธฐ๋ก ๋ฐ์ดํฐ์ ๋ํ ๊ทธ๋ํฝ ๋ณด๊ธฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.๋ชฌ์ โ ์์ด์ ํธ๊ฐ ์๊ณ ๋น์ฉ ํจ์จ์ ์ธ MySQL ๋ชจ๋ํฐ๋ง ๋๊ตฌ์ ๋๋ค.mssql-๋ชจ๋ํฐ๋ง โ Collectd, InfluxDB ๋ฐ Grafana๋ฅผ ์ฌ์ฉํ์ฌ SQL Server on Linux ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํฉ๋๋ค.๋ด๋น์บฃ ๋ชจ๋ํฐ โ ๋ชจ๋ํฐ๋ง์ ์ต๋ํ ํจ๊ณผ์ ์ผ๋ก ๋ง๋๋ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ด ํฌํจ๋ ์์ ํ๊ณ ๊ฐ๋จํ๋ฉฐ ์์ด์ ํธ ์๋ ์๊ฒฉ ์๋ฒ ๋ชจ๋ํฐ๋ง ๋๊ตฌ์ ๋๋ค.Percona ๋ชจ๋ํฐ๋ง ๋ฐ ๊ด๋ฆฌ โ MySQL ๋ฐ MongoDB ์ฑ๋ฅ์ ๊ด๋ฆฌํ๊ณ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํ ์คํ ์์ค ํ๋ซํผ์ ๋๋ค.pganalyze ์์ง๊ธฐ โ PostgreSQL ์งํ ๋ฐ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ธฐ ์ํ Pganalyze ํต๊ณ ์์ง๊ธฐ์ ๋๋ค.ํฌ์คํธ๊ทธ๋ ์ค ์ ๊ฒ โ ์ฌ์ฉ์๊ฐ Postgres ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ์ ๋ํ ์ฌ์ธต ๋ถ์์ ์ํํ ์ ์๋ ์ฐจ์ธ๋ ์ง๋จ ๋๊ตฌ์ ๋๋ค.postgres_exporter โ PostgreSQL ์๋ฒ ์ธก์ ํญ๋ชฉ์ ์ํ Prometheus ๋ด๋ณด๋ด๊ธฐ ํ๋ก๊ทธ๋จ์ ๋๋ค.pgDash โ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ๋ ์ธก๋ฉด์ ์ธก์ ํ๊ณ ์ถ์ ํฉ๋๋ค.PgHero โ Postgres์ฉ ์ฑ๋ฅ ๋์๋ณด๋ โ ์ํ ํ์ธ, ์ ์ ์ธ๋ฑ์ค ๋ฑ.pgmetrics โ ์คํ ์ค์ธ PostgreSQL ์๋ฒ์์ ์ ๋ณด์ ํต๊ณ๋ฅผ ์์งํ๊ณ ํ์ํฉ๋๋ค.pg๊ฒจ์ โ Postgres์ฉ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์์๋ ๊ณํ๊ณผ ์ฑ๋ฅ ํฅ์์ ์ํ ํ์ ์ค๋ช ํฉ๋๋ค.pgstats โ PostgreSQL ํต๊ณ๋ฅผ ์์งํ๊ณ ์ด๋ฅผ CSV ํ์ผ์ ์ ์ฅํ๊ฑฐ๋ stdout์ ์ธ์ํฉ๋๋ค.pgwatch2 โ ์ ์ฐํ ๋ ๋ฆฝํ PostgreSQL ์งํ ๋ชจ๋ํฐ๋ง/๋์๋ณด๋ ์๋ฃจ์ ์ ๋๋ค.Telegraf PostgreSQL ํ๋ฌ๊ทธ์ธ โ Postgres ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ธก์ ํญ๋ชฉ์ ์ ๊ณตํฉ๋๋ค.
์ ๋น์ธ
๋ง๋ชฌ์ โ PostgreSQL์ฉ ๋ชจ๋ํฐ๋ง ์์ด์ ํธ.์ค๋ผ๋น ์ค โ Orabbix๋ Zabbix Enterprise Monitor์ ํจ๊ป ์๋ํ์ฌ ์๋ฒ ์ฑ๋ฅ ์งํ์ ํจ๊ป Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๋ค๊ณ์ธต ๋ชจ๋ํฐ๋ง, ์ฑ๋ฅ ๋ฐ ๊ฐ์ฉ์ฑ ๋ณด๊ณ ๋ฐ ์ธก์ ์ ์ ๊ณตํ๋๋ก ์ค๊ณ๋ ํ๋ฌ๊ทธ์ธ์ ๋๋ค.pg_monz โ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ฉ Zabbix ๋ชจ๋ํฐ๋ง ํ ํ๋ฆฟ์ ๋๋ค.ํผ์ค๋ผ โ Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ชจ๋ํฐ๋งํ๋ Python ์คํฌ๋ฆฝํธ์ ๋๋ค.ZabbixDBA - ZabbixDBA๋ RDBMS๋ฅผ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํด ๋น ๋ฅด๊ณ ์ ์ฐํ๋ฉฐ ์ง์์ ์ผ๋ก ๊ฐ๋ฐ๋๋ ํ๋ฌ๊ทธ์ธ์ ๋๋ค.
์ง์
DbFit โ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฝ๋์ ์์ฌ์ด ํ ์คํธ ์ค์ฌ ๊ฐ๋ฐ์ ์ง์ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์คํธ ํ๋ ์์ํฌ์ ๋๋ค.RegreSQL โ ํ๊ท ํ ์คํธ SQL ์ฟผ๋ฆฌ.
๋ฐ์ดํฐ ์์ฑ๊ธฐ
๋ฐ์ดํฐ๋ฒ ๋ค ๋ฒ ๋๋ ์ดํฐ โ ํ ์คํธ ์ค์ธ ์์คํ ์ ๋ํด ํ์ค์ ์ด๊ณ ์ ํจํ ๋์ฉ๋ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๊ธฐ ์ํ ํ๋ ์์ํฌ์ ๋๋ค(Datalite ์ํฐ ํจํด ๋ฐฉ์ง).MySQL์ฉ dbForge ๋ฐ์ดํฐ ์์ฑ๊ธฐ โ ๋๋์ ์ค์ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๊ธฐ ์ํ ๊ฐ๋ ฅํ GUI ๋๊ตฌ์ ๋๋ค.Oracle์ฉ dbForge ๋ฐ์ดํฐ ์์ฑ๊ธฐ โ ์๋ง์ ์ค์ ํ ์คํธ ๋ฐ์ดํฐ๋ก Oracle ์คํค๋ง๋ฅผ ์ฑ์ฐ๊ธฐ ์ํ ์์ง๋ง ๊ฐ๋ ฅํ GUI ๋๊ตฌ์ ๋๋ค.SQL Server์ฉ dbForge ๋ฐ์ดํฐ ์์ฑ๊ธฐ โ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์๋ฏธ ์๋ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํ๊ธฐ ์ํ ๊ฐ๋ ฅํ GUI ๋๊ตฌ์ ๋๋ค.
ํ์ ์ค
pgbadger - ๋น ๋ฅธ PostgreSQL ๋ก๊ทธ ๋ถ์๊ธฐ.pgbedrock โ Postgres ํด๋ฌ์คํฐ์ ์ญํ , ์ญํ ๋ฉค๋ฒ์ญ, ์คํค๋ง ์์ ๊ถ ๋ฐ ๊ถํ์ ๊ด๋ฆฌํฉ๋๋ค.pgslice โ Postgres ํํฐ์ ๋์ ํ์ด์ฒ๋ผ ์ฝ์ต๋๋ค.
HA/์ฅ์ ์กฐ์น/์ค๋ฉ
์ํฌ์ค โ ๋ฐ์ดํฐ์ ์ฟผ๋ฆฌ๋ฅผ ์ฌ๋ฌ ๋ ธ๋์ ๋ถ์ฐ์ํค๋ Postgres ํ์ฅ์ ๋๋ค.ํ์์ โ ZooKeeper, etcd ๋๋ Consul์ ์ฌ์ฉํ PostgreSQL ๊ณ ๊ฐ์ฉ์ฑ์ ์ํ ํ ํ๋ฆฟ์ ๋๋ค.Percona XtraDB ํด๋ฌ์คํฐ โ MySQL ํด๋ฌ์คํฐ๋ง ๋ฐ ๊ณ ๊ฐ์ฉ์ฑ์ ์ํ ๊ณ ํ์ฅ์ฑ ์๋ฃจ์ ์ ๋๋ค.์คํจ ๋ก โ PostgreSQL ๊ณ ๊ฐ์ฉ์ฑ์ ์ํ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ PostgreSQL ๊ด๋ฆฌ์์ ๋๋ค.pg_auto_failover โ ์๋ํ๋ ์ฅ์ ์กฐ์น ๋ฐ ๊ณ ๊ฐ์ฉ์ฑ์ ์ํ Postgres ํ์ฅ ๋ฐ ์๋น์ค์ ๋๋ค.pglookout โ PostgreSQL ๋ณต์ ๋ชจ๋ํฐ๋ง ๋ฐ ์ฅ์ ์กฐ์น ๋ฐ๋ชฌ.PostgreSQL ์๋ ์ฅ์ ์กฐ์น โ ์ ๊ณ ์ฐธ์กฐ Pacemaker ๋ฐ Corosync๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ Postgres์ ๊ณ ๊ฐ์ฉ์ฑ.postgresql_cluster โ PostgreSQL ๊ณ ๊ฐ์ฉ์ฑ ํด๋ฌ์คํฐ("Patroni" ๋ฐ "DCS(etcd)" ๊ธฐ๋ฐ). Ansible์ ํตํ ๋ฐฐํฌ ์๋ํ.๋นํ ์ค โ ์ผ๋ฐํ๋ ์ค๋ฉ์ ํตํ MySQL์ ์ํ์ ํ์ฅ์ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ง ์์คํ ์ ๋๋ค.
Kubernetes
KubeDB โ Kubernetes์์ ํ๋ก๋์ ๊ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฝ๊ฒ ์คํํ ์ ์์ต๋๋ค.ํฌ์คํธ๊ทธ๋ ์ค ์ฐ์ฐ์ โ Postgres Operator๋ Patroni๊ฐ ์ ๊ณตํ๋ Kubernetes(K8s)์์ ๊ณ ๊ฐ์ฉ์ฑ PostgreSQL ํด๋ฌ์คํฐ๋ฅผ ํ์ฑํํฉ๋๋ค.์คํ๋ก - Docker๊ฐ ํฌํจ๋ HA PostgreSQL ํด๋ฌ์คํฐ.StackGres โ Kubernetes์ ์ํฐํ๋ผ์ด์ฆ๊ธ ํ ์คํ PostgreSQL.
๊ตฌ์ฑ ํ๋
MySQLํ๋-ํ โ MySQL ์ค์น๋ฅผ ๋น ๋ฅด๊ฒ ๊ฒํ ํ๊ณ ์กฐ์ ํ์ฌ ์ฑ๋ฅ๊ณผ ์์ ์ฑ์ ๋์ผ ์ ์๋๋ก Perl๋ก ์์ฑ๋ ์คํฌ๋ฆฝํธ์ ๋๋ค.PG๊ตฌ์ฑ์ โ ์ต์ ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๋ ๋ฌด๋ฃ ์จ๋ผ์ธ ๋๊ตฌpostgresql.conf
.pgtune โ PostgreSQL ๊ตฌ์ฑ ๋ง๋ฒ์ฌ.postgresqltuner.pl โ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ฑ์ ๋ถ์ํ๊ณ ํ๋ ์กฐ์ธ์ ์ ๊ณตํ๋ ๊ฐ๋จํ ์คํฌ๋ฆฝํธ์ ๋๋ค.
๊ฐ๋ฐ์
DB๋ง์์คํธ๋ก โ DBmaestro๋ ๋ฆด๋ฆฌ์ค ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ํํ๊ณ ์ ์ฒด IT ์ํ๊ณ์์ ๋ฏผ์ฒฉ์ฑ์ ์ง์ํฉ๋๋ค.Toad DevOps ํดํท โ Toad DevOps Toolkit์ ํ์ง, ์ฑ๋ฅ ๋๋ ์์ ์ฑ์ ์ ํ์ํค์ง ์๊ณ DevOps ์ํฌํ๋ก ๋ด์์ ์ฃผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ฐ ๊ธฐ๋ฅ์ ์คํํฉ๋๋ค.
์คํค๋ง ์ํ
Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ ์คํค๋ง - Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ ์คํค๋ง.
ํต๊ณ ๋ณด๊ณ ์
ํด๋ฆฌ โ SQL ์ ํธ๊ฐ๋ฅผ ์ํด ์ ์๋ ์ฌ์ฉํ๊ธฐ ์ฌ์ด SQL ๋ณด๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค.
๋ฐฐํฌํ
DB๋ฐฐํฌ์ โ MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ๋ฅผ ์ฝ๊ฒ ๋ฐฐํฌํ๋ ๋๊ตฌ์ ๋๋ค.dbatools โ ๋ช ๋ น์ค SQL Server Management Studio์ฒ๋ผ ์๊ฐํ ์ ์๋ PowerShell ๋ชจ๋์ ๋๋ค.Postgres.app โ ํ์ค Mac ์ฑ์ผ๋ก ํจํค์ง๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ถ PostgreSQL ์ค์น.BigSQL โ ๊ฐ๋ฐ์ ์นํ์ ์ธ Postgres ๋ฐฐํฌํ์ ๋๋ค.์ฝ๋ผ๋ฆฌ ์ฐฝ๊ณ โ PostgreSQL๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์๋ ์ฌ๋ฌ ์ ํธ๋ฆฌํฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฒ๋ค๋ก ์ ๊ณตํ๋ ์น ๊ธฐ๋ฐ PostgreSQL ๊ด๋ฆฌ ํ๋ฐํธ ์๋์ ๋๋ค.
๋ณด์
์ํฌ๋ผ โ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณด์ ์ ํ๊ตฐ. ํ๋ ์์ค ์ํธํ ๊ธฐ๋ฅ์ ๊ฐ์ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ก์, ์ํธํ๋ ๋ฐ์ดํฐ ๊ฒ์, SQL ์ฃผ์ ๋ฐฉ์ง, ์นจ์ ํ์ง, ํ๋ํ. ํด๋ผ์ด์ธํธ ์ธก ๋ฐ ํ๋ก์ ์ธก("ํฌ๋ช ") ์ํธํ๋ฅผ ์ง์ํฉ๋๋ค. SQL, NoSQL.
์ฝ๋ ํฌ๋งทํฐ
์ฝ๋๋ฒํ โ ๊ธฐ๊ณ ํ์ต์ ํตํ ์ธ์ด์ ๊ตฌ์ ๋ฐ์ง ์๋ ์์ ์ธ์.
๊ธฐ์ฌ
- ๊ทํ์ ๊ธฐ์ฌ๋ ์ธ์ ๋ ํ์ํฉ๋๋ค! ์ฝ์ด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค
๊ธฐ์ฌ ์ง์นจ ๋จผ์ .
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๋ฐ๊ฒฌ์ด ์์ผ๋ฉด ๊ณต์ ํด ์ฃผ์ธ์. PR์ด๋ ์คํ ๋ฑ ํผ๋๋ฐฑ๋ ๊ธฐ๊บผ์ด ๋ฐ๊ฒ ์ต๋๋ค. ์์ ๋ง์ ์ํธ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ถ๊ธํ ์ ์ด ์์ผ๋ฉด ์ ์ด๋ณด์ธ์.
์ถ์ฒ : habr.com