sql 5

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

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

효율적 쿼리란 무엇일까?데이터베이스는 수많은 데이터를 저장하고, 이 데이터에 대해 빠르고 정확한 응답을 제공해야 합니다. 하지만 단순히 작동하는 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

데이터베이스 트랜잭션 ACID 특성과 BASE 데이터 일관성 모델

목차들어가며트랜잭션이란ACID와 BASE의 개념이러한 모델이 필요한 이유ACID 트랜잭션ACID 개념 소개Atomicity (원자성)Consistency (일관성)Isolation (격리성)Durability (지속성)ACID가 적합한 시스템 요구사항 및 사례ACID가 적합한 시스템 요구사항대표 데이터베이스예제요약BASE 트랜잭션BASE 개념 소개Basically Available (기본적 가용성)Soft state (소프트 상태)Eventually consistent (최종적 일관성)BASE가 등장한 배경BASE가 적합한 시스템 요구사항 및 사례BASE가 적합한 시스템 요구사항대표 데이터베이스예제BASE의 특징 요약ACID vs BASE 비교데이터 일관성 vs 가용성성능과 확장성선택 기준비즈니스 요구사..

Database 2025.02.27

CMS 및 내부정산 시스템 데이터베이스 선택

1. 들어가며BFIND 프로젝트의 백엔드 개발을 시작하기에 앞서, 데이터베이스 아키텍처 설계 과정과 의사결정 내용을 정리했다. 현재 프론트엔드 일부만 구현된 상태에서, 백엔드 개발을 위한 데이터베이스 설계를 고민해보았다. BFIND는 웹툰, 웹소설 콘텐츠를 제공하는 웹 콘텐츠 플랫폼이다. 콘텐츠 관리 시스템(CMS)과 내부 정산 시스템을 기반으로 하며, Java/Kotlin과 Spring을 활용해 구축하기로 했다.1.1 기술 스택 선정 배경Java/Kotlin, Spring 선택 이유안정성과 신뢰성대규모 웹툰 플랫폼에서 검증된 기술 스택결제/정산과 같은 금전적 트랜잭션의 안정적 처리 보장Spring의 선언적 트랜잭션 관리로 데이터 정합성 확보확장성과 유연성트래픽 증가에 따른 수평적 확장 용이MSA 전환 ..

Project 2025.02.25