데이터 정합성 유지 전략
·
♣ Learning Logs/데이터 아키텍처
[MongoDB] 개념
·
♣ Learning Logs/MongoDB
1. 정의MongoDB는 비관계형 데이터베이스(NoSQL)로, 문서 지향(Document-Oriented) 저장 방식을 채택하여 데이터를 JSON 형태의 문서로 저장하는 데이터베이스입니다. 이는 스키마에 엄격히 구애받지 않아 데이터를 자유롭게 추가 및 수정할 수 있는 유연성을 제공합니다.  2. 기존 RDB 와의 차이 및 장단점[장점]- 유연한 데이터 모델링: MongoDB는 JSON과 유사한 문서(document) 구조를 사용하여 데이터를 저장합니다. 이러한 구조 덕분에 데이터를 유연하게 모델링할 수 있으며, 스키마가 고정되어 있지 않아 필요한 경우 데이터 구조를 쉽게 변경할 수 있습니다. - 수평적 확장성: MongoDB는 샤딩(sharding) 기능을 통해 데이터를 여러 서버에 분산시켜 저장할 수 ..
[MSSQL] ADX에서 MI로 파워쉘 데이터 가져오기
·
♣ Learning Logs/MSSQL
보호되어 있는 글입니다.
[SQL] 인덱스 수직 스캔과 수평 스캔
·
♣ Learning Logs/SQL
DBMS 는 일반적으로 B+Tree  인덱스를 사용합니다.루트와 브랜치 블록에 있는 각 레코드는 하위 블록에 대한 주소값을 갖습니다.키값은 하위 블록에 저장된 키값의 범위를 나타냅니다.예를들어, 루트 '바'  레코드가 가리키는 하위 블록에는 [ 또는 >= 바 ] 범위의 레코드가 저장되어 있습니다. 또한, 루트와 브랜치 블록에는 키값을 갖지 않는 'LMC' (Leftmost Child) 라는 특별한 레코드가 있습니다.LMC 노드는 자식 노드 중 가장 왼쪽 끝에 있는 블록을 가리킵니다. 1. 인덱스 수직적 탐색수직 탐색은 루트블록에서 인덱스 트리의 깊이(depth)를 따라 탐색하는 과정을 의미합니다. 즉, 루트 노드에서 시작하여 리프 노드까지 트리의 각 레벨을 차례로 내려가며, 찾고자 하는 값을 탐색하는 과..
[MYSQL] Mysql Group Replication 구축(2)
·
♣ Learning Logs/MYSQL
2.환경 설정 2.1. DB 환경 설정 테스트의 목적으로 아래서는 하나의 서버에 다른 버전의 Mysql (5.7 / 8.0) 으로 구축해보겠습니다. - Primary 버전: MySQL 5.7 address: 127.0.0.1port: 3308 - Replica버전: MySQL 8.0 address: 127.0.0.1port : 3306 * 그룹 복제 기능은 MySQL 5.7.17 버전 이상 부터 가능합니다.* 같은 CHARSET 으로 통일하는 것이 좋습니다.# Primary DB (Mysql 5.7) & Replica DB (Mysql 8.0)CREATE DATABASE `test_rep_db` ;CREATE TABLE `test_rep_db`.`rep_table` ( `a` int , `b` v..
[MYSQL] Mysql Group Replication 구축(1)
·
♣ Learning Logs/MYSQL
1. 알아보기 1.1. Primary와 Replica DB 현대의 애플리케이션은 수많은 데이터를 실시간으로 처리합니다. 이를 지원하기 위해, 데이터베이스 시스템은 성능과 안정성을 유지해야 합니다. Primary-Replica 구조는 이런 요구를 충족하기 위한 대표적인 데이터베이스 아키텍처 중 하나입니다.  [Primary DB란]시스템에서 주 데이터베이스 역할을 하는 데이터베이스입니다. 모든 데이터 쓰기(write) 작업이 Primary DB에서 이루어집니다.기존 데이터를 수정하는 쓰기 작업(INSERT, UPDATE, DELETE) 이  Primary DB에서 이루어집니다.즉, Primary DB는 데이터의 최신 상태를 항상 유지하며, 데이터의 변경이 최초로 적용되는 곳입니다.⇒ 쓰기 전용  [Repl..
[MSSQL] Azure MI 에서 deadlock XEvent 로깅하기
·
♣ Learning Logs/MSSQL
Azure MI 에서는 보안상의 이유로  차단되어 조회 불가능한 XEvent deadlock 관련 로그를 조회 하는 방법입니다.보안상의 이유로  이벤트 세션의  package0.event_file에 접근할 수 없거나, 디스크에 파일을 생성할 수 없는 상황이라면, 파일 대신 Ring Buffer라는 메모리 기반 타겟을 사용하여 정보를 수집할 수 있습니다. # 1. 데드락 테스트system_health 세션은 SQL Server 및 Azure SQL Managed Instance에 기본적으로 포함된 확장 이벤트 세션입니다.이 세션은 데이터베이스 엔진이 시작될 때 자동으로 시작되며 눈에 띄는 성능 오버헤드 없이 실행됩니다.세션은 데이터베이스 엔진의 성능 문제를 해결하는 데 사용할 수 있는 시스템 데이터를 수집..
[MSSQL] DB 통합시 고려사항
·
♣ Learning Logs/MSSQL
DB 통합/ 이전 시 체크리스트를 정리해보겠습니다.아래는 리뉴얼 관련 통합 이전 작업시 진행했던 업무 목록 및 필요 체크리스트를 정리하였습니다. -- ===================================================-- 체크리스트 [ Source(소스) DB --> Target(타겟) DB ]-- =================================================== - 예상 일정 수립 - 이전 방식 계획 (스키마 비교, 데이터 마이그레이션)- OS , DB 버전, 호환성 레벨, 현재 구성값 확인- 이중화 여부 - 로그인 계정 및 사용자 매핑- Linked Server, Agent Job, 인바운드 IP 설정,  방화벽 Defender 설정- 미사용 DB ..
[MSSQL] 프로파일러 설정
·
♣ Learning Logs/MSSQL
SP 오류 확인을 위한 프로파일러 설정을 정리합니다. # 1.프로파일러란 ? MSSQL 프로파일러(Microsoft SQL Server Profiler)는 SQL Server 데이터베이스 엔진에서 발생하는 이벤트를 실시간으로 모니터링하고,  이러한 이벤트를 기록하여 분석하는 도구입니다. [주요 기능]- 실시간 이벤트 추적:  발생하는 다양한 이벤트(예: 쿼리 실행, 로그인/로그아웃, 트랜잭션 커밋/롤백 등)를 실시간으로 추적 - 데드락 및 잠금 문제 분석: 데드락이나 잠금 관련 문제를 추적- 보안 감사: 사용자 활동 및 데이터 액세스를 기록함으로써, 보안 이벤트를 추적 # 2.설정아래에서는 쿼리 및 SP 중심으로 보기 위해 필터링 하도록 하겠습니다.## 2.1.기본 설정 - RPC:Completed(원격..
[MSSQL] 시스템 스키마
·
♣ Learning Logs/MSSQL
MSSQL에서 자주 사용되는 중요한 시스템 스키마에 대해서 알아 봅시다.시스템 스키마의  종류1. sys스키마가장 많이 사용되는 시스템 스키마- sys.objects: 모든 객체 정보- sys.tables: 모든 테이블 정보- sys.columns: 모든 컬럼 정보- sys.indexes: 모든 인덱스 정보- sys.database_files: DB 파일 정보- sys.dm_exec_sessions: 현재 연결된 세션 정보 2. INFORMATION_SCHEMAANSI SQL 표준을 따르는 시스템 뷰 집합데이터베이스 구조 정보 제공SELECT * FROM INFORMATION_SCHEMA.TABLESSELECT * FROM INFORMATION_SCHEMA.COLUMNS - TABLES: 테이블 정보- ..