트랜잭션이란 무엇인가?(트랜잭션의 격리 수준과 동시성 제어) - Part2
·
Server Developer/DataBase&Data Engineering
트랜잭션이 데이터 정합성을 보장하려면 여러 개의 트랜잭션이 동시에 실행될 때도 문제가 없어야해요하지만 무조건 트랜잭션 간의 독립성을 보장하면 성능이 저하될 수도 있어요이번 글에서는 트랜잭션이 동시에 실행될 때 발생하는 문제, 이를 해결하는 격리 수준(Isolation Levels), 동시성 문제를 해결하는 기법, 교착 상태(Deadlock) 방지 방법도 함께 살펴볼게요.  ☑️ 1편: 트랜잭션의 개념과 ACID 원칙✅2편: 트랜잭션의 격리 수준과 동시성 제어 (이번 글)☑️ 3편: 트랜잭션의 내부 동작과 분산 트랜잭션☑️ 4편: 트랜잭션의 동작 원리와 직렬성 격리     1. 트랜잭션이 동시 실행될 때 발생하는 문제들여러 개의 트랜잭션이 동시에 실행되면 데이터 일관성이 깨질 위험이 있어요.이런 문제를 방..
트랜잭션이란 무엇인가?(트랜잭션의 기본 개념, 중요성, ACID 원칙) - Part1
·
Server Developer/DataBase&Data Engineering
트랜잭션은 DB에서 데이터 정합성과 일관성을 보장하는 핵심 개념이에요.데이터베이스는 여러 사용자가 동시에 접근하거나 예상치 못한 오류나 장애가 발생할 수 있기 때문에 트랜잭션을 통한 안전한 데이터 처리가 필요합니다.이번 글에서는 트랜잭션의 기본 개념, 중요성, ACID 원칙에 대해 살펴볼 거예요.이후 시리즈에서는 트랜잭션의 동시성 제어와 격리 수준부터 분산 환경에서의 트랜잭션까지 차근차근 다룰 예정이에요. ✅ 1편: 트랜잭션의 개념과 ACID 원칙 (이번글)☑️ 2편: 트랜잭션의 격리 수준과 동시성 제어☑️ 3편: 트랜잭션의 내부 동작과 분산 트랜잭션☑️ 4편: 트랜잭션의 동작 원리와 직렬성 격리        1. 트랜잭션이란?트랜잭션(Transaction)은 데이터베이스에서 하나의 논리적인 작업 단위를..
[Server] AWS EC2 인스턴스 생성 + Ubuntu 외부 접속 (ssh)
·
Server Developer
AWS EC2 인스턴스 생성 + Ubuntu 외부 접속 (ssh) 학습 후 정리한 포스팅 입니다. 이번 포스팅에서는 AWS EC2 인스턴스 생성 + Ubuntu 외부 접속 (ssh)에 대해 학습합니다. I) AWS EC2 인스턴스 생성 AWS 회원 가입 후 인스턴스 시작을 진행합니다. 원하는 이름을 선택하고 Ubuntu Server 버전을 선택합니다. 프리티어를 사용하면 기본적으로 제공되는 서비스들을 일정 기간 동안 무료로 이용할 수 있습니다. AWS에서 EC2 인스턴스에 로그인하기 위해서는 키페어(Key Pair) 설정이 필요합니다. 키페어는 SSH를 사용하여 인스턴스에 접속할 때 필요한 개인 키와 공개 키의 쌍을 말합니다. 보안 그룹은 일단은 추가 없이 인스턴스를 생성합니다. 이제 정상적으로 IPv4..
[Server] Ubuntu-20.04 APM 소스 설치 - PHP 8.2.4
·
Server Developer/Server Basic
1. 필수 패키지 설치 필요한 패키지를 설치합니다. sudo su apt-get install libxml2-dev apt-get install libjpeg-dev apt-get install libpng-dev apt-get install libsqlite3-dev sudo su? sudo는 "SuperUser DO"의 약자로, 일시적으로 다른 사용자의 권한으로 실행할 수 있는 명령어입니다. su는 "Switch User"의 약자로, 다른 사용자 계정으로 전환하는 명령어입니다. 따라서 sudo su 명령어는 현재 사용자 계정을 슈퍼 유저 계정으로 전환하여 명령어를 실행할 수 있게 합니다. 이 명령어를 실행하면 비밀번호를 입력하라는 메시지가 표시되며, 입력한 비밀번호가 슈퍼 유저 계정의 비밀번호와 일치..
[Server] Ubuntu-20.04 APM 소스 설치 - MySQL 8.0.32
·
Server Developer/Server Basic
1. 필요한 패키지 설치 & sudo su /usr/local# apt-get update /usr/local# apt-get install cmake /usr/local# apt-get install libssl-dev /usr/local# apt-get install libboost-all-dev /usr/local# apt-get install libncurses5-dev libncursesw5-dev /usr/local# apt-get install make /usr/local# apt-get install gcc /usr/local# apt-get install g++ /usr/local# apt-get install perl 2. 소스 설치 파일 다운로드 & 압축 해제 최신의 MySQL 소스를..
[Server] Ubuntu-20.04 APM 소스 설치 - Apache 2.4.56
·
Server Developer/Server Basic
Ubuntu-20.04 APM 소스 설치 - Apache 2.4.56 과정을 정리한 포스팅 입니다. 이번 포스팅에서는Ubuntu-20.04 APM 소스 설치 - Apache 2.4.56에 대해 학습합니다. I) 패키지 설치 대신 소스 설치를 하는 이유 소스 설치는 패키지 설치와는 달리, 소프트웨어의 소스 코드를 직접 컴파일하여 시스템에 설치하는 것입니다. 소스 설치를 하는 이유는 다음과 같습니다. 최신 버전 사용: 패키지 관리자가 제공하는 버전이 최신 버전이 아닐 수 있습니다. 맞춤 설정: 패키지 관리자가 제공하는 버전에는 원하는 기능이나 옵션이 없을 수 있습니다. 종속성 충돌 해결: 패키지 관리자가 제공하는 패키지는 종속성이 많아 충돌이 발생할 수 있습니다. 성능 향상: 패키지 관리자가 제공하는 패키지..