Develop/Database 10

DataBase 인덱스 - 잘못사용하면 생기는일

MSSQL에서 인덱스는 일반적으로 조회 성능 향상을 위한 것이지만, 다음과 같은 경우에는 오히려 성능 저하를 초래할 수 있습니다.🔍 상황 분석AD_HIST 테이블에 이미 Primary Key(PK) 가 설정되어 있음→ PK에는 자동으로 클러스터드 인덱스(기본적으로) 또는 유니크 인덱스가 생성됨.그 위에 [IDX_AD_HIST_HistId] 같은 별도 인덱스가 존재함→ HistId가 PK 컬럼이라면, 동일한 컬럼에 대해 중복 인덱스가 생긴 것임.❗ 중복 인덱스의 단점쓰기 성능 저하:INSERT / UPDATE / DELETE 시, 모든 인덱스를 동시에 유지관리해야 함.불필요한 인덱스가 많을수록 부하 증가.디스크 공간 낭비:중복 인덱스는 실제 데이터를 따로 저장하므로 공간만 낭비.쿼리 옵티마이저의 혼란:옵..

Develop/Database 2025.05.14

AWS RDS를 MSSQL 에서 MYSQL로 마이그레이션하면 비용절감

현재 MSSQL db.m5.12xlarge 사이즈를 사용하고 있다.MSSQL에서 MYSQL로 전환시 비용절감을 분석 비교 하였다. AWS RDS에서 MSSQL에서 MySQL로 마이그레이션하면 일반적으로 비용 절감이 가능💲 1. 라이선스 비용 절감 (MSSQL → MySQL)MSSQL은 라이선스 비용이 필요(특히 Enterprise Edition은 상당히 비쌈).MySQL은 오픈소스로, Amazon RDS MySQL을 사용해도 라이선스 비용이 없음☁️ 2. 인스턴스 비용 차이동일한 인스턴스 사양이라도 MSSQL은 성능 최적화와 라이선스 비용 때문에 비용이 상대적으로 높.MySQL 인스턴스는 일반적으로 더 저렴하며, Aurora MySQL을 선택하면 IO 비용 절감 효과도 있다.🛠️ 3. 운영 비용 ..

Develop/Database 2025.02.18

MSSQL -> MySQL 데이터 마이그레이션- 5.모니터링 및 성능 최적화 단계

마이그레이션 후: 모니터링 및 성능 최적화 단계마이그레이션이 완료되었더라도 모니터링과 성능 최적화는 안정적인 운영을 위해 필수입니다.다음은 AWS RDS MySQL 환경에서의 모니터링 및 성능 튜닝을 단계별로 자세히 설명합니다.🔍 1. 모니터링 설정 및 지표 확인AWS RDS는 Amazon CloudWatch와 Performance Insights를 통해 다양한 성능 지표를 제공합니다.다음과 같은 **핵심 지표(Key Metrics)**를 중점적으로 모니터링해야 합니다.📈 1-1. CloudWatch 메트릭 구성AWS Console → RDS → Monitoring → Enable Enhanced Monitoring메트릭 설명 권장 액션CPUUtilizationCPU 사용률(%)70% 이상 시 쿼리 ..

Develop/Database 2025.02.17

MSSQL -> MySQL 데이터 마이그레이션- 4.데이터 분석

