일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 프로그래머스 순위 파이썬
- 백준 1043 거짓말 파이썬
- 백준 1613 역사
- 프로그래머스 순위
- SQL SERVER MIGRATION
- 다중 컬럼 NOT IN
- 프로그래머스 등굣길
- 게임 개발 파이썬
- 램프 파이썬
- 등굣길 파이썬
- 프로그래머스 여행경로
- 순위 파이썬
- 백준 1238 파티 파이썬
- 프로그래머스 가장 긴 팰린드롬
- 베스트앨범 파이썬
- 백준 2352 반도체 설계 파이썬
- SWEA
- 가장 긴 팰린드롬 파이썬
- 반도체 설계 파이썬
- 백준 11054.가장 긴 바이토닉 부분 수열
- 프로그래머스 베스트앨범
- 다리 만들기 파이썬
- 백준 2146 다리 만들기
- 트리의 지름 파이썬
- SQL SERVER 장비교체
- 역사 파이썬
- 백준 1167 트리의 지름 파이썬
- 백준 1034 램프 파이썬
- 백준 1516 게임 개발
- 가장 긴 바이토닉 부분 수열 파이썬
- Today
- Total
목록전체 글 (224)
공부, 기록

서비스를 모니터링 하는 중 Aurora PostgreSQL 성능 개선 도우미에 DBLoad 가 증가하고 지연 값으로는 IO:XactSync 가 잡히며 해당하는 쿼리는 COMMIT 만 찍히는 상황이 발생하여 이를 케이스 오픈을 진행해가면서 상세하게 확인하고자 하였습니다. 먼저 해당 지표는 Aurora 문서에서 다음과 같이 설명되어있습니다.IO:XactSync 이벤트는 데이터베이스가 Aurora 스토리지 하위 시스템이 일반 트랜잭션의 커밋을 승인하거나 준비된 트랜잭션(Prepared Transcation)의 커밋 또는 롤백을 확인할 때까지 대기 중일 때 발생합니다. 준비된 트랜잭션은 PostgreSQL의 2단계 커밋 지원의 일부입니다. 해당 지표가 발생하는 원인은 다음과 같습니다.Onpremise 환경의 ..
개요서비스 관련 쿼리를 개선하면서 MySQL에만 사용되는 기능인 index for group by를 적용하게 되어 작성합니다.사용되는 쿼리와 테이블은 다음과 같은 형식입니다테이블CREATE TABLE `tableA` ( `id` int NOT NULL AUTO_INCREMENT, `strDepth1Category` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL, `strDepth2Category` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL, `strDepth3Category` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL, `strServiceNam..
#!/bin/bash# Writer와 Reader 정보를 저장할 전역 배열declare -a writer_instancesdeclare -a reader_instances# 모든 클러스터 정보 요약 출력summarize_clusters_info() { local clusters=("${@}") # Writer와 Reader 배열 초기화 writer_instances=() reader_instances=() for cluster in "${clusters[@]}"; do # 클러스터 내 모든 인스턴스 정보 가져오기 local instances instances=$(aws rds describe-db-clusters \ --..
1. 클러스터링 구조가 아닌 힙구조로만 테이블이 구성된다PK에 대하여 클러스터 구조는 제외하고 생각해야한다시퀀스가 반드시 필요하다는 것에 대해 비즈니스를 제외하면 잘 모르겠다 2. VARCHAR 타입의 불필요한 크기 설정이 디메리트가 없다고 보인다다른 dbms에서는 메모리에서 디메리트가 있는데 PG는 그런게 없는 것으로 확인된다 3. 배큠에 대한걸 지속적으로 인지하기가 쉽지 않다delete 작업에 대해 배큠으로 인한 락을 인식하는게 좀 쉽지 않았다 4. DELETE, UPDATE 의 LIMIT 처리가 정식적으로는 미 지원이다서브쿼리, cte를 사용하여 처리해야한다 5. DELETE, UPDATE를 JOIN 처리하여서 일부 데이터만 처리하는게 정식적으로는 미 지원이다Using 등의 처리가 가능하다 6. 시..

Valkey 는 Redis를 포크하여 시작된 NoSQL 오픈소스로 Redis의 기능을 사용하나 차이점 또한 있다.가장 큰 차이점이라고 생각되는건 멀티스레드 아키텍처인데 이에 대해 공부하고 정리하고자 하였다. 1. Valkey 8.0 의 멀티스레드 아키텍처과거 Redis의 경우 멀티 i/o 플렉싱을 구현하여 요청에 대하여 멀티처리를 하고 명령어 처리는 싱글스레드로 동작하여 개선을 하였는데 Valkey는 Main Thread라는 구성을 앞단에 두어 단순함을 유지하며 I/O Thread를 추가하여 멀티 스레드로 병렬을 높인 것으로 보인다. Valkey의 멀티스레드 아키텍처는 아래와 같다 I/O 스레드는 메인 스레드에서 실행할 작업을 수신하는 작업자 스레드이다.I/O 스레드에서는 최소 작업만 하도록 한다. I..

AWS 문서를 기반으로 DynamoDB 의 전체적인 개념과 특징에 대하여 공부해보고자 합니다.DynamoDB는 파티셔닝의 NoSQL DB로 모든 규모에서 10밀리초 미만의 성능을 제공하는 서버리스, 완전관리형 데이터베이스입니다. DynamoDB의 특징ServerlessDynamoDB는 서버를 프로비저닝하거나 패치, 관리, 설치, 유지 보수가 없습니다. DynamoDB는 가동 중지가 발생하지 않는 유지 관리를 제공합니다. 버전(메이저, 마이너 또는 패치)이 없으며 유지 관리 기간도 없습니다.DynamoDB의 온디맨드, 프로비저닝 모드를 선택하여 구성할 수 있습니다. NoSQLNoSQL 데이터베이스인 DynamoDB는 기존의 관계형 데이터베이스보다 향상된 성능, 확장성, 관리성 및 유연성을 제공하도록 특별히..

Amazon OpenSearch Service (이하 OSS)는 AWS 클라우드에서 OpenSearch 클러스터를 쉽게 배포, 운영 및 확장할 수 있는 관리형 서비스입니다.OpenSearch : 로그 분석, 실시간 애플리케이션 모니터링, 클릭스트림 분석과 같은 사용 사례를 위한 완전한 오픈 소스 검색 및 분석 엔진입니다.AWS OSS는 OpenSearch 클러스터의 모든 리소스를 프로비저닝하고 실행합니다. 또한 장애가 발생한 OpenSearch 서비스 노드를 자동으로 탐지하고 교체하여 자체 관리형 인프라와 관련된 오버헤드를 줄입니다. API를 한 번만 호출하거나 콘솔에서 몇 번만 클릭하여 클러스터를 조정할 수 있습니다. https://docs.aws.amazon.com/ko_kr/opensearch-s..

Aurora PostgreSQL 과 일반 PostgreSQL의 차이점 중 하나로 shared_buffers 의 설정 값이 다른 점이 있습니다.그 이유는 일반 PostgreSQL은 이중 버퍼링을 사용하여 DB 버퍼인 shared_buffers + OS의 데이터 캐싱을 사용하는데 Aurora에서 OS 데이터 캐싱을 사용하지 않기 때문입니다.그래서 Aurora의 Shared Buffer 파라미터 기본 값은 SUM({DBInstanceClassMemory/12038},-50003)계산으로 약 75%를 할당합니다. https://repost.aws/ko/knowledge-center/rds-aurora-postgresql-shared-buffers 이중 버퍼링 ?PostgreSQL은 '더블 버퍼링'을 사용합니다..

2024.07.04 - [공부/DATABASE] - [AWS] Aurora 공부 1 (아키텍처와 특징) [AWS] Aurora 공부 1 (아키텍처와 특징)1. 내부 아키텍처Aurora 는 클러스터 볼륨이라는 특수한 스토리지 구조를 가지고 있으며 단일 리전의 각기 다른 가용 영역에 구성됩니다.스토리지는 3개의 가용 영역(AZ)에 걸쳐 있는 가상 디스크kominjae.tistory.com 2024.07.06 - [공부/DATABASE] - [AWS] Aurora 공부 2 (Aurora의 기능들) [AWS] Aurora 공부 2 (Aurora의 기능들)Aurora의 블루그린 배포 메이저 버전의 업그레이드의 경우 스토리지와 컴퓨팅 영역이 분리된 Aurora의 특징으로 인하여 블루/그린 배포 방식을 통하여 진행이..

Redis 복제 개념 이해복제 복제란 레디스의 데이터를 거의 실시간으로 다른 레디스 노드에 복사하는 작업입니다. 원본을 Master라고 복제본 노드를 Replica라고 합니다.레디스는 비동기 복제입니다.다중 슬레이브 구성이 가능합니다.마스터를 시작한 후 복제서버를 시작하고 데이터 동기화를 확인이 필요합니다.레디스 2.6 부터 기본적으로 복제서버는 쓰기는 할 수 없고, 조회만 가능합니다. replica-read-only 파라미터로 변경 가능합니다.Master, Replica Node에서 info replication 명령어를 통하여 확인이 가능합니다. 복제 동기화 방식전체 동기화(full synchronization) : 전체 데이터를 동기화하는 방식Disk-to-Disk: 마스터는 메모리에 있는 전체 데..