본문 바로가기

전체 글33

[아파치 카프카] Kafka란? (개념, 특징, 장단점, 면접 대비) Kafka는 LinkedIn에서 개발되어 현재는 Apache Software Foundation이 관리하는 오픈 소스 스트림 처리 플랫폼입니다. 대량의 데이터를 실시간으로 처리하고, 저장하며, 이동시키는 데 사용되는 분산 메시징 시스템입니다. 카프카는 고성능, 확장성, 내구성, 신뢰성을 제공하며, 여러 소스에서 대량의 데이터를 수집하고 여러 시스템으로 데이터를 전달하는 역할을 합니다.   주요 개념프로듀서(Producer): 데이터를 생성하고 카프카 시스템에 전송하는 역할을 합니다.컨슈머(Consumer): 카프카로부터 데이터를 읽어가는 역할을 합니다.브로커(Broker): 카프카 서버의 노드를 의미하며, 프로듀서로부터 메시지를 받아 저장하고 컨슈머에게 메시지를 전달합니다.토픽(Topic): 메시지의 분.. 2024. 3. 29.
[메시지 큐] RabbitMQ란? (개념, 특징, 장/단점, 면접 대비) RabbitMQ는 고급 메시지 큐 프로토콜(AMQP)을 구현한 오픈 소스 메시지 브로커 소프트웨어입니다. 메시지 브로커는 시스템 간의 메시지를 전달하는 중간자 역할을 하며, RabbitMQ는 다양한 프로그래밍 언어와 함께 사용될 수 있도록 설계되었습니다. 이러한 특징 덕분에, RabbitMQ는 마이크로서비스, 분산 시스템, 서버리스 아키텍처 등 다양한 현대적인 애플리케이션 아키텍처에 널리 사용됩니다.   개념메시지 지향 미들웨어(MOM): 분산 시스템 간에 메시지를 교환할 수 있게 해주는 소프트웨어 또는 하드웨어 인프라입니다.메시지 큐: 메시지를 임시 저장하는 대기열로, 한 시스템에서 다른 시스템으로 메시지를 안전하게 전송할 때 사용됩니다.Publish/Subscribe 모델: 메시지를 발생하는 퍼블리셔.. 2024. 3. 28.
[Hadoop] Impala란? (개념, 특징, 장단점, 면접 대비) Impala는 Coludera에 의해 개발되었으며, Apache Hadoop 생태계 위에서 실시간, 대용량 데이터 분석을 목적으로 하는 오픈 소스 대용량 병렬 처리(SQL) 쿼리 엔진입니다. Impala의 주요 목적은 사용자가 Hadoop에 저장된 대규모 데이터 세트에 대해 고성능, 저지연 쿼리를 실행할 수 있도록 하는 것입니다.   특징실시간 쿼리 실행: Impala는 Hadoop 데이터를 거의 실시간으로 쿼리 할 수 있도록 설계되었습니다. 이는 데이터 과학자와 분석가가 대규모 데이터 세트에 대해 신속하게 인사이트를 얻을 수 있게 해 줍니다.대용량 병렬 처리(MPP): Impala는 MPP아키텍처를 사용하여 데이터를 처리합니다. 이는 여러 노드에서 쿼리를 병렬로 실행하여 성능을 향상시킵니다.SQL 지원.. 2024. 3. 27.
[PostgreSQL] Citus란? (개념, 장단점, 면접 대비) CitusCitus는 PostgreSQL을 기반으로 한 분산 데이터베이스 확장입니다. 이는 PostgreSQL의 기능을 확장하여 대량의 데이터를 처리할 수 있게 해 주며, 높은 확장성과 병렬 처리 기능을 통해 빅 데이터 분석과 트랜잭션 처리에 적합합니다. Citus는 오픈 소스 버전과 엔터프라이즈 버전을 모두 제공합니다.  주요 개념분산 데이터베이스: Citus는 여러 노드에 걸쳐 데이터를 분산시켜 저장하고 처리합니다. 이는 데이터의 샤딩(Sharding)을 통해 이루어지며, 각 샤드는 PostgreSQL의 표준 테이블로 구성됩니다.확장성: 데이터와 쿼리를 여러 머신에 분리함으로써, 데이터베이스의 성능과 용량을 수평으로 확장할 수 있습니다.실시간 분석: 분산된 데이터에 대한 병렬 집계 쿼리를 실행하여 실.. 2024. 3. 26.