데이터베이스

데이터베이스/기타

[동시성제어] MySQL과 Redis에서 동시성 제어하기

동시성제어란 동시에 실행되는 여러 개의 트랜잭션이 작업을 "성공적으로" 마칠 수 있도록 트랜잭션의 실행 순서를 제어할 수 있는 기법이다. 동시성 제어를 하지 않으면 다음과 같은 상황이 발생할 수 있다. 이벤트 상품의 재고가 100개가 있고 구매자는 각 1개씩만 구매할 수 있다. 즉 100명에게만 판매하려고 했는데 이벤트가 끝나고보니 구매자는 150명인 상황이다. 늦게 주문한 50명에게 주문 취소 안내를 나가야만 한다 ㄷㄷ.. 위와 같은 문제를 예방하기 위해서는 동시성을 제어해야 하는데 동시성을 제어하는 방법에는 Application Level, Database, Lock, Redis를 이용하는 방법이 있다. 1. 애플리케이션에서 동시성제어 1-1. synchronized 자바에서 지원하는 synchron..

데이터베이스/H2

[H2] h2 database 사용하기

h2 db는 개발환경이나 테스트를 진행할 때 간편하게 사용할 수 있는 database인데 이번 포스팅을 통해 h2 db를 띄우는 방법을 알아보려고 한다. 개발 환경은 springboot 3.1.1, gradle 8.1.1, h2 2.1.214 버전을 사용한다. ★ GOAL 1. H2 다운로드 및 접속하기 1. Gradle 의존성 설정 springboot 3.1.1의 경우 h2 version이 2.1.214로 설정됨 dependencies { implementation 'org.springframework.boot:spring-boot-starter-jdbc' compileOnly 'org.projectlombok:lombok' // h2 db설정 runtimeOnly 'com.h2database:h2' ..

데이터베이스/Redis

[Redis] 레디스 기본 명령어

Redis의 개념 Redis는 고성능 키-값 저장소로서 String, List, Hash, Set, Sorted Set 등의 자료 구조를 지원하는 NoSQL이며 메모리에 데이터를 저장합니다. 별도의 쿼리 없이 Key를 통해 값을 빠르게 가져올 수 있으며 디스크에 데이터를 쓰는 구조가 아니라 메모리에서 데이터를 처리하기 때문에 처리 속도가 매우 빠른 특징이 있습니다. ※ NoSQL이란 키 값 저장 공간으로 관계형 데이터베이스 보다 덜 제약적이며 저장 및 검색에 특화된 데이터베이스를 의미 Redis의 특징 영속성을 지원하는 인 메모리 데이터 저장소 다양한 자료구조 지원 싱글 스레드 방식으로 연산을 원자적으로 수행이 가능 읽기 성능 증대를 위한 서버 측 리플리케이션 지원 쓰기 성능 증대를 위한 클라이언트 측 ..

데이터베이스/Redis

[Redis] Window10에 Redis 설치 & 설정하기

Redis 윈도우 설치 [다운로드 링크] https://github.com/microsoftarchive/redis/releases Releases · microsoftarchive/redis Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes - microsoftarchive/redis github.com Redis-x64-3.0.504.msi 설치 Next 클릭하며 설치 진행 Redis 실행하기 설치가 완료되면 서비스에 자동 등록된다.(직접 실행..

lazy man
'데이터베이스' 카테고리의 글 목록