2025/04 5

샤딩 vs 파티셔닝, 무엇을 언제 선택해야 할까? – 데이터 분산 전략

파티셔닝과 샤딩은 단순한 성능 향상을 위한 기술이 아닙니다. 이 글에서는 두 전략의 개념과 차이를 명확히 구분하고,Airbyte, LINE 등 실무 사례를 통해 실제 기업들이 왜 각각의 전략을 선택했는지를 살펴봅니다.마지막엔 분산 전략을 선택할 때 고려해야 할 판단 기준도 함께 정리했습니다.1. 왜 분산 저장이 필요한가?서비스가 성장하면서 점점 더 많은 사용자 요청과 데이터가 쌓이게 됩니다. 이때 단일 DB 인스턴스에 모든 데이터를 저장하고 조회하려고 하면 시스템이 감당하지 못하고 병목이 발생하게 됩니다. 그 병목은 성능 저하뿐 아니라, 운영 이슈, 데이터 정합성 문제로 이어질 수 있죠. 이 섹션에서는 왜 데이터를 분산시켜야 하는지 근본적인 이유부터 살펴봅니다.🔥 문제 정의서비스 이용자가 늘어나면, 데..

Database 2025.04.09

NoSQL의 모든 것: 개념, 종류, MongoDB와 Redis 맛보기

1. 개요: 왜 NoSQL인가?프로젝트에서 대용량 데이터를 다루거나 수평적 확장이 필요한 상황이라면, RDBMS 대신 NoSQL을 검토해본 적이 있을 것입니다.📌 NoSQL의 의미NoSQL은 'Non-SQL' 또는 'Not only SQL'로 해석되며, SQL처럼 특정 쿼리 언어를 지칭하는 것이 아닌 새로운 데이터베이스 패러다임을 의미합니다. 전통적인 관계형 데이터베이스의 제약에서 벗어나 데이터를 더 자유롭고 유연한 형태로 저장하고 관리하는 접근 방식입니다. 이 글에서는 NoSQL의 주요 네 가지 종류를 구체적으로 비교하고,왜 NoSQL이 주목받는지, MongoDB와 Redis의 기본 사용법까지 실습 방법을 공유합니다.📖 참고: 이 글은 『이것이 취업을 위한 컴퓨터 과학이다』 CHAPTER 06, p..

Database 2025.04.08

정규화(Normalization): 중복 없는 데이터베이스 설계 (1NF - BCNF)

📘 정규화 단계 정리1. 개요데이터베이스 설계를 하다 보면, 모든 정보를 한 테이블에 넣고 싶어질 때가 있어요. 그런데 그렇게 만들면 어떤 문제가 생길까요?데이터가 중복되고수정할 때 실수하고삭제했더니 같이 날아가고 😵이런 문제를 막기 위해 등장한 게 바로 정규화(Normalization) 입니다. 정규화는 테이블을 잘게 나누고, 각 속성을 적절한 자리에 배치해서 데이터의 무결성과 유지보수성을 높이는 설계 방식입니다.정규화를 하면 단순히 중복만 줄이는 게 아니라,데이터 일관성(consistency) 유지삽입/삭제/수정 이상(Anomaly) 방지테이블 구조가 더 확장성 있게 설계됨같은 이점이 있습니다.📖 참고: 이 글은 『이것이 취업을 위한 컴퓨터 과학이다』 CHAPTER 06, p.593 ~ p.60..

Database 2025.04.07

효율적 쿼리란? - 서브쿼리와 조인, 뷰, 인덱스로 쿼리 최적화

효율적 쿼리란 무엇일까?데이터베이스는 수많은 데이터를 저장하고, 이 데이터에 대해 빠르고 정확한 응답을 제공해야 합니다. 하지만 단순히 작동하는 SQL 문을 작성하는 것만으로는 부족합니다. "어떻게 하면 더 빠르게, 더 적은 비용으로 원하는 결과를 가져올 수 있을까?" 가 바로 효율적인 쿼리를 고민해야 하는 이유입니다.📖 참고: 이 글은 『이것이 취업을 위한 컴퓨터 과학이다』 CHAPTER 06, p.573 ~ p.592의 내용을 기반으로 한 설명입니다. 더보기[참고] 쿼리 실행 과정  SQL 문은 단순한 명령어처럼 보이지만, DB 내부에서는 복잡한 과정을 거칩니다. 실행 과정을 크게 요약하면 다음과 같습니다.파싱(Parsing) – SQL 문법 분석 및 내부 표현으로 변환최적화(Optimization..

Database 2025.04.07

웹 개발자라면 꼭 알아야 할 데이터베이스 기초 정리

1. 왜 데이터베이스가 중요한가?웹 서비스를 개발하다 보면 사용자 정보, 게시글, 주문 내역 등 수많은 데이터를 다루게 됩니다. 이 데이터를 안전하고 안정적으로 관리하기 위해 반드시 필요한 것이 바로 데이터베이스(Database) 입니다. 데이터베이스란, 여러 사람이 공유하고 사용할 목적으로 체계화된 데이터의 집합이며, 이러한 데이터를 효율적으로 저장, 수정, 조회할 수 있도록 돕는 프로그램이 바로 DBMS(Database Management System) 입니다.✅ 데이터베이스는 단순한 저장 공간이 아니라, 웹 서비스의 핵심 기반 인프라입니다.2. DBMS의 종류와 RDBMS가 중요한 이유DBMS는 크게 두 가지로 나뉩니다:관계형 DBMS(RDBMS): MySQL, Oracle, PostgreSQL 등..

Database 2025.04.07