
데이터베이스 장애(Failure)란? -데이터베이스 시스템이 트랜잭션을 실행 하는 도중이 발생하며, 예고없이 급작스럽게 발생합니다. 해당 장애가 발생할 시, 트랜잭션의 ACID 성질을 지원하기 위해 복구를 하는 과정이 필요합니다. 데이터베이스 장애(Failure) 종류 트랜잭션 장애 -트랜잭션의 내부 논리 오류로, 사용자의 코드, 시스템 내부 오류에 의하여 발생하는 장애 -'데드락'이 대표적인 트랜잭션 장애 시스템 장애 -휘발성 기억 장치인 메모리 내용이 사라지는 경우에 발생하는 장애 -운영체제 오류, 하드웨어 결함이 주 요인임. 디스크 장애 -비휘발성 장치인 디스크 내용이 사라지는 경우에 발생하는 장애 -하드웨어 및 소프트웨어 결함이 주 요인임. 복구 알고리즘 복구 대비 알고리즘 -정상적인 상태에서 시..

락(Lock)이란? -데이터베이스에서 여러 트랜잭션이 한 데이터에 동시에 접근하여 연산이 수행될때 데이터의 안정성이 떨어지게 되는데, 이때 일관성과 무결성을 보장하기위해 쓰이는 개념입니다. Lock을 사용하여 한 시점에 하나의 데이터에 하나의 트랜잭션만 액세스 할 수 있도록 제한하며, UnLock을 통해 Lock을 풀 수 있습니다. Lock의 종류 Exclusive Mode (X) -Write Lock이라고 부르며, 한 트랜잭션에게 읽기 + 쓰기 권한을 부여합니다. 한번에 한 트랜잭션만 접근가능하며, 이미 한 트랜잭션에 부여된 경우, 다른 트랜잭션에선 아무도 Read Lock, Write Lock을 하지 못합니다. Shared Mode (S) -Read Lock이라고 부르며, 여러 트랜잭션에게 읽기 권한..
데이터베이스 CLI(Command-Line Interface)란? -DBMS와 사용자가 상호 작용을 하기위한 명령줄 도구로, CLI를 활용하여 SQL 쿼리를 실행하거나 MySQL 서버의 설정과 관련된 작업을 수행할 수 있습니다.GUI와 달리 명령으로 조작할 수 있으며, 유연성이 뛰어나, 복잡한 작업을 할때 유용합니다. CLI 명령어 mysql -u [사용자이름] -p -MYSQL 데이터베이스 서버에 접속하기 위한 명령어입니다. 사용자의 이름을 지정해 로그인할 수 있고, 이후 비밀번호 입력으로 접속이 가능합니다. SHOW DATABASES -현재 MYSQL 서버에 존재하는 모든 데이터베이스의 목록을 보여줍니다. USE [데이터베이스 이름] -작업을 하려는 특정 데이터베이스를 선택하며, 선택된 데이터베이스에..
정규화란? -데이터베이스 설계과정에서 데이터간의 중복을 최소화 하고 데이터의 구조를 효과적으로 조직화하기 위한 형식입니다. 정규화의 주 목적은 데이터 베이스의 이상 현상을 줄여 데이터의 일관성과 정확성을 유지하는 것 입니다. 즉, 테이블을 잘개 쪼개 데이터의 중복성을 제거하며, 입력,수정,삭제의 성능이 향상됩니다. 정규화 장점 중복 제거 -정규화를 통해 데이터의 중복이 최소화됩니다. 이로 인해 데이터의 일관성과 무결성이 향상되며, 저장 공간도 절약됩니다. 데이터 무결성 향상 -정규화 과정에서 데이터베이스에 적용되는 무결성 규칙이 데이터의 정확성과 일관성을 유지하는 데 도움을 줍니다. 이상현상 제거 -정규화를 통해 삽입, 삭제, 갱싱 이상 현상을 방지하며, 더욱 효율적으로 데이터관리를 합니다. 설계 명확성..
데이터 모델링 데이터 모델링이란? -데이터 구축의 대상이 되는 업무 내용을 분석하여 이해하고 약속된 표기법에 의해 다이어그램으로 표현하는 것을 의미합니다. 데이터베이스를 개발하기전에, 다이어그램으로 먼저 분석 및 표현을 하며, 좀더 효율적으로 작성하게 해줍니다. 데이터베이스를 구축하기 위해 데이터 관점에서 분석/설계를 하는과정이라고 생각하면 됩니다. 데이터 모델링의 특징 추상화, 단순화, 명확화 -데이터 모델링은 데이터 구축을 어떻게 할지, 대략적으로 표현하는 것으로, 전체 데이터를 추상화하고, 최대한 단순하게, 명확하게 작성을 해야합니다. 중복 제거 -데이터 모델링은 해당 여러 장소에 같은 정보를 저장하지 않게 하여 중복이 없어야합니다. 유연성 -데이터 모델이 다양한 사용자의 요구사항을 수용하거나 요구..

인덱스란? -인덱스는 데이터베이스에서 검색 성능을 향상시키기 위해 사용되는 데이터 구조입니다. 책의 색인과 유사하게 특정 데이터를 쉽게 찾을 수 있도록 참조를 제공하는 것입니다. 인덱스의 특징 검색 성능 향상 -인덱스를 사용해 전체 테이블을 스캔하는 것보다 데이터 검색 성능이 향상됩니다. 정렬 및 집계 최적화 -데이터를 특정 순서로 정렬된 상태로 유지하여, 집계함수 성능을 향상시킬 수 있습니다. 삽입, 수정, 삭제 오버헤드 -인덱스가 있는 테이블에서 데이터를 수정할때 인덱스도 갱신되어야 하기에 이과정에서 오버헤드가 일어 날 수 있습니다. 인덱스 종류 트리기반 인덱스 대부분의 관계형 데이터베이스 시스템에서 사용되는 가장 일반적인 인덱스 유형입니다. 트리구조로 되어있어 여러 레벨의 노드로 구성되며, 노드들끼..

옵티마이저란? -DBMS 내부의 핵심 구성요소중 하나로, SQL 쿼리를 실행할 때 가장 효율적인 방법을 결정하는 역할을합니다. 즉, 주어진 쿼리를 어떻게 실행할 것인지, 어떤 경로를 통해 데이터에 접근할 것인지 최적의 실행방법을 결정하는 것 입니다. 옵티마이저 실행 과정 SQL 쿼리 파싱 -옵티마이저가 쿼리를 최적화 하기 전에, 쿼리 파서는 SQL 문장을 분석합니다. 이 과정에서 문법적 오류, 표현식의 유효성, 참조된 객체의 존재 여부 등을 확인합니다. 통계 정보 참조 -옵티마이저 실행 계획을 결정하기 위해 테이블, 인덱스. 데이터 분포, 데이터의 통계 정보등을 딕셔너리를 통해 참조합니다. 이 통계정보들은 데이터베이스에 정기적으로 수집되며, 옵티마이저를 결정하는데 중요합니다. 옵티마이저 결정 -SQL 쿼..
- Total
- Today
- Yesterday
- 서버
- 스프링
- 웹소켓
- sql
- 프로토콜
- JPA
- 데이터베이스
- 도커
- 메세지큐
- 인공지능
- 문법
- 데이터
- 파인튜닝
- 자바
- 자동화
- 포트포워딩
- 소프트웨어공학
- 쿼리
- 보안
- 클라우드
- nat
- IP주소
- 테이블
- 컴퓨터구조
- 깃허브
- 컨테이너
- 깃
- DB
- 배포
- 네트워크
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |