์ด ๋ฌธ์์์๋Google Cloud์ AI ๊ธฐ๋ฐ ๊ณต๋์์ ๋๊ตฌ์ธ Gemini๋ฅผ ์ฌ์ฉํ์ฌ Cloud SQL Studio์์ ๋ค์ ์์ ์ ์ํํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
Google Cloud ๋ฅผ ์ํ Gemini์์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ ์์ ์ ์์๋ณด์ธ์.
์ด ๋ฌธ์๋ SQL, ๋ฐ์ดํฐ ๋ถ์, Cloud SQL์ ์ต์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์ ๋ฐ ๋ฐ์ดํฐ ์์ง๋์ด๋ฅผ ๋์์ผ๋ก ํฉ๋๋ค. Cloud SQL์ ์ฒ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Cloud SQL ๊ฐ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์์ํ๊ธฐ ์ ์
- ์ด ๋ฌธ์์ ํ์คํฌ๋ฅผ ์๋ฃํ๋ ค๋ฉด ํ์ํ Identity and Access Management(IAM) ๊ถํ์ด ์๋์ง ํ์ธํฉ๋๋ค.
- Cloud SQL Studio์ ๋ํ ์ก์ธ์ค๋ฅผ ํ์ธํฉ๋๋ค. Cloud SQL Studio์ ์ก์ธ์คํ ์ ์์ผ๋ฉด Cloud SQL Studio ํ์ ์ญํ ๋ฐ ๊ถํ์ ์ฐธ์กฐํ์ธ์.
์ ํ์ฌํญ: ์ด ๋ฌธ์์ ์์๋ฅผ ๋ฐ๋ผ ํ๋ ค๋ฉด ๋ค์ ์คํค๋ง๋ฅผ ์ฌ์ฉํ์ฌ
Singers
ํ ์ด๋ธ์ ๋ง๋ญ๋๋ค.CREATE TABLE Singers ( SingerId BIGINT PRIMARY KEY, FirstName VARCHAR(1024), LastName VARCHAR(1024), SingerInfo BYTEA, BirthDate TIMESTAMPTZ );
Singers
ํ ์ด๋ธ์ ๋ง๋ ํ refresh์๋ก๊ณ ์นจ์ ํด๋ฆญํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
ํ์ ์ญํ ๋ฐ ๊ถํ
์ด ๋ฌธ์์ ํ์คํฌ๋ฅผ ์๋ฃํ๋ ๋ฐ ํ์ํ ๊ถํ์ ์ป์ผ๋ ค๋ฉด ๊ด๋ฆฌ์์๊ฒ ํ๋ก์ ํธ์ ๋ํ Cloud SQL ๊ด๋ฆฌ์(roles/cloudsql.admin
) IAM ์ญํ ์ ๋ถ์ฌํด ๋ฌ๋ผ๊ณ ์์ฒญํ์ธ์.
์ญํ ๋ถ์ฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋ก์ ํธ, ํด๋, ์กฐ์ง์ ๋ํ ์ก์ธ์ค ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ปค์คํ ์ญํ ์ด๋ ๋ค๋ฅธ ์ฌ์ ์ ์๋ ์ญํ ์ ํตํด ํ์ํ ๊ถํ์ ์ป์ ์๋ ์์ต๋๋ค.
๋ํ ์ฟผ๋ฆฌ ํธ์ง๊ธฐ์์ SQL ๋ฌธ ์ค๋ช
์ ์ฌ์ฉํ๋ ค๋ฉด cloudaicompanion.companions.generateChat
๊ถํ์ด ํ์ํ๊ณ ์ฝ๋ ์์ฑ ์ง์์ ์ฌ์ฉํ๋ ค๋ฉด cloudaicompanion.companions.generateCode
๊ฐ ํ์ํฉ๋๋ค.
์์ฐ์ด ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํ์ฌ SQL ์ฟผ๋ฆฌ ์์ฑ
์์ฐ์ด ์ฃผ์(๋๋ ํ๋กฌํํธ)์ผ๋ก Gemini๊ฐ ์คํค๋ง์ ๋ฐ๋ฅธ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ฒ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Gemini๊ฐ ๋ค์ ํ๋กฌํํธ์ ๋ํ ์๋ต SQL์ ์์ฑํ๋๋ก ์ ๋ํ ์ ์์ต๋๋ค.
- '๊ณ ๊ฐ ๋ง์กฑ๋ ์ค๋ฌธ์กฐ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ถ์ ํ๋ ํ ์ด๋ธ์ ๋ง๋ค์ด ์ค.'
- 'Singers ํ ์ด๋ธ์ ์์ผ์ด๋ผ๋ ๋ ์ง ์ด์ ์ถ๊ฐํด ์ค.'
- '90๋ ๋์ ํ์ด๋ ๊ฐ์๋ ๋ช ๋ช ์ด์ผ?'
์ ํ ์ด๋ธ ๋๋ ์ด ์ถ๊ฐ์ ๊ฐ์ด ์คํค๋ง๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ Gemini๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ refresh์๋ก๊ณ ์นจ์ ํด๋ฆญํ์ฌ ์คํค๋ง๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
Gemini ์ง์์ ํตํด Cloud SQL์ SQL์ ์์ฑํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์์์ Cloud SQL ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๋ชฉ๋ก์์ ์ธ์คํด์ค๋ฅผ ์ ํํฉ๋๋ค.
ํ์ ๋ฉ๋ด์์ Cloud SQL Studio๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ, ์ฌ์ฉ์ ์ด๋ฆ, ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ์ฌ Cloud SQL Studio์ ๋ก๊ทธ์ธํฉ๋๋ค. ํ์๊ธฐ ์ฐฝ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด ๋ชฉ๋ก์ด ํ์๋ฉ๋๋ค.
์์ ํ์์ค์์ pen_spark Gemini๋ฅผ ํด๋ฆญํ์ฌ Cloud SQL์ Gemini ๊ธฐ๋ฅ์ ๋ด ๋๋ค.
์ฃผ์-์ฟผ๋ฆฌ ์์ฑ์ด ์ฌ์ฉ ์ค์ ๋์ด ์๋์ง ํ์ธํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฟผ๋ฆฌํ๋ ค๋ฉด
์ SQL ํธ์ง๊ธฐ ํญ์ ํด๋ฆญํฉ๋๋ค.SQL์ ์์ฑํ๋ ค๋ฉด ์ฟผ๋ฆฌ ํธ์ง๊ธฐ์์
--
๋ก ์์ํ๊ณ ๊ทธ ๋ค์ ํ ์ค ์ฃผ์์ด ์๋ ์ฃผ์์ ์ ๋ ฅํ ๋ค์ Return ๋๋ Enter๋ฅผ ๋๋ฆ ๋๋ค.์๋ฅผ ๋ค์ด ๋ค์ ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค.
-- add a row to table singers
Return ๋๋ Enter๋ฅผ ๋๋ฆ ๋๋ค. Gemini๋ ๋ค์๊ณผ ์ ์ฌํ SQL์ ์์ฑํฉ๋๋ค.
INSERT INTO Singers (SingerId, FirstName, LastName, BirthDate) VALUES (1, 'Alex', 'M.', '1977-10-16');
Singers
ํ ์ด๋ธ์ ์ฌ์ฉํ์ฌ ์์๋ฅผ ๊ณ์ ์งํํ๋ ค๋ฉด ๋ค์ ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค.-- show all singers born in the 70s
Gemini๋ ๋ค์๊ณผ ์ ์ฌํ SQL์ ์์ฑํฉ๋๋ค.
SELECT * FROM Singers WHERE Singers.BirthDate BETWEEN '1970-01-01' AND '1979-12-31'
SQL ์ถ์ฒ์ ๊ฒํ ํ๊ณ ๋ค์ ์์ ์ ์ํํฉ๋๋ค.
- Gemini์์ ์์ฑํ SQL์ ์๋ฝํ๋ ์ต์
์ ํ์ํ๋ ค๋ฉด ์ฟผ๋ฆฌ ์์ ํฌ์ธํฐ๋ฅผ ๊ฐ์ ธ๊ฐ๋๋ค. ๋ค์ ์ต์
์ด ํ์๋ฉ๋๋ค.
- ์๋ฝ: ์ถ์ฒ ์ฟผ๋ฆฌ๋ฅผ ์๋ฝํ๋ ค๋ฉด
Tab
์ ๋๋ฅธ ํ ์คํ์ ํด๋ฆญํฉ๋๋ค. - ๋จ์ด ์๋ฝ: ์ถ์ฒ ์ฟผ๋ฆฌ๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ์๋ฝํ๋ ค๋ฉด
Control
+Right arrow
(๋๋ macOS์ ๊ฒฝ์ฐCommand
+Right arrow
)๋ฅผ ๋๋ฅธ ๋ค์ ์คํ์ ํด๋ฆญํฉ๋๋ค.
- ์๋ฝ: ์ถ์ฒ ์ฟผ๋ฆฌ๋ฅผ ์๋ฝํ๋ ค๋ฉด
- ์๋ SQL์ ์์ ํ๋ ค๋ฉด
Tab
์ ๋๋ฅด๊ณ SQL์ ์์ ํ ํ ์คํ์ ํด๋ฆญํฉ๋๋ค. - ์ถ์ฒ์ ๋ซ์ผ๋ ค๋ฉด
Esc
๋ฅผ ๋๋ฅด๊ฑฐ๋ ๊ณ์ ์ ๋ ฅํฉ๋๋ค.
- Gemini์์ ์์ฑํ SQL์ ์๋ฝํ๋ ์ต์
์ ํ์ํ๋ ค๋ฉด ์ฟผ๋ฆฌ ์์ ํฌ์ธํฐ๋ฅผ ๊ฐ์ ธ๊ฐ๋๋ค. ๋ค์ ์ต์
์ด ํ์๋ฉ๋๋ค.
์ฝ๋ ์์ฑ ์ง์ ๋๊ตฌ
์ฝ๋ฉ ๋์ฐ๋ฏธ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค.
Google Cloud ์ฝ์์์ Cloud SQL ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๋ชฉ๋ก์์ ์ธ์คํด์ค๋ฅผ ์ ํํฉ๋๋ค.
ํ์ ๋ฉ๋ด์์ Cloud SQL Studio๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ, ์ฌ์ฉ์ ์ด๋ฆ, ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ์ฌ Cloud SQL Studio์ ๋ก๊ทธ์ธํฉ๋๋ค. ํ์๊ธฐ ์ฐฝ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด ๋ชฉ๋ก์ด ํ์๋ฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฟผ๋ฆฌํ๋ ค๋ฉด
์ ํญ์ ํด๋ฆญํฉ๋๋ค.์ฟผ๋ฆฌ ํธ์ง๊ธฐ ์์ ์๋ pen_spark ์ฝ๋ฉ ๋์ฐ๋ฏธ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ฝ๋ฉ ๋์ฐ๋ฏธ ์ฐฝ์ ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด
add a row to table singers
์ด๊ณ ์์ฑ์ ํด๋ฆญํฉ๋๋ค.Gemini๋ ๋ค์๊ณผ ์ ์ฌํ SQL์ ์์ฑํฉ๋๋ค.
INSERT INTO Singers (SingerId, FirstName, LastName, BirthDate) VALUES (1, Alex, 'M.', '1977-10-16');
์์ฑ๋ SQL์ ๊ฒํ ํ๊ณ ๋ค์ ์์ ์ค ํ๋๋ฅผ ์ํํฉ๋๋ค.
- Gemini์์ ์์ฑํ SQL์ ์๋ฝํ๋ ค๋ฉด ์ฝ์ ์ ํด๋ฆญํ์ฌ ๋ฌธ์ ์ฟผ๋ฆฌ ํธ์ง๊ธฐ์ ์ฝ์ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์คํ์ ํด๋ฆญํ์ฌ ์ถ์ฒ SQL์ ์คํํฉ๋๋ค.
- Gemini์ ์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ผ๊ณ ์์ฒญํ๋ ค๋ฉด ์์ ์ ํด๋ฆญํฉ๋๋ค. ํ๋กฌํํธ๋ฅผ ์์ ํ ํ ์ ๋ฐ์ดํธ๋ฅผ ํด๋ฆญํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์๋ก ์์ฑ๋ ๋ฌธ์ ์๋ฝํ๊ฑฐ๋ ์ถ์ฒ์ ๋ซ์ ์ ์์ต๋๋ค.
- ์ถ์ฒ์ ๋ซ์ผ๋ ค๋ฉด ์ฝ๋ฉ ๋์ฐ๋ฏธ ์ฐฝ์ ๋ซ์ต๋๋ค.
์ฟผ๋ฆฌ ํธ์ง๊ธฐ์์ SQL ๋ฌธ ์ค๋ช
Cloud SQL์์ Gemini๋ฅผ ์ฌ์ฉํ์ฌ ์์ฐ์ด๋ก SQL ์ฟผ๋ฆฌ๋ฅผ ์ค๋ช ํ ์ ์์ต๋๋ค. ์ด ์ค๋ช ์ ๋ณต์กํ๊ฑฐ๋ ๊ธด ์ฟผ๋ฆฌ์ ๋ํ ๊ตฌ๋ฌธ, ๊ธฐ๋ณธ ์คํค๋ง, ๋น์ฆ๋์ค ์ปจํ ์คํธ๋ฅผ ์ดํดํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
Google Cloud ์ฝ์์์ Cloud SQL ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๋ชฉ๋ก์์ ์ธ์คํด์ค๋ฅผ ์ ํํฉ๋๋ค.
ํ์ ๋ฉ๋ด์์ Cloud SQL Studio๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ, ์ฌ์ฉ์ ์ด๋ฆ, ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ์ฌ Cloud SQL Studio์ ๋ก๊ทธ์ธํฉ๋๋ค. ํ์๊ธฐ ์ฐฝ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด ๋ชฉ๋ก์ด ํ์๋ฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฟผ๋ฆฌํ๋ ค๋ฉด
์ ํญ์ ํด๋ฆญํฉ๋๋ค.์ฟผ๋ฆฌ ํธ์ง๊ธฐ์์ ์ค๋ช ํ๋ ค๋ ์ฟผ๋ฆฌ๋ฅผ ๋ถ์ฌ๋ฃ์ต๋๋ค.
Gemini์์ ์ค๋ช ํ ์ฟผ๋ฆฌ๋ฅผ ๊ฐ์กฐํ์ํ ํ spark ์ด ์ฟผ๋ฆฌ ์ค๋ช ์ ํด๋ฆญํฉ๋๋ค.
SQL ์ฟผ๋ฆฌ์ ๋ํ ์ค๋ช ์ด Gemini ์ฑํ ์ฐฝ์ ํ์๋ฉ๋๋ค.
๋ค์ ๋จ๊ณ
- Google Cloud ์ฉ Gemini ๊ฐ์ ์ฝ์ด๋ณด๊ธฐ
- Gemini์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ
- Gemini๋ฅผ ์ฌ์ฉํ์ฌ Google Cloud ์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๋ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