데이터베이스에서 인덱스를 사용하는 이유는 검색성능을 향상시키기 위함입니다.하지만 검색성능을 실질적으로 향상시키기 위해서는 해당 쿼리가 index를 사용하는지, 카디널리티, Selectivity 같은 요소들이 고려된 인덱스가 생성되어야 합니다.장점 \- 빠른 검색 성능
트랜잭션이란 데이터베이스의 상태를 변화시키는 하나의 논리적인 작업 단위라고 할 수 있다.트랜잭션에는 여러개의 연산이 수행될 수 있습니다.트랜잭션은 수행중에 한 작업이라도 실패하면 전부 실패하고, 모두 성공해야 성공이라고 할 수 있습니다.
ACID는 데이터베이스 시스템에서 트랜잭션 처리의 원자성, 일관성, 격리성, 지속성을 보장하기 위한 속성들을 나타내는 약어입니다. 이 네 가지 속성은 데이터베이스에서 데이터를 안정적으로 처리하고 유지하기 위해 중요합니다.Atomicity(원자성): 트랜잭션의 연산은 모
트랜잭션 격리 수준(Transaction Isolation Levels)은 데이터베이스 시스템에서 여러 트랜잭션이 동시에 실행될 때 어떻게 격리되는지를 정의하는 개념입니다. 격리 수준은 동시성 제어를 통해 트랜잭션 간의 상호작용을 조절하여 데이터의 일관성과 무결성을 보
정규화(Normalization)은 데이터베이스 설계에서 중복을 최소화하고 데이터의 일관성과 무결성을 유지하기 위한 과정입니다. 데이터베이스에서 정보를 효율적으로 저장하고 관리하기 위해 테이블을 재구성하는 프로세스입니다.이떄 테이블들 간의 관계를 잘 정의하여 데이터베이
JOIN은 SQL(Structured Query Language)에서 여러 테이블로부터 데이터를 결합하여 하나의 결과 테이블을 생성하는 데 사용되는 연산입니다. JOIN은 데이터베이스에서 관계형 데이터베이스 모델을 사용할 때 테이블 간의 관계를 활용하여 데이터를 효율적
RDBMSRDBMS는 데이터베이스를 이루는 객체들의 릴레이션을 통해서 데이터를 저장하는 데이터베이스입니다. SQL을 사용해 데이터의 저장, 질의, 수정, 삭제를 할 수 있으며 데이터를 효율적으로 보관하는 것을 목적으로 하고 구조화가 굉장히 중요합니다.장점으로는 명확한
Redis는 key-value store NOSQL DB입니다. 싱글스레드로 동작하며 자료구조를 지원합니다. 그리고 다양한 용도로 사용될 수 있도록 다양한 기능을 지원합니다. 데이터의 스냅샷 혹은 AOF 로그를 통해 복구가 가능해서 어느정도 영속성도 보장됩니다.
Redis는 싱글 스레드 기반으로 동작하고, Memcached는 멀티스레드를 지원해서 멀티 프로세싱이 가능합니다.Redis는 다양한 자료구조를 지원하고, Memcached는 문자열 형태로만 저장합니다.Redis는 여러 용도로 사용할 수 있도록 다양한 기능을 지원합니다.
Elastic Search는 자바로 개발된 오픈소스 검색엔진 입니다. 보통 단독으로 사용하기보다는 ELK 스택이라고 부르는 Logstash, Kibana, Beats를 추가적으로 사용합니다.Inverted Index 구조로 데이터를 저장해서, 전문(Full-text)
MongoDB는 NoSQL 데이터베이스의 한 종류로서, 문서 지향적이며 확장성이 뛰어난 데이터 저장 및 관리 시스템입니다. 관계형 데이터베이스와는 다른 방식으로 데이터를 구조화하고 저장하는데, 데이터를 BSON(Binary JSON) 형식으로 저장합니다.문서 지향적:
CAP 이론은 분산 환경에서 모두를 만족하는 시스템은 없다는 이론입니다.Consitenty(일관성): ACID의 일관성과는 약간 다릅니다. 모든 노드가 같은 시간에 같은 데이터를 보여줘야 한다는 것입니다.Availability(가용성): 모든 동작에 대한 응답이 리턴되