DB
-
Mysql ACID 란?DB 2025. 2. 16. 19:36
1. ACID란 무엇인가?ACID는 데이터베이스 트랜잭션의 4가지 필수 속성으로, 안정성과 신뢰성을 보장하는 개념입니다.✅ ACID 4가지 속성속성설명예시Atomicity (원자성)트랜잭션은 모두 반영되거나, 전혀 반영되지 않아야 함송금 중 오류 발생 시, 돈이 빠져나가거나 들어오지 않도록 보장Consistency (일관성)데이터베이스의 일관성이 유지되어야 함계좌 이체 후에도 총 금액이 변하지 않아야 함Isolation (고립성)여러 트랜잭션이 서로 영향을 주지 않아야 함동시에 같은 계좌에서 출금해도 한 번만 출금됨Durability (지속성)트랜잭션이 완료되면 데이터가 영구적으로 저장시스템이 다운되어도 커밋된 데이터는 유지됨2. MySQL이 ACID를 보장하는 방식MySQL은 InnoDB 스토리지 엔진..
-
MySQL 데이터 압축DB 2025. 2. 15. 18:27
MySQL에서 데이터 압축은 디스크 공간 절약과 I/O 성능 향상을 위해 데이터 페이지나 테이블 데이터를 압축 알고리즘을 통해 줄이는 기술입니다. MySQL은 InnoDB 스토리지 엔진을 기반으로 다음과 같은 방식으로 데이터를 압축합니다 📦 MySQL 데이터 압축 구조1️⃣ 페이지 압축(Page Compression)1-1.디스크 페이지(Disk Page)란?디스크 페이지는 디스크 I/O 단위로, MySQL은 데이터를 페이지 단위로 디스크에 읽고 쓴다.일반 크기: 4KB, 8KB, 16KB(InnoDB 기본은 16KB).페이지 구성 요소:헤더(Header): 페이지 타입, 페이지 번호 등 메타정보.데이터(Data): **행(row)**들이 저장됨.트레일러(Trailer): 체크섬 및 페이지 무결성 검사..
-
MySQL 아키텍처 및 MySQL 쿼리 실행 알고리즘DB 2025. 2. 15. 16:23
해당 글은 제 의식의 흐름에 따라 정리한 글이어서 흐름이 매끄럽지 않을 수 있습니다.해당 글은 JVM 아키텍쳐(JAVA관련) 및 동기화 문제를 아신다면 더 쉽게 이해 가능합니다.📌 1. MySQL 전체 아키텍처MySQL은 "클라이언트-서버 모델" 을 기반으로 동작 ┌────────────────────────────┐ │ **MySQL Architecture** │├────────────────────────────┤│ **1. 클라이언트 계층 (Client Layer)** ││ - MySQL C..
-
mysql의 인덱스(r-tree,b-tree, 전문검색, 함수기반, 멀티밸류, 클러스터링, 유니크)DB 2025. 2. 15. 15:22
🔍 MySQL 인덱스 종류MySQL 인덱스의 디스크 읽기 방식은 랜덤 I/O와 순차 I/O로 나뉩니다.모든 인덱스는 디스크에서 자료를 더 효율적으로 읽기 위해 자료구조를 이용해 인덱스를 만들었습니다.이를 이해하려면 디스크의 물리적 구조(HDD vs SSD), 인덱스 자료구조(B+Tree, Hash, Inverted Index)를 알아야 합니다. 🛠️ 디스크 읽기 기본 개념1️⃣ 랜덤 I/O (Random I/O)특징: 디스크 헤드가 다양한 위치로 이동하며 데이터 검색.비용: 디스크 **시크 타임(Seek Time)**과 로테이션 딜레이 발생.발생 예:B-Tree 탐색: 인덱스 노드를 탐색하며 비순차적으로 디스크 접근.해시 인덱스: 해시 버킷이 분산되어 위치가 불규칙할 때.2️⃣ 순차 I/O (Sequ..
-
MongoDB - Geo Index 에 대한 연구DB 2024. 4. 21. 21:59
1.연구배경 및 요약 MONDO DB는 사용자의 현재 위치를 활용해 근방의 위치정보데이터를 가져오는 방식으로 Geo index뿐 아니라 일반 인덱스도 사용할 수 있다. 이 실험은 정말로 Geo index가 근방의 위치데이터 탐색에 더 빠른 TPS를 보여 주는가 에 대한 궁금증으로 시작하였다. 본 연구에서는 여러 상황을 설정한 후 각 상황에 적합한 index를 선정하고 그 이유에 대하여 분석하여 설명한다. 2.MongoDB의 Geo-index. MongoDB에서는 총 3가지 Geo-index를 제공한다. 2d index , 2d sphere index, Geohaystack index이다. 2-1. 2d index MongoDB의 2d-index는 Geohash함수를 기반으로 사용한 index이다. Geo..
-
RDB VS NoSQL 2탄DB 2020. 8. 11. 02:17
**1탄과 연결되는 내용이니 꼭 1탄을 읽고 와주세요. https://it-techstory.tistory.com/7?category=879777 RDB VS NoSQL 1탄 RDB와 NoSQL을 처음 공부할 때 정말 RDB란 무엇인가? NoSQL이란 무엇인가에 대하여 명확하게 말하기 힘들 때가 있다. 그 때 나의 포스트가 도움되길 바라는 마음에서 내가 공부한 RDB와 NoSQL이 무엇인�� it-techstory.tistory.com 1탄에서 우리는 RDB와 NoSQL의 가장 기본적인 차이를 봤다. 그것과 연계해서 몇가지 더 포스팅 하고자한다. 2.왜 RDB는 분산서버에 불리하고 NoSQL은 분산서버에서 유리할까? 2-1.ACID 보통 RDB에서 분산을 하려면 테이블을 아래 그림과 같은 구조로 나눈다...
-
RDB VS NoSQL 1탄DB 2020. 8. 9. 04:30
RDB와 NoSQL을 처음 공부할 때 정말 RDB란 무엇인가? NoSQL이란 무엇인가에 대하여 명확하게 말하기 힘들 때가 있다. 그 때 나의 포스트가 도움되길 바라는 마음에서 내가 공부한 RDB와 NoSQL이 무엇인지 어떻게 다른지에 관하여 지금부터 설명하겠다. 1.왜 RDB,NoSQL이라는 이름을 붙였을까? RDB는 Relation Database의 약자이다. 이떄 Relation이란 관계라는 뜻이다.왜 관계라는 용어를 쓴걸까? 이유는 간단하다. RDB를 만든 핵심 개념이 관계형 대수학 이기 때문이다. 자료를 관계형 대수학 개념으로 묶는다. 그리고 이 관계형 대수학 개념을 바탕으로 테이블을 만든다. RDB는 테이블 뿐만이 아니라 SELECT,JOIN과 같은 기본 SQL문법역시 관계형 대수학을 기반으로 ..