📌 데이터베이스의 기본 개념과 RDBMS, NoSQL 차이점
이번 멘토링에서는 데이터베이스의 기본 개념과 RDBMS, NoSQL 데이터베이스의 차이점을 명확히 했습니다. RDBMS는 엑셀처럼 컬럼과 로우로 구성되어 있으며, NoSQL은 키-밸류형태로 몽고DB, 레디스, 일라스틱서치 등이 있습니다. 특히 레디스는 캐싱, 랭킹 데이터 저장, 실시간 통신 등 다양한 활용법이 있다는 것을 알게 되었습니다. 다대다 관계를 해결하기 위한 중간 테이블의 필요성과, 실제 서비스에서 데이터베이스를 설계하는 연습의 중요성을 강조하며 데이터 모델링 능력 향상을 목표로 합니다. 데이터베이스는 웹 서비스 개발의 핵심이며, 데이터 구조 이해는 효율적인 API 개발로 이어진다는 점을 기억해야 합니다.
📊 1. 데이터베이스의 종류와 역할
데이터베이스는 데이터를 저장하는 곳으로, 관계형 데이터베이스(RDBMS)와 NoSQL 데이터베이스로 크게 구분됩니다.
- RDBMS: 엑셀처럼 행과 열로 데이터를 관리하며, CRUD 작업을 통해 데이터 생성, 조회, 수정, 삭제를 수행합니다.
- NoSQL: 몽고DB, 레디스, 일라스틱 서치 등이 있으며, 키-값 쌍 형식으로 데이터를 관리하고, 캐싱, 검색 최적화 등의 기능을 제공합니다.
레디스는 빠른 읽기 속도 덕분에 주로 캐싱, 랭킹 데이터 저장, 실시간 통신 등에서 효율적으로 사용됩니다.
🗃️ 2. RDBMS와 인덱싱의 이해
- 인덱싱: 데이터베이스에서 데이터를 빠르게 찾기 위해 데이터를 정렬하여 검색 효율성을 높이는 작업입니다.
- **PK(프라이머리 키)**는 데이터를 특정할 수 있는 중요한 역할을 하며 대부분 아이디로 설정됩니다.
- UUID: 고유한 문자열을 생성하여 데이터를 식별하는 방식이며, 자동 증가 아이디 대신 사용될 수 있습니다.
주의사항: 데이터 정렬 순서가 변경되면 재 인덱싱이 필요하기 때문에 인설트(삽입) 작업 시 주의해야 합니다.
🗂️ 3. 외래키(FK)와 관계형 데이터베이스
- **외래키(FK)**는 다른 테이블의 데이터를 참조하여 두 테이블 간의 관계를 정의합니다.
- 관계의 종류:
- 원투원(1:1): 두 테이블이 1대 1로 연결되는 경우입니다.
- 원투매니(1:N): 하나의 테이블이 여러 개의 데이터를 참조할 수 있는 관계입니다.
- 매니투매니(N:M): 두 테이블 간에 다대다 관계가 성립하며, 중간 테이블을 사용해 해결합니다.
🗂️ 4. 데이터베이스 관계 구조 이해하기
다대다(N:M) 관계는 중간 테이블을 통해 해결할 수 있습니다.
예시: 좋아요 기능은 유저와 피드 간의 다대다 관계를 형성하는 중간 테이블 구조로 구현됩니다.
또한, 신발 사이즈와 같은 관계도 다대다 형태로 설명할 수 있습니다.
📊 5. 데이터베이스 및 사용 기술 소개
- MySQL과 PostgreSQL은 가장 많이 사용되는 관계형 데이터베이스 기술로, 기본 기능은 유사하지만 각 기술이 제공하는 함수와 설치 방법에 차이가 있을 수 있습니다.
- 데이터 구조 고민: 예를 들어 스타벅스 메뉴 데이터를 기반으로 음료와 푸드를 저장하는 방법을 고민합니다.
- 프로덕트(음료와 푸드)는 하나의 상품으로 간주되어 데이터베이스에 저장됩니다.
🎯 마무리
이번 강의를 통해 RDBMS와 NoSQL의 차이점과 데이터베이스 설계의 기초를 다졌습니다.
다대다 관계나 속성 설정 등 실제 서비스에서 효율적인 데이터 모델링이 매우 중요하다는 점을 명심하세요.
앞으로 데이터베이스 설계를 위한 실습을 통해 더 많은 경험을 쌓아 보세요! 🌱🚀
'멘토링' 카테고리의 다른 글
멘토링 내용 정리 Flask & API (5회차 정리) (0) | 2025.04.25 |
---|---|
멘토링 내용 정리 database (4회차 정리) (0) | 2025.04.02 |
멘토링 과제 database ERD 스타벅스(4회차) (0) | 2025.04.01 |
멘토링 내용 정리 database (3회차 정리) (0) | 2025.03.27 |
멘토링 내용 정리 (2회차 정리) (0) | 2025.03.18 |