DB 4

[DB] 파티션 테이블 (Partition Table) : MYSQL

데이터를 쌓기 시작하면서 시간이 지나 엄청나게 많은 양의 데이터가 쌓이게 되고 해당 데이터를 조회 하게 되면 당연히 해당 조회 쿼리는 많은 시간을 사용하게 될 것입니다. 테이블 파티셔닝이라는 기능을 이용하여 이렇게 많은 데이터들을 관리할 수 있습니다. 그렇다면 테이블 파티셔닝은 어떠한 기능일까요? 테이블 파티셔닝 이란? 테이블 파티셔닝은 논리적으로는 하나의 테이블이지만 물리적으로는 여러개의 파티션을 생성하여 각 파티션에 데이터가 나뉘어서 들어가는 기능을 뜻 합니다. 그러하여 데이터를 조회할 때 특정 조건을 만족하는 파티션에서 데이터를 조회하여 데이터를 빠르게 조회할 수 있으며 데이터 삽입 시에도 파티셔닝을 진행한 조건에 맞춰 데이터가 각 파티션에 알맞게 들어가서 관리 측면에서도 장점이 있습니다. 테이블 ..

DB 2023.01.07

DB 정규화

정규화 (Normalization)란? - 기본 목표는 테이블 간에 중복된 데이터를 허용하지 않는다 라는 것 - 중복된 데이터를 허용하지 않음 으로써 데이터의 무결성을 유지할 수 있으며 DB 저장 용량 역시 줄일 수 있다. - 이상(Anomaly)를 제거하기 위해 중복성 및 종속성을 배제하는 방법 ※ 데이터의 무결성 : 데이터의 정확성과 일관성을 유지하고 보증하는 것 (개체 무결성, 참조 무결성, 범위 무결성) ※ 이상(Anomaly) : 테이블 내의 데이터 중복성에 의하여 발생되는 데이터의 불일치 현상 (갱신 이상, 삽입 이상, 삭제 이상) 정규화의 4가지 단계 제 1 정규화 - 테이블의 컬럼이 원자값을 갖도록 테이블을 분해하는 것 ※ 원자값 : 하나의 값을 가지고 있는 것, 한 컬럼에 두가지 이상의..

DB 2022.07.19

[DB] 트랜잭션 및 트랜잭션의 격리 수준

많은 데이터를 다루고 싶어 했던 내가 막상 트랜잭션의 원리만 이해하고 더 깊게 파보지 못했던 트랜잭션의 격리 수준을 공부하거나 생각해본 경험이 없기에 이러한 용어들을 알게 되어 글을 작성하게 되었습니다... 우선 트랜잭션이라는 용어 및 의미를 다시 한 번 정의 해보겠습니다. 트랜잭션이란? - DBMS에서 데이터를 다루는 논리적인 작업의 단위 - 데이터의 정합성을 보장하기 위한 기능 - 트랜잭션 작업은 전체가 수행되거나, 전혀 수행되지 않아야 한다 (ALL or NOTHING) 트랜잭션의 특징 (ACID) 1. 원자성 (Automicity) - 트랜잭션 내에서 실행한 작업들은 마치 하나의 작업인 것처럼 모두 성공하거나, 혹은 모두 실패해야한다. 2. 일관성 (Consistency) - 모든 트랜잭션은 일관..

DB/Transaction 2022.06.21