Redis는 기본적으로 Key-Value 데이터베이스 입니다. 따라서, 대부분의 명령이 Key를 바탕으로 동작하고, Value로 사용하고자 하는 자료형에 따라 다른 명령어를 사용하게 됩니다. StringString은가장 기본적인 자료형Java의 `Map`처럼 동작저장할 수 있는 최대 크기는 512MBSET, GETSET user:email alex@example.comGET user:email`SET ` : key에 value 문자열 데이터를 저장합니다.`GET ` : key에 저장된 문자열을 반환합니다.INCR, DECR만약, 저장된 데이터가 정수 데이터라면 증가, 감소가 가능합니다.SET user:count 1INCR user:countDECR user:count`INCR key` : key에 저장..
트랜잭션의 격리 수준이란,여러 트랜잭션이 동시에 처리될 때, 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있게 허용할지 말지를 결정하는 것입니다.격리 수준은 크게 아래의 4가지로 나뉩니다.READ UNCOMMITTEDREAD COMMITTEDREPEATABLE READSERIALIZABLE아래로 갈수록 각 트랜잭션 간의 데이터 격리(고립) 정도가 높아지며, 동시 처리 성능도 떨어집니다.일반적인 서비스 용도의 데이터베이스는 READ COMMITTED와 REPEATABLE READ 중 하나를 사용합니다.Oracle : 주로 READ COMMITTEDMySQL : 주로 REPEATABLE READ1. READ UNCOMMITTEDREAD UNCOMMITTED 격리 수준에서는각 트랜잭션..
트랜잭션(Transaction)은작업의 완전성을 보장해 주는 것입니다. 따라서, 다음과 같은 두 가지 기능을 제공합니다.논리적 작업 셋을 모두 완벽히 처리처리하지 못할 경우 원 상태로 복구잠금(Lock) VS 트랜잭션(Transaction)Lock := 동시성을 제어하기 위한 기능Transaction := 데이터의 정합성을 보장하기 위한 기능격리 수준하나 혹은 여러 트랜잭션 간의 작업 내용을 어떻게 공유하고 차단할 것인지를 결정하는 레벨 트랜잭션을 지원하지 않는 MyISAM과 트랜잭션을 지원하는 InnoDB의 처리 방식 차이를 살펴봅시다.MySQL에서의 트랜잭션트랜잭션이란,논리적인 작업 셋 자체가 100% 적용되거나 아무것도 적용되지 않아야 함을 보장해 주는 것입니다.결론부터 이야기하면,InnoDB :=..
📂 트랜잭션(Transaction) 트랜잭션(Transaction)은 데이터베이스에서 일어나는 일련의 연산들의 집합으로서, 하나의 논리적 기능을 수행하기 위한 작업의 단위이다. 이는 데이터베이스의 상태를 하나의 일관된 상태에서 다른 일관된 상태로 변환시킨다. 이를 위해 트랜잭션에 포함된 모든 연산은 완전히 처리되거나 아니면 하나도 처리되지 않아야 하는 "All-or-Nothing" 방식으로 처리되어야 한다. 트랜잭션을 표현할 때는 Begin_Trans와 End_Trans를 하나로 묶은 형태로 표시하고, 하나의 트랜잭션은 Begin_Trans와 End_Trans 안에서 실행되는 모든 명령문들을 말한다. 📄 트랜잭션의 특성 데이터베이스의 회복과 병행 제어는 대부분 트랜잭션을 기반으로 수행된다. 트랜잭션은 아..
백업(Backup)은 현재의 데이터베이스를 다른 매체에 보관하는 작업을 말한다. 회복(Recovery)은 데이터베이스에 문제 발생 시에 다른 매체에 백업된 데이터를 이용해서 원상태로 돌려놓는 작업을 말한다. 회복과 관련된 데이터 저장장치로 다양한 종류가 존재할 수 있는데, 이들은 고장에 대한 회복력에 따라 휘발성, 비휘발성, 안정 저장장치로 구분해 볼 수 있다. 휘발성 저장장치(Volatile storage) : 메인 메모리와 같이 시스템 고장 시에 저장된 정보가 유실된다. 비휘발성 저장장치(Nonvolatile storage) : 디스크나 자기 테이프와 같이 시스템 고장 시에도 일반적으로 저장된 정보는 손실되지 않는다. DB 시스템에서는 디스크가 가장 많이 사용되고, 자기 테이프는 백업용으로 사용된다...
📂 무결성(Integrity) 데이터베이스에서 무결성(Integrity)이란, 데이터의 정확성 또는 유효성 을 의미한다. 하지만, 동적으로 변화하는 DB 환경 하에서 데이터의 정확성을 유지한다는 것은 상당히 어려운 일이다. 그렇기 때문에 실제로는 어떤 무결성 규칙(Integrity Rule)을 정해 놓고 이것에 위배되지 않는 한 DB의 무결성은 유지되는 것으로 간주한다. 무결성 규칙에는 다음과 같은 것들이 있다. 🏷 도메인 무결성 규칙(Domain Integrity Rules) 주어진 애트리뷰트의 값이 그 애트리뷰트가 정의된 도메인에 속한 값이어야 한다는 것을 규정하는 것이다. 예를 들어, 전화번호 애트리뷰트의 경우 일반적으로 '010-1234-4567'와 같은 형태로 숫자와 '-'로만 구성될 수 있다고..