목록2025/02/09 (5)
내 잡다한 노트
MinIO는 고성능 분산 객체 스토리지 솔루션으로, 특히 클라우드 네이티브 환경에서 많이 사용됩니다. 주요 특징과 개념은 다음과 같습니다.1. 기본 개념객체 스토리지:MinIO는 파일 시스템이나 블록 스토리지와 달리 객체 단위로 데이터를 저장합니다. 각 객체는 데이터와 함께 메타데이터를 포함하며, RESTful API(특히 AWS S3 API와 호환)를 통해 접근할 수 있습니다.오픈 소스:MinIO는 오픈 소스로 개발되어, 누구나 소스 코드를 확인하고 수정할 수 있으며, 커뮤니티를 통한 활발한 지원과 업데이트가 이루어집니다.2. 주요 특징고성능:매우 빠른 읽기/쓰기 성능을 제공하도록 설계되어, 대규모 데이터 처리나 실시간 애플리케이션에 적합합니다.수평 확장성:여러 서버에 걸쳐 데이터를 분산 저장할 수 있..
Apache Iceberg는 대규모 분석 데이터셋을 보다 효율적이고 안정적으로 관리하기 위해 설계된 오픈 소스 테이블 포맷(Table Format) 입니다. 데이터 레이크 환경에서 수 페타바이트에 달하는 데이터의 스케일과 복잡성을 감당하면서도 ACID 트랜잭션, 스키마 진화, 효율적인 쿼리 성능 등을 제공하는 데 중점을 두고 있습니다. Delta Lake와 유사한 목적과 기능을 가졌다. 1. 주요 특징a. ACID 트랜잭션 지원데이터 일관성 보장:Iceberg는 데이터 삽입, 업데이트, 삭제 작업에 대해 ACID(Atomicity, Consistency, Isolation, Durability)를 지원합니다.이를 통해 데이터 레이크에서 여러 사용자나 애플리케이션이 동시에 작업할 때 발생할 수 있는 충돌..
QPS는 Queries Per Second의 약자이다. 말 그대로 초당 처리되는 쿼리(요청)의 수를 의미한다. 즉, 시스템이나 서버가 1초 동안 얼마나 많은 요청을 처리할 수 있는지를 나타내는 성능 지표입니다.QPS의 주요 포인트성능 측정:QPS는 웹 서버, 데이터베이스, API 서버 등 다양한 시스템의 처리 능력을 평가할 때 사용됩니다. 높은 QPS를 지원하는 시스템은 더 많은 요청을 동시에 처리할 수 있어 높은 트래픽 상황에서도 안정적인 서비스를 제공할 수 있습니다.부하 분산 및 확장성:시스템이 처리할 수 있는 최대 QPS를 파악하면, 트래픽이 급증할 경우 부하 분산(load balancing)이나 서버 확장을 통해 성능을 유지할 수 있는 방법을 계획할 수 있습니다.모니터링 및 튜닝:운영 중인 시스템..
ZooKeeper에서 Watcher 기능은 클라이언트가 특정 znode의 상태(데이터, 존재 여부, 자식 노드 변화 등)를 감시하고, 해당 상태에 변화가 생겼을 때 이벤트를 받아 처리할 수 있도록 해줍니다. Watcher는 일회성(one-time)으로 동작하기 때문에, 한 번 트리거되면 자동으로 해제되며, 지속적인 감시가 필요하다면 이벤트 발생 후 다시 등록해야 합니다. ZooKeeper에서 특정 znode에 Watcher 기능을 설정하려면, 해당 znode에 대한 조회(존재 여부, 데이터, 자식 노드 등)를 수행하는 API 호출 시 Watcher를 함께 등록하면 됩니다. ZooKeeper API에서는 주로 아래 세 가지 메서드를 통해 Watcher를 설정할 수 있습니다.exists(String path..
분산 코디네이션이라하면 분산 시스템에서 시스템 간으 정보 공유, 상태 체크, 서버들 간의 동기화를 위한 lock 등을 처리해주는 역할을 가지고 있다.대규모 작업을 N개 이상의 시스템이 유기적으로 처리하는 것을 의미한다. Zookeeper의 ZnodeZnode는 디렉터리 구조 기반으로 된 Key-Value 형태의 자료구조이다.트리구조의 디렉터리 노드 아래에 이벤트를 받고자 하는 노드를 생성 또는 삭제합니다. 주키퍼에 붙는 인코딩 서버는 자신이 바라보고 있는 노드나 그 노드의 하위 노드가 생성되거나삭제되었을 때 이벤트를 이벤트를 받는다.이벤트 처리는 단일 쓰레드로 순차적으로 처리하기 때문에 N대의 인코딩 서버가 동시에 같은 작업을 할당받지 않는다.또한 Znode를 생성할 때 작업이나 서버의 상태정보를 같이 ..