프로젝트 소개

Apache Arrow는 다양한 데이터 유형의 인메모리 표현을 위한 표준화된 컬럼형 포맷을 제공하여, 데이터 시스템이 데이터를 효율적으로 저장, 처리 및 이동할 수 있도록 합니다. 여기에는 이기종 환경 전반에서 빠른 데이터 교환 및 분석을 수행하기 위한 일련의 기술이 포함되어 있습니다. 주요 구성 요소는 다음과 같습니다: - Arrow Columnar Format: 단순 또는 중첩 데이터 유형의 인메모리 표현을 위한 표준입니다. - Arrow IPC Format: 프로세스 간 통신을 위한 효율적인 직렬화 방식입니다. - ADBC (Arrow Database Connectivity): 데이터베이스 및 쿼리 엔진에 액세스하기 위한 API와 드라이버입니다. - Arrow Flight RPC: 원격 서비스가 Arrow 데이터를 교환하기 위한 프로토콜입니다. - Gandiva: Arrow를 위한 LLVM 기반 표현식 컴파일러입니다. 이 프로젝트는 C++, Python, Java, JavaScript, Rust, Go, R, Ruby, .NET, Julia, Swift를 포함한 여러 언어의 라이브러리를 제공합니다. 기술적 역량은 다음과 같습니다: - 평면 또는 중첩 유형을 지원하는 컬럼형 벡터 및 테이블 형태의 컨테이너. - 제로 카피 메모리 공유를 위한 참조 횟수 기반의 오프힙 버퍼 메모리 관리. - 로컬 및 원격 파일 시스템을 위한 IO 인터페이스. - Parquet 및 CSV와 같은 일반적인 파일 포맷을 위한 리더 및 라이터. - Google의 FlatBuffers를 기반으로 하는 메타데이터 메시징 레이어.