본문 바로가기

데이터베이스3

[DB] 트랜잭션(Transaction)이란? (개념, 특징, @Transactional) 트랜잭션(Transaction)은 데이터베이스 관리 시스템(DBMS)에서 매우 중요한 개념입니다. 데이터의 일관성과 무결성을 유지하기 위해 사용되며, 여러 데이터베이스 작업을 하나의 작업 단위로 묶어서 처리하는 기능을 말합니다. 트랜잭션을 통해 여러 작업이 모두 성공적으로 완료되거나, 하나라도 실패할 경우 모두 취소되어 원래 상태로 복구되는 것을 보장합니다.  특징트랜잭션의 ACID 속성은 데이터베이스 관리 시스템(DBMS)에서 데이터의 정확성과 일관성을 보장하기 위한 핵심적인 원칙입니다. ACID는 원자성, 일관성, 독립성, 지속성의 약자로 각각의 속성은 트랜잭션이 안정적으로 실행되도록 보장합니다.원자성(Atomicity) 원자성은 트랜잭션 내의 모든 연산이 완전히 수행되거나 전혀 수행되지 않아야 함을.. 2024. 4. 12.
[NoSQL] MongoDB란? (개념, 특징, 장단점, 면접대비) NoSQLNoSQL(Not Only SQL)은 관계형 데이터베이스 시스템(RDBMS)의 전통적인 테이블 기반 구조 대신, 다양한 데이터 저장 기술을 사용하는 데이터베이스 관리 시스템의 총칭입니다. 기존의 SQL(Structured Query Language)을 사용하는 관계형 데이터베이스와 달리, NoSQL 데이터베이스는 비정형 데이터를 저장하고 관리하기 위해 설계되었습니다.  특징스키마가 없거나 유연한 스키마: NoSQL 데이터베이스는 미리 정의된 스키마가 없거나 유연한 스키마를 가지고 있어, 다양한 형태의 데이터를 저장할 수 있습니다.확장성: 대부분의 NoSQL 데이터베이스는 수평적 확장성을 지원합니다. 즉, 데이터베이스의 용량을 늘리기 위해 더 많은 서버를 추가하는 것이 비교적 쉽습니다.고성능: 특.. 2024. 4. 2.
[PostgreSQL] Citus란? (개념, 장단점, 면접 대비) CitusCitus는 PostgreSQL을 기반으로 한 분산 데이터베이스 확장입니다. 이는 PostgreSQL의 기능을 확장하여 대량의 데이터를 처리할 수 있게 해 주며, 높은 확장성과 병렬 처리 기능을 통해 빅 데이터 분석과 트랜잭션 처리에 적합합니다. Citus는 오픈 소스 버전과 엔터프라이즈 버전을 모두 제공합니다.  주요 개념분산 데이터베이스: Citus는 여러 노드에 걸쳐 데이터를 분산시켜 저장하고 처리합니다. 이는 데이터의 샤딩(Sharding)을 통해 이루어지며, 각 샤드는 PostgreSQL의 표준 테이블로 구성됩니다.확장성: 데이터와 쿼리를 여러 머신에 분리함으로써, 데이터베이스의 성능과 용량을 수평으로 확장할 수 있습니다.실시간 분석: 분산된 데이터에 대한 병렬 집계 쿼리를 실행하여 실.. 2024. 3. 26.