NoSQL 4

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

데이터베이스 트랜잭션 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

DBMS의 선택과 기준 - DB 종류 및 특징

DBMS 선택 가이드프로젝트 요구사항에 맞는 최적의 데이터베이스 시스템 선택하기적절한 DBMS(Database Management System)의 선택은 프로젝트의 성공을 좌우하는 핵심 요소다. 이 글에서는 주요 DBMS들의 특징을 비교하고, 프로젝트 상황에 맞는 DBMS를 선택하는 방법을 알아본다.DBMS와 고려해야 할 기준DBMS는 데이터를 효율적으로 저장, 관리, 검색할 수 있게 해주는 소프트웨어 시스템이다. 프로젝트에 적합한 DBMS를 선택하기 위해서는 다음과 같은 요소들을 고려해야 한다.데이터 모델: 관계형? 문서형? 키-값?확장성: 수직적 확장과 수평적 확장 가능성일관성: 강한 일관성이 필요한가, 결과적 일관성으로 충분한가가용성: 고가용성이 필수적인가비용: 라이선스 비용과 운영 비용개발 생산성..

Database 2025.02.23