facebookincubator/nimble
New and extensible file format for storage of large columnar datasets.
What it solves
Nimble은 Apache Parquet 및 ORC와 같은 기존 형식을 대체하기 위해 설계된 열 지향 파일 형식으로, 특히 대규모 데이터셋을 위해 설계되었습니다. 머신러닝 학습 테이블과 피처 엔지니어링 워크로드에서 흔히 발생하는 수천 개의 컬럼을 포함하는 "와이드" 테이블을 처리할 때 현재 형식의 비효율성을 해결합니다.
How it works
Nimble은 스트림 인코딩을 파일의 물리적 레이아웃에서 분리하여 확장 가능하고 재귀적(계층적)인 인코딩을 가능하게 합니다. Flatbuffers를 사용하여 효율적인 메타데이터 액세스를 제공하며, 읽기 및 디코딩 중에 예측 가능한 메모리 사용량을 보장하기 위해 스트림 인코딩 대신 블록 인코딩을 사용합니다. 이 시스템은 고도로 병렬화된 하드웨어를 활용하기 위해 SIMD 및 GPU 친화적으로 설계되었습니다.
Who it’s for
대규모 데이터셋을 다루는 개발자와 데이터 엔지니어, 특히 와이드 테이블 구조가 만연한 ML 학습 및 피처 엔지니어링 분야에 종사하는 사람들을 대상으로 합니다.
Highlights
- Optimized for Wide Tables: 수천 개에서 수만 개의 컬럼을 효율적으로 지원합니다.
- Extensible Encoding: 사용자가 새로운 인코딩을을 추가하거나 재귀적으로 적용할 수 있습니다.
- Hardware Acceleration: SIMD 및 GPU 친화적 인코딩을 사용하여 높은 병렬성을 지원합니다.
- Efficient Metadata: Flatbuffers를 사용하여 대규모 메타데이터 섹션에 액세스할 때의 오버헤드를 줄입니다.
- Unified Implementation: 다양한 환경에서의 파편화를 방지하기 위해 단일 라이브러리로 제공됩니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트