inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

AI 시대에 살아남기: Supabase로 백엔드 뚝딱!

인덱스로 성능 개선하기

수파베이스 ORM 질문

9

노강표

작성한 질문수 44

0

안녕하세요.

수파베이스 ORM 섹션을 듣고나니 일반적인 백엔드 서버와 api 라우트를 정의하고 데이터를 주고받는게 아닌 클라이언트에서 직접 수파베이스 ORM를 호출할 수 있는 것으로 확인되는데요!

현재 회사에 프론트엔드 개발자 2명이고 백엔드 지식이 많지않아 next.js + 수파베이스로 MVP 검증부터 진행할 것같습니다.

수파베이스로 MVP 검증후 별도의 백엔드 서버로 분리하게되었을때(분리가 꼭 필요한지도 사실 잘 모르겠습니다.) 분리비용을 최소화히기위해 api호출 과정을 next.js의 api라우트를 무조건 거쳐서 수파베이스를 접근하게하려고하는데 이런 과정이 유의미한 작업이 될 수 있는지 궁금합니다.

node.js dbms/rdbms oauth backend supabase

답변 2

0

제로초(조현영)

api 호출을 api routes 통해서 하시는게 수파베이스를 미래에 제거할 가능성을 열어두시기 위함이신가요? 그렇다면 유효한 방법입니다. 수파베이스가 아니라면 클라이언트에서 접근되는 디비는 없다고 봐야하니까요.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 노강표님.

MVP 검증을 위해 Next.js와 Supabase를 이용해 백엔드를 구성하고, 이후 별도의 백엔드로 분리할 때 효율적인 접근 방식에 대한 고민을 공유해 주셨네요. 이는 프로젝트의 미래 확장성과 관리 측면에서 중요한 고려사항입니다.

Supabase와 Next.js를 사용하는 현재 구조

Supabase는 클라이언트 측에서 직접 데이터베이스를 호출할 수 있는 강력한 기능을 제공하지만, 이렇게 직접 데이터베이스에 접근하기에는 보안상의 위험이 따를 수 있습니다. 따라서 계획하신 대로, Next.js의 API 라우트를 통해 Supabase를 호출하는 것은 중요한 의미를 가집니다.

API 라우트의 중요성

  1. 보안 강화: 클라이언트가 직접 데이터베이스에 접근하는 것이 아니라, API 호출을 통해 서버 측에서 한 차례 검증을 거치게 되면 데이터 보안이 강화됩니다.
  2. 비즈니스 로직의 캡슐화: 비즈니스 로직이 API 라우트 수준에서 처리되므로, 클라이언트 코드와 서버 논리를 분리하여 유지보수성을 높일 수 있습니다.
  3. 미래 확장성: 이후에 별도의 백엔드 서버를 도입하게 되면, 비즈니스 로직 또는 데이터베이스 구조를 변경하더라도 API 인터페이스만 일정하게 유지하면 클라이언트 코드를 대폭 수정할 필요가 없습니다.

백엔드 분리 여부

별도의 백엔드 서버로의 분리가 항상 필요한 것은 아닙니다. 프로젝트의 규모와 복잡성에 따라 결정할 수 있는 부분입니다. MVP 단계에서는 빠른 피드백과 개선이 중요하기 때문에, 초기에는 Supabase의 서버리스 아키텍처를 활용하는 것이 경제적일 수 있습니다.

하지만, 프로젝트가 확장되어 복잡해질 경우, 백엔드 서버를 통해 더욱 세세한 데이터 처리 및 고급 기능을 구현할 수 있도록 준비하는 것이 좋습니다.

아래는 비슷한 고민을 공유한 유저들의 질문과 지식공유자의 답변을 확인할 수 있는 링크입니다:
- Supabase와 Next.js를 이용한 프로젝트 구조 설계
- 백엔드와 프론트엔드의 역할 분리 및 통합 방법

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

몽고 db 접속 오류

0

11

1

FOREIGN KEY 정리하기, 영상대로 SQL코드 복붙해도 안되요.

0

18

1

트리거 질문

0

22

1

명시적 타입 선언(콜론 타입 선언)과 as 타입 단언 차이

0

19

2

3강 질문

0

26

2

Substack 1년 제공

1

27

3

특별 학습 자료 프로모션 1년 멤버십 무료 제공 문의드립니다

0

29

2

강의 듣는 중인데,

0

32

1

36강 오탈자가 있는 거 같습니다.

0

25

2

Service Create/Update Record 운용과 Delete Record 미운용의 차이 질문

0

25

1

간단한 오타 제보입니다.

0

21

1

2강 nodejs 3단계 설명 질문

0

37

1

Claude Code + Supabase 보안 대응 방안 Q&A

0

26

1

인가 코드 발급(프론트 vs 백)

0

30

2

큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.

0

39

2

실제 FK제약조건을 설정하지 않는이유

0

39

2

useEffect와 lifecycle문의

0

29

2

Sequence 관련 질문

1

32

2

Image Only Query

1

29

2

프론트엔드 학습 수준 문의

0

40

2

Node 관련 질문입니다

0

34

3

todos 테이블, RLS, 트리거 생성 미션 질문드립니다

0

91

2

비개발자이고, 바이브코딩을 하는 40대중반 직장인입니다.

0

174

1

감사히 잘 듣겠습니다.

1

101

1