Docker를 사용한 MySQL 컨테이너 배포 및 데이터 영속성 구현
MySQL 이미지 검색 및 다운로드
Docker 환경에서 MySQL을 실행하기 위해 먼저 공식 레지스트리에서 이미지를 검색한다.
docker search mysql
다음 명령어를 통해 MySQL 5.7 버전의 이미지를 로컬에 다운로드한다.
docker pull mysql:5.7
이미지가 정상적으로 다운로드되었는지 확인하려면 다음 명령어를 사용한다.
docker images | grep mysql
출력 결과에서 mysq ...
6월 15일 03:03에 게시됨
MySQL 기초 입문: 설치부터 Python 연동까지
관계형 데이터베이스의 이해
데이터베이스는 전원 차단 후에도 지속적으로 정보를 보존할 수 있는 저장 매체에 데이터를 안정적으로 기록하는 지속성(Persistence)을 제공합니다. 오랜 발전 과정을 거쳐 현재는 관계형 데이터베이스가 가장 널리 사용되고 있으며, 그 이전에는 계층형 및 망형 데이터베이스가 존재했습니다.
1970년 IBM 연구원 E.F. Codd는 논문 *"A Rela ...
6월 15일 01:34에 게시됨
SQL Join 연산 시 ON과 WHERE 절의 차이점 분석
데이터베이스 쿼리를 작성할 때 JOIN 연산은 필수적입니다. 이때 필터링 조건을 ON 절에 기술하는지, 혹은 WHERE 절에 기술하는지에 따라 결과 집합이 크게 달라질 수 있습니다. 특히 외부 조인(Outer Join)을 사용할 때 이 차이는 더욱 명확해집니다.
1. 데이터 모델 및 샘플 데이터
비교를 위해 사용자 정보를 담은 두 개의 테이블을 정의합니다.
CREATE TA ...
6월 14일 18:53에 게시됨
Spring Boot 기반 대학생 아르바이트 매칭 시스템 설계 및 구현
서론
디지털 기술의 급속한 발전과 함께 정보 관리 시스템은 다양한 산업 분야에서 핵심적인 역할을 수행하고 있다. 특히 대학생을 대상으로 한 아르바이트 수요가 증가함에 따라, 기존의 오프라인 방식의 채용 관리 방식은 정보의 비효율성과 처리 속도 저하 등의 문제를 야기하고 있다. 이러한 문제점을 해결하기 위해 본 연구에서는 Spring Boot 기반 ...
6월 13일 23:03에 게시됨
MySQL 트랜잭션의 개념과 활용
트랜잭션은 일련의 SQL 명령어를 하나의 논리적 처리 단위로 묶는 기능으로, 모든 연산이 성공하거나 전부 실패해야 하며, 중간 상태에서 멈출 수 없습니다. 예를 들어 은행 이체 시 출금과 입금이 모두 완료되거나, 둘 다 실패해야 데이터 일관성이 유지됩니다. MySQL에서는 기본적으로 InnoDB와 BDB 같은 특정 스토리지 엔진만이 트랜잭션을 지원합니다.
트랜잭션은 여러 ...
6월 13일 20:47에 게시됨
PyMySQL을 활용한 파이썬 MySQL 데이터베이스 연동 및 관리
PyMySQL 라이브러리 개요
PyMySQL은 파이썬에서 MySQL 데이터베이스와 통신하기 위해 설계된 순수 파이썬 클라이언트 라이브러리입니다. 과거에 주로 사용되던 MySQLdb가 파이썬 3 환경에서 호환성 문제가 있었던 것을 보완하여, 현재는 파이썬 3.x 환경에서 MySQL 연동을 위한 표준적인 선택지로 자리 잡았습니다.
이 라이브러리는 다음과 같은 핵심적인 특징을 보유하고 ...
6월 13일 17:41에 게시됨
MySQL에서 부서별 직원 수 및 조건 기반 집계 분석
부서별 인원 집계와 특정 조건 충족 건수 동시 계산
관계형 데이터베이스에서 데이터 집계는 분석 업무의 핵심 요소입니다. MySQL은 COUNT(), SUM()과 같은 집계 함수를 통해 다양한 통계를 효과적으로 수행할 수 있습니다. 특히 하나의 쿼리에서 전체 카운트와 함께 조건을 만족하는 하위 그룹의 수를 동시에 산출하는 방법은 실무에서 자주 사용됩니다.
기본 그룹화를 ...
6월 13일 16:54에 게시됨
Flask 기반 확장형 웹 백엔드 시스템 설계와 초기화 과정
개발 환경 구성과 필수 라이브러리 선정
Flask 는 파이썬 언어로 제작된 유연한 웹 프레임워크로, 최소한의 코드로부터 시작하여 필요한 기능을 확장해 나갈 수 있는 특징을 가지고 있습니다. 안정적인 백엔드 서비스를 신속하게 구축하기 위해 다음과 같은 전제 조건과 도구들이 필요합니다.
런타임: Python 3.8 이상 버전 권장 (Anaconda 또는 venv 사용 시 가상 환 ...
6월 13일 01:22에 게시됨
MySQL 핵심 개념과 실전 활용
1. 데이터베이스 기초
1.1 데이터베이스란?
데이터베이스는 구조화된 데이터 집합으로, 효율적인 저장, 관리, 검색을 목적으로 설계되었습니다. 단순한 파일 저장이 아닌, 체계적인 질의(query)를 통해 데이터를 조작하는 시스템입니다.
핵심 역할: 데이터 영속성 보장, 동시 접근 제어, 무결성 유지
1.2 데이터베이스 유형 분류
1.2.1 관계형 데이터베이스 (RDBMS)
...
6월 12일 20:51에 게시됨
프로세스 풀, 스레드 풀, 코루틴 및 MySQL 데이터베이스 핵심
프로세스 풀과 스레드 풀
과도한 프로세스/스레드 생성은 CPU 성능 저하를 유발합니다. 이를 방지하기 위해 고정된 수의 실행 단위를 미리 생성하는 프로세스 풀/스레드 풀을 사용합니다. 초과 작업은 선행 작업 완료 시까지 대기합니다.
from concurrent.futures import ProcessPoolExecutor
executor = ProcessPoolExecutor(max_workers=4)
task_future = executor.subm ...
6월 12일 19:15에 게시됨