분류 전체보기(574)
-
RDD를 사용하여 단어 빈도수를 계산
from pyspark.sql import SparkSessionfrom pyspark import SparkContextfrom pyspark.rdd import RDD# SparkSession 생성# SparkSession은 DataFrame API 및 SQL의 진입점# SparkContext는 RDD API의 진입점ss: SparkSession = SparkSession.builder.\ master("local").\ # 로컬 모드에서 Spark 실행 (싱글 코어 또는 멀티 코어) appName("wordCount RDD ver").\ # 애플리케이션 이름 설정 getOrCreate() # SparkSession이 없으면 새로 생성, 있으면 기존 SparkSession을 반환..
2025.01.19 -
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