SQL문을 최적화하여 빠른 시간내에 원하는 결과값을 얻기 위한 작업이다.보통 일반적으로 접근하는 튜닝 방식으로, 동일한 부하를 보다 효율적인 방법으로 수행해야 한다.부하 정도에 따라 업무를 조정하는 접근 방법으로, 일반 업무(OLTP)를 분리한다.부하가 많이 걸리는 부
테이블의 주소를 미리 저장해두는 개념책에 목차와 차례들이 나오는데 글 맨 마지막에는 항상 숫자로 페이지를 적어둔다. 이 페이지가 인덱스의 개념이다.table스캔은 테이블 전체를 읽어서 연산했다고 생각하자.Index는 RDBMS에서 검색 속도를 높이기 위한 기술이다.TA
DB에서 왜 인덱스가 필요한지. 다양한 성능을 테스트 해보기 위해 준비를 해보자. ✅ [DOCKER] docker 컨테이너 자원 할당 제한 🟩 더미 데이터 적재 MySQL 프로시저를 이용한 더미데이터 생성 위의 SQL문을 통해 프로시저를 생성해주고 아래 CALL
이게 무슨 말인지 몰랐던 나에게 주어진 미션 스타트😎더미데이터는 이걸 사용했다.테이블에 포함된 레코드를 처음부터 끝까지 읽어들인다. 인덱스를 타지 않는다.테이블의 일부 레코드에만 엑세스한다.RDBMS에서 가장 복잡하면서 가장 중요한 것은 옵티마이저(Optimizer)
데이터베이스의 어떤 변경을 유발하는 작업 단위를 위미한다.착각하지 말아야 할 것은, 작업의 단위는 질의어 한문장이 아니라는 점이다.사용자에 의해 실행된 SQL 문의 집합을 의미하며, 변경된 데이터는 TCL에 의해 데이터베이스에 반영되어야 한다는 것을 의미한다.데이터베이
멀티 트랙잭션 환경에서 데이터베이스의 일관성과 무결성을 유지하려면 트랜잭션의 순차적 진행을 보장할 수 있는 장치가 필요하다.🙋♀️예를들어 한명이 도서관의 좌석을 예약하는 중에 다른 한명이 같은 좌석을 예약할 수 없게 하여 한명만 좌석을 배정받을 수 있게한다.이런 기
테이블명 변경 테이블 삭제 컬럼 추가 컬럼 이름 변경 컬럼 데이터타입 변경 컬럼 삭제
소셜 로그인 토큰 검증을 위해서 프록시 서버 -> 인증 서버로 호출을 하고 있다.개발 후에 클라분들께 전달 드렸는데, 프록시 서버에서 해당 API 를 호출하자 인증서버에서 프록시 서버로 응답하는 시간이 5초를 초과하여 타임아웃 에러가 발생했다.기존에 카카오 간편가입 밖
"Aurora DB 사용하면 Transaction readOnly 인 경우에 Reader(Slave) Connection 타지 않아요?"어플리케이션에 있는 설정 정보라고는 Writer(Master) Cluster 설정뿐인데, 어떻게 Reader DNS를 찾아서 커넥션을
레거시 프로젝트를 이관하면서, 레디스 에서 key-value 외에 다양한 자료구조가 있다는 것을 알았다. 자료구조와 메서드 그리고 어떤 상황에 해당 자료구조가 적절한지 알아보자.레디스는 싱글 스레드 기반으로 동작하기 때문에 명령어의 시간복잡도를 파악한 후 해당 명령어로
세컨더리 인덱스(Secondary Index)와 클러스터드 인덱스(Clustered Index)는 MySQL과 같은 데이터베이스 시스템에서 성능 최적화를 위한 인덱스 유형이다. 두 인덱스는 저장 방식과 동작 방식이 다르며, 각각 다른 목적을 가지고 있다. 이 둘의 차이
CAP 이론은 분산 시스템에서 중요한 세 가지 특성인 일관성(Consistency), 가용성(Availability), 분할 허용성(Partition Tolerance)을 동시에 모두 충족할 수 없다는 점을 설명한다. 이는 분산 시스템을 설계할 때 반드시 두 가지 특성
InnoDB 락에는 여러가지 유형이 있다. 락의 종류와 발생하는 케이스를 MySQL 8.4 버전을 기준으로 알아보자.InnoDB는 row-level 수준의 락을 구현하며, 두 가지 유형의 락이 있다.공유(S) 락은 락을 보유한 트랜잭션이 해당 행을 읽을 수 있도록 허용
어플리케이션 트래픽을 받기 전, 특정 테이블의 데이터를 모두 로드하여 메모리에 적재해야 하는 요구사항이 있었다. 이는 시작 시 데이터를 빠르게 제공하기 위해 설계된 로직이었다. 로컬 환경에서는 문제없이 동작했지만, Heap Size가 제한된 개발 환경에서 실행할 때 O
Redis는 키에 만료 시간을 설정하는 기능을 제공한다.처음에는 TTL 설정이 되어있기때문에 Redis의 가용메모리가 많을 것이라고 생각했지만, 실제 모니터링 결과 예상보다 가용 메모리가 적었다.🫠 Redis의 만료 관리 방식, 관련된 구조체, 그리고 실제 코드 동작