Dev/Database

Dev/Database

[Database] DB Transaction Isolation Level(트랜잭션 격리 수준) 완전타파

이번 시간에는 DB Transaction Isolation Level에 대해서 알아보겠습니다. DB Transaction Isolation Level이란 특정한 트랜잭션이 다른 트랜잭션에 변경한 데이터를 보게 할 지 결정하는 것입니다. 예를 들어, 같은 DB를 사용하는(DBA, Software Engineer, 시스템 사용자..) 사람이 특정 데이터를 조회하려고 하는데, DB Transaction Isolation Level의 설정때문에 데이터를 조회하는데 특정 데이터에 Lock이 걸려 한 없이 기다리고 있을 수도 있고, 커밋되지 않은 데이터를 읽게 설정해 잘못된 데이터를 읽을 수도 있습니다. 따라서! 실무에서는 DB Transaction Isolation Level을 올바르게 설정하고 이해하는 것이 무..

Dev/Database

[Database] Database Index에 대한 고찰

이번 포스팅에서는 인덱스에 대해서 알아보겠습니다. 인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료 구조 입니다. 추가적인 쓰기 작업과 저장 공간은 어떻게 이루어져 있을까요? 아래 그림에서 예시를 통해 알아보겠습니다. 오른쪽 테이블에 Data라는 컬럼에 인덱스를 생성한 것이라면,, 해당 Data라는 컬럼의 데이터를 정렬한 후 별도의 메모리 공간에 데이터의 주소와 함께 저장됩니다. 즉, 컬럼의 값과 물리적 주소를 한 쌍으로 저장하는 것이죠 실무에서는 인덱스를 잘 설정하는 것이 매우매우 중요합니다! 실무에서는 정말 복잡한 수백개, 수천개 이상의 SP(Stored Procedure)를 사용하는데.. Index를 설정하지 않아 SP 처리속도가 느리게..

Dev/Database

[Database] 6-2. Introduction to SQL

이번 포스팅에서는 SQL에 대해 알아본다. SQL이란? Structured Query Language의 약자로, 관계형 데이터베이스를 만들고 쿼리하기 위한 표준 언어이다. SQL은 3가지의 종류로 나눌 수 있다. DDL, DML, DCL이다. DDL이란 Data Definition Language의 약자로, 테이블 생성, 변경 및 삭제와 제약 조건 설정을 포함하여 데이터베이스를 정의하는 기능이다. DML이란 데이터베이스를 유지 관리하고 쿼리하는 명령이다. SQL의 핵심이다. DCL이란 권한 관리 및 데이터 커밋을 포함하여 데이터베이스를 제어하는 명령이다. DBA가 사용한다. 목차 1. DDL 2. DML 1. DDL CREATE CREATE는 테이블을 생성할 때 사용하며 사용법은 위의 그림과 같다. 예시..

Dev/Database

[Database] 6-1. Relational Algebra

이번 포스팅에서는 Relational Algebra에 대해서 알아본다. 앞선 포스팅에서 배웠던 내용을 다시 한 번 정리해본다. Relation이란? 2차원 데이터의 집합이다. Relational Data Model에서는 3가지를 포함한다고 배웠었다. Data Structure, Data Integrity, Data Manipulation이다. Data Structure란 데이터를 어떻게 구성하는지에 대한 것이다, Data Integrity란 비즈니스 룰에 따라 데이터의 무결성을 어떻게 유지하는 것에 대한 것이다. Data Manipulation이란 데이터를 어떻게 조작하는지에 대한 것이다. Data Manipulation에 대한 내용을 지금 포스팅에서 배워본다. Relational Argebra란 테이블..

Dev/Database

[Database] 5. Physical Database Design

이번 포스팅에서는 Physical Database Design에 대해서 알아본다. 현재 단계는, DB 설계과정에서 아래 그림과 같다. Physical Database Design의 목적은 데이터의 논리적 설명을 데이터 저장 및 검색을 위한 기술사양으로 변환하는 것이다. 목차 1. Physical Databse Design Process 2. Volume/Access Frequency Estimation 3. Designing Fields 4. Denormalization 5. Partitioning 6. File Organization 7. Rules for Using Indexes 또한, Physical Database Design의 목표는 적절한 성능을 제공하고 데이터 베이스 무결성, 보안 및 복구 ..

Dev/Database

[Database] 4-2. Logical Database Design

이번 포스팅에서는 전 시간에 진행했던 Logical Database Design이 잘 구조화되었는지에 대해 알아본다. 목차는 다음과 같다. 목차 1. Well Structured Relation 2. Functional Dependency 3. Normalization 1. Well Structured Relation Relation이란? 명명된 2차원의 데이터 표를 의미한다. 다음과 같은 Relation에서 직원번호가 100번인 데이터 2개의 행에 대해 업데이트를 한다고 했을 때 만약, 연봉이 첫번째만 업데이트가 되고 아래행은 업데이트가 안됐다고 가정해보자. 이러면 어떻게 될까? Modification Anomaly, 수정 이상 징후가 발생한다. Anomaly란 데이터베이스를 업데이트 할 때 발생할 수..

friendshipkim97
'Dev/Database' 카테고리의 글 목록