반응형

Database 11

NewSQL이란? 기존 DBMS와 차이점

Overview빅데이터와 클라우드 기반의 확장형 아키텍처가 대두되면서, 기존의 RDBMS(Relational Database Management System)와 NoSQL은 각자의 장단점으로 인해 다양한 선택지를 제공해왔다.그러나 두 가지 모두에서 일관성과 확장성 간의 균형을 찾는 것이 어려운 과제로 남았다. 이러한 한계를 극복하고자 등장한 것이 바로 NewSQL이다.NewSQL은 전통적인 관계형 모델을 유지하면서도, NoSQL이 제공하는 수평 확장성과 고성능 처리 능력을 갖춘 차세대 데이터베이스 시스템이다.      📅 관련 글 2022.09.26 - [Open Source Software] - Redis(Remote Dictionary Server)란?2023.04.21 - [Database] - ..

Database 2025.07.03

트랜잭션(Transaction)과 동시성 제어(Concurrency Control)

Overview오늘은 데이터베이스 트랜잭션(Transaction)과 동시성 제어(Concurrency Control) 개념에 대해 알아보려고 한다. 트랜잭션은 데이터베이스에서 작업을 원자적으로 실행하는 단위이며, 여러 사용자가 동시에 접근할 경우 충돌을 방지하는 동시성 제어 기법이 필요하다.이번 글에서는 트랜잭션의 개념과 실행 방식, 그리고 대표적인 동시성 제어 기법인 MVCC(Multi-Version Concurrency Control)과 Locking(잠금) 방식을 비교해 보자.       1️⃣ 트랜잭션(Transaction)이란? 트랜잭션은 데이터베이스에서 하나의 논리적 작업 단위를 의미한다.트랜잭션 내의 모든 작업이 성공적으로 완료되거나, 하나라도 실패하면 전체가 롤백(Rollback)되어야 한..

Database 2025.06.26

ACID와 CAP 이론 비교

