공유 락(Shared Lock)과 배타 락(Exclusive Lock), 그리고 교착 상태(Deadlock)
·
Database
1. 들어가며 트랜잭션 격리 수준과 격리 수준에 따른 문제점1. 트랜잭션 격리성트랜잭션은 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위를 말한다.트랜잭션에는 ACID라는 네 가지 특징이 있다. 그 중 격리성(Isolation)은 트랜잭션 수행leeeeeyeon-dev.tistory.com 이전에 트랜잭션 격리 수준과 그에 따른 문제점에 대해 살펴보며, 트랜잭션이 동시에 수행될 때 발생할 수 있는 문제점에 대해 알아보았다.트랜잭션들이 동시에 수행될 때, 일관성을 해치는 것을 방지하기 위해 데이터 접근을 제어하는 동시성 제어가 필요하다. 동시성 제어를 위해 데이터에 잠금을 거는 락 기법을 사용할 수 있다. 데이터베이스에 따라 다양한 락이 존재하지만 크게 공유 락과 배타 락으로 나눌 수 있다..
[Packy] 선물박스 PK 생성 전략을 TSID로 변경한 이유
·
Database
1. 들어가며이번 패키 업데이트에 웹 버전을 출시하여 앱을 설치하지 않은 사람도 웹으로 선물박스를 확인할 수 있도록 할 예정이다.웹 출시 이전에는 아래 플로우에 따라 카카오톡으로 받은 선물박스를 앱에서만 확인할 수 있었다. 클라이언트는 선물박스 만들기 API의 응답값으로 받은 선물박스 ID를 사용하여 선물박스를 열 수 있는 딥링크를 생성한다.생성된 딥링크이 추가된 카카오톡 템플릿을 생성한다.선물박스를 받은 유저는 카카오톡에서 '패키 앱에서 열어보기' 버튼을 눌러 선물박스를 앱에서 확인할 수 있다. 이번 업데이트에서는 2, 3번 과정에서 딥링크 대신 제작한 웹 링크( packyforyou.com?box={giftBoxId} )를 넣고, 웹 사이트 내에 디퍼드 링크를 넣어 웹에서 앱으로 유저를 이동시키도록 ..
트랜잭션 격리 수준과 격리 수준에 따른 문제점
·
Database
1. 트랜잭션 격리성트랜잭션은 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위를 말한다.트랜잭션에는 ACID라는 네 가지 특징이 있다. 그 중 격리성(Isolation)은 트랜잭션 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미한다. 2. 트랜잭션 격리 수준트랜잭션 격리 수준은 동시에 여러 트랜잭션이 처리될 때, 트랜잭션끼리 얼마나 격리되어 있는가를 나타내는 정도이다.격리성이 커질수록 더 확실한 처리가 가능하지만, 동시에 수행될 수 있는 트랜잭션이 순서대로 처리되므로 속도가 느려지게 된다. ANSI/ISO SQL 표준에서는 격리 수준을 READ_UNCOMMITED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE 4가지로 나누고..
Redis의 개념에 대해 알아보자
·
Database
1. Redis란?Remote Dictionary Server의 약자로, 키-값(key-value) 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)이다. 데이터베이스, 캐시, 메시지 브로커로 사용되며, 인메모리 데이터 구조를 가진 저장소이다.캐시 - 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소, 최소한의 비용으로 반복적으로 접근할 수 있도록 함Local Cache(Local 장비 내에서만 사용), Global Cache(여러 서버에서 Cache Server에 접근하여 사용) 두 가지로 나눌 수 있는데 Global Cache에 적합하다메시지 브로커 - 애플리케이션, 시스템 및 서비스가 서로 간에 통신하고 정보를 교환할 수 있도록 해주..
짱정연
'Database' 카테고리의 글 목록