전체보기
-
[Apache Iceberg] 아이스버그 테이블 최적화 - 메트릭 수집개발지식 아카이브/Data - Iceberg 2025. 1. 22. 07:30
Apache 아이스버그 테이블 최적화 - 메트릭 수집 편 메트릭 수집테이블 필드 정보의 수집아이스버그의 고유 특징인 Manifest는 테이블의 모든 필드 메트릭을 추적하여 쿼리 최적화를 돕는다 추적하는 필드 레벨 메트릭은 총 4개이다! 카운트 메트릭 3개전체 카운트null 카운트distinct 카운트 Upper ~ lower 범위 값 수집 설정 최적화 하지만 테이블이 엄청 크고, 칼럼수도 무척 많다면? 예를 들어 100개가 넘는다면?→ 이 때는 추적되는 메트릭 수가 메타데이터를 읽는 데 부담이 될 수 있다. 성능 개선을 위해 Table properties를 사용하여 컬럼별 메트릭 추적 여부를 조정할 수 있다.→ 쿼리 필터에서 자주 사용되지 않는 Column의 메트릭은 수집 해제할 수..
-
[Apache Iceberg] 아이스버그 테이블 최적화 - COW와 MOR 설정개발지식 아카이브/Data - Iceberg 2025. 1. 20. 07:30
Apache 아이스버그 테이블 최적화 - COW와 MOR COW와 MORRow 레벨 업데이트 처리 데이터 레이크의 특징은 WORM (Write once read many) 방식을 채택하고 있다는 것이다 => 즉, 파일을 수정할 수 없다.이는 Row 레벨로 데이터를 업데이트하는 여러 가지 모드를 탄생시켰다.데이터 특성 및 기록 주기에 따라서 성능을 최적화할 수 있는 모드를 선택하는 것이 좋다. COW Copy-On-Write 는 default approach로 평가된다 쓰기 성능이 느리다Row가 하나라도 업데이트/삭제 되면, 해당 데이터 파일을 다시 작성한다 읽기 성능이 빠르다삭제되거나 업데이트된 파일을 조정하지 않고 읽을 수 있기 때문 MOR 기존 파일은 그대로 둔다. ..
-
[Apache Iceberg] 아이스버그 테이블 최적화 - 스토리지 최적화 편개발지식 아카이브/Data - Iceberg 2025. 1. 17. 08:30
Apache 아이스버그 테이블 최적화 - 스토리지 최적화 편 스토리지 최적화남아있는 만료된 파일들테이블을 업데이트하거나 컴팩션 실행시 → 새 파일이 생성되지만, 과거에 생성된 문제의 스몰 파일들은 테이블의 과거 스냅샷으로부터 참조가 끊기지 않고 있어서, 삭제되지 않는다 이러한 불필요한 파일들을 정리하려면?→ 스냅샷을 주기적으로 만료시켜야하며. (= 더 이상 Time travel이 필요하지 않은 스냅샷들) → 스냅샷에서 참조가 끊긴 고아 파일들을 삭제해야 한다 그리고→ 메타데이터를 다시 쓰기 하여, 메타데이터 읽기 성능을 개선한다 스냅샷 만료시키기 spark.sql("CALL system.expire_snapshots('temp.test_compaction', TIMESTAMP ..
-
[Apache Iceberg] 아이스버그 테이블 최적화 - 파티셔닝개발지식 아카이브/Data - Iceberg 2025. 1. 15. 07:30
Apache 아이스버그 테이블 최적화 - 파티셔닝 편 파티셔닝전통적 파티셔닝 특정 필드가 데이터 액세스 방법에 핵심적인 역할을 한다는 것을 알고 있다면 정렬을 넘어 파티셔닝을 시도할 수 있다.예를 들어 아래 그림은 데이터를, party라는 필드 값을 기준으로 파티셔닝을 한 것이다. party = blue 인 것들끼리, party = red 인 것들끼리, party = green... 각각 물리적으로 위치를 분리하여 모은 것이다.이렇게 파티셔닝하면, party 값에 따라 파일스캔범위를 극적으로 줄일 수 있다. 기존의 파티셔닝에는 사실, 다음과 같은 불편한 점들도 있었다. 쿼리 사용자는 테이블의 파티션 필드에 대한 사전 지식이 있어야 한다.버킷으로 분할하려면 레코드가 속한 버킷을 명시하는 추가 ..
-
[Apache Iceberg] 아이스버그 테이블 최적화 - 컴팩션과 정렬개발지식 아카이브/Data - Iceberg 2025. 1. 13. 10:14
Apache 아이스버그 테이블 최적화 - 컴팩션 편 성능 최적화의 핵심 = 읽는 파일 줄이기Apache 아이스버그 테이블의 데이터 성능 최적화의 핵심은 바로 스캔하는 파일의 개수를 줄이는 것이다 Apache Iceberg 테이블을 쿼리 할 때 일어나는 일을 생각해 보자.=> 각 데이터 파일을 열기 → 스캔 → 닫기 쿼리를 위해 스캔해야 하는 파일이 많을수록, 이러한 파일 작업은 쿼리에 더 큰 비용을 초래한다.이 문제는 스트리밍 또는 "실시간" 데이터의 세계에서 더욱 커진다 왜냐하면 스트리밍에서 생성되는 파일들은, 주로 데이터가 생성되는 대로 수집되어, 파일 각각에 몇 개의 레코드만 있는 경우가 많기 때문이다. 이것은 줄곧 스몰파일 이슈로 이어지곤 한다. 스캔해야 할 파일이 많으면 성능에 영향..
-
[Kafka] 카프카 보안 프로토콜과 내부 메커니즘개발지식 아카이브/Data - Kafka 2025. 1. 3. 16:46
오늘은 패킷 보안 및 인증에 사용되는 카프카 4가지 보안 프로토콜(Security Protocol) 타입을 정리해 보겠다. 1. PLAINTEXT설명:기본 프로토콜로, 데이터를 암호화하지 않고 전송합니다.인증 및 데이터 암호화 기능이 없습니다. 메커니즘:없음: 보안 설정이 필요하지 않고, 모든 데이터는 평문으로 전송됩니다. 2. SSL (Secure Sockets Layer)설명:데이터 전송 시 암호화를 제공하여 전송 중 데이터의 기밀성과 무결성을 보장합니다. SSL 메커니즘:암호화: 데이터 암호화.서버 인증: 클라이언트는 서버의 인증서를 확인하여 신뢰성을 보장.클라이언트 인증(옵션): 서버가 클라이언트의 인증서를 요청할 수 있음 (양방향 인증).구성 요소:ssl.keystore.location..
-
[빅데이터 전문가의 하둡관리] HDFS의 동작 알고리즘개발지식 아카이브/Data - Hadoop 2024. 12. 18. 23:20
HDFS 1. HDFS는 네임노드와 데이터노드의 interactionHDFS를 구성하는 컴포넌트는 네임노드와 데이터노드라는 것을 이전 챕터에서 배웠습니다. - 네임노드는... 1) 파일과 디렉토리를 열고 닫는 모든 HDFS 오퍼레이션을 수행한다 2) 블록들을 데이터 노드에 할당한다 3) 메타 데이터를 관리한다. (파일에 속한 블록들의 위치, 파일의 상태 등...) - 데이터노드의 데몬... 1) 네임노드에게 서버&포트 정보를 제공하여 클라이언트와 데이터노드가 데이터를 주고받을 수 있게 한다 2) 서버의 소켓을 열어둔 상태로 계속 유지하여 클라이언트가 효율적으로 읽고 쓸 수 있도록 돕는다 - 네임노드가 데이터노드로부터 하트비트를 받지 못하면? 1) 10초(default) 동안 데이..
-
[빅데이터 전문가의 하둡관리] Hadoop 아키텍처개발지식 아카이브/Data - Hadoop 2024. 12. 16. 07:50
Hadoop 아키텍처 1. 하둡은 무엇일까요?하둡은 Big Data를 효과적으로 처리하기 위한 기술입니다. 2. 하둡 컴포넌트엔 어떤 것들이 있을까요? - HDFS: 파일 시스템 - Yarn: 스케줄링, 리소스 관리 프레임워크 하둡 컴포넌트들 중 가장 핵심은 HDFS와 Yarn 두 가지입니다.그 외에 다른 컴포넌트들도 봅시다. - MapReduce: 병렬 처리 프레임워크 - HBase: HDFS를 스토리지로 사용하는 분산칼럼지향 데이터베이스 - Hive: HDFS 데이터를 위한 분산 DW, SQL 기반 쿼리 제공 - 잠깐! Hive는 데이터베이스가 아님. 그러면? - HDFS 디렉토리들을 테이블로 보여줄 뿐.. - 쿼리로 얻은..