인프런 커뮤니티 질문&답변

EDDY님의 프로필 이미지

작성한 질문수

[풀스택 완성] Supabase로 웹사이트 3개 클론하기 (Next.js 14)

강의 소개

api 에 대한 질문있습니다.

해결된 질문

24.07.31 19:34 작성

·

120

·

수정됨

0

안녕하세요.

이 인강을 듣기 전에는 db에 데이터를 GET 하고 POST하기 위해서는 Rest API를 통해서 했었습니다.

하지만 이 강의에서는 supabase를 통해서 create,select 등을 이용해서 data를 다루던데 supabase를 통해서는 rest api를 통해서 data를 만들고, 가지고올수도 있나요?

만약 둘다 된다면 어떤 방식을 통해서 주로 data를 다루는게 좋을까요? 현업에서는 어떤 방식을 더 추구하나요?

현재 대학생이라 개인플젝을 할때 db가 필요해서 강의를 오늘부터 듣게되었는데 db를 어떻게 다뤄야할지 감이 안잡히네요.
아직 개념이 좀 잡히지 않아서 헷갈립니다.

추가적으로 저는 팀이나 , 특히 개인프로젝트를 하면서 사용자 정보(id,pw)나 여러 데이터들을 저장하고 싶어서 mongodb를 혼자서 공부하다가 어려워서 여러가지를 찾던 중 supabase(serverless)를 알게되어서 강의를 듣고있습니다.

하지만 그냥 mongodb를 공부해서 db를 다루는게 나은지 아니면 supabase를 공부해서 db를 저장하는게 나은지 잘 모르겠습니다.

긴 글 읽어주셔서 감사합니다..!

답변 1

0

로펀님의 프로필 이미지
로펀
지식공유자

2024. 08. 01. 09:28

안녕하세요 EDDY님!

DB는 기본적으로 관계형 DB(SQL)와 비관계형 DB(NoSQL)로 나뉩니다. 말씀주신 몽고디비는 비관계형 DB로서 복잡한 요구사항이 없는 웹사이트를 구현하거나 key value 형태로 빠르게 데이터를 접근하고 적재할 때 필요한 데이터베이스라고 이해해주시면 됩니다 🙂

Supabase는 다양한 기능들을 제공하지만, 기본적으로는 데이터베이스 종류중 하나에 가깝습니다. PostgreSQL 기반으로 만들어진 실시간 데이터베이스라고 보시면 됩니다. 이 때 권한관리, 실시간 소켓기능, 파일 업로드 기능 등을 더욱 쉽게 사용할 수 있도록 Supabase SDK를 언어별로 제공해준다고 보시면 됩니다!

 

따라서 이 Supabase라는 DB를 사용하기 위해서는 SDK, REST API, ORM 등을 통해 사용이 가능합니다. 하지만 Supabase 팀에서 공식으로 만든 SDK를 사용하시는게 문법을 틀릴 일도 없고 훨씬 간편해요 ㅎㅎ

 

웹사이트 하나를 띄우기 위해서는 기본적으로 웹서버, API 서버, 데이터베이스가 필요합니다. 이번 강좌에서는 Next.js가 웹서버와 API서버 역할을 해준다고 보시면 되고 Supabase가 데이터베이스의 역할을 담당한다고 이해해주시면 됩니다.

 

다만, Supabase가 좀 특이한 서비스라서 브라우저 상에서도 DB에 안전하게 접근할 수 있는 API를 제공하고 있어요. 간단하게 접근하려면 SDK, 아니면 REST API를 통해서 접근도 가능합니다.

 

답변이 잘 되었을지 모르겠네요 에디님 ㅎㅎ 또 궁금하신 점이 있다면 언제든지 질문주세요! 화이팅입니다

EDDY님의 프로필 이미지

작성한 질문수

질문하기