Overview오늘은 트랜잭션의 ACID 원칙과 CAP 정리에 대해 알아보고,이 두 개념이 어떻게 데이터베이스와 NoSQL에 적용되는지 비교해보려고 한다.ACID 원칙은 데이터 일관성 유지를 위한 트랜잭션 설계의 핵심 개념CAP 정리는 분산 시스템에서 데이터의 가용성과 일관성의 균형을 다루는 이론  이 두 가지를 이해하면 RDBMS(관계형 DB)와 NoSQL DB 선택 기준을 명확하게 파악할 수 있다.            1️⃣ ACID 원칙이란?ACID는 데이터베이스 트랜잭션의 4가지 핵심 속성을 의미한다. ACID 원칙설명 예제A (Atomicity) - 원자성트랜잭션은 모두 실행되거나, 전혀 실행되지 않아야 함은행 송금 시, A 계좌에서 돈이 빠져나갔지만 B 계좌로 입금되지 않으면 안됨C (Cons..

Database 2025.06.12

정규화(Normalization)와 반정규화(Denormalization)란?

Overview오늘은 데이터베이스 정규화(Normalization)와 반정규화(Denormalization)의 개념과 적용 사례에 대해 알아보려고 한다.데이터베이스 설계에서 정규화는 데이터의 일관성을 유지하고 중복을 최소화하는 과정이며, 반정규화는 성능을 최적화하기 위해 데이터를 일부 중복 저장하는 과정이다.이 두 개념을 적절히 활용하면 효율적이고 확장 가능한 데이터베이스 설계를 할 수 있다. 정규화(Normalization)란?정규화(Normalization) 는 데이터 중복을 줄이고, 무결성을 유지하며, 데이터 일관성을 보장하는 과정이다.이를 위해 데이터를 정규형(Normal Form, NF) 이라는 특정한 형식으로 변환하여 저장한다. 정규화의 목적데이터 중복(Minimizing..

Database 2025.06.05

NoSQL 데이터 모델링 방법

Overview다양한 유형의 비정형 데이터와 대규모 트래픽을 효율적으로 처리하기 위해 전통적인 RDBMS를 넘어 NoSQL이 널리 사용되고 있다. 이번 글에서는 대표적인 NoSQL 유형인 문서형(MongoDB), 키-값형(Redis), 컬럼형(Cassandra), 그래프형(Neo4j)의 데이터 모델링 방식을 살펴본다. 각 기술은 데이터 구조와 처리 방식에 따라 설계 방법이 다르므로, 상황에 맞는 모델링 전략이 중요하다.      📅 관련 글2022.09.26 - [Open Source Software] - Redis(Remote Dictionary Server)란?2023.04.21 - [Database] - DB 스키마란?(Schema)2023.05.17 - [Database] - MongoDB란?2..

Database 2025.04.19

데이터베이스 인덱스(Index) 최적화 방법

Overview데이터베이스에서 인덱스(Index)는 데이터를 빠르게 조회할 수 있도록 돕는 핵심 요소다.대규모 데이터베이스에서 인덱스는 성능을 좌우할 정도로 중요하며, 어떤 인덱스를 어떻게 설계하느냐에 따라 쿼리 효율이 크게 달라진다. 이 글에서는 데이터베이스 인덱스의 구조별 특징을 비교하고, 실제 환경에서 성능을 최적화할 수 있는 인덱스 튜닝 전략을 알아본다.그리고 효율적인 인덱스 설계 방법과 인덱스 힌트(Index Hint), 그리고 쿼리 성능 분석을 위한 실행계획(Explain) 사용법에 대해 정리해본다. 데이터가 커지고 사용자가 많아질수록 데이터 접근 속도가 전체 애플리케이션 성능에 영향을 미친다.그만큼 인덱스는 빠른 데이터 검색과 성능 최적화에 필수적인 요소다.          인덱스(Index..

Database 2025.03.21

DB 샤딩(Sharding): 개념 및 동작방식

Overview오늘은 데이터베이스 샤딩(Database Sharding) 개념과 작동 원리에 대해 자세히 알아보려고 한다. 샤딩은 데이터베이스의 확장성과 성능을 향상시키는 중요한 기법이며, 대규모 트래픽을 처리하는 시스템에서 필수적으로 고려되는 기술이다.         DB 샤딩(Sharding)이란?데이터베이스 샤딩은 매우 큰 데이터베이스를 샤드라고 하는 더 작고, 빠르고, 관리하기 쉬운 부분으로 분리하는 데이터베이스 파티셔닝 유형이다. 샤드라는 단어는 전체의 작은 부분을 의미한다.각 샤드는 독립적인 데이터베이스이며, 샤드가 집합적으로 전체 데이터베이스를 구성한다. 샤딩은 모놀리식 데이터베이스 설정보다 데이터 증가 및 관련 로드를 더 효과적으로 관리하는 데 도움이 되므로 확장성 솔루션으로 사용된다.  ..

Database 2024.05.10

PostgreSQL 개념 및 특징(with MySQL)

Overview오늘은 PostgreSQL에 대해 알아보고, 주요 특징과 MySQL과의 비교, 시퀀스(Sequence)와 자동 증가(AUTO_INCREMENT), 그리고 기본적인 PostgreSQL 문법을 정리해보려고 한다.        PostgreSQL이란?PostgreSQL(일명 Postgres)은 고급 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS) 으로, 30년 이상 개발되어 높은 안정성과 강력한 기능을 제공하는 데이터베이스이다. PostgreSQL은 데이터 무결성과 확장성을 강조하며, 단일 시스템에서부터 대규모 데이터 웨어하우스 및 고성능 웹 애플리케이션까지 지원할 수 있도록 설계되었다.​ PostgreSQL 특징ACID(Atomicity, Consistency, Isolation, Du..

Database 2024.03.29

MongoDB란?

Overview이번 글에서는 MongoDB를 중심으로 NoSQL 데이터베이스의 개념, 관계형 데이터베이스(RDBMS)와의 차이점, 그리고 MongoDB의 주요 특징 및 샤딩(Sharding) 방식에 대해 정리했다. MongoDB는 "거대한(Humongous)" 데이터를 처리할 수 있도록 설계된 대표적인 NoSQL 문서형 데이터베이스이다. 유연한 스키마와 뛰어난 수평 확장성, 고가용성을 제공하며, 특히 빅데이터나 비정형 데이터 처리를 요하는 환경에 적합하다.  글에서는 다음과 같은 내용을 다뤘다.NoSQL이란 무엇인가? → 문서형, 키-값, 컬럼 기반, 그래프 DB로 분류MongoDB vs RDBMS 비교 → 스키마 유동성, 데이터 모델, 확장성, ACID 지원 등MongoDB의 주요 특징 → Docume..

Database 2023.05.20

DB 스키마란?(Schema)

Overview오늘은 DB 스키마(Database Schema)에 대해 공부해보겠다. 데이터베이스 스키마는 데이터의 구조, 관계 및 제약 조건을 정의하는 설계도 역할을 합니다. 이를 통해 데이터가 어떻게 저장되고, 연결되며, 관리되는지 정의할 수 있다. 이 글에서는 DB 스키마의 개념과 주요 아키텍처, 스키마와 인스턴스의 차이점, 스키마 변경 및 성능 최적화 방법 등을 다룬다.  주요 내용DB 스키마의 정의 및 역할외부/개념/내부 스키마의 차이점DB 스키마와 테이블 스키마 비교스키마 설계 시 고려할 요소 (정규화, 인덱스, 트랜잭션)스키마 변경(Migration) 및 성능 최적화 방법  DB 스키마를 효과적으로 설계하면 데이터 무결성을 유지하면서도 성능을 최적화할 수 있다.      📅 관련 글2022..

Database 2023.04.21
반응형