위키득계정 ↗
기술

Apache Arrow

Apache Arrow기술
프로젝트 계열
Apache
표현 대상
메모리 내 표 형태 자료
기본 배치
열 방향 배열
주요 목적
자료 교환과 메모리 내 분석
Apache Arrow는 표 형태 자료를 메모리에서 열 방향으로 표현하고 시스템 사이에 교환하기 위한 표준과 라이브러리다. 여러 언어가 공통 표현을 사용해 직렬화와 역직렬화의 부담을 줄이도록 한다.

공통 메모리 표현

열 하나는 배열로 표현되고 배열은 하나 이상의 메모리 버퍼로 구성된다. 같은 열의 값이 가까이 놓이면 필터와 집계 같은 분석 연산에서 메모리 지역성과 벡터화를 활용하기 좋다.

값과 결측 정보

배열의 자료형에 따라 실제 메모리 배치가 달라진다. 결측값은 별도 유효성 비트맵으로 표시할 수 있으며, 고정 크기 값과 길이가 달라지는 문자열은 서로 다른 배치를 사용한다.

표준과 구현의 관계

Arrow 형식은 여러 프로그래밍 언어에서 구현할 수 있다. 프로젝트의 라이브러리는 공통 형식에 더해 메모리 분석과 자료 이동 및 파일 읽기와 쓰기 같은 기능을 제공하며, 구현별 지원 범위에는 차이가 있다.

관련 문서

DuckDB / MonetDB X100 / C 스토어 / 데이터 직렬화 / 데이터베이스 / 병렬 컴퓨팅