database
-
데이터베이스의 스토리지엔진database 2023. 11. 15. 01:05
스토리지 엔진이란? - 데이터베이스 내에서 데이터 들을 다루는 엔진이다. 스토리지 엔진의 역할 1. 트랜잭션(transaction manager): 트랜잭션을 스케줄링하고 데이터베이스 상태의 논리적 일관성 보장. -> 트랜잭션 기능 제공 2. 잠금 매니저(lock manager): 트랜잭션에서 접근하는 데이터베이스 객체에 대한 잠금을 제어. 동시 수행 작업이 물리적 데이터 무결성을 침해하지 않도록 함. -> 트랜잭션과 함꼐 데이터의 무결성, 동시성, 격리성을 담당 3. 엑세스 메서드(access method): 디스크에 저장된 데이터에 대한 접근 및 저장 방식을 정의. 힙 파일/B-트리/LSM 트리 등의 자료구조 사용. -> 데이터의 수정, 읽기, 추가, 삭제 등에 관여하고 저장방식을 정의 4. 버퍼 매..
-
RDBMS와 NoSQLdatabase 2023. 11. 15. 00:43
RDBMS(Relational Database Management System)란 - DBMS의 한 종류로, 행과 열을 가지는 표 형식 데이터를 저장하는 평태의 데이터베이스이다. - 예시로 MySQL, PostgreSQL, Oracle 등이 있다. NoSQL(Not Only SQL)이란 - SQL을 사용하지 않는 데이터 베이스이다. - 테이블간의 정의를 하지 않아 테이블 간의 Join이 불가능하다. - 유연한 스키마, 확장성이 특징이다. - 대용량이다. - 예시로 MongoDB와 Redis가 있다. NoSQL의 종류 1. Key-Value Database - Key-Value 형태로 저장되는 형태 - 이미지나 비디오 등 다양한 형태로 저장할 수 있다. - 속도가 매우 빠르다 - Redis, Riak, A..
-
트랜잭션 격리 수준과 현상database 2023. 11. 14. 22:57
트랜잭션의 격리성 트랜잭션은 서로 끼어들지 못한다는 정의 하지만 무조건적으로 아예 끼어들지 못하는것이 아니라 격리 수준에 따라 끼어들 수 있는 수준이 있음. 단, 격리수준이 낮아 끼어들게 될 경우 동시성이 높아져 성능은 좋아지지만 안정성이 떨어지고, 격리 수준이 너무 높으면 동시성이 낮아져 성능이 안좋아진다. 트랜잭션 격리 수준(Level)과 그에 따른 현상 현상 1. 팬텀리드(phantom reads) : 한 트랜잭션 내에서 동일한 쿼리를 2번 이상 보냈을 때 해당 조회 결과가 다른 것을 의미. -> 다른 트랜잭션에서 삽입을 한 경우 2. 반복 가능하지 않은 조회 (None-repeatable Reads) : 한 트랜잭션 내의 같은 행에 두번 이상 조회가 발생했는데 그 값이 다른 것을 의미 -> 다른 ..
-