영화리뷰 -> 쇼핑몰로 프로젝트를 갈아엎기로함.
이유는 => 해보지 않은 결제기능을 넣어보고 싶은데, 영화리뷰 서비스 보다는 쇼핑몰이 적합할 것 같고, 또 쇼핑몰에는
영화리뷰서비스에서 구현할 수 있는 상품 리뷰와 별점기능을 포함시킬 수 있기 때문.
이커머스가 어렵다고는 하지만 어려운 것을 하면서 배우는 것들이 많으니 도전해보기로.
이전 프로젝트에서 CMS인 sanity를 사용했다. 이번에 어떤 것이 프로젝트에 맞는지 고민하다가 DB와 CMS의 차이가 뭔지 알아보았음.
둘다 데이터를 저장하는 것은 같은데 어떤 차이로 어떻게 구분해서 사용하는지 궁금했다.
먼저, 콘텐츠 관리 시스템(CMS)은 웹사이트의 콘텐츠를 생성, 편집, 관리, 저장 및 배포하는 데 최적화된 시스템이고, 주로 비정형 데이터를 다루며, 콘텐츠 중심의 웹사이트에서 유용하다.
데이터베이스는 구조화된 데이터를 효율적으로 저장하고, 검색하고, 관리하는 시스템이다. 주로 정형 데이터를 다루며, 트랜잭션과 관계형 데이터를 관리하는 데 유용하다.
정형 데이터는 규칙적이고 체계적으로 구조화된 데이터를 의미한다. 즉, 정해진 형식과 구조를 가지고 있는 데이터. 주로 행과 열로 이루어진 테이블 형태로 저장되고, 쉽게 검색하고 정리할 수 있다.
예)
사용자 정보: 이름, 이메일, 주소, 전화번호 등
상품 정보: 제품명, 가격, 재고 수량, 카테고리 등
주문 내역: 주문 번호, 주문 날짜, 제품 리스트, 총 금액 등
이런 데이터는 데이터베이스(예: PostgreSQL, MySQL)에서 잘 관리할 수 있다. 예를들면 모든 사용자의 이메일을 쉽게 검색하거나 특정 카테고리의 모든 제품을 리스트업할 수 있음.
비정형 데이터는 정해진 구조가 없는 데이터를 의미한다. 텍스트, 이미지, 비디오, 오디오 등 다양한 형식을 포함하고, 일관된 패턴이나 구조가 없어 일반적인 데이터베이스로 관리하기 어려운 것들
예)
블로그 포스트: 제목, 본문, 이미지, 비디오, 태그 등
제품 설명: 상세 설명 텍스트, 제품 이미지, 사용 방법 동영상 등
리뷰: 사용자가 작성한 리뷰 텍스트, 평점, 리뷰에 포함된 사진 등
이런 데이터는 CMS(Content Management System)를 통해 쉽게 관리할 수 있다. CMS는 비정형 데이터를 작성, 편집, 저장, 배포하는 데 최적화되어 있기 때문이다.
정형 데이터 (데이터베이스)
사용자 정보: 사용자의 이름, 이메일, 주소 등
상품 정보: 제품명, 가격, 재고 수량 등
주문 내역: 주문 번호, 주문 날짜, 결제 상태 등
비정형 데이터 (CMS)
제품 설명: 제품의 상세 설명, 이미지, 비디오 등
블로그 포스트: 쇼핑몰 블로그의 글, 이벤트 공지 등
사용자 리뷰: 사용자가 작성한 리뷰 텍스트, 이미지 등
상품 정보는 기본적으로 상품 이름, 가격, 재고, 카테고리 등과 같이 구조화된 데이터로 이루어져 있다. 하지만 상품 설명, 이미지, 비디오, 리뷰 등과 같은 비정형 데이터도 함께 관리해야 하는 경우가 많다. 이런 경우에는 CMS를 사용하는 것이 더 유리할 수 있다.
구조화된 데이터(정형 데이터)
예)
상품 이름: "Red Sneakers"
가격: 59.99
재고 수량: 120
카테고리: "Footwear"
비정형 데이터 (콘텐츠 중심 데이터)
상품 설명:
"스타일리시한 빨간 스니커즈로, 어디에나 완벽하게 매칭할 수 있습니다. 고품질 소재로 만들어졌습니다."
이미지: 상품 사진, 갤러리
비디오: 제품 소개 영상, 사용 방법 영상
리뷰: 사용자 리뷰와 평점
DB와 CMS를 함께 사용하려면
특정 상품의 정보를 가져오려면 데이터베이스에서 기본 정보를 가져오고, CMS에서 비정형 데이터를 가져와서 하나의 객체로 합칠 수 있다.
쇼핑몰에서는 제품 정보와 주문 관리 등 데이터베이스가 필요한 부분과 마케팅 콘텐츠 관리 등 CMS가 필요한 부분이 명확히 나뉘기 때문에, 두 가지를 함께 사용하면 유용하다고 한다.