[Database] 트랜잭션과 ACID 원칙에 대해 정리해보자
·
Programming/Database
Transcation 개념  ▶︎ 정의사용자 관점에서 트랜잭션은, 데이터베이스에서 수행되는 작업의 논리적 단위이다. 예를 들어 ``내 계좌로의 입급``, ``다른 계좌로의 출금`` 등이 있겠다. 그렇다면 개발자 관점에서 트랜잭션은? 작업의 동시성 제어, 그리고 회복의 단위라고 말할 수 있다.여러 개의 쿼리문이 모여 하나의 트랜잭션을 이룬다.▶︎ 주요 명령어BEGIN, ROLLBACK, COMMIT 이 있다.☑️ BEGIN / START트랜잭션의 시작을 선언한다.☑️ ROLLBACK트랜잭션의 중단을 선언한다. 모든 변경 사항을 되돌려 원래 상태로 복구한다.트랜잭션이 시작(BEGIN)되기 전으로 데이터가 복구된다.✓ SAVEPOINT (선택적 롤백)트랜잭션 내에서 save point를 지정하여 특정 시점까지..
Redis에 대해 정리해보자
·
Programming/Database
Redis (Remote Dictionary Server)▶︎ 인메모리 데이터베이스인메모리란 말 그대로 컴퓨터의 메인 메모리(RAM)에 데이터를 올려서 사용하는 방법이다.MySQL, MongoDB 등 disk(SSD, HDD)에 데이터를 저장하는 데이터베이스에 접근하는 것보다 메모리에서 데이터를 가져오는 것이 훨씬 빠르므로 검색 속도 면에서 월등한 성능을 가진다.▶︎ 다양한 자료구조 지원기본적으로 Key-Value 구조로 저장한다. 하나의 Key에 Value 데이터를 저장하는 구조이다.Value에 저장할 수 있는 데이터로 다양한 자료구조를 지원한다.StringListSetSorted SetHashStream / Bitmap / Bitfield / Geospatial▶︎ 싱글 스레드Redis는 하나의 코어..
[MySQL] DATE 데이터 다루기
·
Programming/Database
지정 형식으로 문자열 반환DATE_FORMATDATE_FORMAT(컬럼명, 형식) : 지정한 형식대로 구성된 `문자열`을 반환한다.형식 예시 : `'%Y-%m-%d'` -> `2000-06-20`기호 %Y4자리 년도%y2자리 년도%M영문 월%m숫자 월 (2자리)%c숫자 월 (한 자리 수는 한 자리로)%d일 (2자리)%e일 (한 자리 수는 한 자리로)%W긴 요일 이름 (ex. MONDAY)%a짧은 요일 이름 (ex. MON) 년/월/일 정수로 반환원하는 날짜 데이터를 뽑아 `정수`로 반환한다.YEAR(컬럼명)년도 반환MONTH(컬럼명)월 반환DAY(컬럼명)일 반환
SQL 기본 문법 복기 (2)
·
Programming/Database
SQL 강의를 마저 들었다 !REPLACE : 글자 대치하기replace(컬럼, 대상 글자, 바뀔 글자) CONCAT : 문자열 합치기concat(합칠 문자열, 합칠 문자열, ...)select concat('[',substr(addr,1,2),']',restaurant_name,' (',cuisine_type,')') "음식점", count(1) "주문 건수"from food_ordersgroup by 1 SUBSTR : 원하는 위치의 글자만 가져오기substr(컬럼, 시작 인덱스, 가져올 글자 수)시작 인덱스 >= 1'가져올 글자 수'를 명시하지 않고 substr(컬럼, 시작 인덱스)로 적을 경우, 시작 인덱스부터 끝까지 가져옴 GROUP BY : select 절의 n번째 컬럼으로 묶기group b..
SQL 기본 문법 복기 (1)
·
Programming/Database
SQL 강의를 들으면서 정처기 공부할 때 또 바짝 공부했었던 SQL 문법들을 복습했다대부분 아는 내용들이었지만, 머릿속에서 사라져가려고 했던 몇몇 문법들을 다시 붙들어잡을 수 있었던 좋은 시간이었던 듯 ...너무 잘 아는 내용은 생략하고, 다시 붙잡을 수 있었던 내용들을 정리해본다 SELECT 시 별명(alias) 설정하기컬럼1 as 별명1ex) order_id as ord_no컬럼2 별명2ex) order_id as "주문 번호"⚠️ 주의할 점별명이 '영어'와 '언더바'로만 이루어져 있는 경우에만 "" 기호 없이 별명을 설정할 수 있다.  조건 필터링 IN : ~ 중에 하나인가?in (A, B, C) A, B, C 중 하나에 해당 된다면 선택됨ex) age in (15,21,31)  조건 필터링 LIK..