사실 계기는 별 게 없었다.
트립핀 때부터 모스까지 프로젝트를 함께 개발했던 프론트엔드 개발자 J가
자신이 새로 공부하게된 '수파베이스'에 대한 장점을 알려주겠다고 했던 때가 시작이였다.
기획자인 내가 개발적인 용어는 잘 알지 못하니 최대한 간결하게 설명을 해주었다.
그런데 들으면 들을 수록 노션의 관계형 데이터베이스와 닮은 듯 했다.
J에게 설명해주었더니 아주 비슷하다고.
너는 구조 짜는 걸 좋아하고, 노션의 데이터베이스를 잘 쓰니 잘 이해할 것 같다며 추천했다.
목차
1. 기획자인 내가 수파베이스와 Postgre SQL을 공부하는 이유
2. 수파베이스 vs 파이어베이스
3. 수파베이스와 노션의 유사성
1. 기획자인 내가 수파베이스와 Postgre SQL을 공부하는 이유
1) Postgre SQL 은 안그래도 SQL 에 대해서 꼭 공부해보고 싶었고,
2) 수파베이스는 우리 둘이서 또 만들고 싶은 앱이 있었는데 (현실적으로 한 달 뒤쯤부터 가능한)
기획자 1명, 개발자 1명으로 앱을 만들 때 내가 공부해두면 활용하기 좋을 것 같았다.
J도 이번엔 파이어베이스 대신 수파베이스를 써보고 싶어하고,
내가 기획하면서 스스로 필요한 것들을 바로 테이블로 만들어 놓으면, 프론트엔드 입장에서 바로 활용할 수 있으니깐 말이다.
➜ 8월 말 - 9월 초 시작할 OO 프로젝트는 수파베이스 PostgreSQL을 활용해보기로 했다!
2. 수파베이스 vs 파이어베이스
1) 오픈 소스
- 수파베이스는 오픈 소스 기반의 백엔드 서비스 플랫폼이다. (마치 누구나 자유롭게 볼 수 있는 요리책과 같다!) 원하는 대로 레시피를 수정할 수 있고, 다른 사람들이 만든 새로운 레시피를 활용할 수도 있다. 이렇게 자유로운 환경 덕분에 원하는 기능을 추가하거나 바꿀 수 있는 유연성이 있다. 사용자나 개발자가 원하는 대로 코드를 수정하거나 커스터마이징할 수 있게 된다!
- 파이어베이스와의 비교: 파이어베이스는 구글이 제공하는 비공개 소스 플랫폼이다. 여러가지 장점이 있지만 마치 특정 레스토랑에서만 사용하는 비밀 레시피처럼 내부를 들여다볼 수 없다. 필요한 기능이 없거나 변경하고 싶어도 제한이 있을 수 있다.
2) PostgreSQL 기반의 관계형 데이터베이스
- 수파베이스: 수파베이스는 PostgreSQL이라는 관계형 데이터베이스(노션과 비슷하다!✨)를 기반으로 한다. 관계형 데이터베이스는 데이터를 표 형태로 저장하고, 데이터 간의 관계를 관리할 수 있어 다양한 데이터 분석과 검색이 용이하다! 또한 복잡한 데이터 관계와 쿼리를 처리하는 데 강점을 지니고 있어, 복잡한 비즈니스 로직을 구현하기에 적합하다.
- 파이어베이스: 파이어베이스는 NoSQL 데이터베이스인 Firestore를 사용한다. Firestore는 유연한 데이터 구조를 제공하지만, 복잡한 관계를 처리하는 데 한계가 있을 수 있다.
➜ 트립핀 때 채팅 구현시에 파이어베이스를 썼기에 직접 J가 보여주었다.
내가 잘 알지는 못해도 굉장히 경직되어 있다고 느껴졌다.
마치 노션을 처음 쓰면 데이터베이스를 활용하기 보다 페이지를 활용하는데
(페이지 안에 페이지를 넣는 식), 파이어베이스가 그런 느낌이였다.
페이지1 안에 페이지2, 그 안에 페이지3... 이런 식으로 쓰다보면
하위 페이지에 있는 정보를 찾기에도 쉽지가 않고 그러다보니 활용하기에도 쉽지가 않다.
노션의 관계형 데이터베이스를 쓰면 각기 다른 데이터베이스간에 링크를 걸어 참조할 수 있는데,
이게 내가 수파베이스를 보는 느낌이였다.🔥
2) 사용자 경험 및 커스터마이징
- 수파베이스: 수파베이스는 사용자가 직접 데이터를 구조화하고 커스터마이징할 수 있는 자유가 있다!
- 파이어베이스: 파이어베이스는 이미 정해진 틀 안에서 사용해야 하는 경우가 많다.
3) 비용 및 확장성
- 수파베이스: 수파베이스는 시작할 때 비용이 들지 않고, 규모가 커져도 비용 구조가 비교적 명확하다. 마치 처음에 맛보기로 무료 샘플을 주고, 필요하면 더 사는 식당처럼, 사용한 만큼만 지불하면 된다.
- 파이어베이스: 파이어베이스는 초기에는 무료로 시작할 수 있지만, 사용량이 늘어나면 갑자기 높은 비용이 발생할 수 있다. 마치 음식을 무제한으로 먹다가 갑자기 추가 요금이 붙는 뷔페처럼, 사용량에 따라 예기치 않은 비용이 발생할 수 있다!
3. 수파베이스와 노션의 유사성
1) DB 관리의 구조적인 유연성
- 수파베이스: 수파베이스는 SQL 기반의 데이터베이스로, 데이터를 구조적으로 관리할 수 있는 유연성이 있다. 이건 노션의 데이터베이스가 다양한 방식으로 데이터를 입력하고 필터링할 수 있도록 하는 것과 비슷하다! 사용자가 원하는 대로 데이터를 쉽게 조작하고 관리할 수 있다는 점에서 두 기능은 유사하다.
- 노션: 노션 역시 굉장히 직관적인 사용자 인터페이스를 제공한다. 복잡한 데이터를 쉽게 관리할 수 있게 해주는데, 유저는 표, 목록, 카드 등의 형태로 데이터를 정리하고 필요에 따라 다양한 필터와 뷰를 적용할 수 있다!
2) 확장성과 커스터마이징 가능성
- 수파베이스: 수파베이스는 위에 말한 것처럼 사용자나 개발자가 필요한 기능을 자유롭게 확장하고 커스터마이징할 수 있다. 이는 노션에서 사용자가 템플릿을 만들고 원하는 대로 페이지를 구성할 수 있는 유연성과 비슷하다.
- 노션: 노션은 다양한 블록과 템플릿을 사용하여 페이지를 자유롭게 구성할 수 있는 기능을 제공한다. 사용자는 필요에 따라 다양한 형태로 데이터를 확장하고 연결할 수 있다.(그래서 내가 굉장히 사랑하기도 한다...)
자, 아무튼 나는 J가 들으려고 신청했다는 이 강의가 무료여서 나도 들어보려고 한다.
1. 플러터 기본기 다지기 및 기본 위젯 설명
2024년 8월 5일(월) | 오후 9시
2. SQL 파헤치기 및 슈파베이스 기본기
2024년 8월 12일(월) | 오후 9시
3. 프로젝트! SNS 및 리얼타임 채팅 기능 플러터와 슈파베이스
2024년 8월 19일(월) | 오후 9시
4. 플러터와 앱 개발의 모든 것! 마스터 Q&A
2024년 8월 26일(월) | 오후 9시
나는 플러터 강의는 내게 해당이 되지 않으니 2번과 3번 정도만 들으면 될 것 같다.
아, 얼른 빨리 OO 프로젝트를 시작하고 싶어라...! 설레인다.
그 사이에 할 수 있고, 해야하는 일들을 해두어야지!