-
트랜잭션(Transaction)
데이터베이스에서 하나의 논리적 기능을 수행하는 작업단위 트랜잭션 특징(ACID) 원자성(Atomicity) : 트랜잭션은 데이터베이스에 모두 반영되거나 모두 반영되지 않아야 함 일관성(Consistency) : 트랜잭션이 완료되면 트랜잭션 이전의 상황과 동일하게 항상 일관성 있는 데이터를 유지 독립성(Isolation) : 어느 하나의 트랜잭션이 실행될 때 다른 트랜잭션이 끼어들 수 없음 영속성(Durability) : 트랜잭션이 완료되면 결과가 영구적으로 반영 트랜잭션 연산 commit 트랜잭션이 성공적으로 수행되었음을 선언 commit이 실행되면 트랜잭션...
-
디스크 스케줄링
운영체제가 프로세스들이 디스크 접근요청을 받았을 때 우선순위를 정해 관리하는 것 디스크에서 원하는 정보를 읽어오기 위한 접근시간 중에서 탐색시간이 제일 오래 걸린다 1. FCFS (First Come First Served) 요청 순서대로 처리하는 알고리즘 이동 거리가 상당히 길다 2. SSTF (Shortest Seek Time First) 현재 헤드위치에서 가장 가까운 요청을 먼저 처리하는 알고리즘 기아현상이 발생 3. SCAN 헤드가 한쪽 끝에 도달하면 반대방향으로 향하며 양방향으로 왕복운동을 하는 알고리즘 엘리베이터 스케줄링(왕복운동) 단점 : 트랙 위치...
-
파일 시스템(File System)
컴퓨터에서 데이터, 프로그램 등의 파일을 보관하는 체제 파일유형 : 일반 파일, 디렉토리, 장치파일 파일구현 방식 1. 연속 할당 방식 파일을 디스크내에 연속적으로 인접된 공간에 할당 장점 : 물리적으로 인접해 있어 빠른 액세스가 가능 단점 : 새로운 파일을 생성하기 위해 공간을 미리 명시해야함, 주기적인 재배치가 필요 2. 연결 할당 방식 디스크내에서 떨어져 있는 블록들을 연결시켜 할당 파일 접근 속도가 느리다 3. 인덱스 할당 방식 인덱스 정보를 이용하여 모든 파일 블록의 포인터를 관리 분산 저장된 블록에 대해 직접 접근이 가능 Unix/Linux 파일...
-
외부 저장소 마운트(mount)
외부 저장소를 마운트하는 방법은 여러가지가 있으나 서버의 SSH가 열려 있다면 SSHFS를 사용해 간단하게 마운트 할 수 있습니다. SSHFS 패키지 설치 $ yum install sshfs 마운트 할 폴더 생성 서버에 마운트 할 폴더를 미리 생성해야 한다 $ cd / $ mkdir db_backup 마운트 sshfs <remote dir> <local dir> $ sshfs root@192.168.0.10:/db_backup /db_backup → 192.168.0.10 서버의 /db_backup 폴더를 로컬의 /db_backup 폴더로 마운트 마운트 확인 $ d...
-
Github Actions, AWS CodeDeploy를 사용한 CI/CD 구축
CI도구로 Github Actions와 CD도구로 AWS CodeDeploy를 사용해서 CI/CD 환경을 구축할 것이다. 프론트엔드는 React이고 백엔드는 Spring Boot로 구현한 애플리케이션이다. 스테이징서버와 운영서버가 두개의 EC2 인스턴스로 구축되어 있다. 스테이징서버 : develop / 운영서버 : master 브랜치를 각각 따르고 있다. 스테이징서버는 프론트엔드와 백엔드 모두 EC2 인스턴스에 배포할 것이며 운영서버는 프론트엔드는 S3버킷에 백엔드는 EC2 인스턴스에 각각 배포할 것이다. 배포 과정 AWS IAM USER : 외부 서비스에 할당 가능 (key값 제공) ROLE ...