목록Database (3)
Arthur's Blog
Redis란? REmote DIctionary Server Redis는 고성능 Key-value 저장소로서 리스트, 해시, 셋 정렬된 셋 등 여러 형식의 자료구조를 지원하는 NoSQL이다. 메모리에 상주하면서 RDBMS의 캐시 솔루션으로 주로 사용됨. 사용용도 Redis는 Message Queue, Shared Memory, Remote Dictionary 용도로 사용할 수 있다. TTL(Time To Live) Redis의 Data가 유지되는 시간을 뜻한다. 따로 설정하지 않으면 -1이 들어간다. -1의 의미 레디스 명령에서 ‘-1’은 인덱스의 마지막 자리를 의미한다. 음수가 입력되면 인덱스를 맨 마지막 부터 센다. 그러므로 ‘-2’는 맨 마지막에서 두 번째의 인덱스를 나타낸다.
트랜잭션이란 트랜잭션이란 질의(query)를 하나의 묶음 처리해서 만약 중간에 실행이 중단됐을 경우, 처음부터 다시 실행하는 Rollback을 수행하고, 오류없이 실행을 마치면 commit을 하는 실행 단위를 의미한다. 즉, 한 번 질의가 실행되면 질의가 모두 수행되거나 모두 수행되지 않는 작업수행의 논리적 단위이다. 트랜잭션을 작업수행의 논리적 단위라고 이야기를 했는데, 이로인해 DBMS의 성능은 초당 트랜잭션의 실행 수(TPS : Transaction per second)로 측정한다. 사용 이유 트랜잭션은 DB 서버에 여러 개의 클라이언트가 동시에 액세스 하거나 응용프로그램이 갱신을 처리하는 과정에서 중단 될 수 있는 경우 등 데이터 부정합을 방지하고자 할 때 사용합니다. 부정합이 발생하지 않으려면 ..
ACID란 ACID는 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리키는 약어디다. 트랜잭션에는 4가지의 특성이 있다. 원자성 (Atomicity) 트랜잭션의 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장하는 것을 말한다. 즉, All oro Nothing의 개념으로써 작업 단위를 일부분만 실행하지 않는다는 것을 의미한다. 원자성 보장 트랜잭션에서 원자성은 수행하고 있는 트랜잭션에 의해 변경된 내역을 유지하면서, 이전에 commit된 상태를 임시 영역에 따로 저장함으로써 보장한다. 현재 수행하고 있는 트랜잭션에서 오류가 발생하면 현재 내역을 날려버리고 임시 영역에 저장했던 생태로 rollback한다. 이전 데이터들이 임시로 저장되는 영역을 롤백 세그먼트라고 하며, 현재 ..