MySQL 마이그레이션: 데이터 마이그레이션 실행(Execution) 단계🛠️ 1. 사전 준비 작업(Pre-Migration Tasks)마이그레이션 실행 전에 반드시 다음을 준비합니다:AWS DMS 권한 확인:소스(MSSQL) 및 타겟(MySQL) RDS 인스턴스에 필요한 권한을 부여해야 합니다.VPC 및 네트워크 구성 점검:AWS DMS 인스턴스가 소스 DB와 타겟 DB에 접근할 수 있는지 확인.성능 모니터링 설정:CloudWatch를 통해 DMS 마이그레이션 성능을 실시간 모니터링하도록 설정.백업 수행:소스 및 타겟 데이터베이스의 스냅샷을 생성.🔐 1-1. IAM 정책 구성AWS DMS에 필요한 최소 권한을 IAM 역할에 할당해야 합니다.IAM 정책 예제:{ "Version": "2012-1..

Develop/Database 2025.02.17

MSSQL -> MySQL 데이터 마이그레이션- 2.데이터 분석

데이터 분석(Assessment and Analysis) 단계🔍 1. 데이터베이스 구조 분석1-1. 테이블 구조 확인테이블 개수, 컬럼 타입, 제약 조건(FK, PK), 인덱스를 파악해야 합니다.MSSQL 쿼리 예제:-- 테이블 리스트 조회SELECT TABLE_SCHEMA, TABLE_NAMEFROM INFORMATION_SCHEMA.TABLESWHERE TABLE_TYPE = 'BASE TABLE';-- 테이블 컬럼 상세 조회SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, IS_NULLABLEFROM INFORMATION_SCHEMA.COLUMNSWHERE TABLE_SCHEMA = 'dbo'; 주요 분석 포인트:테이블 개수..

Develop/Database 2025.02.17

MSSQL -> MySQL 데이터 마이그레이션- 1.계획

AWS RDS의 MSSQL에서 AWS RDS MySQL로 데이터 마이그레이션 계획을 아래와 같이 수립해 보겠습니다.1. 프로젝트 개요목표: AWS RDS의 MSSQL에서 AWS RDS MySQL로 데이터베이스를 마이그레이션.주요 고려 사항:데이터 타입 차이저장 프로시저, 트리거 등 비호환 요소 해결서비스 중단 최소화AWS 기반 서비스 활용 (AWS DMS)2. 범위 정의소스 시스템: AWS RDS MSSQL타겟 시스템: AWS RDS MySQL 8.x마이그레이션 데이터:테이블: 모든 데이터 테이블뷰(Views): 필요 시 변환스토어드 프로시저, 트리거: 필요에 따라 재작성사용자 및 권한: MySQL에 맞게 권한 설정3. 리스크 분석데이터 타입 불일치: MSSQL의 DATETIME, NVARCHAR 등 M..

Develop/Database 2025.02.14

Data 마이그레이션 이란?

데이터 마이그레이션(Data Migration)은 한 시스템, 저장소, 형식 또는 애플리케이션에서 다른 시스템으로 데이터를 이동하는 과정을 의미합니다. 주로 다음과 같은 경우에 이루어집니다:시스템 업그레이드: 기존의 레거시 시스템에서 최신 시스템으로 전환할 때.데이터베이스 변경: MySQL에서 PostgreSQL로 DBMS를 변경하거나, 온프레미스 DB에서 클라우드 기반 DB로 이전할 때.애플리케이션 통합: 서로 다른 애플리케이션 간 데이터를 통합할 때.스토리지 교체: 로컬 스토리지에서 클라우드 스토리지(AWS S3 등)로 이동할 때.데이터 마이그레이션 단계계획: 마이그레이션 범위, 영향도, 일정 등을 수립.데이터 분석: 기존 데이터 구조, 품질, 양 등을 분석.데이터 매핑: 이전 시스템과 새로운 시스템..

Develop/Database 2025.02.14

데이터 웨어하우스(DW) vs 데이터 레이크(Data Lake) 의 장단점과 차이점

둘다 데이터를 저장하고 관리하는 아키텍쳐인데 어떤걸 어떻게 사용할지 모르겠다.그럼 데이터 웨어하우스(DW) vs 데이터 레이크(Data Lake)장단점과 차이점을 알아보자   *데이터 웨어하우스(Data Warehouse)**와 **데이터 레이크(Data Lake)**는 데이터를 저장하고 관리하는 두 가지 주요 아키텍처입니다. 둘은 데이터 처리 방식, 활용 목적, 데이터 구조에서 차이가 있습니다. 아래에서 정의, 장단점, 차이점을 정리해 드리겠습니다.1. 데이터 웨어하우스(Data Warehouse)정의구조화된 데이터(Structured Data)를 저장하고, 분석과 보고에 최적화된 데이터 저장소.데이터는 ETL(Extract, Transform, Load) 프로세스를 통해 정제되고 변환된 뒤 저장.주로..

Develop/Database 2025.02.13

데이터 웨어하우스(DW)

현재 우리 회사의 매출 및 정산을 위해서는 여러가지의 변형된 데이터의 쿼리가 필요하다.다양한 쿼리문을 이것 저것 변형하여 매출 담당자 및 총판 담당자에게 데이터를 전달하고 있다. 그로인한 문제점을 해결하기 위해서 검색하다 보니 데이터 웨어하우스(DW)가 나왔고데이터 웨어하우스(DW)에 관한 설명들을 정리해 보았다,    데이터 웨어하우스(Data Warehouse, DW)는 조직 내 다양한 소스에서 데이터를 통합, 저장, 관리하여 비즈니스 인텔리전스(BI)와 데이터 분석을 용이하게 하는 중앙 저장소입니다. 주로 의사결정을 지원하기 위해 설계된 시스템으로, 대규모 데이터를 효율적으로 저장하고 처리할 수 있도록 최적화되어 있습니다.데이터 웨어하우스의 주요 특징주제 지향성(Subject-Oriented)특정 ..

Develop/Database 2025.02.13

ORACLE (오라클) 테이블 생성 쿼리

ORACLE을 사용하기 위해 우선 테이블을 생성해야 한다. 1.테이블 생성 쿼리 -- 테이블 생성 쿼리 CREATE TABLE 테이블명 ( 컬럼명 컬럼타입(길이) (NOT NULL) , 컬럼명 컬럼타입(길이) (NOT NULL) , 컬럼명 컬럼타입(길이) (NOT NULL) , 컬럼명 컬럼타입(길이) (NOT NULL) , 컬럼명 컬럼타입(길이) (NOT NULL) ); -- EX CREATE TABLE SAMPLE_TABLE ( SAMPLE_CD VARCHAR2(7) NOT NULL, SAMPLE_NM VARCHAR2(200) NOT NULL, USE_YN VARCHAR2(1) NOT NULL, REG_DT DATE, REG_USERID VARCHAR2(20), UPD_DT DATE, UPD_USERI..

Develop/Database 2023.06.18