본문 바로가기
반응형

데이터베이스11

[Real MySQL 8.0] 5장 - 트랜잭션과 잠금 (동시성에 영향을 미치는 요소) 목차 · 트랜잭션 · MySQL 엔진의 잠금 · InnoDB 스토리지 엔진 잠금 · MySQL 격리 수준 트랜잭션 · 논리적인 작업 셋 자체가 100% 적용되거나, 아무것도 적용되지 않아야함을 보장해 주는 것이다. - Partial update: 일부만 적용되는 현상. 트랜잭션이 적용되지 않을 때 발생함. · 목적: 데이터의 정합성을 보장 MySQL에서의 트랜잭션 · InnoDB 스토리지엔진는 트랜잭션을 제공하고, MEMORY와 MyISAM 스토리지엔진은 제공하지 않는다. - 즉, MyISAM에서는 Partial Update가 발생하므로, 데이터 클렌징 코드를 따로 작성해야한다. 주의사항 · 프로그램 코드에서 트랜잭션의 범위를 최소화해야한다. 특히, 네트워크 작업 등 긴 시간이 걸리는 작업은 제외해야한다.. 2022. 1. 11.
[Real MySQL 8.0] 4장 - 아키텍처: MySQL 엔진과 스토리지 엔진(InnoDB, MyISAM) 목차 · MySQL 엔진 아키텍처 · InnoDB 스토리지 엔진 아키텍처 · MyISAM 스토리지 엔진 아키텍처 · MySQL 로그 파일 MySQL 엔진 아키텍처 · MySQL은 C, JDBC, ODBC, .NET 등의 표준 드라이버를 제공하여 대부분의 프로그래밍 언어로 접근 가능하다. · MySQL 서버는 역할에 따라 다음과 같이 구분 가능하다. 1. MySQL 엔진: 사람의 머리 역할 2. 스토리지 엔진: 사람의 손발 역할 - 스토리지 엔진은 핸들러 API를 만족하면 누구든 스토리지 엔진을 구현해 MySQL 서버에 추가해서 사용할 수 있다. MySQL 엔진 · 요청된 SQL 문장을 분석하거나 최적화하는 등 DBMS의 두뇌에 해당하는 처리를 수행한다. · 중심 구성 요소 - 커넥션 핸들러, SQL 파서.. 2022. 1. 8.
[Real MySQL 8.0] 6장 - 데이터 압축(페이지 압축과 테이블 압축) 목차 · 디스크 데이터 파일 크기의 문제점 · 페이지 압축 · 테이블 압축 디스크 데이터 파일 크기의 문제점 MySQL 서버에서 디스크에 저장된 데이터 파일의 크기는 1. 쿼리의 처리 성능 2. 백업 및 복구 시간 3. 저장 비용과 밀접하게 연결된다. - 디스크의 데이터 파일이 크면, 쿼리를 처리하기 위해 더 많은 데이터 페이지를 InnoDB 버퍼 풀로 읽어야 할 수 있고, 새로운 페이지가 버퍼 풀로 적재되므로 더티 페이지가 더 자주 디스크로 기록된다. - 디스크의 데이터 파일이 클수록 백업 및 복구 시간이 오래 걸린다. - 디스크의 데이터 파일이 클수록 저장 공간이 많이 필요하므로 비용 문제가 발생한다. MySQL은 이러한 문제를 해결하기 위해 테이블 압축, 페이지 압축 두 가지의 데이터 압축 방법을 .. 2022. 1. 4.
[MySQL] 데이터 형식 · 데이터베이스 테이블을 만들 때는 데이터 형식을 설정해야 한다. 테이터 형식에는 크게 숫자형, 문자형, 날짜형이 있고, 세부적으로 더 나뉘기도 한다. 다양한 데이터 형식이 존재하는 이유 · 저장될 데이터의 형태가 다양하기 때문이다. 각 테이터에 맞는 데이터를 지정함으로써 효율적인 저장이 가능하다. · 예를 들어 이름을 저장하는 컬럼에 100 글자를 저장할 칸을 준비하는 것을 상당한 낭비다. 데이터 형식 정수형 · 소수점이 없는 숫자 · 사용 예: 인원 수, 가격, 수량 데이터 형식 바이트 수 숫자 범위 사용 예 TINYINT 1 -128 ~ 127 가수 그룹 SMALLINT 2 -32,768 ~ 32,767 평균 키 INT 4 약 -21억 ~ +21억 인원 수 BIGINT 8 약 -900경 ~ +900.. 2021. 11. 11.
[Database] SQL의 기초 학습 목표 · SQL 이란? · 주요 SQL 타입 · 테이블 생성 쿼리 · 테이블 삽입 쿼리 · 데이터 조회 쿼리 - 조회 및 조건 · 데이터 쿼리 조회 - 정렬 · 데이터 쿼리 조회 - 집합 · 데이터 수정 쿼리 · 데이터 삭제 쿼리 · 조인(Join) SQL 이란? · SQL(Structured Query Language): 데이터를 조회하고 삭제하는 등의 작업을 수행할 때 사용하는 언어 주요 SQL 타입 SQL 타입 설명 CHAR · 확정 길이의 문자열을 저장한다 · 표준의 경우 255글자까지만 저장 가능 VARCHAR · 가변 길이의 문자열을 저장 · 표준의 경우 255글자까지만 저장 가능 LONG VARCHAR · 긴 가변 길이의 문자열을 저장 NUMERIC · 숫자를 저장 DECIMAL · 십.. 2021. 10. 7.
[Database] 데이터베이스 프로그래밍 기초 학습 목표 · 데이터베이스란? · 테이블과 레코드 · 주요키(Primary Key)와 인덱스(Index) · 데이터베이스 프로그래밍의 일반적인 순서 · 데이터베이스 프로그래밍의 필수 요소 · 데이터베이스 생성 데이터베이스란? · 데이터베이스: 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합 - 주요 목적: 데이터를 저장하고, 필요할 때 사용하는 것 · DBMS(Database Management System): 데이터베이스를 관리하는 시스템 · DBMS가 제공하는 여러 기능들: 1. 데이터의 추가/조회/변경/삭제 2. 데이터의 무결성(integrity) 유지 3. 트랜잭션 관리: 데이터의 신뢰성을 높임 4. 데이터의 백업 및 복원 5. 데이터 보안 · 웹 어플리케이션을 구축할 .. 2021. 10. 7.
반응형