LUNA's Archive

고정 헤더 영역

글 제목

메뉴 레이어

LUNA's Archive

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (86) N
    • C (2)
    • C++ (1)
    • Data Structure & Algorithm (9)
    • Computer Vision (0)
    • RDBMS (18)
    • Spring Framework (7)
    • Network (8)
    • Spring Webflux (2)
    • Java (16) N
    • 대규모 설계 기초 (12)
    • Spring Data JDBC (5)
    • Spring Security (4)
    • JPA (0)
    • Spring Batch (0)
    • Infra (2)

검색 레이어

LUNA's Archive

검색 영역

컨텐츠 검색

RDBMS

  • [MySQL] MVCC(Multi-Version Concurrency Control)

    2025.05.14 by Wanderer Kim

  • [MySQL] 쿼리 실행 구조

    2025.05.13 by Wanderer Kim

  • OLTP vs OLAP

    2024.03.03 by Wanderer Kim

  • [SQLD] 쿼리 실행 순서

    2023.05.29 by Wanderer Kim

  • [SQLD] grant

    2023.05.21 by Wanderer Kim

  • [SQLD] NVL

    2023.05.20 by Wanderer Kim

  • [SQLD] Index

    2023.05.20 by Wanderer Kim

  • [SQLD] savepoint

    2023.05.14 by Wanderer Kim

[MySQL] MVCC(Multi-Version Concurrency Control)

MVCC란?MVCC는 Multi-Version Concurrency Control의 약자로 RDBMS에서 Lock을 사용하지 않고도 데이터의 읽기 일관성을 보장해주는 기법이다. MVCC는 데이터 항목의 여러 버전을 유지함으로써 읽기 작업이 쓰기 작업에 의해 차단되지 않도록 합니다.MVCC의 핵심 원리는 데이터의 변경 이력을 버전별로 관리하여, 각 트랜잭션이 특정 시점의 일관된 데이터 스냅샷을 볼 수 있게 하는 것이다. MVCC 작동 원리트랜잭션 시작과 타임스탬프트랜잭션이 시작되면 고유한 트랜잭션 ID가 할당 된다. 이 ID는 데이터 버전의 가시성을 결정하는 데 사용된다. MySQL에서는 트랜잭션마다 트랜잭션 ID를 부여하여, 해당 ID보다 작은 트랜잭션 번호에서 변경된 데이터만 읽을 수 있게 한다.데이..

RDBMS 2025. 5. 14. 04:12

[MySQL] 쿼리 실행 구조

쿼리 실행 과정쿼리가 실행 되는 전체적인 과정은 아래와 같다.SQL 요청쿼리 파서전처리기옵티마이저쿼리 실행기스토리지 엔진SQL 결과 반환쿼리 파서쿼리 파서는 사용자 요청으로 들어온 쿼리 문달을 토큰으로 분리해 트리 형태의 구조로 만들어 내는 작업을 의미한다.쿼리 문장의 기본 문법 오류는 이 과정에서 발견되고 사용자에게 오류 메시지를 전달한다.전처리기파서 과정에서 만들어진 파서 트리를 기반으로 쿼리 문장에 구조적인 문제점이 있는지 확인한다.각 토큰을 테이블 이름이나 칼럼 이름 또는 내장 함수와 같은 개체를 매핑해 해당 객체의 존재 여부와 객체의 접근 권한 등을 확인하는 과정을 수행한다.옵티마이저옵티마이저는 사용자의 요청으로 들어온 쿼리 문장을 저렴한 비용으로 가장 빠르게 처리할지를 결정하는 역할을 담당한..

RDBMS 2025. 5. 13. 18:53

OLTP vs OLAP

OLTP vs OLAP OLTP(Online Transaction Processing)? OLTP란 온라인 트랜잭션 처리를 말하며, 네트워크 상의 온라인 사용자들의 database에 대한 일괄 트랜잭션 처리를 의미한다. 흔히 말하는 트랜잭션 처리를 OLTP라 부른다. 트랜잭션의 주 특징은 그루핑된 연산의 실패시 rollback이 지원된다는 점이다. 주로 대규모의 처리보다는 소규모의 정교한 데이터 구성이 필요한 데이터의 처리가 중점이 된다. OLAP(Online Analytical Processing)? OLAP란 databse 자체적으로 운용되는 시스템이라기 보다는 데이터 웨어하우스 등의 시스템과 연관되어 데이터를 분석하고 의미있는 정보로 치환하거나, 복잡한 모델링을 가능하게끔 하는 분석 방법을 말한다...

RDBMS 2024. 3. 3. 21:19

[SQLD] 쿼리 실행 순서

SQL 쿼리 문법 순서 일반적으로 SQL 쿼리는 아래와 같은 순서로 작성됩니다. SELECT FROM WHERE GROUP BY HAVING ORDER BY SQL 쿼리의 실행 순서 하지만 실제 SQL 쿼리의 실행 순서는 다음과 같습니다. FROM WHERE GROUP BY HAVING SELECT ORDER BY FROM : FROM 절에 지정된 테이블(들)이 선택됩니다. 여기서 데이터가 검색되는 초기 집합이 형성됩니다. WHERE : FROM 절에서 선택된 데이터 집합에 필터를 적용합니다. 이는 데이터의 특정 부분만을 대상으로 쿼리를 실행할 수 있도록 도와줍니다. GROUP BY : GROUP BY 절에 명시된 컬럼을 기준으로 데이터를 그룹화 합니다. HAVING : HAVING 절은 GROUP BY..

RDBMS 2023. 5. 29. 10:55

[SQLD] grant

GRANT 란? grant는 sql에서 권한을 부여하는 명령어입니다. 특정 사용자에게 특정 테이블이나 데이터베이스에 대한 권한을 부여하거나 변경할 때 사용합니다. 기본 문법은 아래와 같습니다. GRANT privilege_type ON object_name TO {user_name |PUBLIC | role_name} [WITH GRANT OPTION]; privilege_type : 부여하려는 권한의 유형입니다. 권한의 유형은 여러가지가 있으며, 가장 일반적인 것들은 select, insert, update, delete, execute, all 등입니다. object_name : 권한을 부여하려는 데이터베이스 객체의 이름입니다. 테이블, 뷰, 저장 프로시저 등이 될 수 있습니다. user_name /..

RDBMS 2023. 5. 21. 18:01

[SQLD] NVL

NVL 함수란? NVL은 주로 null 값을 다른 값으로 변환할 때 사용합니다. nvl 함수는 첫 번째 인수로 전달된 값이 null이면 두 번째 인수로 전달된 값을 반환하고, 첫 번째 인수가 null이 아니면 첫 번째 인수를 그대로 반환합니다. NVL 함수의 문법 NVL(expression1, expression2) expression1 : 검사할 표현식 expression2 : expression1이 null일 경우 대체할 표현식 NVL 함수의 사용 예제 예를 들어, emplyees 테이블에는 commission_pct 열이 있지만, 모든 직원이 커미션을 받는 것은 아닙니다. 따라서 이 얼에 null 값이 포함될 수 있습니다. 이 경우, 커미션 값이 null인 직원에 대해 특정 값을 지정하고 싶다면 n..

RDBMS 2023. 5. 20. 21:58

[SQLD] Index

Index란? 인덱스는 데이터베이스에서 데이터 검색 성능을 향상시키는 자료 구조입니다. 집의 주소를 찾는 것처럼, 인덱스는 데이터 베이스에서 특정 데이터를 빠르게 찾는 방법을 제공합니다. 이를 통해 sql 쿼리 성능을 크게 향상시킬 수 있습니다. 인덱스의 작동 원리 인덱스틑 B-tree 또는 Hash와 같은 자료구조를 사용하여 데이터의 위치 정보를 저장합니다 .이를 통해 테이블의 전체 스캔이 아닌, 인덱스를 통해 직접 데이터를 접근하므로 데이터 검색이 빠르게 이루어집니다. 예를 들어, 고객 테이블에서 고객 ID를 기준으로 데이터를 찾는다고 가정해봅시다. 만약 인덱스가 없다면, 모든 레코드를 순차적으로 검색해야 하지만 인덱스가 있다면 인덱스를 통해 빠르게 데이터를 찾을 수 있습니다. 인덱스 생성 아래 쿼리..

RDBMS 2023. 5. 20. 21:40

[SQLD] savepoint

sql에서 savepoint는 트랜잭션 내에서 중간 지점을 설정하는데 사용되는 TCL의 일부입니다. 트랜잭션 내에서 문제가 발생했을 때, savepoint를 사용하면 전체 트랜잭션을 롤백하는 대신 해상 지점까지만 롤백할 수 있습니다. 다음은 savepoint의 기본적인 사용법입니다. 1. savepoint 생성 SAVEPOINT savepoint_name; 이 명령은 트랜잭션 내에서 savepoint_name이라는 이름의 savepoint를 설정합니다. 2. savepoint로 롤백 ROLLBACK TO savepoint_name; 이 명령은 트랜잭션을 savepoint_name으로 설정된 savepoint까지 롤백합니다. savepoint_name 이후의 모든 변경사항은 취소됩니다. 3. savepoi..

RDBMS 2023. 5. 14. 00:15

추가 정보

인기글

최신글

페이징

이전
1 2 3
다음
TISTORY
LUNA's Archive © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바