MySQL Index 정리 및 팁
·
Database/My SQL
MySQL Index 정리 및 팁MySQL의 인덱스란 무엇인가?인덱스는 MySQL에서 데이터베이스 테이블의 데이터 검색 속도를 향상시키는 자료구조입니다. 책의 색인과 유사하게, 데이터베이스 인덱스는 전체 테이블을 스캔하지 않고도 데이터베이스 엔진이 특정 행을 빠르게 찾을 수 있게 해줍니다.MySQL은 주로 정렬된 구조로 데이터를 저장하여 효율적인 검색, 삽입, 삭제 작업을 가능하게 하는 B-Tree 인덱스를 사용합니다.B-Tree 인덱스 구조B-Tree(Balanced Tree) 인덱스는 다음과 같은 주요 특징을 가집니다:루트 노드: 브랜치 노드를 가리키는 트리의 최상위 레벨브랜치 노드: 키와 자식 노드에 대한 포인터를 포함하는 중간 레벨리프 노드: 인덱스된 값과 행 포인터를 포함하는 최하위 레벨균형 구..
데이터베이스 캐싱 전략
·
소프트웨어 이론/Architecture
사용자가 많아지고 트래픽이 많아질고 시스템 스케일링이 필요해지는 시점이 오면 데이터베이스 캐싱에 대한 고민을 하게된다. 이번 포스팅에서는 데이터베이스 캐싱 전략에 대해 알아보고자 한다 먼저 들어가기에 앞서 Cache Hit을 알아보자 Cache hit 이란? 찾으려는 데이터가 캐쉬에 저장되어 있어 데이터베이스를 거치지 하고 캐쉬에서 바로 데이터를 가져오는 형태. Cache hit이 많이 발생할수록 데이터 베이스에 대한 부담이 줄어든다. Cache-Asdie 일반 적인 형태의 캐쉬로 어플리케이션이 캐쉬업데이트 업데이트 담당. 캐쉬에 먼저 쿼리문을 보내고 캐쉬에 데이터가 없을시 데이터베이스에서 데이터를 가져온후 캐쉬에 데이터를 업데이트 한다 장점: 1. 데이터베이스 데이터 모델과 캐쉬의 데이터 모델이 다르게..