전체 글(65)
-
[데이터 엔지니어링 간단 정리] 스노우플레이크(Snowflake) - 클라우드 기반 데이터 웨어하우징
스노우플레이크(snowflake) 클라우드 컴퓨팅 기반 데이터 웨어하우징 회사이다. 2012년 7월에 설립되었고 2014년 10월에 공개적으로 출시되었다. 서비스로서의 데이터 웨어하우스(SaaS)를 제공해주며 복잡하게 구성된 데이터 웨어하우스를 완전관리 해준다. 빠르고 사용하기 쉽고 유연한 데이터 스토리지, 처리 및 분석 솔루션을 제공해준다. snowflake 소개 AWS Snowflake AWS에서도 스노우플레이크를 제공해준다. 일본 리전은 2018년에 생겻다. aws.amazon.com/ko/financial-services/partner-solutions/snowflake-data-warehouse/ Snowflake Data Warehouse on Amazon Web Services (AWS) S..
2021.03.31 -
[🧙Kafka] 카프카 정리 - 주키퍼(ZooKeeper)란?
주키퍼(ZooKeeper)란? 분산 코디네이션 서비스를 제공하는 오픈소스 프로젝트 주키퍼는 직접 애플리케이션 작업을 조율하지 않고 조율하는 것을 쉽게 개발할 수 있도록 도와주는 도구이다. API를 이용해 동기화나 마스터 선출 등의 작업을 쉽게 구현할 수 있게 해준다. 각 애플리케이션의 정보를 중앙 집중화하고 구성관리, 그룹 관리 네이밍, 동기화 등의 서비스를 제공한다. 주키퍼의 데이터는 메모리에 저장되고, 영구 저장소에 스냅샷을 저장한다. 분산 코디네이션 서비스란? - 분산 시스템에서 시스템 간의 정보 공유, 상태 체크, 서버들 간의 동기화를 위한 락 등을 처리해주는 서비스 Architecture 주키퍼는 분산 시스템의 일부분이기 때문에 동작을 멈춘다면 분산 시스템이 멈출수도 있다. 그래서 안정성을 확보..
2021.03.15 -
[🧙Kafka] 카프카 정리 - 기본 개념
카프카 포춘 500대 기업의 1/3을 포함하여 많은 조직에서 사용되고 있다. 끊임없이 진화하고 성장하는 스트림으로 데이터를 처리하는데에 중점을 두었다. 카프카는 메세징 시스템이지만 클러스터로 실행되고 수동으로 연결하는 개별적인 메시징 브로커 대신에 회사의 모든 데이터 스트림을 처리를 위한 탄력적으로 확장할 수 있는 중심 플랫폼 역할을 한다. 실시간 버전의 하둡을 생각하고 만들어졌다. 메세지 발행과 구독하기(publish/subscribe) 이 구조에서는 데이터를 발행자가 구독자에게 직접 보내지 않고 중간에 브로커가 도와준다. Pub/Sub 구조가 아닌 곳에서는 여러 서버에서 나오는 로그, 메트릭 등을 사용해야 할 때 모니터링 서버, 분석 서버, UI 서버 등에 각자 연결해야 하지만 Pub/Sub구조라면 ..
2021.03.12 -
[회사별 사례] 카프카(Kafka) 적용 사례(라인, 링크드인)
카프카란? - 실시간으로 게시, 구독, 저장 및 처리할 수 있는 분산 데이터 스트리밍 플랫폼입니다. - 여러 소스에서 데이터 스트림을 처리하고, 여러 사용자에게 전달합니다. - FIFO(First In First Out)큐를 사용합니다. 마이크로서비스에서의 카프카 - 다른 개발팀의 데이터를 스트리밍하여 데이터 스토어를 채우면, 데이터를 여러 팀과 공유할 수 있습니다. 라인 사용하는 이유 - LINE 메세지 개발 서버 팀에서 복잡해진 아키텍처를 간소화하기 위한 중간 레이어로 사용하고자 채택했습니다. 사용 방식 크게 아래의 두가지로 구성됩니다. 1. 분산 큐잉 시스템으로 사용하는 방법 - 웹 서버에서 비싼 비용의 작업을 처리해야 할 때 백그라운드의 태스크 프로세서에 요청하기 위한 큐를 사용하는 경우 2. 데..
2021.03.10 -
[데이터 엔지니어링] Apache Parquet 정리
Apache Hadoop 에코 시스템의 column-oriented 데이터 스토리지 포맷입니다. Hadoop에서 사용할 수 있는 column-oriented 파일 형식 RCFile, ORC와 유사합니다. 향상된 성능과 함께 효율적인 데이터 압축 및 인코딩 체계를 제공합니다. 기존 Hadoop 컬럼 스토리지 형식인 Trevni을 개선하기 위해 설계되었습니다. 기능 column-oriented 1. 각 열의 값은 인접한 메모리 위치에 물리적으로 저장됩니다. 2. 열 단위 압축은 효율적이어서 저장 공간을 절약합니다. 3. 같은 열의 값은 비슷한 유형이므로 유형별 압축 기술이 필요하지 않습니다. 4. 특정 열 값을 가져오는 쿼리는 전체 행을 읽지 않고 일부 열만 읽습니다. 5. 열마다 다른 인코딩을 적용할 수 ..
2021.03.08