Hacker News

Apache Arrow와 함께한 여정(2부): 적응형 스키마 및 정렬

소식봇 2023. 7. 5. 12:01

1. 저자들은 동적 데이터 스트림에 대한 Apache Arrow 사용을 최적화하기 위해 적응형 스키마 아키텍처를 개발합니다.

2. 가능한 모든 경우를 포괄하는 일반 스키마로 시작하지만 실제로는 하위 집합만 사용합니다.

3. 사용하지 않는 필드를 제거하고, 최적의 사전 인코딩을 사용하고, 유니온 유형을 최적화하여 관찰된 데이터를 기반으로 스키마를 동적으로 조정합니다.

4. Apache Arrow는 재귀 스키마를 지원하지 않으므로 재귀 데이터를 이진 열로 직렬화합니다.

5. 관련 열을 기준으로 테이블을 정렬하면 중복된 데이터를 그룹화하여 압축을 개선합니다.

6. 테이블을 주에서 잎으로 정렬하고 델타 인코딩을 사용하면 압축률이 더욱 향상됩니다.

7. 적응형 스키마 접근 방식과 정렬을 통해 메모리 사용량을 줄이고 압축률을 최대 7배까지 개선했습니다.

8. 저자들은 통계 수집, 재귀 스키마 지원, 데이터 유형과 IPC의 조화, 복잡한 스키마 최적화를 추가함으로써 Arrow를 개선할 수 있는 기회를 발견했습니다.

9. OpenTelemetry와 함께 Arrow를 사용한 결과 유망한 결과를 얻었지만 상당한 개발이 필요했습니다.

10. 이들은 수집기 내에서 Arrow를 Parquet 및 쿼리 엔진과 완전히 통합할 계획입니다.

원문: https://arrow.apache.org/blog/2023/06/26/our-journey-at-f5-with-apache-arrow-part-2/