TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 25 READS

Parquet의 시대가 저무는 걸까? 차세대 파일 포맷 'F3'가 던지는 질문

Parquet의 시대가 저무는 걸까? 차세대 파일 포맷 'F3'가 던지는 질문

10년 넘은 파일 포맷, 이제 한계가 보인다

데이터 분석이나 빅데이터를 다뤄본 분이라면 Parquet(파케이)라는 파일 포맷을 들어보셨을 거예요. 엄청난 양의 데이터를 효율적으로 저장하기 위한 사실상의 표준인데요. 그런데 이 Parquet가 세상에 나온 지 벌써 10년이 훌쩍 넘었어요. 그 사이에 컴퓨터 환경은 완전히 바뀌었죠. NVMe SSD처럼 미친 듯이 빠른 저장장치가 생겼고, GPU로 데이터를 처리하고, 머신러닝 임베딩 벡터 같은 새로운 종류의 데이터도 폭발적으로 늘었어요. F3(Future File Format), 그러니까 '미래의 파일 포맷'이라는 프로젝트는 바로 이 지점에서 출발해요. '이제는 새로운 시대에 맞는 파일 포맷이 필요하지 않을까?'라는 질문이죠.

잠깐, 컬럼 기반 파일 포맷이 뭐예요?

이게 뭐냐면요, 엑셀 표를 한번 떠올려보세요. 보통 데이터는 한 줄(행) 단위로 저장돼요. '홍길동, 30살, 서울' 이렇게 한 사람 정보가 쭉 이어지는 거죠. 그런데 분석을 할 때는 '전체 사용자의 평균 나이'처럼 특정 열 하나만 필요한 경우가 많아요. 이때 행 단위로 저장돼 있으면 필요도 없는 이름, 주소까지 다 읽어야 해서 비효율적이에요. 컬럼 기반은 반대로 나이는 나이끼리, 주소는 주소끼리 모아서 저장해요. 그러면 나이 열만 쏙 읽으면 되니까 분석이 훨씬 빨라지고, 같은 종류 데이터끼리 모여 있어서 압축도 잘 되거든요. Parquet가 바로 이 방식이에요.

F3의 진짜 무기: 디코더를 파일 안에 넣는다

F3가 내세우는 가장 독특한 아이디어는 '파일이 자기 자신을 해석하는 방법까지 담고 있다'는 거예요. 무슨 말이냐면, 보통 파일을 읽으려면 그 파일을 푸는 프로그램(디코더)이 따로 필요하잖아요. 새로운 압축 방식이 나오면 모든 프로그램을 업데이트해야 그 파일을 읽을 수 있고요. Parquet의 고질적인 문제가 바로 이거였어요. 아무리 좋은 압축 기법이 새로 나와도, 전 세계 수많은 도구가 다 지원하기 전까지는 마음대로 쓸 수가 없었죠.

F3는 이걸 뒤집어요. 데이터를 어떤 방식으로 압축했는지, 그걸 푸는 코드 자체를 WebAssembly(웹어셈블리, 줄여서 WASM) 형태로 파일 안에 같이 넣어버려요. WASM은 어떤 환경에서든 돌아가는 작은 실행 프로그램이라고 보면 돼요. 그러니까 10년 뒤에 만들어진 F3 파일이라도, 그 안에 디코더가 들어있으니 오래된 프로그램도 '아, 이렇게 풀면 되는구나' 하고 읽을 수 있는 거죠. 새로운 인코딩이 나와도 읽는 쪽(리더)을 업데이트할 필요가 없어요. 이게 '미래'라는 이름을 붙인 핵심 이유예요.

업계 흐름에서 보면

사실 'Parquet를 대체하자'는 움직임은 F3만의 것은 아니에요. 메타(페이스북)는 Nimble이라는 포맷을 만들고 있고, LanceDB의 Lance, 그리고 Vortex 같은 차세대 포맷들도 비슷한 고민을 하고 있어요. 공통점은 머신러닝 시대에 맞게, 임베딩 벡터처럼 폭이 넓은(컬럼이 수천 개씩 되는) 데이터를 잘 다루고, 랜덤 접근(필요한 부분만 콕 집어 읽기)이 빠른 포맷을 지향한다는 점이에요. F3는 그중에서 '확장성'을 가장 앞세운 셈이고요. 참고로 F3는 메모리 안에서의 데이터 표현으로는 이미 업계 표준인 Apache Arrow를 그대로 활용해서, 기존 생태계와도 잘 어울리도록 설계됐어요.

한국 개발자에게 주는 시사점

당장 실무에서 Parquet를 버리고 F3로 갈아타라는 얘기는 아니에요. 아직은 연구·실험 단계에 가깝거든요. 하지만 데이터 엔지니어나 ML 엔지니어라면 이런 흐름은 꼭 알아두면 좋아요. 우리가 매일 쓰는 데이터 포맷도 결국 '그 시대의 하드웨어와 데이터 특성'에 맞춰 진화한다는 것, 그리고 다음 세대의 키워드는 '확장성'과 'ML 친화성'이라는 점이요. 특히 벡터 DB나 대규모 임베딩을 다루는 프로젝트를 하고 있다면, 차세대 포맷들의 설계 철학을 들여다보는 것만으로도 좋은 공부가 될 거예요.

파일 포맷 하나가 데이터 생태계 전체의 속도를 좌우한다는 게 새삼 신기하죠. 여러분은 Parquet를 쓰면서 답답했던 순간이 있었나요? 차세대 포맷이 꼭 갖춰야 할 가장 중요한 가치는 뭐라고 생각하세요?


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/future-file-format/f3
SHARE
처리 중...