db
Apache Iceberg : 분산 데이터 저장소를 위한 오픈 소스 테이블 포맷
정의
Apache Iceberg는 커뮤니티 중심의 분산형 Apache 2.0 라이선스 100% 오픈 소스 데이터 테이블 형식으로서 데이터 레이크에 저장된 대규모 데이터 세트의 데이터 처리를 단순화합니다. 데이터 엔지니어가 Apache Iceberg를 사용하는 이유는 어떤 규모에서든 빠르고 효율적이며 안정적이며 시간이 지남에 따라 데이터세트가 어떻게 변하는지 기록하기 때문입니다. Apache Iceberg는 Apache Spark, Apache Flink, Apache Hive, Presto 등, 널리 사용되는 데이터 처리 프레임워크와 간편하게 통합할 수 있는 기능을 제공합니다.
요약 정의
Apache Iceberg는 분산 데이터 저장소를 위한 오픈 소스 테이블 포맷. 대규모 분석 작업을 지원하도록 설계됨. 특히 클라우드 환경에서 효율적으로 동작. 기존 Hadoop 기반 테이블 포맷의 한계를 극복하기 위해 개발됨.
주요 특징
- 표준 SQL 지원
- SQL 쿼리를 사용하여 데이터 관리 가능.
- ACID 트랜잭션
- 데이터의 삽입, 갱신, 삭제 작업에서 ACID 특성 보장.
- 버전 관리
- 데이터의 이전 버전을 관리하여 시간에 따른 데이터 변화 추적 가능.
- 스키마 진화
- 스키마 유연하게 변경 가능. 예: 새로운 컬럼 추가, 기존 컬럼 삭제.
- 성능 최적화
- 파티셔닝(partitioning)과 정렬(sorting) 지원하여 쿼리 성능 향상.
주요 용도
- 데이터 레이크(Data Lake)와 같은 대규모 데이터 저장소에서 사용.
- AWS S3, Azure Blob Storage, Google Cloud Storage 등 다양한 클라우드 스토리지와 호환.
- Apache Spark, Apache Flink, Presto, Trino 등 여러 분석 엔진과 통합 가능.
결론: Apache Iceberg는 데이터베이스(DB)라기보다는 대규모 데이터 분석을 위한 테이블 포맷.
그렇다면 apche iceberg의 데이터는 어떤 데이터들이 있는가?
Apache Iceberg에서 사용하는 데이터는 다양한 소스에서 가져올 수 있다. 주로 다음과 같은 방법으로 데이터를 로드함.
클라우드 스토리지
- AWS S3
- Amazon Web Services의 Simple Storage Service.
- 대규모 데이터를 효율적으로 저장하고 관리.
- Azure Blob Storage
- Microsoft Azure의 객체 스토리지 솔루션.
- 대용량 비정형 데이터를 저장.
- Google Cloud Storage
- Google Cloud Platform의 객체 스토리지 서비스.
- 높은 가용성과 확장성을 제공.
분산 파일 시스템
- HDFS (Hadoop Distributed File System)
- Hadoop 에코시스템의 기본 파일 시스템.
- 대규모 데이터를 분산 저장.
데이터베이스와 데이터 웨어하우스
- Apache Hive
- 데이터 웨어하우스 솔루션.
- SQL을 통해 대규모 데이터를 쿼리하고 관리.
- Snowflake
- 클라우드 기반 데이터 웨어하우스.
- 다양한 데이터 소스에서 데이터를 수집하고 분석.
실시간 데이터 스트리밍
- Apache Kafka
- 실시간 데이터 스트리밍 플랫폼.
- 실시간 데이터 피드를 처리하고 저장.
- Apache Flink
- 실시간 데이터 스트리밍과 배치 처리를 위한 분산 처리 엔진.
통합 및 데이터 파이프라인
- Apache Spark
- 대규모 데이터를 병렬로 처리하는 분산 처리 시스템.
- ETL(Extract, Transform, Load) 작업을 통해 다양한 소스에서 데이터를 가져와 Iceberg 테이블에 저장.
- Airflow, NiFi
- 데이터 파이프라인 도구.
- 다양한 소스에서 데이터를 수집, 처리, 로드.
결론
Apache Iceberg는 클라우드 스토리지, 분산 파일 시스템, 데이터베이스, 실시간 데이터 스트리밍 소스 등 다양한 소스에서 데이터를 가져와 사용함. 이러한 데이터를 효율적으로 관리하고 분석하기 위한 테이블 포맷을 제공.
트랜잭션 격리 수준
검색해보자..
MySQL CTAS/Insert Select 에서 공유락(Shared Lock) 문제 와 발생 원인 이유
https://hoing.io/archives/8067
db?backend?
데이터가 있었는데요, 아니 없어요 COMMIT, MVCC 그리고 SET AUTOCOMMIT
https://helloworld.kurly.com/blog/commit-mvcc-set-autocommit/
기타
좋은 장애 대처란 무엇일까?
https://brunch.co.kr/@supernova9/234
이슈를 알아보는 사이트? Engadget | Technology News & Reviews
'찾아봐야하는것' 카테고리의 다른 글
[찾아봐야하는것] 2024.08 찾아봐야 하는 키워드 & 읽어봐야하는 포스팅 (4) | 2024.08.02 |
---|---|
[찾아봐야하는것] 2024.07 찾아봐야 하는 키워드 & 읽어봐야하는 포스팅 (0) | 2024.07.01 |
[찾아봐야하는것] 2024.05 찾아봐야 하는 키워드 & 읽어봐야하는 포스팅 (0) | 2024.05.14 |
[찾아봐야하는것] - 2024.04 찾아봐야 하는 키워드 & 읽어봐야하는 포스팅 (0) | 2024.04.08 |
[찾아봐야하는것] - 2024.03 찾아봐야 하는 키워드 & 읽어봐야하는 포스팅 (0) | 2024.03.05 |