강의 및 강연6 프리온보딩 백엔드 챌린지(DB) - DB 기본기 다지기2 - 트랜잭션(Transaction) 트랜잭션은 작업의 완전성을 보장하며, 사용자의 작업셋을 모두 완벽하게 처리하거나 처리하지 못하면 원상태로 복후하는걸 원칙으로 두고 있다. ACID(트랜잭션의 특징) 1. Atomicity(원자성) - 트랜잭션은 작업 단위로 분할되지 않고, 전체 작업이 성공 또는 실패로 완료됩니다. - 모든 작업이 반드시 수행되거나 전혀 수행되지 않아야 합니다. - 더이상 쪼개질 수 없는 가장 작은 단위 2. Consistency(일관성) - 트랜잭션이 시작하기 전과 끝난 후에 데이터베이스는 일관된 상태여야 합니다. - 트랜잭션 실행 전과 실행 후에 데이터베이스의 무결성 규칙을 준수해야 합니다. - 예를 들어 마지막 한 개 남은 상품을 동시에 2명의 고객이 주문할 수 없도록, 카드 한도 초.. 2023. 10. 22. 프리온보딩 백엔드 챌린지(DB) - DB기본기 다지기 1 - 데이터베이스의 원칙 1. 무결성(Integrity) - Accuracy a. 데이터에 오류가 없어야함 b. 사용자가 저장하고자 하는 내용들이 저장되어야 함 - Consistency a. 데이터베이스는 일관성이 있어야함 b. 하지만 서비스 방향에 따라 타협 할 수 있음 2. 안정성(reliability) - Resilient - 고장이 잘 안나야함 3. 확장성 - Scale up vs scale out a. 어떤 상황에 유리한가? 1. Scale up(수직 확장) : - 단일 서버 또는 가상 머신의 성능을 향상시키는 방식이다. 기존 서버의 성능을 높이기 위해 CPU, RAM, 디스크 등의 리소스를 업그레이드하거나 추가하는 것을 의미한다. - 간단하고 관리가 쉽다. - 어플리케이션의 단일 인스턴스에서 성능 .. 2023. 10. 15. jscode 데이터베이스2기 마무리로 이번 프로젝트를 통해 데이터베이스에 대한 심층적인 공부를 진행하고 팀원들과의 모의 면접을 통해 서로의 지식을 공유하고 발전하는 기회를 가졌습니다. 이제까지 간단히 그리고 잘모르고 사용하던 데이터베이스에 대해 깊은 이해를 얻게 되어 만족스럽습니다. 얻은 경험과 지식: 데이터베이스 기초 개념의 이해: 데이터베이스란 무엇인가부터 시작하여 테이블, 인덱스, 트랜잭션, 정규화 등의 기본적인 개념을 다시 학습하고 이해했습니다. 락과 병행제어: 데이터베이스에서 발생할 수 있는 동시성 문제와 이를 해결하기 위한 락과 병행제어 기법에 대해 심층적으로 이해했습니다. 트랜잭션과 격리 수준: ACID 속성과 함께 트랜잭션의 개념, 격리 수준에 대해 자세히 학습하여 데이터의 일관성과 동시성을 어떻게 유지하는지 이해했습니다. 데.. 2023. 10. 14. Container 와 EKS Container 컨테이너의 특성 - 반복가능 - 독립적 환경 - 민첩성 - VS보다 더 빠른 가동/중단 속도 - 이동성 - 확장 Kubernetes 컨트롤 플레인 과 데이터 플레인 유지 보수가 많이 들며 컨트롤 플레인이 오류가 날 경우 데이터 플레인도 수정해 줘야한다 - 쿠버네티스의 장점을 가져가면서 훨씬 더 관리하기 쉽게 구성이 되어있다. Kubernetes Object Pod(파드) - 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위(하나 이상의 컨테이너 그룹) ReokucaSet(래풀라커셋) - 파드 집합의 실행을 항상 안정적으로 유지하는 것이다. 이처럼 레플리카셋은 보통 명시된 동일 파드 개수에 대한 가용성을 보증하는데 사용 Deployment(디플로이먼트) - 파드와.. 2023. 9. 11. 이전 1 2 다음