데이터베이스 (DB)

데이터베이스 (DB)

Transaction과 ACID 이해하기

Transaction이란?Transaction은 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위입니다. 이는 한 번에 수행되어야 할 일련의 연산들을 의미합니다. Transaction은 전체가 성공적으로 완료되거나 전혀 실행되지 않은 상태로 남아있어야 합니다.예를 들어, 은행 계좌에서 돈을 인출하는 과정을 생각해봅시다:계좌 잔액 확인인출 금액만큼 잔액 감소현금 지급거래 내역 기록이 모든 단계가 하나의 transaction으로 처리되어야 합니다. ACID 속성ACID는 데이터베이스 transaction의 안정성을 보장하기 위한 네 가지 속성을 나타냅니다.Atomicity (원자성)Consistency (일관성)Isolation (격리성)Durability (지속성)각 속성에 대해 자세히 살펴보겠습..

데이터베이스 (DB)

B-Tree와 B+Tree: 효율적인 데이터 구조의 비교

데이터베이스 시스템과 파일 시스템에서 중요한 역할을 하는 B-Tree와 B+Tree에 대해 알아보겠습니다. 이 두 데이터 구조는 대용량 데이터를 효율적으로 관리하고 검색하는 데 필수적입니다. B-Tree의 기본 개념B-Tree는 1970년 Rudolf Bayer와 Edward M. McCreight에 의해 발명된 자가 균형 트리 데이터 구조입니다. B-Tree의 주요 특징은 다음과 같습니다:각 노드는 최대 m개의 자식을 가질 수 있습니다.루트 노드와 리프 노드를 제외한 모든 노드는 최소 ⌈m/2⌉개의 자식을 가져야 합니다.루트 노드는 리프가 아닌 경우 최소 2개의 자식을 가져야 합니다.모든 리프 노드는 같은 레벨에 있어야 합니다.비리프 노드는 k-1개의 키와 k개의 자식 포인터를 가집니다 (2 ≤ k ≤..

데이터베이스 (DB)

데이터베이스 인덱싱(Indexing)

데이터베이스 시스템에서 인덱싱은 성능 최적화의 핵심 요소입니다. 이 글에서는 데이터베이스 인덱싱의 기본 개념부터 고급 기술까지 포괄적으로 다루어 보겠습니다. 인덱스의 기본 개념인덱스 데이터베이스 테이블의 특정 열에 대한 검색 속도를 향상시키기 위해 사용되는 데이터 구조입니다. MongoDB 공식 문서에 따르면, 인덱스는 B-Tree 데이터 구조를 사용하여 특정 필드 또는 필드 집합의 값을 정렬된 순서로 저장합니다. Oracle 데이터베이스 문서는 "인덱스는 테이블 행에 대한 세스 속도를 높일 수 있는 스키마 객체"라고 정의하고 있습니다. 인덱스의 작동 원리인덱스는 선택된 열의 값과 해당 데이터가 저장된 위치를 가리키는 포인터로 구성됩니다. 쿼리가 실행될 때, 데이터베이스 엔진은 인덱스를 사용하여 전체 이..

데이터베이스 (DB)

varchar(255)를 알고 사용하는가?

데이터베이스를 설계할 때 우리는 종종 아무 생각 없이 varchar(255)를 사용합니다.하지만 이런 관행에 대해 한 번쯤 되돌아볼 필요가 있습니다. 과연 우리는 이 데이터 타입을 제대로 이해하고 사용하고 있을까요? VARCHAR의 기본 구조먼저 VARCHAR의 기본 구조를 이해해야 합니다. MySQL 공식 문서에 따르면VARCHAR values are stored as a 1-byte or 2-byte length prefix plus data. The length prefix indicates the number of bytes in the value. A column uses one length byte if values require no more than 255 bytes, two length ..

데이터베이스 (DB)

원온원(1on1) 미팅 관리 시스템: 설계 및 구현 가이드

본 글에서는 조직 내 팀원 간의 소통을 강화하고 개인의 성장을 도모하기 위해 설계한 원온원(1on1) 미팅 관리 시스템에 대해 상세히 설명드리고자 합니다. 이 시스템의 목적, 데이터베이스 설계, 주요 기능 및 기대 효과 등을 체계적으로 살펴보겠습니다. 1. 프로젝트 목적원온원 미팅은 팀원 간의 신뢰를 구축하고, 피드백을 주고받으며, 목표를 설정하는 중요한 과정입니다. 그러나 효과적인 미팅을 위해서는 체계적인 관리가 필수적입니다. 본 시스템은 원온원 미팅의 기록, 피드백 관리, 행동 항목 추적 등을 통해 팀워크를 강화하고, 개인의 성과를 도모할 것을 목표로 합니다. 이 시스템을 통해 조직의 전반적인 성과 향상과 함께, 직원 만족도를 높이는 데 기여할 수 있습니다. 2. 데이터베이스 설계시스템의 핵심은 데이..

데이터베이스 (DB)

테이블 정보 조회하기, Table Description 쿼리

해당 쿼리는 MSSQL 기준으로 작성되었습니다.이 쿼리는 지정된 사용자 정의 테이블의 열 정보를 포함하여, 각 열의 데이터 유형, 길이, NULL 허용 여부, 정렬 규칙, 그리고 설명을 조회합니다. 결과는 열의 순서에 따라 정렬됩니다. SELECT c.colorder AS column_index, a.name AS table_name, e.value AS table_description, c.name AS column_name, f.value AS column_description, d.data_type AS type, d.character_octet_length AS length, d.is_nullable AS is_nullab..

DevL1
'데이터베이스 (DB)' 카테고리의 글 목록