2025. 7. 6. 22:33ㆍ연구하기, 지식
최근 개인 프로젝트 때문에 개발 랩탑에 DB를 설치한적이 있다. 사실 DB 쪽은 잘 모른다. 물론 기본적인 쿼리문이나 지켜야할 사항들 등 베이직한 지식들은 알지만 친하지는 않다. 그래서 그런지 설치가 잘되지 않았다. 이유는 뭔지 모르겠다. 방화벽 문제인것 같은데 하다가 스트레스 받아서 포기했다. 그래서 데이터들을 csv와 pandas로 관리하고 있었다. 너무 초보적이라 부끄러웠다. 그러던중 재미있는 서비스를 발견했다. 바로 'Supabase' 이다. Firebase와 비슷한 PostgreSQL 기반 웹 DB 플랫폼이다. 무료이고, 관리가 쉽고, 사용하기 편하다고 한다. 오호라. 그럼 내가 안써볼 수 없다. 바로 써보겠다.
Supabase | The Postgres Development Platform.
Build production-grade applications with a Postgres database, Authentication, instant APIs, Realtime, Functions, Storage and Vector embeddings. Start for free.
supabase.com
기본적으로 Supabse 웹에 들어가보면 개발자 냄새가 물씬 난다. 바로 sign in 을 눌러서 한 배에 타보겠다.
개발자용 웹답게 Git Hub 연동을 지원한다. 바로 고우고우.
가입을 하게 되면 단체 이름을 입력할 수 있다. 그리고 플랜을 선택할 수 있다. 플랜별 차이는 뒷 부분에서 다루겠다.
단체는 좀 더 상위 개념이었고 가입을 완료하면 프로젝트를 만들 수 있다.
프로젝트를 만들 때는 다양한 설정이 가능하다. 연결 제한이나 API 설정, Postgre 설정도 가능하다. 정말 편안하다. 또한 데이터베이스 비밀번호를 강력하게 자동으로 만들 수 있다. 자동 생성 후 잘 복사해놨다가 써먹자.
프로젝트를 만들고 난 다음을 'Settings' 에서 다양한 설정을 볼 수 있다. 연결에 필요한 각종 ID, 토큰 값등을 볼 수 있다. 그 외에도 다양한 정보들을 사이드바에서 확인할 수 있으니 시간이 남으면 봐보도록 하겠다.
프로젝트를 만들고 난 후 테이블을 웹에서 만들어 보자. 아마 많은 개발자 분들은 터미널 창에서 하거나 코딩으로 하겠지만 나같이 DB 알못은 GUI가 너무 좋다. Create a table을 눌러보자.
거기서 테이블 이름, 설명, 컬럼 설정 등을 할 수 있다. 컬럼 설정은 디테일하게 할 수 있다. 데이터 타입, 프라이머리 키, Nullable, Default Value, 정책 등 기본적인 모든 것들을 설정할 수 있다. 그리고 CSV를 통해도 넣을 수 있다!!!! 그동안 CSV에 데이터를 쌓아온 나로써는 호재입니다 호재!
이제 파이썬으로 테이블에 값을 채워보자. supabase 라이브러리도 있긴하지만 굳이 사용하고 싶지 않았다. 우리에게는 통신 최강자 라이브러리 requests가 있는데 하나의 패키지를 더 사용하기 위해 공간을 낭비할 수 없다. URL과 KEY 값을 넣어서 요청을 넣었다. 그런데 오류가 났다.
import requests
SUPABASE_URL = "https://<MY_URL>.supabase.co"
SUPABASE_KEY = "MY_KEY"
TABLE_NAME = "phoneBook"
headers = {
"apikey": SUPABASE_KEY,
"Authorization": f"Bearer {SUPABASE_KEY}",
"Content-Type": "application/json"
}
data = {
"number": "01012345678",
"name": "홍길동"
}
res = requests.post(
f"{SUPABASE_URL}/rest/v1/{TABLE_NAME}",
headers=headers,
json=data
)
print("Status:", res.status_code)
print("Response:", res.json())
정책을 위반했다는거 같다. 알고보니 외부접근을 혀용해줘야 테이블 작업이 가능했다.
Table Editor에서 터미널도 들어갈 수 있었다. 당연하지. 여기서 명령어들을 입력해 설정을 변경할 수 있다. 나는 모두에게 접근 권한을 주고(어차피 나만 쓰지만) 각 컬럼을 수정할 수 있게 했다. Run을 눌러주면 된다.
그 뒤 다시 파이썬 파일을 실행해보니 올바르게 값이 들어왔다. ID값과 create_at은 자동으로 넣게 해놨더니 자동으로 들어갔다. 오호호호홓 이정도면 됐다. 앞으로 야무지게 쓸일만 남았다.
플랜은 엔터프라이즈 제외 세가지가 있다. 대부분 용량 관련 제한 사항들이다. 나는 Free만 써도 충분할 것 같다. DB라는 것이 쓰기 까다롭고 관리하기도 어렵다. 그리고 개인의 랩탑에서 운용하기에는 리소스 소비도 만만치 않다. 나처럼 초보적이게 csv를 사용하지 말고 이렇게 유용한 툴들을 많이 사용하도록 하자!
'연구하기, 지식' 카테고리의 다른 글
NeMo Multi-Scale Diarization Decoder (9) | 2025.08.12 |
---|---|
파이썬에서 깔끔하게 임시 파일 관리하기 (2) | 2025.08.10 |
Gemma3 - 무료 멀티모달 LLM 모델 사용하기 (3) | 2025.06.29 |
JIT 컴파일과 데코레이터 (2) | 2025.06.09 |
푸리에 변환(Fourier transform, FT) (2) | 2025.06.02 |