GCP 데이터베이스 선택 가이드 — Firestore·Cloud SQL·BigQuery 무엇을 쓸까
이 글은 「GCP 기초」 연재의 여섯 번째 글이다. 앞 편에서 파일 둘 곳을 만들었다면 이번에는 데이터 차례다. 그런데 콘솔의 데이터베이스 메뉴를 열면 이름이 열 개 넘게 쏟아진다. 그중 개인 프로젝트에서 실제로 고민하게 되는 건 Firestore, Cloud SQL, BigQuery 세 개다. 셋 다 데이터베이스라고 불리지만 성격도, 요금 매기는 방식도, 무료 한도 유무도 전부 다르다. 이 글을 다 읽으면 내 프로젝트에 무엇이 맞는지 를 세 번의 질문으로 정할 수 있다. 같은 이름으로 불리지만 다른 물건이다 Firestore 는 문서형 NoSQL이다. JSON 비슷한 문서 를 컬렉션에 담고, 문서 하나를 통째로 읽고 쓴다. 테이블도 스키마도 미리 정하지 않고, 앱이 데이터 변경을 실시간으로 받아 볼 수 있다. 모바일·웹 앱의 저장소로 만들어진 물건이다. Cloud SQL 은 우리가 아는 그 관계형 DB다. MySQL·PostgreSQL·SQL Server를 구글이 대신 운영해 준다. 테이블과 스키마가 있고 조인과 트랜잭션이 되며, 기존 SQL 지식이 그대로 통한다. 대신 서버 한 대를 빌리는 구조 라는 점이 뒤에서 요금을 가른다. BigQuery 는 데이터베이스라기보다 분석 창고 다. 수억 행을 통째로 훑어 집계하는 데 특화돼 있다. SQL로 질의하지만 안에서 하는 일이 완전히 달라서, 한 건을 찾아 꺼내는 작업에는 오히려 느리고 비싸다. 데이터베이스 메뉴. 이 글에서 다루는 셋 외에도 AlloyDB·Spanner·Bigtable·Memorystore가 함께 보인다 어떤 일에 무엇이 맞나 하려는 일 맞는 것 이유 앱 회원 정보·게시글 저장 Firestore 문서 단위 읽기·쓰기, 실시간 반영 주문·재고처럼 정합성이 중요 Cloud SQL 트랜잭션과 조인이 필요 로그·결제 내역 집계 리포트 BigQuery 대량 스캔 집계에 특화 이미지·동영상 파일 Cloud Storage 애초에 DB에 넣을 것이 아니다 요금 매기는 잣대가 서로 ...