본문 바로가기

전체 글230

먹어본 칵테일, 진 디파르마 ★★ 잘 모르겠음 파우스트 ★★★★★ 오버프루프 럼[1] - 1oz (30ml) 크렘 드 카시스 - 1/2oz (15ml) 화이트 럼 - 1oz (30ml) xyz ★★★★ 아디오스마더퍼커 - ★★ 롱 아이랜드 아이스티 - ★★ b52 - ★★★ 오켄토션 소비뇽 블랑 - ★★★ // 위스키 피치크러시 - ★★ 파우스트 - ★★★★★ 갓파더 - ★★★★ 카타르시스 ★★★★ 오버프루프 럼[8] - 1 1/2oz (45ml) 아마레토 - 1/2oz (15ml) 라임 주스 - 1/2oz (15ml) 하이랜드파크12 ★★★ // 위스키 발렌타인21 ★★★ // 위스키 마티니 종류 - 별로 안좋아하는 듯 럼베이스 칵테일 OR 위스키 온더락, 샷을 좋아하는듯 2023. 6. 8.
리눅스 페이징 - 가상메모리 [ 목적 ] 오라클 데이터베이스의 SGA에 대해 더 깊게 이해하기 위해 작성한다. [ 목차 ] [ 가상 메모리 & 페이지 ] 시스템 물리 메모리보다 큰 메모리 공간을 사용(프로세스에 제공)하기 위한 기술. 프로세스가 필요로 하는 모든 데이터와 명령을 메인 메모리와 동시에 로드하는 대신, 필요한 부분만 메모리에 올려두고 필요하지 않는 부분은 HDD, SSD에 저장하는 방식. 메인 메모리를 일정한 크기의 블록으로 분할하는데 이걸 페이지라고 하고, 페이지의 크기는 리눅스에서 4kb로 설정되어 있음. meminfo 파일에 메모리 정보를 살펴 볼 수 있고 huge page, 페이지 개수 등 다양한 정보 확인이 가능함. huge 페이지는 일반적인 크기보다 훨씬 큰 크기로 설정된 페이지를 의미하고 4MB 1GB와 같.. 2023. 6. 6.
postgresql 쿼리 공부 인덱스를 만들어도 무조건 빨라지지 않는다. varchar타입을 사용하는 컬럼에 일반 인덱스를 걸어서 성능개선을 해보려고 했지만 옵티마이저도 seq_scan 성능이 더 좋게 판단했는지 인덱스를 타지 않았고, 힌트를 사용해도 결과는 달라지지 않았다. 그래서 pg_trgm을 사용하여 엘라스틱서치 처럼 역 인덱스를 만들어서 빨라지나 확인을 해보려고 했는데, 역시 빠르진 않았다. pg_trgm을 사용하여 인덱스르 만들었을 경우에는 seq_scan을 타지 않았고, 무조건 인덱스를 타고 데이터를 조회했다. 인덱스를 잘못 만들면 crud 모든 성능이 떨어질 수 있으니 조심해야 할 것 같다. 사용 환경은 약 30만 건의 데이터가 있는 단일 테이블에서 진행하였고, 결과는 다음과 같다. pg_trgm을 사용하여 역 인덱스를.. 2023. 5. 29.
postgresql mvcc [ 목적 ] Postgresql의 MVCC를 이해하고 설명할 수 있다. [ MVCC 란? ] Multi Version Concurrency Control, 서로 다른 트랜잭션 간 동시에 쓰기, 읽기를 가능케하는 동시성 제어 기법. 각 트랜잭션이 데이터를 읽을 때 해당 트랜잭션이 볼 수 있는 버전의 데이터만을 제공하기 위해 데이터베이스 시스템은 데이터의 변경을 추적하고 각 변경에 대한 버전을 생성한다. 트랜잭션이 데이터를 수정할 때는 새로운 버전을 생성하고 이전 버전과의 일관성을 유지할 수 있다. [ MVCC 2가지 기법 ] 1. 데이터베이스 테이블에 업데이트 전/후 모든 버전의 레코드를 저장하여 관리 / PostgreSQL 2. 최신 버전읟 ㅔ이터만 데이터베이스 테이블 내에 저장하고 언두 데이터 영역을 .. 2023. 5. 20.