November 03, 2024
한 줄 요약 : static 폴더에 도메인을 적은 CNAME 파일을 넣는다. Gatsby 블로그를 Github Pages로 배포할 때 설정한 커스텀 도메인이 사라지는 문제가 발생했다. 배포 브런치의 CNAME 파일을 참조하는데 배포할 때마다 없어지기 때문 ( 라든가...) 이걸 배포할 때마다 노가다 해주는 건 이상하잖아! 처음 찾았던 방법은 3가지였다.…
October 28, 2024
삼바(Samba)는 윈도우와 유닉스 계열 같이 타 시스템 간의 피일이나 프린터 자원을 공유할 수 있도록 도와주는 유닉스 계열 프로그램이다. 마이크로소프트와 인텔에서 개발한 SMB(Server Message Block) 네트워크 프로토콜을 사용한다. 현재는 CIFS(Common Internet File System)로 확장되어 있다고 한다. 1. 설치 2.…
October 05, 2024
데이터 파일의 크기가 커지면 발생 할 수 있는 문제들 쿼리 처리 성능 증가 백업 및 복구 시간 증가 저장 공간 사용에 따른 비용 증가 InnoDB 버퍼 풀에 더 많은 데이터 페이지 로드 필요 더티 페이지의 잦은 디스크 기록 → 압축을 활용할 수 있음 압축 장점 디스크 공간 절약 I/O 감소로 성능 향상 가능 메모리 사용량 감소 압축 단점 CPU 사용량 증…
September 20, 2024
트랜잭션의 격리 수준 격리성(isolation)은 트랜잭션 수행 시 서로 간섭하지 않도록 보장하는 특성을 말한다. 이러한 격리성은 여러 개의 격리 주순으로 나뉘게 된다. 격리 수준(isolation level)이란 여러 트랜잭션이 동시에 처리될 때 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있게 허용할지 말지를 결정하는 것이다.…
September 07, 2024
1. 트랜잭션 트랜잭션은 데이터베이스의 상태를 변화시키는 하나의 논리적 작업 단위 ACID(원자성, 일관성, 고립성, 지속성) 특성을 보장 데이터의 일관성을 유지하고 안정적인 데이터 처리를 가능케 함 → 부분 업데이트(Partial Update) 현상을 방지 잠금(Lock)과 트랜잭션 잠금 : 동시성을 제어가 목적 트랜잭션 : 데이터의 정합성을 보장이 목…
August 31, 2024
에러 로그 파일 (Error Log) 위치: MySQL 설정 파일(my.cnf)의 log_error 파라미터로 정의된 경로 주요 정보 MySQL 시작 과정 관련 정보 및 에러 메시지 InnoDB의 트랜잭션 복구 메시지 (비정상 종료 후 재시작 시) 쿼리 처리 중 발생하는 문제에 대한 에러 메시지 비정상적으로 종료된 커넥션 메시지 (Aborted conne…
August 30, 2024
MyISAM 특징 MyISAM 테이블의 인덱스는 키 캐시를 이용하여 빠르게 검색이 가능하다. 데이터에 대해서는 자체적인 캐시나 버퍼링 기능이 없다. 따라서 데이터의 읽기/쓰기는 항상 운영체제의 디스크 I/O로 처리된다. Key cache (키 버퍼) InnoDB의 버퍼 풀과 비슷한 역할을 수행한다. 인덱스만들 대상으로 작동된다. 캐시 히트율 계산 키 캐스…
August 20, 2024
given / when / then test 코드를 만들 때 3가지 단계로 작성한다. given : 테스트시 주어지는 값 when : 값을 통해 주어지는 조건 then : 테스트 부분 아마 대부분의 개발자 or 강의에서도 거의 동일할 것이다. 인텔리제이의 키워드로 출력 메서드가 완성되듯이 만들어 보자. (사실 다른 곳에 세팅할 때 잊어버릴까봐 적는다.)…
August 18, 2024
개요 데드락(Deadlock, 교착 상태) : (Database에서는) 두 개 이상의 트랜잭션이 동시 진행될 때 특정 자원에 잠금을 획득한 채 다른 트랜잭션이 소유하고 있는 잠금을 요구하면서 서로 무한정 기다리는 상태를 의미한다. InnoDB는 기본적으로 데드락 감지 기능이 활성화되어 있다. 자동으로 데드락을 감지하여 트랜잭션을 강제 종료(롤백) 한다. …
August 17, 2024
InnoDB 스토리지 엔진 아키텍처 InnoDB 구조 (출처) 8.0 버전부터 기존 스토리지 엔진으로 사용 레코드 기반 잠금 제공 → 높은 동시성 처리 가능 프라이머리 키에 의한 클러스터링 기본적으로 InnoDB의 모든 테이블은 프라이머리 키를 기준으로 클러스터링 되어 저장한다. PK Value의 순서대로 디스크에 저장된다. PK가 클러스터링 인덱스 이…