목록데이터베이스 (4)
개발일기
Database 와 DBMS 그리고 SQL Database란 일반적으로 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미한다. DBMS란 (DataBase Management System) 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어이다. RDBMS란? - RDBMS(Relational DBMS) DBMS 앞에 R (Relational)이 추가된 관계형 데이터 베이스 관리 시스템이다. - 데이터를 테이블 형태로 저장하고 관리하는 데이터베이스로 일반적으로 SQL을 사용해서 데이터를 관리한다. - RDB는 관계형 데이터 모델을 기초로 두고 모든 데이터를 2차원 테이블 형태로 표현하는 데이터베이스이다. RD..

MVCC (Multi Version Concurrency Control)일반적으로 레코드 레벨의 트랜잭션을 지원하는 DBMS 제공하는 기능이며, MVCC 가장 큰 목적인 잠금을 사용하지 않는 일관된 읽기를 제공하는 데 있다. InnoDB 언두 로드(Undo log)를 이용해 이 기능을 구현한다. 멀티 버전이라 함은 하나의 레코드에 대해 여러 개의 버전이 동시에 관리된다는 의미다. 이를 위해 격리 수준(Isolation Level) 이 READ_COMMITED 인 MySQL 서버에서 InnoDB 스토리지 엔진을 사용하는 테이블의 데이터 변경 INSERT 문 실행시 아래 처럼 바뀜 update 후 UPDATE 문장이 실행되면 커밋 실행 여부와 관계없이 InnoDB 버퍼 풀은 새로운 값인 '경기'로 ..

MYSQL 엔진 MySQL 엔진은 클라이언트로부터의 접속 및 쿼리 요청을 처리하는 커넥션 핸들러와 SQL 파서 및 전처리기, 쿼리의 최적화된 실행된다.MySQL 표준 SQL문법을 지원하기 때문에 표준 문법에 따라 작성된 쿼리는 타 DBMS 호환되어 실행 가능하다. 스토리지 엔진 MYSQL 엔진은 요청된 SQL 문장을 분석하거나 최적화하는 등 DBMS 두뇌에 해당하는 처리를 수행하고, 실제 데이터를 디스크 스토리지에 저장하거나 디스크 스토리지로부터 데이터를 읽어오는 부분을 스토리지 엔진이 전담한다. MYSQL 엔진은 하나지만 스토리지 엔진은 여러개를 사용할 수 있다. create table test_table (fd1 INT, fd2 INT)ENGINE=INNODB; test_table은 InnoDB 스..

🔒 락 (Lock) 이란? 여러 커넥션에서 동시에 동일한 자원을 요청할 경우 순서대로 하나의 커넥션만 변경할 수 있게 해주는 기능. 동시성을 제어하기 위한 기능 락을 비유하는 말 중에서 '내가 화장실 칸을 사용하기 위해 화장실 칸을 직접 들어가서 내가 잠그는 것'의 관점으로 이해하면 편하다..! ✨ Lock의 종류 데이터베이스의 락은 크게 다음과 같은 종류로 분류할 수 있다. 👥 공유 락 (Shared Lock) 공유 락은 데이터를 변경하지 않는 읽는 명령에 대해 주어지는 락으로 Read Lock이라고도 불리며 Shared의 앞 글자를 따서 주로 S로 표기한다. 여러 사용자가 동시에 데이터를 읽어도 데이터의 일관성에는 아무런 영향을 주지 않기 때문에 , 공유 락끼리는 동시에 접근이 가능하다. ..