전체 글(567)
-
Incremental(증분) 방식과 문제점 | Lambda | Kappa Architecture
1. 문제 상황트래픽 증가 문제페이지 조회 이벤트가 발생할 때마다 DB에서 view_count를 즉시 갱신하면 다음과 같은 문제들이 발생한다:DB 부하 증가:매 이벤트마다 DB에 view_count + 1 업데이트 쿼리를 실행.트래픽이 증가할수록 데이터베이스의 I/O 작업이 많아져 병목 발생.성능 병목:다수의 사용자가 동시에 조회 요청을 보낼 경우, 처리 속도가 느려짐.DB 서버의 성능이 낮거나 트래픽이 급증하는 경우에는 웹 서버까지 응답 속도가 느려짐.데이터 손실 위험:트래픽 과부하로 인해 DB가 요청을 처리하지 못하거나, 타임아웃이 발생하면 이벤트 데이터가 손실.2. Incremental(증분) 방식의 원리Incremental 방식은 데이터베이스와의 상호작용 빈도를 줄이고, 성능을 최적화하기 위해 다..
2025.01.18 -
float("inf") 무한대 객체
Python에서 float('inf')를 사용하면 양의 무한대를 나타내는 float 객체를 생성할 수 있다.일반적으로 최단 경로 알고리즘이나 비교 연산에서 사용된다.예시# 양의 무한대positive_infinity = float('inf')print(positive_infinity) # 출력: infprint(positive_infinity > 1000000) # 출력: True# 음의 무한대negative_infinity = float('-inf')print(negative_infinity) # 출력: -infprint(negative_infinity 벨만-포드 알고리즘에서 INF 값 갱신INF = float('inf')# 초기 거리 배열 (시작 노드의 거리는 0, 나머지는 INF로 설정..
2025.01.13 -
Oracle Recycle Bin
삭제된 객체는 모두 Recycle Bin으로 이동되고 Recycle Bin은 SYSTEM 테이블스페이스 내에 RECYCLEBIN$라는 테이블로 구현된다. 테이블이 삭제될 때, 테이블의 이름은 SYS.OBJ$에서 변경되며 RECYCLEBIN 테이블에 행(row)이 삽입된다. 이 행에는 다음 정보가 포함된다:원래 테이블 이름객체 ID소유자삭제 시간 Oracle 데이터베이스에서 Recycle Bin은 삭제된 객체를 영구적으로 삭제하는 대신 잠시 보관하는 역할을 한다. 이는 실수로 삭제된 객체를 복구할 수 있도록 돕는다.삭제된 객체의 이동:사용자가 테이블을 삭제하면, 해당 테이블은 Recycle Bin으로 이동된다. 데이터베이스에서는 실제로 데이터를 완전히 삭제하지 않고, 해당 데이터를 RECYCLEBIN$라는..
2025.01.11 -
Flashback Queries
Flashback Queries: Flashback 쿼리는 Oracle 데이터베이스의 기능 중 하나로, 특정 시점의 데이터를 조회할 수 있게 해주는 기능으로 데이터가 변경되기 전 상태로 데이터를 복원하거나 확인할 수 있다.Undo 데이터와 Redo 로그: Flashback 쿼리에서 필요한 데이터는 Undo 세그먼트(이전 값)와 Redo 로그(변경 사항)를 기반으로 한다. 이러한 데이터는 시스템에서 트랜잭션이 발생할 때마다 기록되며, 복구나 과거 데이터를 조회하는 데 사용된다.시스템의 상태에 따른 데이터 보존 시간:quiet 시스템에서는 데이터를 비교적 오래 보존할 수 있으며, 1~2일 정도 데이터가 남아 있을 수 있다.busy 시스템에서는 트랜잭션이 자주 발생하기 때문에 Undo 및 Redo 로그가 빠르..
2025.01.11 -
자동 undo 관리
트랜잭션이 발생할 때마다 변경되기 전에 데이터의 이미지가 Undo 세그먼트에 기록된다.UPDATE: 변경되기 전 데이터의 복사본이 저장된다.DELETE: 삭제된 데이터의 복사본이 저장된다.INSERT: 파일 번호, 행(Row), 슬롯(Slot)이 저장된다. 자동 Undo 관리(Automatic Undo Management, AUM)는 Oracle 데이터베이스에서 트랜잭션의 롤백 및 복구역할을 한다.Undo 세그먼트: Undo 테이블스페이스 내에 저장된 영역으로, 트랜잭션 전후의 데이터를 추적하는 데 사용된다. 예를 들어, 데이터가 수정되면 그 이전 상태가 Undo 세그먼트에 기록되어, 트랜잭션을 롤백할 때 해당 데이터를 복구할 수 있다.UPDATE: 데이터가 업데이트되면 그 이전 값이 Undo 세그먼트에..
2025.01.11 -
Redo Log Files와 Archived Redo Log Files
Redo Log Files와 Archived Redo Log Files는 서로 관련이 있지만 그 목적과 상태에 따라 다르다.Redo Log Files정의: 온라인 Redo 로그 파일은 데이터베이스의 실시간 트랜잭션 변경 기록을 저장하는 파일이다.특징:Oracle 데이터베이스는 로그 쓰기 작업을 처리하는 LGWR(Log Writer Process)에 의해 온라인 Redo 로그 파일에 트랜잭션 변경 사항을 기록한다.이 파일들은 디스크에 기록된 후 데이터베이스의 실시간 작업을 반영한다.로그 순환: 온라인 Redo 로그 파일은 여러 파일로 구성되며, 한 파일이 가득 차면 다음 파일로 넘어갑니다. (로그 순환)주기적 기록: 변경 사항이 자주 기록되며, 로그가 모두 사용되면 순환하여 덮어씌워짐.Archived Re..
2025.01.11