본문 바로가기

데이터베이스3

데이터베이스 Lock(락) 데이터베이스에서의 Lock이란? Lock이란 데이터의 일관성과 무결성을 유지하기 위해 트랜잭션의 순차적 진행을 보장해주는 방법입니다. (= 잠금) 데이터베이스 Lock Level 데이터베이스에서의 Lock 여러 Level을 갖습니다. Lock Level은 잠금이 요청되거나 사용될때의 리소스에 대한 범위를 설정합니다. Database Level 데이터베이스 범위의 Lock은 데이터베이스 전체가 잠기게 됩니다. 해당 기능은 일반적으로 사용하지 않으며, 보통 스키마를 변경하거나 DB의 소프트웨어 버전을 올리는 등에 사용됩니다. Table Level 테이블을 기준으로 Lock을 설정합니다. 테이블 전체와 관련 인덱스까지 모두 잠깁니다. 이는 테이블의 모든 행을 업데이트 하거나 전체 테이블에 영향을 주는 변경을 .. 2022. 5. 9.
SQL과 NoSQL SQL이란 SQL은 구조화된 쿼리 언어(Structured Query Language)의 약자로 데이터베이스 자체가 아니라 특정 유형의 데이터베이스와 상호 작용하는 데 사용하는 쿼리 언어입니다. SQL을 사용하면 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 저장, 업데이트, 삭제 및 검색을 할 수 있습니다. 이러한 데이터베이스에는 2가지 주요 특징이 있는데, 다음과 같습니다. 데이터는 정해진(엄격한) 데이터 스키마(구조)에 따라 데이터베이스 테이블에 저장된다. 데이터는 관계를 통해 연결된 여러 테이블에 분산된다. 관계형 데이터베이스에서는 엄격한 스키마 구조에 따라 테이블에 저장된다고 했는데 그렇다면 엄격한 스키마 구조라는 게 무엇을 의미하는 것일까요? 엄격한 스키마 엄격한 스키마라는 것은 관.. 2022. 4. 1.
데이터베이스 인덱스(Index) 개념 정리 인덱스란? 인덱스는 데이터베이스 테이블에 대한 동작의 속도를 높여주는 자료 구조를 일컫는다. 인덱스는 테이블 내의 1개의 컬럼, 혹은 여러 개의 컬럼을 이용하여 생성될 수 있다. 특정 컬럼에 인덱스를 생성하면, 해당 컬럼의 데이터들을 정렬하여 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장된다. 쉽게 말하자면 책에 있는 목차를 생각하면 된다. -> 목차를 보고 바로 원하는 내용으로 가듯, 인덱스를 통해 내가 원하는 데이터의 물리적 주소로 가서 데이터를 가져오는 식으로 동작하기 때문에 검색 속도의 향상을 가져올 수 있다. 인덱스의 구조 인덱스는 B-Tree (Balanced Tree)의 구조로 구성되어지는데, 구조적으로는 Binary Search Tree와 비슷하지만, 데이터 높이(층)를 자동으로 .. 2022. 1. 17.